diff --git a/src/.jshintrc b/src/.jshintrc
deleted file mode 100644
index e05fc0f4..00000000
--- a/src/.jshintrc
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "sub": true
-}
\ No newline at end of file
diff --git a/src/css/fonts.less b/src/css/fonts.less
deleted file mode 100644
index 309ffe4c..00000000
--- a/src/css/fonts.less
+++ /dev/null
@@ -1,316 +0,0 @@
-/* Source Code Pro */
-
-@font-face {
- font-family: 'Source Code Pro';
- font-weight: 200;
- font-style: normal;
- font-stretch: normal;
- src: url('@{font-path}SourceCodePro-ExtraLight.eot') format('embedded-opentype'),
- url('@{font-path}SourceCodePro-ExtraLight.ttf.woff2') format('woff2'),
- url('@{font-path}SourceCodePro-ExtraLight.otf.woff') format('woff'),
- url('@{font-path}SourceCodePro-ExtraLight.otf') format('opentype'),
- url('@{font-path}SourceCodePro-ExtraLight.ttf') format('truetype');
-}
-
-@font-face {
- font-family: 'Source Code Pro';
- font-weight: 200;
- font-style: italic;
- font-stretch: normal;
- src: url('@{font-path}SourceCodePro-ExtraLightIt.eot') format('embedded-opentype'),
- url('@{font-path}SourceCodePro-ExtraLightIt.ttf.woff2') format('woff2'),
- url('@{font-path}SourceCodePro-ExtraLightIt.otf.woff') format('woff'),
- url('@{font-path}SourceCodePro-ExtraLightIt.otf') format('opentype'),
- url('@{font-path}SourceCodePro-ExtraLightIt.ttf') format('truetype');
-}
-
-@font-face {
- font-family: 'Source Code Pro';
- font-weight: 300;
- font-style: normal;
- font-stretch: normal;
- src: url('@{font-path}SourceCodePro-Light.eot') format('embedded-opentype'),
- url('@{font-path}SourceCodePro-Light.ttf.woff2') format('woff2'),
- url('@{font-path}SourceCodePro-Light.otf.woff') format('woff'),
- url('@{font-path}SourceCodePro-Light.otf') format('opentype'),
- url('@{font-path}SourceCodePro-Light.ttf') format('truetype');
-}
-
-@font-face {
- font-family: 'Source Code Pro';
- font-weight: 300;
- font-style: italic;
- font-stretch: normal;
- src: url('@{font-path}SourceCodePro-LightIt.eot') format('embedded-opentype'),
- url('@{font-path}SourceCodePro-LightIt.ttf.woff2') format('woff2'),
- url('@{font-path}SourceCodePro-LightIt.otf.woff') format('woff'),
- url('@{font-path}SourceCodePro-LightIt.otf') format('opentype'),
- url('@{font-path}SourceCodePro-LightIt.ttf') format('truetype');
-}
-
-@font-face {
- font-family: 'Source Code Pro';
- font-weight: 400;
- font-style: normal;
- font-stretch: normal;
- src: url('@{font-path}SourceCodePro-Regular.eot') format('embedded-opentype'),
- url('@{font-path}SourceCodePro-Regular.ttf.woff2') format('woff2'),
- url('@{font-path}SourceCodePro-Regular.otf.woff') format('woff'),
- url('@{font-path}SourceCodePro-Regular.otf') format('opentype'),
- url('@{font-path}SourceCodePro-Regular.ttf') format('truetype');
-}
-
-@font-face {
- font-family: 'Source Code Pro';
- font-weight: 400;
- font-style: italic;
- font-stretch: normal;
- src: url('@{font-path}SourceCodePro-It.eot') format('embedded-opentype'),
- url('@{font-path}SourceCodePro-It.ttf.woff2') format('woff2'),
- url('@{font-path}SourceCodePro-It.otf.woff') format('woff'),
- url('@{font-path}SourceCodePro-It.otf') format('opentype'),
- url('@{font-path}SourceCodePro-It.ttf') format('truetype');
-}
-
-@font-face {
- font-family: 'Source Code Pro';
- font-weight: 500;
- font-style: normal;
- font-stretch: normal;
- src: url('@{font-path}SourceCodePro-Medium.eot') format('embedded-opentype'),
- url('@{font-path}SourceCodePro-Medium.ttf.woff2') format('woff2'),
- url('@{font-path}SourceCodePro-Medium.otf.woff') format('woff'),
- url('@{font-path}SourceCodePro-Medium.otf') format('opentype'),
- url('@{font-path}SourceCodePro-Medium.ttf') format('truetype');
-}
-
-@font-face {
- font-family: 'Source Code Pro';
- font-weight: 500;
- font-style: italic;
- font-stretch: normal;
- src: url('@{font-path}SourceCodePro-MediumIt.eot') format('embedded-opentype'),
- url('@{font-path}SourceCodePro-MediumIt.ttf.woff2') format('woff2'),
- url('@{font-path}SourceCodePro-MediumIt.otf.woff') format('woff'),
- url('@{font-path}SourceCodePro-MediumIt.otf') format('opentype'),
- url('@{font-path}SourceCodePro-MediumIt.ttf') format('truetype');
-}
-
-@font-face {
- font-family: 'Source Code Pro';
- font-weight: 600;
- font-style: normal;
- font-stretch: normal;
- src: url('@{font-path}SourceCodePro-Semibold.eot') format('embedded-opentype'),
- url('@{font-path}SourceCodePro-Semibold.ttf.woff2') format('woff2'),
- url('@{font-path}SourceCodePro-Semibold.otf.woff') format('woff'),
- url('@{font-path}SourceCodePro-Semibold.otf') format('opentype'),
- url('@{font-path}SourceCodePro-Semibold.ttf') format('truetype');
-}
-
-@font-face {
- font-family: 'Source Code Pro';
- font-weight: 600;
- font-style: italic;
- font-stretch: normal;
- src: url('@{font-path}SourceCodePro-SemiboldIt.eot') format('embedded-opentype'),
- url('@{font-path}SourceCodePro-SemiboldIt.ttf.woff2') format('woff2'),
- url('@{font-path}SourceCodePro-SemiboldIt.otf.woff') format('woff'),
- url('@{font-path}SourceCodePro-SemiboldIt.otf') format('opentype'),
- url('@{font-path}SourceCodePro-SemiboldIt.ttf') format('truetype');
-}
-
-@font-face {
- font-family: 'Source Code Pro';
- font-weight: 700;
- font-style: normal;
- font-stretch: normal;
- src: url('@{font-path}SourceCodePro-Bold.eot') format('embedded-opentype'),
- url('@{font-path}SourceCodePro-Bold.ttf.woff2') format('woff2'),
- url('@{font-path}SourceCodePro-Bold.otf.woff') format('woff'),
- url('@{font-path}SourceCodePro-Bold.otf') format('opentype'),
- url('@{font-path}SourceCodePro-Bold.ttf') format('truetype');
-}
-
-@font-face {
- font-family: 'Source Code Pro';
- font-weight: 700;
- font-style: italic;
- font-stretch: normal;
- src: url('@{font-path}SourceCodePro-BoldIt.eot') format('embedded-opentype'),
- url('@{font-path}SourceCodePro-BoldIt.ttf.woff2') format('woff2'),
- url('@{font-path}SourceCodePro-BoldIt.otf.woff') format('woff'),
- url('@{font-path}SourceCodePro-BoldIt.otf') format('opentype'),
- url('@{font-path}SourceCodePro-BoldIt.ttf') format('truetype');
-}
-
-@font-face {
- font-family: 'Source Code Pro';
- font-weight: 900;
- font-style: normal;
- font-stretch: normal;
- src: url('@{font-path}SourceCodePro-Black.eot') format('embedded-opentype'),
- url('@{font-path}SourceCodePro-Black.ttf.woff2') format('woff2'),
- url('@{font-path}SourceCodePro-Black.otf.woff') format('woff'),
- url('@{font-path}SourceCodePro-Black.otf') format('opentype'),
- url('@{font-path}SourceCodePro-Black.ttf') format('truetype');
-}
-
-@font-face {
- font-family: 'Source Code Pro';
- font-weight: 900;
- font-style: italic;
- font-stretch: normal;
- src: url('@{font-path}SourceCodePro-BlackIt.eot') format('embedded-opentype'),
- url('@{font-path}SourceCodePro-BlackIt.ttf.woff2') format('woff2'),
- url('@{font-path}SourceCodePro-BlackIt.otf.woff') format('woff'),
- url('@{font-path}SourceCodePro-BlackIt.otf') format('opentype'),
- url('@{font-path}SourceCodePro-BlackIt.ttf') format('truetype');
-}
-
-
-
-@font-face {
- font-family: 'Source Sans Pro';
- font-weight: 200;
- font-style: normal;
- font-stretch: normal;
- src: url('@{font-path}SourceSansPro-ExtraLight.eot') format('embedded-opentype'),
- url('@{font-path}SourceSansPro-ExtraLight.ttf.woff2') format('woff2'),
- url('@{font-path}SourceSansPro-ExtraLight.otf.woff') format('woff'),
- url('@{font-path}SourceSansPro-ExtraLight.otf') format('opentype'),
- url('@{font-path}SourceSansPro-ExtraLight.ttf') format('truetype');
-}
-
-@font-face {
- font-family: 'Source Sans Pro';
- font-weight: 200;
- font-style: italic;
- font-stretch: normal;
- src: url('@{font-path}SourceSansPro-ExtraLightIt.eot') format('embedded-opentype'),
- url('@{font-path}SourceSansPro-ExtraLightIt.ttf.woff2') format('woff2'),
- url('@{font-path}SourceSansPro-ExtraLightIt.otf.woff') format('woff'),
- url('@{font-path}SourceSansPro-ExtraLightIt.otf') format('opentype'),
- url('@{font-path}SourceSansPro-ExtraLightIt.ttf') format('truetype');
-}
-
-@font-face {
- font-family: 'Source Sans Pro';
- font-weight: 300;
- font-style: normal;
- font-stretch: normal;
- src: url('@{font-path}SourceSansPro-Light.eot') format('embedded-opentype'),
- url('@{font-path}SourceSansPro-Light.ttf.woff2') format('woff2'),
- url('@{font-path}SourceSansPro-Light.otf.woff') format('woff'),
- url('@{font-path}SourceSansPro-Light.otf') format('opentype'),
- url('@{font-path}SourceSansPro-Light.ttf') format('truetype');
-}
-
-@font-face {
- font-family: 'Source Sans Pro';
- font-weight: 300;
- font-style: italic;
- font-stretch: normal;
- src: url('@{font-path}SourceSansPro-LightIt.eot') format('embedded-opentype'),
- url('@{font-path}SourceSansPro-LightIt.ttf.woff2') format('woff2'),
- url('@{font-path}SourceSansPro-LightIt.otf.woff') format('woff'),
- url('@{font-path}SourceSansPro-LightIt.otf') format('opentype'),
- url('@{font-path}SourceSansPro-LightIt.ttf') format('truetype');
-}
-
-@font-face {
- font-family: 'Source Sans Pro';
- font-weight: 400;
- font-style: normal;
- font-stretch: normal;
- src: url('@{font-path}SourceSansPro-Regular.eot') format('embedded-opentype'),
- url('@{font-path}SourceSansPro-Regular.ttf.woff2') format('woff2'),
- url('@{font-path}SourceSansPro-Regular.otf.woff') format('woff'),
- url('@{font-path}SourceSansPro-Regular.otf') format('opentype'),
- url('@{font-path}SourceSansPro-Regular.ttf') format('truetype');
-}
-
-@font-face {
- font-family: 'Source Sans Pro';
- font-weight: 400;
- font-style: italic;
- font-stretch: normal;
- src: url('@{font-path}SourceSansPro-It.eot') format('embedded-opentype'),
- url('@{font-path}SourceSansPro-It.ttf.woff2') format('woff2'),
- url('@{font-path}SourceSansPro-It.otf.woff') format('woff'),
- url('@{font-path}SourceSansPro-It.otf') format('opentype'),
- url('@{font-path}SourceSansPro-It.ttf') format('truetype');
-}
-
-@font-face {
- font-family: 'Source Sans Pro';
- font-weight: 600;
- font-style: normal;
- font-stretch: normal;
- src: url('@{font-path}SourceSansPro-Semibold.eot') format('embedded-opentype'),
- url('@{font-path}SourceSansPro-Semibold.ttf.woff2') format('woff2'),
- url('@{font-path}SourceSansPro-Semibold.otf.woff') format('woff'),
- url('@{font-path}SourceSansPro-Semibold.otf') format('opentype'),
- url('@{font-path}SourceSansPro-Semibold.ttf') format('truetype');
-}
-
-@font-face {
- font-family: 'Source Sans Pro';
- font-weight: 600;
- font-style: italic;
- font-stretch: normal;
- src: url('@{font-path}SourceSansPro-SemiboldIt.eot') format('embedded-opentype'),
- url('@{font-path}SourceSansPro-SemiboldIt.ttf.woff2') format('woff2'),
- url('@{font-path}SourceSansPro-SemiboldIt.otf.woff') format('woff'),
- url('@{font-path}SourceSansPro-SemiboldIt.otf') format('opentype'),
- url('@{font-path}SourceSansPro-SemiboldIt.ttf') format('truetype');
-}
-
-@font-face {
- font-family: 'Source Sans Pro';
- font-weight: 700;
- font-style: normal;
- font-stretch: normal;
- src: url('@{font-path}SourceSansPro-Bold.eot') format('embedded-opentype'),
- url('@{font-path}SourceSansPro-Bold.ttf.woff2') format('woff2'),
- url('@{font-path}SourceSansPro-Bold.otf.woff') format('woff'),
- url('@{font-path}SourceSansPro-Bold.otf') format('opentype'),
- url('@{font-path}SourceSansPro-Bold.ttf') format('truetype');
-}
-
-@font-face {
- font-family: 'Source Sans Pro';
- font-weight: 700;
- font-style: italic;
- font-stretch: normal;
- src: url('@{font-path}SourceSansPro-BoldIt.eot') format('embedded-opentype'),
- url('@{font-path}SourceSansPro-BoldIt.ttf.woff2') format('woff2'),
- url('@{font-path}SourceSansPro-BoldIt.otf.woff') format('woff'),
- url('@{font-path}SourceSansPro-BoldIt.otf') format('opentype'),
- url('@{font-path}SourceSansPro-BoldIt.ttf') format('truetype');
-}
-
-@font-face {
- font-family: 'Source Sans Pro';
- font-weight: 900;
- font-style: normal;
- font-stretch: normal;
- src: url('@{font-path}SourceSansPro-Black.eot') format('embedded-opentype'),
- url('@{font-path}SourceSansPro-Black.ttf.woff2') format('woff2'),
- url('@{font-path}SourceSansPro-Black.otf.woff') format('woff'),
- url('@{font-path}SourceSansPro-Black.otf') format('opentype'),
- url('@{font-path}SourceSansPro-Black.ttf') format('truetype');
-}
-
-@font-face {
- font-family: 'Source Sans Pro';
- font-weight: 900;
- font-style: italic;
- font-stretch: normal;
- src: url('@{font-path}SourceSansPro-BlackIt.eot') format('embedded-opentype'),
- url('@{font-path}SourceSansPro-BlackIt.ttf.woff2') format('woff2'),
- url('@{font-path}SourceSansPro-BlackIt.otf.woff') format('woff'),
- url('@{font-path}SourceSansPro-BlackIt.otf') format('opentype'),
- url('@{font-path}SourceSansPro-BlackIt.ttf') format('truetype');
-}
-
diff --git a/src/css/style.less b/src/css/style.less
deleted file mode 100644
index 50e6da9e..00000000
--- a/src/css/style.less
+++ /dev/null
@@ -1,1030 +0,0 @@
-@font-path: "../fonts/";
-
-/*
- * Bootstrap
- */
-@import "../node_modules/bootstrap/less/bootstrap.less";
-
-// Bootstrap variables override
-@font-family-sans-serif: "Source Sans Pro", "Helvetica Neue", Helvetica, Arial, sans-serif;
-@font-family-monospace: "Source Code Pro", "Inconsolata", Menlo, Monaco, Consolas, "Courier New", monospace;
-
-@font-size-h1: floor((@font-size-base * 2.15)); // ~30px
-@font-size-h2: ceil((@font-size-base * 1.7)); // ~24px
-@font-size-h3: ceil((@font-size-base * 1.25)); // ~18px
-@font-size-h4: @font-size-base;
-@font-size-h5: ceil((@font-size-base * 0.85)); // ~12px
-@font-size-h6: ceil((@font-size-base * 0.7)); // ~10px
-
-@border-radius-base: 0;
-@btn-border-radius-base: 1px;
-@btn-border-radius-small: @btn-border-radius-base;
-@btn-border-radius-large: @btn-border-radius-base;
-
-
-/*
- * FontAwesome
- */
-@import "../node_modules/fork-awesome/less/fork-awesome.less";
-
-
-// Fixes
-[class*="fa-"] {.fa;}
-a[class*="fa-"]:hover {text-decoration:none;}
-
-
-/*
- * YNH Fonts
- */
-@import "fonts.less";
-
-
-/* Comments:
- *
- * 1. we need to rationalise the use of width and max widths. they seem to be
- * completely arbitrarily chosen. May not allow for a lot of flexibility…
- * especially on different screens size.
- *
- */
-
-/* Fix bootstrap use of width. We prefer max-width. */
-.container {
- @media (min-width: @screen-sm-min) {
- width: auto;
- max-width: @container-sm;
- }
- @media (min-width: @screen-md-min) {
- width: auto;
- max-width: @container-md;
- }
- @media (min-width: @screen-lg-min) {
- width: auto;
- max-width: @container-lg;
- }
-}
-
-
-html, body {
- width:100%;
-}
-html {
- /* Force vertical scrollbar to prevent centering jumps. */
- overflow-y: scroll;
-}
-body {
- &:extend(.container all);
- margin: auto;
- padding: 0 10px;
- @media (min-width: @screen-sm-min) {
- padding: 0 20px;
- }
-}
-
-.btn {
- & + .btn {margin-left: 8px; margin-right: 8px;}
-}
-button {
- &:extend(.btn all);
-}
-
-.block {
- float:left;
- height: 100%;
- /*max-width: 750px;*/
- width: 50%;
- height: 100%;
- padding: 5px;
-}
-
-.placehold {
- font-size: 0.0001em;
- color: transparent;
-}
-
-/*
- * The top heading of the doc
- *
- */
-
-/*#masthead {
- .hidden-xs;
-}*/
-.page-header {
- .clearfix;
- .make-row(12);
- margin: 0 0 20px;
- padding-bottom: 20px;
-
- .homelink {
- margin-top: 20px;
- }
-
- .homelink {
- .make-xs-column(2);
- position: relative;
- display: block;
-
- &:before {
- .fa;
- /*.fa-chevron-left;*/
- content: "\f053";
- display: block;
- height: 1em;
- width: 1em;
- position: absolute;
- top: 50%;
- margin-top: -0.4em;
- left: 5px;
- opacity: 0;
- font-size: 1em;
- line-height: 1;
- color: @gray-light;
- transition: all 0.1s ease;
-
- }
- &:hover {
- &:before {
- opacity: 1;
- left: 0px;
- }
- }
-
- }
-
- .buttons {
- .pull-right;
- .make-sm-column(2);
- .make-sm-column-offset(8);
- padding: 17px 0 0;
- a {
- .btn;
- .btn-sm;
- display: block;
- margin: 3px 0;
- }
- .user-interface-btn {
- .btn-primary;
- }
- .logout-btn {
- .btn-default;
- }
- }
-}
-
-
-/*
- * The “slider”
- *
- */
-
-#slider {
- .center-block;
- padding: 5px 5px 30px;
- width: 100%;
- height: 100%;
- position: relative;
- overflow: hidden;
- text-align: left;
-}
-
-#slider-container {
- .clearfix;
- width: 200%;
- height: 100%;
- min-height: 150px;
- transition: margin-left 0.15s ease-in-out;
-}
-
-#slideBack, #slideTo, #main {
- .block;
-}
-
-#slideTo, #slideBack {
- // Force left & right pane height to 1px (prevent empty space before footer).
- height: 1px;
-}
-
-/*
- * The main part of the app
- *
- */
-
-#main {
- /*float: left;*/
- /*overflow: hidden;*/
- padding-left: 0;
- padding-right: 0;
-}
-
-
-/*
- * Page footer
- *
- */
-#page-footer {
- .clearfix;
- .make-row(12);
- margin: 20px 0;
- padding-top: 10px;
- border-top: 1px solid #eee;
- color: #999;
- font-size: 0.9em;
- a {
- color: #666;
- &:hover,
- &:focus {text-decoration: underline;}
- }
-}
-
-#page-footer-links {
- text-align: left;
- float: left;
-
- a {
- display: inline-block;
- }
-
- a::before {
- content: "•";
- display: inline-block;
- vertical-align: top;
- padding: 0 0.5em 0 0.25em;
- }
- a:first-child:before {content: none;}
-}
-
-#yunohost-version {
- text-align: right;
- float: right;
-}
-
-@media screen and (max-width: @screen-xs-min) {
- #yunohost-version {
- text-align: center;
- float: none;
- }
- #page-footer-links {
- text-align: center;
- float: none;
- }
-}
-
-
-
-/*
- * The pop up dialog
- *
- */
-
-#modal {
- .modal;
- .fade;
- z-index: 2001; // more than pacman
- overflow-y: auto;
-
- & > div {
- .modal-dialog;
- & > div {
- .modal-content;
- }
- }
-
- header {
- .modal-header;
-
- .title {
- .modal-title;
- font-weight: bold;
- text-transform: uppercase;
- margin: 0;
- }
- }
- &.no-title header {display: none;}
-
- .content {
- .modal-body;
- .danger {
- color: red;
- }
- }
-
- footer {
- .modal-footer;
-
- button {
- .btn;
- modal-cancel {.btn-link;}
- modal-confirm {.btn-primary;}
- }
- }
-}
-@media (min-width: 768px) {
- #modal > div > div {
- width: 600px;
- margin: 30px auto;
- }
-}
-
-
-/*
- * Various styles
- *
- */
-
-body .form-control {
- padding: 6px;
-}
-
-.view-title {
- text-align: center;
- margin: 20px auto 0;
- @media (min-width: @screen-xs-min) {
- margin: -35px 120px 0 120px;
- }
-}
-
-// Preserve font-size in panel titles.
-h1.panel-title {font-size: @font-size-h1;}
-h2.panel-title {font-size: @font-size-h2;}
-h3.panel-title {font-size: @font-size-h3;}
-h4.panel-title {font-size: @font-size-h4;}
-h5.panel-title {font-size: @font-size-h5;}
-h6.panel-title {font-size: @font-size-h6;}
-
-div.br {
- height: 30px;
-}
-
-@-webkit-keyframes pacmanlinearmove {
- from { background-position: 30% 15%; }
- to { background-position: 70% 15%; }
-}
-@-moz-keyframes pacmanlinearmove {
- from { background-position: 30% 15%; }
- to { background-position: 70% 15%; }
-}
-@-o-keyframes pacmanlinearmove {
- from { background-position: 30% 15%; }
- to { background-position: 70% 15%; }
-}
-@keyframes pacmanlinearmove {
- from { background-position: 30% 15%; }
- to { background-position: 70% 15%; }
-}
-.loader {
- display: block;
- z-index: 2000;
- text-align: center;
- background: rgba(255, 255, 255, 0.5) url(../img/ajax-loader.gif) center 15% no-repeat;
- animation: pacmanlinearmove 5s linear infinite;
-}
-.loader-content {
- position: fixed;
- top: 0;
- bottom: 0;
- left: 0;
- right: 0;
- z-index: 2000;
-}
-
-.magikarp {
- .loader{
- background: rgba(255, 255, 255, 0.5) url(../img/magikarp.gif) center 15% no-repeat;
- }
-}
-
-.with-nyancat {
- .loader{
- background: rgba(255, 255, 255, 0.5) url(../img/nyancat.gif) center 15% no-repeat;
- animation: pacmanlinearmove 6s linear infinite;
- }
- .loader-content {
- left: -20%;
- right: -20%;
- }
-}
-
-
-.loader-popup {
- margin: auto;
- height: 24px;
- width: 24px;
- background-position: center top;
-}
-
-.help-block--link {
- float: right;
- margin-left: 2em;
-}
-
-.help-block--help {
- margin: 0 0 5px 0;
-}
-.help-block--example {}
-
-.quota-help-block {
- text-align: left;
- line-height: 1.2;
-}
-
-th h3,
-th h4 {
- margin-bottom: 5px;
- font-weight: bold;
-}
-th h4 {font-size: 16px;}
-th h4 small {font-size: 12px;}
-
-
-select option[default] {
- color: #999;
- font-style: italic;
-}
-
-
-a.list-group-item,
-a.list-group-item-heading,
-.list-group-item-heading a {
- color: #333;
-}
-
-.list-group-item .pull-right.fa-chevron-right {
- position: absolute;
- right: 1em;
- top: 50%;
- margin-top: -0.5em;
-}
-
-.panel > .list-group + .panel-footer {
- border-top: 0;
-}
-
-@dl-horizontal-offset: 220px;
-.dl-horizontal {
- dt,
- dd {
- min-height: 1.5em;
- }
- dd {
- ul {padding-left: 20px;}
- }
-}
-
-
-.table-firewall .btn {visibility: hidden;}
-.table-firewall td:hover .btn {visibility: visible;}
-
-@media screen and (max-width: 767px) {
- .table-responsive {border: none;}
-}
-
-.actions-group {
- .pull-right;
-}
-
-.separator {
- .clearfix();
- margin-bottom: 25px;
-}
-
-label .list-group-item-text {
- font-weight:normal;
-}
-
-/* Paste buttons */
-button[data-paste-content] {
- &:extend(.btn all);
- &:extend(.btn-default all);
- & + pre {
- margin-top: 10px;
- }
-}
-
-.full-width {
- width: 100%;
-}
-
-.overflow-auto {
- overflow: auto;
-}
-
-/** Breadcrumb **/
-@breadcrumb-bg: none;
-.btn-breadcrumb {
- .pull-left;
- &:extend(.breadcrumb all);
- // Bootstrap uses ul>li structure, we simply use
- a {
- display: inline-block;
- color: @gray-light;
- & + a {
- &:before {
- display: inline-block;
- content: "@{breadcrumb-separator}\00a0"; // Unicode space added since inline-block means non-collapsing white-space
- padding: 0 5px;
- color: @breadcrumb-color;
- }
- }
- &:hover,
- &:focus {
- color: @link-hover-color;
- }
- }
-}
-
-
-
-/** Beautiful checkbox/radio **/
-input[type='checkbox'].nice-checkbox,
-input[type='radio'].nice-radio {
- position: absolute;
- left: -9999px;
-
- & + label {cursor: pointer;}
- & + label:before {
- .fa;
- content: @fa-var-square-o;
- display: inline-block;
- width: 1em;
- height: 1em;
- line-height: 1;
- font-size: 1.5em;
- text-align: left;
- vertical-align: middle;
- position: relative;
- }
-
- &:hover + label:before {
- content: @fa-var-plus-square-o;
- }
-
- &:checked + label:before {
- content: @fa-var-check-square-o;
- }
- &:checked:hover + label:before {
- content: @fa-var-minus-square-o;
- }
-
- &[type='radio'] {
- & + label:before {
- content: @fa-var-circle-o;
- }
- &:checked + label:before {
- content: @fa-var-check-circle-o;
- }
- }
-}
-
-
-/** App install form **/
-.form-app-install {
- .form-group {
- margin-bottom: 25px;
- label {cursor: pointer;}
- }
- .form-control {
- &[type="checkbox"] {
- height: auto;
- width: auto;
- }
- }
-}
-
-.messages .progress {
- display:inline-block;
- height:0.8em;
- margin-bottom: 0;
- width: 200px;
- border-radius: 5px;
-}
-
-.messages div:not(:first-child) .progress {
- display: none;
-}
-
-.messages .progress-bar-striped {
- background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.4) 50%, rgba(255, 255, 255, 0.5) 75%, transparent 75%, transparent);
-}
-
-.messages .progress-bar.active {
- animation-direction: reverse;
-}
-
-/** custom badges **/
-.badge {
- &.badge-default {
- background-color: @label-default-bg;
- }
- &.badge-primary {
- background-color: @label-primary-bg;
- }
- &.badge-success {
- background-color: @label-success-bg;
- }
- &.badge-info {
- background-color: @label-info-bg;
- }
- &.badge-warning {
- background-color: @label-warning-bg;
- }
- &.badge-danger {
- background-color: @label-danger-bg;
- }
-}
-
-.label-best {
- background-color: darkorchid;
-}
-
-.app-category-card {
- text-align: center;
-}
-
-// only one card for small screens
-.app-card, .app-category-card {
- width: 100%;
- .btn-group {
- width: 100%;
- .btn{
- margin-left: 0;
- margin-right: 0;
- }
- }
-}
-
-#app-filter-input{
- .dropdown-menu{
- min-width: 120px;
- right: 0;
- left: auto;
- }
- .menu-item{
- padding: 3px 10px;
- }
-}
-
-.app-state {
- font-size: 10px;
-}
-
-.app-title, .app-category-title {
- margin-top: 5px;
- font-weight: 600;
-}
-
-.app-card-desc, .app-category-card-desc {
- height: 6rem;
- overflow: hidden;
-}
-
-.app-card-date-maintainer {
- text-align: right;
- max-height: 18px;
- margin-bottom: 3px;
- margin-right: 7px;
- margin-top: -5px;
- height: 18px;
-}
-
-.auto-width {
- width: auto;
-}
-
-.input-hidden {
- display: none;
-}
-
-.alert-debug {
- background-color: white;
-}
-
-.app-card .panel-body {
- padding: 1.5rem;
- padding-bottom: 0.5rem;
-
- h3 {
- margin-top: 0;
- margin-bottom: .5rem;
- }
-
- .category {
- margin-bottom: .5rem;
- }
-}
-
-.app-category-card .panel-body {
- padding: 2em;
- height: 10em;
- color: #333 !important;
-}
-
-.subtag-selector {
- text-align: center;
-}
-
-.app-category-card {
- text-decoration: none !important;
-}
-
-.app-category-card:hover {
- border-color: #777;
-}
-
-.app-category-title {
- line-height: 1em;
- white-space: normal;
-}
-
-.app-category-card-desc {
- white-space: normal;
-}
-
-
-/** Groups View **/
-#view-groups {
- .panel-heading a {
- text-decoration: none;
- }
- .group-delete {
- font-size: 24px;
- line-height: 24px;
- padding: 0;
- float:right;
- color:lighten(@label-danger-bg, 20%);
- :hover {
- color:@label-danger-bg;
- }
- }
- .panel-body {
- h3 {
- margin-top:0;
- }
- button.dropdown-toggle {
- line-height: 15.666px;
- top: -1.666px;
- }
- .dropdown-menu {
- max-height: 200px;
- overflow-y: auto;
-
- button {
- background: none;
- }
- }
- .label-removable {
- // The following match properties from regular btn's
- display:inline-block;
- font-size:14px;
- color:#333;
- background-color:#f8f8f8;
- border: #ccc 1px solid;
- font-weight: normal;
- margin-bottom:0;
- position: relative;
- top: -1.666px;
- height: 29.666px;
- vertical-align: middle;
- padding: 6px 12px;
-
- margin-right:7px; // Spacing between labels
-
- > button {
- line-height: 12px;
- margin-left:6px;
- padding: 0;
- padding-left:6px;
- border-left: #ccc 1px solid;
- color:lighten(@label-info-bg,20);
- background-color:transparent;
-
- text-decoration: none;
- }
- > button:hover {
- color:@label-info-bg;
- }
- }
- }
-}
-
-/** Flash messages **/
-#flashMessage {
- max-height: 120px;
- overflow-y: auto;
- margin-bottom: 20px;
- &:empty {margin-bottom: 0;}
-
- button {display: none;}
-
- .alert-error,
- .alert-fail {
- .alert-danger();
- }
-
- .alert {
- margin-bottom: 0;
- & + .alert {margin-top: 15px;}
-
- p {
- margin: 0 auto;
- & + p {margin-top: 0.5em;}
- }
- }
- .alert-log {
- background-color: #eee;
- color: #333;
-
- // YNH custom
- font-family: Consolas,"Liberation Mono",Menlo,Courier,monospace;
- font-size: 12px;
- }
-}
-
-@media screen and (min-width: 640px) {
- #slider {
- #toggle-btn {display: none;}
- &.with-flashMessage {
- padding-top: 30px;
- #toggle-btn {display: block;}
- }
- }
-
- // display 2 cards between 640 and 992px
- .app-card, .app-category-card {
- width: 47.9%;
- margin: 1%;
- }
-
- .grid {
- background: #f5f5f5;
- border: 1px solid #ddd;
- }
-
- #flashMessage {
- position: fixed;
- top: 0;
- left: 0;
- right: 0;
- z-index: 2001; // above pacman
- max-height: 30px;
- opacity: 0.9;
- overflow: hidden;
- box-shadow: 0 0 1px rgba(0,0,0, 0.2);
- .transition(max-height 0.15s);
- .messages {
- max-height: 30px;
- }
- &:hover,
- &:active,
- &:focus,
- &.open {
- opacity: 1;
- overflow-y: auto;
- height: auto;
- min-height: 30px;
- max-height: 70%;
- box-shadow: 0px 0 1px rgba(0,0,0, 0.5);
- .messages {
- max-height: none;
- }
- }
-
- p {
- padding: 4px 10px;
- min-height: 30px;
- line-height: 22px;
- }
-
- .alert {
- // Override bootstrap defaults
- padding: 0 0 0 40px; // Space for buttons
- margin: 0;
- border: 0;
- border-radius: 0;
- & + .alert {margin-top: 0;}
- }
-
- button {
- .btn-xs;
- .btn-link;
- padding: 1px;
- margin: 4px;
- max-height: 22px;
-
- color: @text-color;
- opacity: 0.7;
- &:hover,
- &:active,
- &:focus {
- color: @text-color;
- opacity: 1;
- text-decoration: none;
- }
- }
-
- #toggle-btn {
- float: left;
- [class*="fa-"] {
- .rotate(-45deg);
- .transition(all 0.15s);
- }
- }
- &.open #toggle-btn {
- opacity: 1;
- [class*="fa-"] {.rotate(0deg);}
- }
-
- #clear-btn {
- float: left;
- display: none;
- }
- &:hover,
- &:active,
- &:focus,
- &.open {
- #clear-btn {
- display: block
- }
- }
-
- }
-}
-
-// bootstrap breakpoint for large screen is 992px
-@media screen and (min-width: 992px) {
- .app-card, .app-category-card {
- // display 3 cards by row
- width: 31.3%;
- margin: 1%;
- }
-}
-
-/* Inline button in panel headers or in list group items */
-
-.list-group-item > .btn.pull-right {
- line-height: 1em;
- margin-top: -2px;
-}
-
-@media screen and (max-width: @screen-xs-min) {
- .btn.pull-right, .btn-toolbar.pull-right, .btn-toolbar.pull-right > .btn {
- margin: 0;
- margin-top: 5px;
- display: block;
- float: none !important;
- }
-}
-
-.notransition {
- -webkit-transition: none !important;
- -moz-transition: none !important;
- -o-transition: none !important;
- transition: none !important;
-}
-
-/* Diagnosis styles */
-
-.alert-success-yo {
- background-color: #dff0d8;
- border-color: #d6e9c6;
-}
-
-.alert-warning-yo {
- background-color: #fcf8e3;
- border-color: #faebcc;
-}
-
-.alert-danger-yo {
- background-color: #f2dede;
- border-color: #ebccd1;
-}
-
-.alert-info-yo {
- background-color: #d9edf7;
- border-color: #bce8f1;
-}
-
-.alert-ignored-yo {
- background-color: ghostwhite;
- border-color: lightgrey;
- color: grey;
-}
-
-.diagnosis-item {
-
- code {
- word-break: break-all;
- border-radius: 5px;
- padding-top: 1px;
- padding-bottom: 1px;
- }
-
- code.cmd {
- word-break: break-word;
- color: white;
- background-color: #333;
- }
-
- ul > li {
- padding-top: 0.3em;
- }
-}
diff --git a/src/gulpfile.js b/src/gulpfile.js
deleted file mode 100644
index e6481efa..00000000
--- a/src/gulpfile.js
+++ /dev/null
@@ -1,122 +0,0 @@
-// Include Gulp
-var gulp = require('gulp');
-
-// Include required Gulp packages
-var concat = require('gulp-concat'),
- uglify = require('gulp-uglify'),
- csslint = require('gulp-csslint'),
- jshint = require('gulp-jshint'),
- mustache = require('gulp-mustache'),
- less = require('gulp-less'),
- autoprefixer = require('gulp-autoprefixer'),
- cssmin = require('gulp-cssmin'),
- imagemin = require('gulp-imagemin'),
- rename = require('gulp-rename')
- util = require('gulp-util')
- gulpif = require('gulp-if')
- ;
-
-// Environment variables
-isDev = (util.env.dev) ? true : false;
-isProduction = !isDev;
-
-// JS task
-gulp.task('js', function() {
- return gulp.src([
- 'node_modules/jquery/dist/jquery.js',
- 'node_modules/handlebars/dist/handlebars.js',
- 'node_modules/handlebars-intl/dist/handlebars-intl-with-locales.js',
- 'node_modules/sammy/lib/sammy.js',
- 'node_modules/sammy/lib/plugins/sammy.handlebars.js',
- 'node_modules/sammy/lib/plugins/sammy.json.js',
- 'node_modules/sammy/lib/plugins/sammy.storage.js',
- 'node_modules/bootstrap/dist/js/bootstrap.js',
- 'node_modules/isotope-layout/dist/isotope.pkgd.js',
- 'js/yunohost/y18n.js',
- 'js/yunohost/main.js',
- 'js/yunohost/helpers.js',
- 'js/yunohost/filters.js',
- 'js/yunohost/events.js',
- 'js/yunohost/controllers/*.js',
- ])
- .pipe(gulpif(isProduction, uglify()))
- .pipe(concat('script.min.js'))
- .pipe(gulp.dest('./dist/js'))
-});
-
-
-// JS Lint task
-gulp.task('js-lint', function() {
- return gulp.src('js/**/*.js')
- .pipe(jshint())
- .pipe(jshint.reporter('default'))
- .pipe(jshint.reporter('fail'))
-});
-
-// Fonts
-gulp.task('fonts', function() {
- return gulp.src([
- 'node_modules/fork-awesome/fonts/*',
- 'node_modules/source-code-pro/EOT/*.eot',
- 'node_modules/source-code-pro/OTF/*.otf',
- 'node_modules/source-code-pro/TTF/*.ttf',
- 'node_modules/source-code-pro/WOFF/OTF/*.woff',
- 'node_modules/source-code-pro/WOFF2/TTF/*.woff2',
- 'node_modules/source-sans-pro/EOT/*.eot',
- 'node_modules/source-sans-pro/OTF/*.otf',
- 'node_modules/source-sans-pro/TTF/*.ttf',
- 'node_modules/source-sans-pro/WOFF/OTF/*.woff',
- 'node_modules/source-sans-pro/WOFF2/TTF/*.woff2',
- ])
- .pipe(gulp.dest('./dist/fonts'))
-});
-
-// CSS task
-gulp.task('css', function () {
- return gulp.src('css/style.less')
- .pipe(less())
- .pipe(autoprefixer())
- .pipe(rename({
- suffix: '.min'
- }))
- .pipe(gulpif(isProduction, cssmin()))
- .pipe(gulp.dest('./dist/css'))
-});
-
-
-// CSS/Less lint task
-gulp.task('css-lint', function() {
- return gulp.src('css/style.less')
- .pipe(less())
- .pipe(autoprefixer())
- .pipe(csslint())
- .pipe(csslint.formatter())
-});
-
-
-// Images task
-gulp.task('img', function () {
- return gulp.src('img/*')
- .pipe(gulpif(isProduction, imagemin()))
- .pipe(gulp.dest('./dist/img'))
-});
-
-// Views task
-gulp.task('views', function () {
- return gulp.src('views/**/*.ms')
- .pipe(gulp.dest("./dist/views"));
-});
-
-// Global build task
-gulp.task('build', gulp.series('css', 'fonts', 'js', 'img', 'views'));
-
-// Watch task
-gulp.task('watch', function() {
- gulp.watch('js/**/*.js', gulp.series('js'));
- gulp.watch('css/*.less', gulp.series('css'));
- gulp.watch('views/**/*.ms', gulp.series('views'));
-});
-
-gulp.task('lint', gulp.series('css-lint', 'js-lint'));
-
-gulp.task('default', gulp.series('build', 'watch'));
\ No newline at end of file
diff --git a/src/index.html b/src/index.html
deleted file mode 100644
index c693f55a..00000000
--- a/src/index.html
+++ /dev/null
@@ -1,91 +0,0 @@
-
-
-
-
- YunoHost admin
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- loading…
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/js/yunohost/controllers/apps.js b/src/js/yunohost/controllers/apps.js
deleted file mode 100644
index 06dd43bb..00000000
--- a/src/js/yunohost/controllers/apps.js
+++ /dev/null
@@ -1,791 +0,0 @@
-(function() {
- // Get application context
- var app = Sammy.apps['#main'];
- var store = app.store;
-
- /**
- * Apps
- *
- */
-
- // List installed apps
- app.get('#/apps', function (c) {
- c.api('GET', '/apps?full', {}, function(data) {
- var apps = data['apps'];
- for (var a in apps)
- {
- var app = apps[a]
- app['label'] = app['permissions'][app['id'] + ".main"]['label']
- }
- c.arraySortById(apps);
- c.view('app/app_list', {apps: apps});
- });
- });
-
- function levelToColor(level) {
- if (level >= 8) {
- return 'best';
- }
- else if (level > 4) {
- return 'success';
- }
- else if (level >= 1) {
- return 'warning';
- }
- else if (isNaN(level)) {
- return 'default';
- } else {
- return 'danger'
- }
- }
-
- function stateToColor(state) {
- if (state === "high-quality") {
- return 'best';
- }
- else if (state === "working") {
- return 'success';
- }
- else {
- return 'danger';
- }
- }
-
- function maintainedStateToColor(state) {
- if ( state === "request_help" ) {
- return 'info';
- }
- else if ( state === "request_adoption" ) {
- return 'warning';
- }
- else if ( state === "orphaned" ) {
- return 'danger';
- }
- else {
- return 'success';
- }
- }
-
- function combineColors(stateColor, levelColor, installable) {
- if (stateColor === "danger" || levelColor === "danger") {
- return 'danger';
- }
- else if (stateColor === "warning" || levelColor === "warning" || levelColor === "default") {
- return 'warning';
- }
- else
- {
- return 'info';
- }
- }
-
- function extractMaintainer(manifest) {
- if (manifest.maintainer === undefined)
- {
- if ((manifest.developer !== undefined) && (manifest.developer.name !== undefined))
- {
- return manifest.developer.name;
- }
- else
- {
- return "?";
- }
- }
- else if (Array.isArray(manifest.maintainer))
- {
- maintainers = [];
- manifest.maintainer.forEach(function(maintainer) {
- if (maintainer.name !== undefined)
- {
- maintainers.push(maintainer.name);
- }
- });
- return maintainers.join(', ');
- }
- else if (manifest.maintainer.name !== undefined)
- {
- return manifest.maintainer.name;
- }
- else
- {
- return "?";
- }
- }
-
-
- // Display catalog home page where users chooses to browse a specific category
- app.get('#/apps/catalog', function (c) {
- c.api('GET', '/appscatalog?full&with_categories', {}, function (data) {
- c.view('app/app_catalog_home', {categories: data["categories"]}, function() {
- // Configure layout / rendering for app-category-cards
- $('#category-selector').isotope({
- itemSelector: '.app-category-card',
- layoutMode: 'fitRows',
- transitionDuration: 200
- });
- });
- });
- });
-
- // Display app catalog for a specific category
- app.get('#/apps/catalog/:category', function (c) {
- var category_id = c.params['category'];
- c.api('GET', '/appscatalog?full&with_categories', {}, function (data) {
- var apps = [];
- $.each(data['apps'], function(name, app) {
-
- // Ignore not working apps
- if (app.state === 'notworking') { return; }
-
- // Ignore apps not in this category
- if ((category_id !== "all") && (app.category !== category_id)) { return; }
-
- app.id = app.manifest.id;
- app.level = parseInt(app.level);
-
- if (app.high_quality && app.level > 7)
- {
- app.state = "high-quality";
- }
- if ( app.maintained === false )
- {
- app.maintained = "orphaned";
- }
- else if ( app.maintained === true )
- {
- app.maintained = "maintained";
- }
-
- app.manifest.maintainer = extractMaintainer(app.manifest);
- var isWorking = (app.state === 'working' || app.state === "high-quality") && app.level > 0;
-
- app.installable = (!app.installed || app.manifest.multi_instance)
- app.levelFormatted = isNaN(app.level) ? '?' : app.level;
-
- app.levelColor = levelToColor(app.level);
- app.stateColor = stateToColor(app.state);
- app.maintainedColor = maintainedStateToColor(app.maintained);
- app.installColor = combineColors(app.stateColor, app.levelColor);
-
- app.updateDate = app.lastUpdate * 1000 || 0;
- app.isSafe = (app.installColor !== 'danger');
- app.isWorking = isWorking ? "isworking" : "notFullyWorking";
- app.isHighQuality = (app.state === "high-quality") ? "isHighQuality" : "";
- app.decentQuality = (app.level > 4)?"decentQuality":"badQuality";
-
- apps.push(app);
- });
-
- var category = undefined;
- $.each(data['categories'], function(i, this_category) {
- if (this_category.id === category_id) { category = this_category; }
- });
-
- if (category_id === "all") {
- category = {title: y18n.t("all_apps"), icon: "search"};
- }
-
- // Sort app list
- c.arraySortById(apps);
-
- // setup filtering of apps once the view is loaded
- function setupFilterEvents () {
- // Uses plugin isotope to filter apps (we could had ordering to)
- var cardGrid = jQuery('#apps').isotope({
- itemSelector: '.app-card',
- layoutMode: 'fitRows',
- transitionDuration: 200
- });
-
- // Default filter is 'decent quality apps'
- cardGrid.isotope({ filter: '.decentQuality' });
-
- $(".subtag-selector button").on("click", function() {
- var selector = $(this).parent();
- $("button", selector).removeClass("active");
- $(this).addClass("active");
- cardGrid.isotope({ filter: filterApps });
- });
-
- filterApps = function () {
-
- // Check text search
- var input = jQuery("#filter-app-cards").val().toLowerCase();
- if (jQuery(this).find('.app-title, .app-card-desc').text().toLowerCase().indexOf(input) <= -1) return false;
-
- // Check subtags
- var subtag = $(".subtag-selector button.active").data("subtag");
- var this_subtags = jQuery(this).data("subtags");
- if ((subtag !== undefined) && (subtag !== "all")) {
- if ((subtag === "others") && (this_subtags !== "")) return false;
- if ((subtag !== "others") && (this_subtags.split(",").indexOf(subtag) <= -1)) return false;
- }
-
- // Check quality criteria
- var class_ = jQuery("#dropdownFilter").data("filter");
- if ((class_ !== '*') && (! jQuery(this).hasClass(class_))) return false;
-
- return true;
- },
-
- jQuery('.dropdownFilter').on('click', function() {
- // change dropdown label
- jQuery('#app-cards-list-filter-text').text(jQuery(this).find('.menu-item').text());
- // change filter attribute
- jQuery('#dropdownFilter').data("filter", jQuery(this).data("filter"));
- // filter !
- cardGrid.isotope({ filter: filterApps });
- });
-
- jQuery("#filter-app-cards").on("keyup", function() {
- cardGrid.isotope({ filter: filterApps });
- });
-
- $("#install-custom-app a[role='button']").on('click', function() {
-
- var url = $("#install-custom-app input[name='url']")[0].value;
- if (url.indexOf("github.com") < 0) {
- return;
- }
-
- c.confirm(
- y18n.t('applications'),
- y18n.t('confirm_install_custom_app'),
- function(){
- c.redirect_to('#/apps/install/custom/' + encodeURIComponent(url));
- }
- );
- });
- };
-
- // render
- c.view('app/app_catalog_category', {apps: apps, category: category}, setupFilterEvents);
-
- });
- });
-
- // Get app information
- app.get('#/apps/:app', function (c) {
- c.api('GET', '/apps/'+c.params['app']+'?full', {}, function(data) {
- data.label = data.permissions[c.params['app']+".main"]['label']
-
- data.permissions = data.permissions[c.params['app']+".main"]["allowed"];
-
- // Multilingual description
- data.description = (typeof data.manifest.description[y18n.locale] !== 'undefined') ?
- data.manifest.description[y18n.locale] :
- data.manifest.description['en']
- ;
-
- // Multi Instance settings
- data.manifest.multi_instance = data.manifest.multi_instance ? y18n.t('yes') : y18n.t('no');
- data.install_time = new Date(data.settings.install_time * 1000);
-
- c.view('app/app_info', data, function() {
-
- // Button to set the app as default
- $('button[data-action="set-as-default"]').on("click", function() {
- var app = $(this).data("app");
- c.confirm(
- y18n.t('applications'),
- y18n.t('confirm_app_default'),
- function() { c.api('PUT', '/apps/'+app+'/default', {}, function() { c.refresh() }); }
- );
- });
-
- // Button to uninstall the app
- $('button[data-action="uninstall"]').on("click", function() {
- var app = $(this).data("app");
- c.confirm(
- y18n.t('applications'),
- y18n.t('confirm_uninstall', [app]),
- function() {
- c.api('DELETE', '/apps/'+ app, {}, function() {
- c.redirect_to('#/apps');
- });
- }
- );
- });
- });
- });
- });
-
- //
- // App actions
- //
-
- // Get app actions list
- app.get('#/apps/:app/actions', function (c) {
- c.api('GET', '/apps/'+c.params['app']+'/actions', {}, function(data) {
- $.each(data.actions, function(_, action) {
- formatYunoHostStyleArguments(action.arguments, c.params);
-
- // Multilingual description
- if (action.description && Array.isArray(action.description))
- action.description = (typeof action.description[y18n.locale] !== 'undefined') ?
- action.description[y18n.locale] :
- action.description['en']
- ;
-
- });
-
- c.view('app/app_actions', data);
- return;
- });
- });
-
- // Perform app action
- app.put('#/apps/:app/actions/:action', function(c) {
- // taken from app install
- $.each(c.params, function(k, v) {
- if (typeof(v) === 'object' && Array.isArray(v)) {
- // And return only first value
- c.params[k] = v[0];
- }
- });
-
- var app_id = c.params['app'];
- delete c.params['app'];
- var action_id = c.params['action'];
- delete c.params['action'];
-
- var params = {
- 'args': c.serialize(c.params.toHash())
- }
-
- c.api('PUT', '/apps/'+app_id+'/actions/'+action_id, params, function() {
- c.redirect_to('#/apps/'+app_id+'/actions', {slide:false});
- });
- });
-
- //
- // App config panel
- //
-
- // Get app config panel
- app.get('#/apps/:app/config-panel', function (c) {
- c.api('GET', '/apps/'+c.params['app']+'/config-panel', {}, function(data) {
- $.each(data.config_panel.panel, function(_, panel) {
- $.each(panel.sections, function(_, section) {
- formatYunoHostStyleArguments(section.options, c.params);
- });
- });
- c.view('app/app_config-panel', data);
- });
- });
-
- app.post('#/apps/:app/config', function(c) {
- // taken from app install
- $.each(c.params, function(k, v) {
- if (typeof(v) === 'object' && Array.isArray(v)) {
- // And return only first value
- c.params[k] = v[0];
- }
- });
-
- var app_id = c.params['app'];
- delete c.params['app'];
-
- var params = {
- 'args': c.serialize(c.params.toHash())
- }
-
- c.api('POST', '/apps/'+app_id+'/config', params, function() {
- c.redirect_to('#/apps/'+app_id+'/config-panel', {slide:false});
- });
- })
-
- // Helper function that formats YunoHost style arguments for generating a form
- function formatYunoHostStyleArguments(args, params) {
- if (!args) {
- return;
- }
-
- // this is in place modification, I don't like it but it was done this way
- $.each(args, function(k, v) {
-
- // Default values
- args[k].type = (typeof v.type !== 'undefined') ? v.type : 'string';
- args[k].inputType = 'text';
- args[k].isPassword = false;
- args[k].isDisplayText = false;
- args[k].required = (typeof v.optional !== 'undefined' && (v.optional == "true" || v.optional == true)) ? '' : 'required';
- args[k].attributes = "";
- args[k].helpText = "";
- args[k].helpLink = "";
-
- // Multilingual label
- if (typeof args[k].ask === "string")
- {
- args[k].label = args[k].ask;
- }
- else if (typeof args[k].ask[y18n.locale] !== 'undefined') {
- args[k].label = args[k].ask[y18n.locale];
- }
- else {
- args[k].label = args[k].ask['en'];
- }
-
- // Multilingual help text
- if (typeof args[k].help !== 'undefined') {
- args[k].helpText = (typeof args[k].help[y18n.locale] !== 'undefined') ?
- args[k].help[y18n.locale] :
- args[k].help['en']
- ;
- }
-
- // Input with choices becomes select list
- if (typeof args[k].choices !== 'undefined') {
- // Update choices values with key and checked data
- var choices = []
- $.each(args[k].choices, function(ck, cv){
- // Non key/value choices have numeric key, that we don't want.
- if (typeof ck == "number") {
- // Key is Value in this case.
- ck = cv;
- }
-
- choices.push({
- value: ck,
- label: cv,
- selected: (ck == args[k].default) ? true : false,
- });
- });
- args[k].choices = choices;
- }
-
- // Special case for domain input.
- // Display a list of available domains
- if (v.name == 'domain' || args[k].type == 'domain') {
- args[k].choices = [];
- $.each(params.domains, function(key, domain){
- args[k].choices.push({
- value: domain,
- label: domain,
- selected: false
- });
- });
-
- // FIXME : to be reworked, choices ain't indexed by names...
- // args[k].choices[params.domains_main].selected = true;
-
- // Custom help link
- args[k].helpLink += ""+y18n.t('manage_domains')+"";
- }
-
- // Special case for admin / user input.
- // Display a list of available users
- if (v.name == 'admin' || args[k].type == 'user') {
- args[k].choices = [];
- $.each(params.users, function(username, user){
- args[k].choices.push({
- value: username,
- label: user.fullname+' ('+user.mail+')',
- selected: false
- });
- });
-
- // Custom help link
- args[k].helpLink += ""+y18n.t('manage_users')+"";
- }
-
- // 'app' type input display a list of available apps
- if (args[k].type == 'app') {
- args[k].choices = [];
- $.each(params.apps, function(key, app){
- args[k].choices.push({
- value: app.id,
- label: app.name,
- selected: false
- });
- });
-
- // Custom help link
- args[k].helpLink += ""+y18n.t('manage_apps')+"";
- }
-
- // Boolean fields
- if (args[k].type == 'boolean') {
- args[k].inputType = 'checkbox';
-
- // Checked or not ?
- if (typeof args[k].default !== 'undefined') {
- if (args[k].default == true) {
- args[k].attributes = 'checked="checked"';
- }
- }
-
- // 'default' is used as value, so we need to force it for checkboxes.
- args[k].default = 1;
-
- // Checkbox should not be required to be unchecked
- args[k].required = '';
-
- // Clone a hidden input with empty value
- // https://stackoverflow.com/questions/476426/submit-an-html-form-with-empty-checkboxes
- var inputClone = {
- name : args[k].name,
- inputType : 'hidden',
- default : 0
- };
- args.push(inputClone);
- }
-
- // 'password' type input.
- if (v.name == 'password' || args[k].type == 'password') {
- // Change html input type
- args[k].inputType = 'password';
- args[k].isPassword = true;
- }
-
- if (args[k].type == "display_text") {
- args[k].isDisplayText = true;
- args[k].label = args[k].label.split("\n");
- }
-
- });
- }
-
- // Helper function that build app installation form
- app.helper('appInstallForm', function(appId, manifest, params) {
- var data = {
- id: appId,
- manifest: manifest,
- displayLicense: (manifest['license'] !== undefined && manifest['license'] !== 'free')
- };
-
- formatYunoHostStyleArguments(manifest.arguments.install, params);
-
- // Multilingual description
- if (typeof manifest.description === 'string')
- {
- data.description = manifest.description;
- }
- else if (typeof manifest.description[y18n.locale] !== 'undefined')
- {
- data.description = manifest.description[y18n.locale];
- }
- else
- {
- data.description = manifest.description['en'];
- }
-
- // Multi Instance settings boolean to text
- data.manifest.multi_instance = manifest.multi_instance ? y18n.t('yes') : y18n.t('no');
-
- // View app install form
- c.view('app/app_install', data);
- return;
- });
-
- // App installation form
- app.get('#/apps/install/:app', function (c) {
- c.api('GET', '/appscatalog?full', {}, function(data) {
- var app_name = c.params["app"];
- var app_infos = data["apps"][app_name];
- if (app_infos['state'] === "validated")
- {
- app_infos['state'] = "official";
- }
- var state_color = stateToColor(app_infos['state']);
- var level_color = levelToColor(parseInt(app_infos['level']));
- var is_safe_for_install_color = combineColors(state_color, level_color);
-
- if ((is_safe_for_install_color === "warning") || (is_safe_for_install_color === "danger"))
- {
- c.confirm(
- y18n.t("applications"),
- y18n.t("confirm_install_app_"+is_safe_for_install_color),
- function(){
- c.appInstallForm(
- app_name,
- app_infos.manifest,
- c.params
- );
- },
- function () {
- c.redirect_to('#/apps/catalog');
- }
- );
- }
- else
- {
- c.appInstallForm(
- app_name,
- app_infos.manifest,
- c.params
- );
- }
- });
- });
-
- // Install app (POST)
- app.post('#/apps', function(c) {
- // Warn admin if app is going to be installed on domain root.
- if (c.params['path'] !== '/' || confirm(y18n.t('confirm_install_domain_root', [c.params['domain']]))) {
- var params = {
- label: c.params['label'],
- app: c.params['app']
- };
-
- // Check for duplicate arg produced by empty checkbox. (See inputClone)
- delete c.params['label'];
- delete c.params['app'];
- $.each(c.params, function(k, v) {
- if (typeof(v) === 'object' && Array.isArray(v)) {
- // And return only first value
- c.params[k] = v[0];
- }
- });
-
- params['args'] = c.serialize(c.params.toHash());
-
- // Do not pass empty args.
- if (params['args'] === "") {
- delete params['args'];
- }
-
- c.api('POST', '/apps', params, function() {
- c.redirect_to('#/apps');
- });
- }
- else {
- c.flash('warning', y18n.t('app_install_cancel'));
- c.refresh();
- }
- });
-
- // Install custom app from github
- app.get('#/apps/install/custom/:url', function(c) {
-
- // Force trailing slash
- url = c.params['url'];
- url = url.replace(/\/?$/, '/');
- raw_manifest_url = url.replace('github.com', 'raw.githubusercontent.com') + 'master/manifest.json'
-
- // Fetch manifest.json
- jQuery.ajax({ url: raw_manifest_url, type: 'GET' })
- .done(function(manifest) {
- // raw.githubusercontent.com serve content as plain text
- manifest = jQuery.parseJSON(manifest) || {};
-
- c.appInstallForm(
- url,
- manifest,
- c.params
- );
-
- })
- .fail(function(xhr) {
- c.flash('fail', y18n.t('app_install_custom_no_manifest'));
- c.redirect("#/apps/catalog/");
- });
-
- });
-
- // A small utility to convert a string to title case
- // e.g. "hAvE a NicE dAy" --> "Have A Nice Day"
- // Savagely stolen from https://stackoverflow.com/a/196991
- function toFriendlyName(str) {
- return str.split('.')[1].replace(/_/g, " ").replace(
- /\w\S*/g,
- function(txt) {
- return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();
- }
- );
- }
-
- // Get app change label page
- app.get('#/apps/:app/changelabel', function (c) {
- c.api('GET', '/apps/'+c.params['app']+'?full', {}, function(app_data) {
- var permissions_dict = app_data.permissions;
- var permissions = [
- permissions_dict[c.params['app'] + '.main']
- ];
- permissions[0].name = c.params['app'] + '.main';
- permissions[0].title = y18n.t('permission_main');
- permissions[0].tile_available = permissions[0].url != null && ! permissions[0].url.startsWith('re:');
-
- var i = 1;
- for (var permission in permissions_dict) {
- if (! permission.endsWith('.main')) {
- permissions[i] = permissions_dict[permission];
- permissions[i].name = permission;
- permissions[i].label = permissions[i].sublabel;
- permissions[i].title = toFriendlyName(permission);
- permissions[i].tile_available = permissions_dict[permission].url != null && ! permissions_dict[permission].url.startsWith('re:');
- }
- i++;
- }
-
- data = {
- 'id': c.params['app'],
- 'label': permissions[0].label,
- 'permissions': permissions,
- 'show_tile': function(permission_name) {
- return permissions_dict[permission_name].show_tile;
- }
- };
- c.view('app/app_changelabel', data);
- });
- });
-
- // Change app label
- app.post('#/apps/:app/changelabel', function (c) {
-
- $.each($(".permission-row", c.target), function() {
- var perm = $(this).data('permission');
- if ('show_tile_' + perm in c.params) {
- show_tile = "True";
- } else {
- show_tile = "False";
- }
- new_label = c.params["label_" + perm]
- c.api('PUT', '/users/permissions/' + perm, {show_tile: show_tile, label: new_label}, function(data) {});
- });
-
- c.redirect_to('#/apps/'+ c.params['app']);
- });
-
- // Get app change URL page
- app.get('#/apps/:app/changeurl', function (c) {
- c.api('GET', '/apps/'+c.params['app']+'?full', {}, function(app_data) {
- c.api('GET', '/domains', {}, function(domain_data) {
-
- // Display a list of available domains
- var domains = [];
- $.each(domain_data.domains, function(k, domain) {
- domains.push({
- value: domain,
- label: domain,
- // Select current domain
- selected: (domain == app_data.settings.domain ? true : false)
- });
- });
-
- data = {
- id: c.params['app'],
- label: app_data.manifest.name,
- domains: domains,
- // Pre-fill with current path
- path: app_data.settings.path
- };
- c.view('app/app_changeurl', data);
- });
- });
- });
-
- // Change app URL
- app.post('#/apps/:app/changeurl', function (c) {
- c.confirm(
- y18n.t('applications'),
- y18n.t('confirm_app_change_url', [c.params['app']]),
- function() {
- params = {'domain': c.params['domain'], 'path': c.params['path']};
- c.api('PUT', '/apps/' + c.params['app'] + '/changeurl', params, function(data) {
- c.redirect_to('#/apps/'+ c.params['app']);
- });
- }
- );
- });
-})();
diff --git a/src/js/yunohost/controllers/backup.js b/src/js/yunohost/controllers/backup.js
deleted file mode 100644
index 0d2eab44..00000000
--- a/src/js/yunohost/controllers/backup.js
+++ /dev/null
@@ -1,224 +0,0 @@
-(function() {
- // Get application context
- var app = Sammy.apps['#main'];
- var store = app.store;
-
- /**
- * Backup
- *
- */
-
- var config_hooks = [
- 'system_ldap',
- 'system_ssowat',
- 'system_cron',
- 'system_ssh',
- 'system_xmpp',
- 'system_mysql',
- 'system_yunohost',
- 'system_nginx'
- ];
-
- // Storage list
- app.get('#/backup', function (c) {
- var storages = [];
- var item = {
- id: 'local',
- name: y18n.t('local_archives'),
- uri: '/home/yunohost.backup/'
- };
- storages.push(item);
-
- c.view('backup/backup', {'storages':storages});
- });
-
- // Archive list
- app.get('#/backup/:storage', function (c) {
- c.api('GET', '/backup/archives?with_info', {}, function(data) {
- data.storage = {
- id: 'local',
- name: y18n.t('local_archives')
- };
- data.archives2 = [];
- $.each(data['archives'], function(name, info) {
- info.name = name;
- data.archives2.unshift(info)
- });
- data.archives = data.archives2;
- data.locale = y18n.locale
- c.view('backup/backup_list', data);
- });
- });
-
- // View to create a backup
- app.get('#/backup/:storage/create', function (c) {
- var data = [];
- data['storage'] = {
- id:c.params['storage'],
- name:y18n.t('local_archives')
- };
- c.api('GET', '/hooks/backup', {}, function(hooks) {
- data['hooks'] = groupHooks(hooks['hooks']);
- data['apps'] = {};
- c.api('GET', '/apps?with_backup', {}, function(apps_list) {
- data['apps'] = apps_list.apps;
- c.view('backup/backup_create', data, function() {
-
- // Configure buttons "select all" and "select none"
-
- // Remove active style from buttons
- $(".select_all-none input").click(function(){ $(this).toggleClass("active"); });
- // Select all checkbox in this panel
- $(".select_all").click(function(){
- $(this).parents(".panel").children(".list-group").find("input").prop("checked", true);
- });
- // Deselect all checkbox in this panel
- $(".select_none").click(function(){
- $(this).parents(".panel").children(".list-group").find("input").prop("checked", false);
- });
- });
- });
- });
- });
-
- // Actually creating the backup
- app.post('#/backup/:storage', function (c) {
- var params = ungroupHooks(c.params['system_parts'],c.params['apps']);
- c.api('POST', '/backup', params, function() {
- c.redirect_to('#/backup/'+ c.params['storage']);
- });
- });
-
- // Get archive info
- app.get('#/backup/:storage/:archive', function (c) {
- c.api('GET', '/backup/archives/'+c.params['archive']+'?with_details', {}, function(data) {
- data.storage = {
- id: c.params['storage'],
- name: y18n.t('local_archives')
- };
- data.name = c.params['archive'];
- data.system_parts = groupHooks(Object.keys(data['system']),data['system']);
- data.items = (data['system']!={} || data['apps']!=[]);
- data.locale = y18n.locale;
- c.view('backup/backup_info', data, function() {
-
- // Select all checkbox in this panel
- $('button[data-action="select_all"]').on('click', function() {
- $(this).parents(".panel").children(".list-group").find("input").prop("checked", true);
- });
-
- // Deselect all checkbox in this panel
- $('button[data-action="select_none"]').on('click', function() {
- $(this).parents(".panel").children(".list-group").find("input").prop("checked", false);
- });
-
- $('button[data-action="download"]').on('click', function() {
- var archive = $(this).data('archive');
- window.open('https://' + store.get('url') + '/backup/download/'+archive, '_blank');
- });
-
- // Delete button
- $('button[data-action="delete"]').on('click', function() {
- var storage = $(this).data('storage');
- var archive = $(this).data('archive');
- c.confirm(
- y18n.t('backup'),
- y18n.t('confirm_delete', [archive]),
- function(){
- c.api('DELETE', '/backup/archives/'+archive, {}, function(data) {
- c.redirect_to('#/backup/'+ storage);
- });
- }
- );
- });
- });
- });
- });
-
- // Restore a backup
- app.post('#/backup/:storage/:archive/restore', function (c) {
- c.confirm(
- y18n.t('backup'),
- y18n.t('confirm_restore', [c.params['archive']]),
- $.proxy(function(c){
- var params = ungroupHooks(c.params['system_parts'],c.params['apps']);
- params['force'] = '';
- c.api('POST', '/backup/restore/'+c.params['archive'], params, function(data) {
- c.redirect_to('#/backup/'+ c.params['storage']+'/'+c.params['archive']);
- });
- }, this, c)
- );
- });
-
- function groupHooks(hooks, raw_infos) {
- var data = {};
- var rules = [
- {
- id:'configuration',
- isIn:function (hook) {
- return hook.indexOf('conf_')==0
- }
- }
- ];
-
- $.each(hooks, function(i, hook) {
- var group_id=hook;
- var hook_size=(raw_infos && raw_infos[hook] && raw_infos[hook].size)?raw_infos[hook].size:0;
- $.each(rules, function(i, rule) {
- if (rule.isIn(hook)) {
- group_id = 'adminjs_group_'+rule.id;
- return false;
- }
- });
-
- if(group_id in data) {
- data[group_id] = {
- name:y18n.t('hook_'+group_id),
- value:data[group_id].value+','+hook,
- description:data[group_id].description+', '+y18n.t('hook_'+hook),
- size:data[group_id].size + hook_size
- };
- }
- else {
- data[group_id] = {
- name:y18n.t('hook_'+group_id),
- value:hook,
- description:(group_id==hook)?y18n.t('hook_'+hook+'_desc'):y18n.t('hook_'+hook),
- size:hook_size
- };
- }
- });
- return data;
- };
-
- function ungroupHooks(system_parts, apps) {
-
- var data = {};
- data['apps'] = apps || [];
- data['system'] = system_parts || [];
-
- if (data['system'].constructor !== Array) {
- data['system'] = [data['system']];
- }
- if (data['apps'].constructor !== Array) {
- data['apps'] = [data['apps']];
- }
-
- // Some hook value contains multiple hooks separated by commas
- var split_hooks = [];
- $.each(data['system'], function(i, hook) {
- split_hooks = split_hooks.concat(hook.split(','));
- });
- data['system'] = split_hooks;
-
- if (data['system'].length == 0) {
- delete data['system'];
- }
- if (data['apps'].length == 0) {
- delete data['apps'];
- }
- return data;
- };
-
-
-})();
diff --git a/src/js/yunohost/controllers/diagnosis.js b/src/js/yunohost/controllers/diagnosis.js
deleted file mode 100644
index 2a09bcef..00000000
--- a/src/js/yunohost/controllers/diagnosis.js
+++ /dev/null
@@ -1,152 +0,0 @@
-(function() {
- // Get application context
- var app = Sammy.apps['#main'];
- var store = app.store;
-
- // *********
- // Diagnosis
- // *********
-
- app.get('#/diagnosis', function (c) {
- c.api('POST', '/diagnosis/run?except_if_never_ran_yet', {}, function() {
- updateDiagnosisView();
- });
- });
-
- function updateDiagnosisView(state) {
-
- c.api('GET', '/diagnosis/show?full', {}, function(data) {
-
- if (typeof(data.reports) === "undefined")
- {
- data.reports = [];
- }
-
- // Prepare data to be displayed ...
- for (var i = 0 ; i < data.reports.length ; i++)
- {
- // Convert timestamp to datetime
- data.reports[i].time = new Date(data.reports[i].timestamp*1000);
- data.reports[i].warnings = 0;
- data.reports[i].errors = 0;
- data.reports[i].ignored = 0;
- for (var j = 0 ; j < data.reports[i].items.length ; j++)
- {
- var type_ = data.reports[i].items[j].status;
- type_ = type_.toLowerCase();
- var ignored = data.reports[i].items[j].ignored;
- var icon = "";
- var issue = false;
-
- if (type_ == "success") {
- icon = "check-circle";
- }
- else if (type_ == "info") {
- icon = "info-circle";
- }
- else if (ignored == true) {
- icon = type_;
- if (type_ == "error") {
- icon = "times"
- }
- type_ = "ignored";
- data.reports[i].ignored++;
- }
- else if (type_ == "warning") {
- icon = "warning";
- issue = true;
- data.reports[i].warnings++;
- }
- else if (type_ == "error") {
- type_ = "danger";
- icon = "times";
- issue = true;
- data.reports[i].errors++;
- }
- data.reports[i].items[j].status = type_;
- data.reports[i].items[j].icon = icon;
- data.reports[i].items[j].issue = issue;
- // We want filter_args to be something like "dnsrecords,domain=yolo.test,category=xmpp"
- data.reports[i].items[j].filter_args = data.reports[i].id;
- for (prop in data.reports[i].items[j].meta) {
- data.reports[i].items[j].filter_args = data.reports[i].items[j].filter_args + ","+prop+"="+data.reports[i].items[j].meta[prop];
- }
- };
- data.reports[i].noIssues = data.reports[i].warnings + data.reports[i].errors ? false : true;
- };
-
- // Render and display the view
- c.view('diagnosis/diagnosis_show', data, function() {
-
- restoreDiagnosisViewState(state);
-
- // Button for first diagnosis
- $("button[data-action='run-full-diagnosis']").click(function() {
- c.api('POST', '/diagnosis/run', {}, function(data) {
- updateDiagnosisView();
- });
- });
-
- // Configure share with yunopaste button
- $("button[data-action='share']").click(function() {
- c.api('GET', '/diagnosis/show?share', {}, function(data) {
- c.hideLoader();
- window.open(data.url, '_blank');
- });
- });
-
- // Configure 'rerun diagnosis' button behavior
- $("button[data-action='rerun-diagnosis']").click(function() {
- var category = $(this).data("category");
- c.api('POST', '/diagnosis/run?force', {"categories": [category]}, function(data) {
- updateDiagnosisView(saveDiagnosisViewState());
- });
- });
-
- // Configure 'ignore' / 'unignore' buttons behavior
- $("button[data-action='ignore']").click(function() {
- var filter_args = $(this).data("filter-args");
- c.api('POST', '/diagnosis/ignore', {'add_filter': filter_args.split(',') }, function(data) {
- updateDiagnosisView(saveDiagnosisViewState());
- })
- });
-
- $("button[data-action='unignore']").click(function() {
- var filter_args = $(this).data("filter-args");
- c.api('POST', '/diagnosis/ignore', {'remove_filter': filter_args.split(',') }, function(data) {
- updateDiagnosisView(saveDiagnosisViewState());
- })
- });
- });
- });
- }
-
- // Save current level of scroll + which panels are collapsed / not collapsed
- function saveDiagnosisViewState() {
- var collapse = {};
- $(".panel-diagnosis").each(function(i, el) {
- collapse[$(el).data("category")] = $($(".panel-body", el)[0]).hasClass("in");
- });
- return { "scroll": document.documentElement.scrollTop, "collapse": collapse };
- }
-
- // Restore scroll + panel collapse state
- function restoreDiagnosisViewState(state) {
- if (typeof state === "undefined") { return; }
-
- Object.keys(state.collapse).forEach(function(category) {
- if (state.collapse[category]) {
- $(".panel-diagnosis[data-category='"+category+"'] .panel-body").addClass("in");
- }
- else
- {
- $(".panel-diagnosis[data-category='"+category+"'] .panel-body").removeClass("in");
- }
- });
-
- window.scroll(0,state.scroll);
- }
-
-
-
-})();
diff --git a/src/js/yunohost/controllers/domains.js b/src/js/yunohost/controllers/domains.js
deleted file mode 100644
index 709c8abb..00000000
--- a/src/js/yunohost/controllers/domains.js
+++ /dev/null
@@ -1,253 +0,0 @@
-(function() {
- // Get application context
- var app = Sammy.apps['#main'];
- var store = app.store;
-
- /**
- * Domains
- *
- */
-
- // List existing domains
- app.get('#/domains', function (c) {
- c.api('GET', '/domains', {}, function(data) {
- c.api('PUT', '/domains/main', {}, function(data2) {
- var domains = [];
- $.each(data.domains, function(k, domain) {
- domains.push({
- url: domain,
- main: (domain == data2.current_main_domain) ? true : false
- });
- });
-
- // Do not show main domain form if we have only 1 domain
- var main_domain_form = (domains.length > 1) ? true: false;
-
- // Sort domains with main domain first
- domains.sort(function(a, b){ return -2*(a.main) + 1; });
- c.view('domain/domain_list', {
- domains: domains,
- main_domain_form: main_domain_form
- });
- });
- });
- });
-
- // Add domain form
- app.get('#/domains/add', function (c) {
- $.get('https://dyndns.yunohost.org/domains', function() {})
- .done(function(data){
- c.params.ddomains = data.map(function(dom){return '.'+dom;});
- })
- .fail(function() {
- c.params.ddomains = ['.nohost.me', '.noho.st', '.ynh.fr'];
- })
- .always(function() {
- var data = {
- ddomains: c.params.ddomains,
- domains: c.params.domains,
- allowDyndnsDomain: true
- };
-
- // Allow only 1 DynDns domain.
- var regex = data.ddomains.join('|');
- $.each(data.domains, function(k, domain) {
- if ( domain.search(regex) > 0 ) {
- data.allowDyndnsDomain = false;
- }
- });
-
- c.view('domain/domain_add', data);
- });
- });
-
- // Add domain (POST)
- app.post('#/domains/add', function (c) {
- var params = {};
- var endurl = '';
- if (c.params['domain'] === '') {
- if (c.params['ddomain'] === '') {
- c.flash('fail', y18n.t('error_select_domain'));
- c.redirect_to('#/domains/add');
- }
- params.domain = c.params['ddomain'] + c.params['ddomain-ext'];
- endurl = 'dyndns';
- } else {
- params.domain = c.params['domain'];
- }
-
- c.api('POST', '/domains?'+endurl, params, function(data) {
- c.redirect_to('#/domains');
- });
- });
-
- // Get existing domain info
- app.get('#/domains/:domain', function (c) {
- c.api('PUT', '/domains/main', {}, function(dataMain) {
- var domain = {
- name: c.params['domain'],
- main: (c.params['domain'] == dataMain.current_main_domain) ? true : false,
- url: "https://"+c.params['domain']
- };
- c.view('domain/domain_info', domain, function() {
-
- // Configure "set default" button
- $('button[data-action="set_default"]').on("click", function() {
- var domain = $(this).data("domain");
- c.confirm(
- y18n.t('domains'),
- y18n.t('confirm_change_maindomain'),
- function() {
- c.api('PUT', '/domains/main', {new_main_domain: domain}, function() { c.refresh() });
- }
- )
- });
-
- // Configure delete button
- $('button[data-action="delete"]').on("click", function() {
- var domain = $(this).data("domain");
- c.confirm(
- y18n.t('domains'),
- y18n.t('confirm_delete', [domain]),
- function(){
- c.api('DELETE', '/domains/'+ domain, {}, function() {
- c.redirect_to('#/domains');
- });
- }
- );
- });
- });
- });
- });
-
- // Domain DNS
- app.get('#/domains/:domain/dns', function (c) {
- c.api('GET', '/domains/' + c.params['domain'] + '/dns', {}, function(data) {
- var domain = {
- name: c.params['domain'],
- dns: data
- };
- c.view('domain/domain_dns', domain);
- });
- });
-
- // Domain certificate
- app.get('#/domains/:domain/cert-management', function (c) {
- c.api('GET', '/domains/cert-status/' + c.params['domain'] + '?full', {}, function(data) {
-
- var s = data["certificates"][c.params['domain']];
- var status_ = {
- CA_type: s.CA_type.verbose,
- CA_name: s.CA_name,
- validity: s.validity,
- ACME_eligible: s.ACME_eligible
- };
-
- switch (s.summary.code) {
- case "critical" :
- status_.alert_type = "danger";
- status_.alert_icon = "exclamation-circle" ;
- status_.alert_message = y18n.t('certificate_alert_not_valid');
- break;
- case "warning" :
- status_.alert_type = "warning";
- status_.alert_icon = "exclamation-triangle";
- status_.alert_message = y18n.t('certificate_alert_selfsigned');
- break;
- case "attention" :
- if (status_.CA_type == "lets-encrypt") {
- status_.alert_type = "warning";
- status_.alert_icon = "clock-o";
- status_.alert_message = y18n.t('certificate_alert_letsencrypt_about_to_expire');
- }
- else {
- status_.alert_type = "danger";
- status_.alert_icon = "clock-o";
- status_.alert_message = y18n.t('certificate_alert_about_to_expire');
- }
- break;
- case "good" :
- status_.alert_type = "success";
- status_.alert_icon = "check-circle";
- status_.alert_message = y18n.t('certificate_alert_good');
- break;
- case "great" :
- status_.alert_type = "success";
- status_.alert_icon = "thumbs-up";
- status_.alert_message = y18n.t('certificate_alert_great');
- break;
- default :
- status_.alert_type = "warning"
- status_.alert_icon = "question"
- status_.alert_message = y18n.t('certificate_alert_unknown');
- break;
- }
-
- var actions_enabled = {
- install_letsencrypt: false,
- manual_renew_letsencrpt: false,
- regen_selfsigned: false,
- replace_with_selfsigned: false
- };
-
- switch (s.CA_type.code) {
- case "self-signed" :
- actions_enabled.install_letsencrypt = true;
- actions_enabled.regen_selfsigned = true;
- break;
- case "lets-encrypt" :
- actions_enabled.manual_renew_letsencrpt = true;
- actions_enabled.replace_with_selfsigned = true;
- break;
- default :
- actions_enabled.replace_with_selfsigned = true;
- break;
- }
-
- data_ = {
- name: c.params['domain'],
- status: status_,
- actions_enabled : actions_enabled
- };
-
- c.view('domain/domain_cert', data_, function() {
- // Configure install / renew buttons behavior
- $("button[data-action]").on("click", function () {
- var action = $(this).data("action"),
- domain = $(this).data("domain"),
- confirm_key = "",
- api_url = "";
-
- switch (action) {
- case 'install-LE':
- confirm_key = 'confirm_cert_install_LE';
- api_url = '/domains/cert-install/' + domain;
- break;
- case 'regen-selfsigned':
- confirm_key = 'confirm_cert_regen_selfsigned';
- api_url = '/domains/cert-install/' + domain + "?self_signed";
- break;
- case 'renew-letsencrypt':
- confirm_key = 'confirm_cert_manual_renew_LE';
- api_url = '/domains/cert-renew/' + domain + "?force";
- break;
- case 'replace-with-selfsigned':
- confirm_key = 'confirm_cert_revert_to_selfsigned';
- api_url = '/domains/cert-install/' + domain + "?self_signed&force";
- break;
- default:
- c.flash('fail', y18n.t('unknown_action', [action]));
- return
- }
-
- c.confirm(
- y18n.t('certificate'),
- y18n.t(confirm_key, [domain]),
- function(){ c.api('POST', api_url, {}, function() { c.refresh() }); }
- );
- });
- });
- });
- });
-
-})();
diff --git a/src/js/yunohost/controllers/firewall.js b/src/js/yunohost/controllers/firewall.js
deleted file mode 100644
index 013d2511..00000000
--- a/src/js/yunohost/controllers/firewall.js
+++ /dev/null
@@ -1,144 +0,0 @@
-(function() {
- // Get application context
- var app = Sammy.apps['#main'];
- var store = app.store;
-
- /**
- * Firewall
- *
- */
-
- // Firewall status
- app.get('#/tools/firewall', function (c) {
- c.api('GET', '/firewall?raw', {}, function(data) {
- var firewall = {
- ports: {},
- upnp: false
- };
-
- // Reorganize ports
- $.each(['ipv4', 'ipv6', 'uPnP'], function(i, protocol) {
- $.each(['TCP', 'UDP'], function(j, connection) {
- firewall.ports[connection] = firewall.ports[connection] || {};
- $.each(data[protocol][connection], function(k, port) {
- firewall.ports[connection][port] = firewall.ports[connection][port] || {};
- firewall.ports[connection][port][protocol] = true;
- });
- });
- });
-
- // Get UPnP status
- firewall.upnp = data.uPnP.enabled;
-
- c.view('tools/tools_firewall', firewall, function() {
-
- // Buttons in the 'ports' panel to open/close specific ports
- $("button[data-port]").on("click", function() {
-
- var port = $(this).data("port");
- var action = $(this).data("action");
- var protocol = $(this).data("protocol");
- var connection = $(this).data("connection");
- c.confirm(
- y18n.t('firewall'),
- // confirm_firewall_open and confirm_firewall_close
- y18n.t('confirm_firewall_' + action, [ port, y18n.t(protocol), y18n.t(connection)]),
- function(){ c.togglePort(port, protocol, connection, action); }
- );
- });
-
- // Buttons to enable / disable UPnP
- $("button[data-upnp]").on("click", function() {
- var action = $(this).data("upnp");
- c.confirm(
- y18n.t('firewall'),
- // confirm_upnp_enable and confirm_upnp_disable
- y18n.t('confirm_upnp_' + action),
- function(){ c.api('GET', '/firewall/upnp', {action: action}, function() { c.refresh() }); }
- );
- });
- });
- });
- });
-
- // Update port status from form
- app.post('#/tools/firewall/port', function (c) {
- c.confirm(
- y18n.t('firewall'),
- y18n.t('confirm_firewall_' + c.params['action'].toLowerCase(), [ c.params['port'], y18n.t(c.params['protocol']), y18n.t(c.params['connection']) ]),
- function(){
- c.togglePort(
- c.params['port'],
- c.params['protocol'],
- c.params['connection'],
- c.params['action']
- );
- }
- );
- });
-
- // Toggle port status helper (available in every controller)
- app.helper('togglePort', function(port, protocol, connection, action) {
- var method = null,
- endurl = [],
- c = this
- ;
-
- if (port != parseInt(port) || port < 0 || port > 65535) {
- c.flash('fail', y18n.t('unknown_argument', [port]));
- c.refresh();
- }
-
- switch (connection) {
- case 'ipv4':
- endurl = 'ipv4_only';
- break;
- case 'ipv6':
- endurl = 'ipv6_only';
- break;
- }
-
- switch (protocol) {
- case 'udp':
- protocol = 'UDP';
- break;
- case 'both':
- protocol = 'Both';
- break;
- default:
- protocol = 'TCP';
- }
-
- switch (action) {
- case "open":
- method = 'POST';
- break;
- case "close":
- method = 'DELETE';
- break;
- default:
- c.flash('fail', y18n.t('unknown_action', [action]));
- c.refresh();
- }
-
- // port:
- // protocol:
- // - UDP
- // - TCP
- // - Both
- // --ipv4-only:
- // --ipv6-only:
- // --no-upnp:
- var params = {
- port : port,
- protocol : protocol
- };
-
- c.api(method, '/firewall/port?'+endurl, params, function() { c.refresh() });
-
-
- return;
- });
-
-
-})();
diff --git a/src/js/yunohost/controllers/home.js b/src/js/yunohost/controllers/home.js
deleted file mode 100644
index 9038ed76..00000000
--- a/src/js/yunohost/controllers/home.js
+++ /dev/null
@@ -1,99 +0,0 @@
-(function() {
- // Get application context
- var app = Sammy.apps['#main'];
- var store = app.store;
-
- /**
- * Home
- *
- */
-
- // Home page
- app.get('#/', function (c) {
- c.view("home");
- // N.B : if you need to run stuff at login time,
- // see js/events.js instead
- });
-
- /**
- * Login
- *
- */
-
- app.get('#/login', function (c) {
- $('#masthead').show()
- .find('.logout-btn').hide();
- store.set('path-1', '#/login');
-
- c.showLoader();
-
- // We gonna retry 3 times to check if yunohost is installed
- if (app.isInstalledTry === undefined) {
- app.isInstalledTry = 3;
- }
-
- c.checkInstall(function(isInstalled) {
-
- if (isInstalled) {
- c.view('login', { 'domain': window.location.hostname });
- return;
- }
-
- if (typeof isInstalled !== 'undefined') {
- c.redirect('#/postinstall');
- return;
- }
-
- // If the retry counter is still up, retry this function 5 sec
- // later
- if (app.isInstalledTry > 0) {
- app.isInstalledTry--;
- setTimeout(function() {
- c.redirect('#/');
- }, 5000);
- }
- else {
- c.flash('fail', y18n.t('api_not_responding'));
- }
- });
- });
-
-
- /**
- * Logout
- *
- */
-
- app.post('#/login', function (c) {
- // Store url from params, it could have change form 'run' state
- store.set('url', c.params['domain'] +'/yunohost/api');
-
- var params = {
- password: c.params['password']
- };
- c.api('POST', '/login', params, function(data) {
- store.set('connected', true);
- c.trigger('login');
- $('#masthead .logout-btn').fadeIn();
- c.flash('success', y18n.t('logged_in'));
- if (store.get('path')) {
- c.redirect(store.get('path'));
- } else {
- c.redirect('#/');
- }
- }, undefined, false);
-
- });
-
- app.get('#/logout', function (c) {
- c.api('GET', '/logout', {}, function (data) {
- store.clear('url');
- store.clear('connected');
- store.set('path', '#/');
- c.trigger('logout');
- c.flash('success', y18n.t('logged_out'));
- c.redirect('#/login');
- }, undefined, false);
- });
-
-})();
diff --git a/src/js/yunohost/controllers/postinstall.js b/src/js/yunohost/controllers/postinstall.js
deleted file mode 100644
index d8fc96a7..00000000
--- a/src/js/yunohost/controllers/postinstall.js
+++ /dev/null
@@ -1,109 +0,0 @@
-(function() {
- // Get application context
- var app = Sammy.apps['#main'];
- var store = app.store;
-
- /**
- * Post installation
- *
- */
-
- // Step 1 : introduction
- app.get('#/postinstall', function(c) {
- $('#masthead').hide();
- c.checkInstall(function(isInstalled) {
- if (isInstalled || typeof isInstalled === 'undefined') {
- c.redirect_to('#/login');
- } else {
- c.view('postinstall/postinstall_1');
- }
- });
- });
-
- // Step 2 : domain
- app.get('#/postinstall/domain', function(c) {
- $('#masthead').hide();
- $.get('https://dyndns.yunohost.org/domains', function() {})
- .done(function(data){
- c.params['ddomains'] = data.map(function(dom){return '.'+dom;});
- })
- .fail(function() {
- c.params['ddomains'] = ['.nohost.me', '.noho.st', '.ynh.fr'];
- })
- .always(function() {
- c.view('postinstall/postinstall_2', c.params, function() {
- $('#domain, #ddomain').keyup(function(event){
- if(event.keyCode == 13){
- $('a.savedomain').click();
- }
- });
- $('a.savedomain').on('click', function(e) {
- if ($('#domain').val() === '') {
- if ($('#ddomain').val() === '') {
- e.preventDefault();
- c.flash('fail', y18n.t('error_select_domain'));
- } else {
- domain = $('#ddomain').val() + $('select[name="ddomain-ext"]').val();
- }
- } else {
- domain = $('#domain').val();
- }
- store.set('maindomain', domain);
- });
- });
- });
- });
-
- // Step 3 : administration passowrd
- app.get('#/postinstall/password', function(c) {
- $('#masthead').hide();
- if (!store.get('maindomain')) {
- c.redirect_to('#/postinstall/domain');
- } else {
- c.view('postinstall/postinstall_3', { 'domain': store.get('maindomain').toLowerCase() });
- }
- });
-
- // Execute post-installation
- app.post('#/postinstall', function (c) {
-
- var password = c.params['password'];
- var confirmation = c.params['confirmation'];
- var domain = c.params['domain'].toLowerCase();
-
- // Check password ain't empty
- if (password === '' || confirmation === '') {
- c.flash('fail', y18n.t('password_empty'));
- return;
- }
-
- // Check password matches confirmation
- if (password !== confirmation) {
- c.flash('fail', y18n.t('passwords_dont_match'));
- return;
- }
-
- // Check domain ain't empty...
- if (domain === '') {
- c.flash('fail', y18n.t('error_select_domain'));
- c.redirect_to('#/postinstall/domain', {slide: false});
- return;
- }
-
- // Ask confirmation to the user
- c.confirm(
- y18n.t('postinstall'),
- y18n.t('confirm_postinstall', [c.params['domain']]),
- // Start the actual postinstall process
- function(){
- store.set('url', window.location.hostname +'/yunohost/api');
- store.set('user', 'admin');
- c.api('POST', '/postinstall', {domain: domain, password: password}, function() {
- c.flash('success', y18n.t('installation_complete'));
- c.redirect_to('#/login');
- });
- }
- );
- });
-
-})();
diff --git a/src/js/yunohost/controllers/services.js b/src/js/yunohost/controllers/services.js
deleted file mode 100644
index 603fae0d..00000000
--- a/src/js/yunohost/controllers/services.js
+++ /dev/null
@@ -1,141 +0,0 @@
-(function() {
- // Get application context
- var app = Sammy.apps['#main'];
- var store = app.store;
-
- /**
- * Services
- *
- */
-
- // All services status
- app.get('#/services', function (c) {
- c.api('GET', '/services', {}, function(data) {
- var data2 = {
- services: []
- };
- $.each(data, function(k, v) {
- v.name = k;
- if (v.last_state_change == 'unknown')
- {
- v.last_state_change = 0;
- }
- data2.services.push(v);
- });
-
- data2.services.sort(function (a, b) {
- if (a.name > b.name) {
- return 1;
- }
- else if (a.name < b.name) {
- return -1;
- }
- return 0;
- });
-
- c.view('service/service_list', data2);
- });
- });
-
- // Status & actions for a service
- app.get('#/services/:service', function (c) {
- c.api('GET', '/services/'+ c.params['service'], {}, function(data) {
- c.api('GET', '/services/'+ c.params['service'] +'/log', {number: 50}, function(data_log) {
-
- data.name = c.params['service'];
- if (data.last_state_change == 'unknown')
- {
- data.last_state_change = 0;
- }
-
- data.logs = [];
- $.each(data_log, function(k, v) {
- data.logs.push({filename: k, filecontent: v.join('\n')});
- });
-
- // Sort logs by filename, put the journalctl/systemd log on top
- data.logs.sort(function(a,b) { return a.filename === "journalctl" ? -1 : b.filename === "journalctl" ? 1 : a.filename < b.filename ? -1 : a.filename > b.filename ? 1 : 0; });
-
- c.view('service/service_info', data, function() {
-
- // Don't allow user to stop critical services from the webadmin
- $('button[data-action="stop"]').each(function() {
-
- var critical = ['nginx', 'ssh', 'slapd', 'yunohost-api'];
- var service = $(this).data('service');
-
- if (critical.indexOf(service) >= 0)
- {
- $(this).hide();
- }
- });
-
- // Configure behavior for enable/disable and start/stop buttons
- $('button[data-action="start"], button[data-action="restart"], button[data-action="stop"]').on('click', function() {
-
- var service = $(this).data('service');
- var action = $(this).data('action');
-
- c.confirm(y18n.t("services"), y18n.t('confirm_service_' + action, [service]), function(){
-
- if (action == "start")
- {
- var method = "PUT";
- var url = "/services/" + service;
- }
- else if (action == "restart")
- {
- var method = "PUT";
- var url = "/services/" + service + "/restart";
- }
- else
- {
- var method = "DELETE";
- var url = "/services/" + service;
- }
- c.api(method, url, {}, function() { c.refresh(); });
- });
- });
-
- // Configure behavior for enable/disable and start/stop buttons
- $('button[data-action="share"]').on('click', function() {
-
- c.showLoader();
-
- // Send to paste.yunohost.org
- $.ajax({
- type: "POST",
- url: 'https://paste.yunohost.org/documents',
- data: $("#logs").text(),
- })
- .done(function(data, textStatus, jqXHR) {
- window.open('https://paste.yunohost.org/' + data.key, '_blank');
- })
- .fail(function() {
- c.flash('fail', y18n.t('paste_error'));
- })
- .always(function(){
- c.hideLoader();
- });
- });
- });
- });
- });
- });
-
- // Service log
- app.get('#/services/:service/log', function (c) {
- var params = {
- number: 50
- };
- c.api('GET', '/services/'+ c.params['service'] +'/log', params, function(data) { // ?
- data2 = { 'logs': [], 'name': c.params['service'] };
- $.each(data, function(k, v) {
- data2.logs.push({filename: k, filecontent: v.join('\n')});
- });
-
- c.view('service/service_log', data2);
- });
- });
-
-})();
diff --git a/src/js/yunohost/controllers/tools.js b/src/js/yunohost/controllers/tools.js
deleted file mode 100644
index ffbfeba5..00000000
--- a/src/js/yunohost/controllers/tools.js
+++ /dev/null
@@ -1,243 +0,0 @@
-(function() {
- // Get application context
- var app = Sammy.apps['#main'];
- var store = app.store;
-
- /**
- * Tools
- *
- */
-
- // Tools list
- app.get('#/tools', function (c) {
- c.view('tools/tools_list');
- });
-
- // Update administration password
- app.get('#/tools/adminpw', function (c) {
- c.view('tools/tools_adminpw');
- });
-
- // Update administration password (PUT)
- app.put('#/tools/adminpw', function (c) {
- var params = {};
- $.each(c.params.toHash(), function(key, value) {
- if (value !== '') { params[key] = value; }
- });
- if ($.isEmptyObject(params)) {
- c.flash('fail', y18n.t('error_modify_something'));
- c.refresh();
- return;
- }
- if (params['new_password'] !== params['confirm_new_password']) {
- c.flash('fail', y18n.t('passwords_dont_match'));
- c.refresh();
- return;
- }
-
- c.api('POST', '/login', { 'password': params['old_password'] }, function(data) {
- // Remove useless variable
- delete params['old_password'];
- delete params['confirm_new_password'];
-
- // Update password and redirect to the home
- c.api('PUT', '/adminpw', params, function(data) {
- c.redirect_to('#/logout');
- });
- }, undefined, false);
- });
-
- // System update & upgrade
- app.get('#/update', function (c) {
- c.api('PUT', '/update', {}, function(data) {
- c.api('GET', '/migrations?pending', {}, function(pending_migrations) {
- data.pending_migrations = pending_migrations.migrations;
- c.view('tools/tools_update', data, function() {
- // Configure buttons behaviors
- $("button[data-upgrade]").on("click", function() {
-
- var what = $(this).data("upgrade").toLowerCase();
-
- // Upgrade all apps or the system
-
- if ((what == "system") || (what == "apps"))
- {
- var confirm_message = y18n.t('confirm_update_' + what);
- var api_url = '/upgrade?'+what;
- }
-
- // Upgrade a specific apps
-
- else
- {
- var confirm_message = y18n.t('confirm_update_specific_app', [what]);
- var api_url = '/upgrade/apps?app='+what;
- }
-
- c.confirm(
- y18n.t('tools'),
- confirm_message,
- function(){
- c.api('PUT', api_url, {}, function(data) {
- c.redirect_to('#/tools/logs');
- });
- }
- );
- });
- });
- });
- });
- });
-
- // Display journals list
- app.get('#/tools/logs', function (c) {
- c.api('GET', "/logs?limit=40&with_details", {}, function(operations) {
- operations = operations["operation"];
- success_icons = {
- true: 'check text-success',
- false: 'close text-danger',
- '?': 'question text-warning'
- }
- for (var log in operations)
- {
- operations[log].success_icon = success_icons[operations[log].success]
- }
-
- c.view('tools/tools_logs', {
- "operations": operations,
- "locale": y18n.locale
- });
- });
- });
-
- // One journal
- app.get(/\#\/tools\/logs\/(.*)(\?number=(\d+))?/, function (c) {
- var params = "?path=" + c.params["splat"][0];
- var number = (c.params["number"])?c.params["number"]:25;
- params += "&filter_irrelevant&with_suboperations&number=" + number;
-
- c.api('GET', "/logs/display" + params, {}, function(log) {
- c.view('tools/tools_log', {
- "log": log,
- "next_number": log.logs.length == number ? number * 10:false,
- "locale": y18n.locale
- }, function() {
- log = $("#main #log").html();
- log = log.replace(/.*: ERROR - .*/g, function (match) { return ''+match+''});
- log = log.replace(/.*: WARNING - .*/g, function (match) { return ''+match+''});
- log = log.replace(/.*: SUCCESS - .*/g, function (match) { return ''+match+''});
- log = log.replace(/.*: INFO - .*/g, function (match) { return ''+match+''});
- $("#main #log").html(log);
-
- // Configure behavior for the button to share log on Yunohost (it calls display --share)
- $('button[data-action="share"]').on("click", function() {
- c.api('GET', '/logs/display?path='+$(this).data('log-id')+'&share', {},
- function(data) {
- c.hideLoader();
- window.open(data.url, '_blank');
- });
- });
- });
- });
- });
-
- // Reboot or shutdown button
- app.get('#/tools/reboot', function (c) {
- c.view('tools/tools_reboot', {}, function() {
- // Configure reboot/shutdown buttons behavior
- $("button[data-action]").on("click", function() {
- var action = $(this).data("action");
-
- c.confirm(
- y18n.t('tools_' + action),
- y18n.t('confirm_reboot_action_' + action),
- function(){
- c.api('PUT', '/'+action+'?force', {}, function(data) {
- // This code is not executed due to 502 response (reboot or shutdown)
- c.redirect_to('#/logout');
- }, function (xhr) {
- c.flash('success', y18n.t('tools_' + action + '_done'))
- // Disconnect from the webadmin
- store.clear('url');
- store.clear('connected');
- store.set('path', '#/');
-
- // Rename the page to allow refresh without ask for rebooting
- window.location.href = window.location.href.split('#')[0] + '#/';
- // Display reboot or shutdown info
- // We can't use template because now the webserver is off
- if (action == 'reboot') {
- $('#main').replaceWith('
' + y18n.t('tools_rebooting') + '
');
- }
- else {
- $('#main').replaceWith(' ' + y18n.t('tools_shuttingdown') + '
');
- }
-
- c.hideLoader();
-
- // Force scrollTop on page load
- $('html, body').scrollTop(0);
- }, false);
- });
- });
- });
- });
-
- // Migrations
- app.get('#/tools/migrations', function (c) {
- c.api('GET', '/migrations?pending', {}, function(pending_migrations) {
- c.api('GET', '/migrations?done', {}, function(done_migrations) {
- pending_migrations = pending_migrations.migrations;
- done_migrations = done_migrations.migrations;
-
- // Get rid of _ in the raw name of migrations (cosmetic)
- for(var i = 0; i < pending_migrations.length; i++) {
- pending_migrations[i].name = pending_migrations[i].name.replace(/_/g, " ")
- if (pending_migrations[i].disclaimer)
- {
- pending_migrations[i].disclaimer = pending_migrations[i].disclaimer.replace(/\n/g, "
");
- }
- }
- for(var i = 0; i < done_migrations.length; i++) {
- done_migrations[i].name = done_migrations[i].name.replace(/_/g, " ")
- }
-
- c.view('tools/tools_migrations', {
- 'pending_migrations' : pending_migrations.reverse(),
- 'done_migrations' : done_migrations.reverse()
- }, function() {
-
- // Configure button 'Run'
- $('button[data-action="run"]').on("click", function() {
-
- var disclaimerAcks = $(".disclaimer-ack");
- for (var i = 0 ; i < disclaimerAcks.length ; i++)
- {
- if (! $(disclaimerAcks[i]).find("input:checked").val())
- {
- // FIXME / TODO i18n
- c.flash('fail', "Some of these migrations require you to acknowledge a disclaimer before running them.");
- c.refresh();
- return;
- }
- };
-
- c.api('POST', '/migrations/migrate?accept_disclaimer', {}, function() { c.refresh(); });
- });
-
- // Configure buttons 'Skip'
- $('button[data-action="skip"]').on("click", function() {
- var migration_id = $(this).data("migration");
- c.confirm(
- y18n.t('migrations'),
- y18n.t('confirm_migrations_skip'),
- function(){
- c.api('POST', '/migrations/migrate?skip&targets=' + migration_id, {}, function() { c.refresh() });
- }
- );
- });
- });
- });
- });
- });
-})();
diff --git a/src/js/yunohost/controllers/users.js b/src/js/yunohost/controllers/users.js
deleted file mode 100644
index 58ecad4a..00000000
--- a/src/js/yunohost/controllers/users.js
+++ /dev/null
@@ -1,382 +0,0 @@
-(function() {
- // Get application context
- var app = Sammy.apps['#main'];
- var store = app.store;
-
- var PASSWORD_MIN_LENGTH = 4;
-
- /**
- * Groups and permissions
- *
- */
-
- /**
- * Update group or permissions
- *
- * @model data organize in the same way than /users/groups?full&include_primary_groups
- * @params.operation "add"|"remove"
- * @params.type "members"|"permissions"
- * @param.item Name of the user or the permission to add or remove
- * @param.group Name of the group affected
- *
- * This function is built to be apply with params generated by the use of
- * HTML dataset attributes (e.g. link in the partial inline view "label" in group_list.ms)
- *
- * @return void
- **/
- function updateGroup(model, params) {
- var type = params.type;
- var action = params.action;
- var item = params.item;
- var groupname = params.group;
- var group = data.groups[groupname];
- var to = (action == 'add')?group[type]:group[type + 'Inv'];
- var from = (action == 'add')?group[type+'Inv']:group[type];
- // Do nothing, if array of destination already contains the item
- if (from.indexOf(item) === -1) return;
-
- // Hack to disable pacman loader if any
- if ($('div.loader').length === 0) {
- $('#main').append('');
- }
- $('div.loader').css('display', 'none');
-
- // Update group
- var params = {}; var url;
- if (type == 'members') {
- url = '/users/groups/' + groupname;
- params[action] = [item];
- }
- else {
- url = '/users/permissions/' + item;
- params[action] = [groupname];
- }
- c.api('PUT', url, params, function(data_update) {
- to.push(item);
- from.splice(from.indexOf(item), 1);
- updateView(data);
- });
- }
-
- /**
- * Update the view with the new model
- *
- * @model data organize in the same way than /users/groups?full&include_primary_groups
- *
- * @return void
- **/
- function updateView(model) {
- // Sort in aphanumerical order to improve user experience
- for (var group in model.groups) {
- model.groups[group].permissions.sort();
- model.groups[group].permissionsInv.sort();
- model.groups[group].members.sort();
- model.groups[group].membersInv.sort();
- }
-
- // Manual render, we don't use c.view to avoid scrollTop and other
- // uneeded behaviour
- var rendered = c.render('views/user/group_list.ms', model);
- rendered.swap(function () {
- // Add click event to get a nice "reactive" interface
- $("button[data-action='add'], button[data-action='remove']").on('click', function (e) {
- updateGroup(model, $(this)[0].dataset);
- return false;
- });
- $('button[data-action="add-user-specific-permission"]').on('click', function (e) {
- data.groups[$(this).data("user")].display = true;
- updateView(data);
- return false;
- });
- $('button[data-action="delete-group"]').on('click', function (e) {
-
- var group = $(this).data("group");
-
- c.confirm(
- y18n.t('groups'),
- $(''+ y18n.t('confirm_delete', [group]) +'
'),
- function() {
- c.api('DELETE', '/users/groups/'+ group, {}, function(data) { c.refresh(); });
- }
- );
- });
- });
- }
-
-
- app.get('#/groups', function (c) {
- c.api('GET', '/users/groups?full&include_primary_groups', {}, function(data_groups) {
- c.api('GET', '/users', {}, function(data_users) {
- c.api('GET', '/users/permissions?full', {}, function(data_permissions) {
- //var perms = data_permissions.permissions;
- var specific_perms = {};
- var all_perms = data_permissions.permissions;
- var users = Object.keys(data_users.users);
-
- // Enrich groups data with primary group indicator and inversed items list
- for (var group in data_groups.groups) {
- data_groups.groups[group].primary = users.indexOf(group) !== -1;
- data_groups.groups[group].permissionsInv = Object.keys(all_perms).filter(function(item) {
- return data_groups.groups[group].permissions.indexOf(item) === -1;
- }).filter(function(item) {
- // Remove 'email', 'xmpp' and protected permission in visitors's permission choice list
- return group != "visitors" || (item != "mail.main" && item != "xmpp.main" && ! all_perms[item].protected == true);
- });
- data_groups.groups[group].membersInv = users.filter(function(item) {
- return data_groups.groups[group].members.indexOf(item) === -1;
- });
- }
-
- // Declare all_users and visitors has special
- data_groups.groups['all_users'].special = true;
- data_groups.groups['visitors'].special = true;
-
- // Data given to the view with 2 functions to convert technical
- // permission id to display names
- data = {
- 'groups':data_groups.groups,
- 'displayPermission': function (text) {
- return all_perms[text].label;
- },
- 'displayUser': function (text) {
- return text;
- },
- 'is_protected': function (item, type, group) {
- if (type == 'permission' && group == 'visitors') {
- return all_perms[item].protected;
- } else {
- return false
- }
- },
- };
- updateView(data);
- });
- });
- });
- });
-
- // Create a new group
- app.get('#/groups/create', function (c) {
- c.view('user/group_create', {});
- });
-
- app.post('#/groups/create', function (c) {
- c.params['groupname'] = c.params['groupname'].replace(' ', '_').toLowerCase();
- c.api('POST', '/users/groups', c.params.toHash(), function(data) {
- c.redirect_to('#/groups');
- });
- });
-
- /**
- * Users
- *
- */
-
- // List existing users
- app.get('#/users', function (c) {
- c.api('GET', '/users', {}, function(data) {
- c.view('user/user_list', data);
- });
- });
-
- // Create user form
- app.get('#/users/create', function (c) {
- c.api('GET', '/domains', {}, function(data) {
-
- // Password min length
- data.password_min_length = PASSWORD_MIN_LENGTH;
- c.view('user/user_create', data, function(){
- var usernameField = $('#username');
- usernameField.on('input', function(){
- var emailLeft = $('#email-left');
- emailLeft.html(usernameField.val());
- });
- });
- });
- });
-
- // Create user (POST)
- app.post('#/users/create', function (c) {
- if (c.params['password'] != c.params['confirmation']) {
- c.flash('fail', y18n.t('passwords_dont_match'));
- return;
- }
- if (c.params['password'].length < PASSWORD_MIN_LENGTH) {
- c.flash('fail', y18n.t('passwords_too_short'));
- return;
- }
-
- c.params['domain'] = c.params['domain'].slice(1);
- c.params['username'] = c.params['username'].trim();
-
- c.api('POST', '/users', c.params.toHash(), function(data) {
- c.redirect_to('#/users');
- });
- });
-
- // Show user information
- app.get('#/users/:user', function (c) {
- c.api('GET', '/users/'+ c.params['user'], {}, function(data) {
- c.view('user/user_info', data, function() {
-
- // Configure delete button behavior
- $('button[data-action="delete"]').on("click", function() {
- var user = $(this).data("user");
-
- var params = {};
-
- // make confirm content
- var purgeCheckbox = '
';
- var purgeAlertMessage = '⚠ '+ y18n.t('purge_user_data_warning') +'
';
- var confirmModalContent = $(''+ y18n.t('confirm_delete', [user]) +'
'+ purgeCheckbox +'
'+ purgeAlertMessage +'
');
-
- // display confirm modal
- c.confirm(
- y18n.t('users'),
- confirmModalContent,
- function(){
- c.api('DELETE', '/users/'+ user, params, function(data) {
- c.redirect_to('#/users');
- });
- }
- );
-
- // toggle purge warning and parameter
- confirmModalContent.find("input").click(function(){
-
- if (confirmModalContent.find("input").is(':checked')) {
- params.purge = "";
- confirmModalContent.find(".danger").show();
- }
- else {
- delete params.purge;
- confirmModalContent.find(".danger").hide();
- };
- });
- });
- });
- });
- });
-
- // Edit user form
- app.get('#/users/:user/edit', function (c) {
- c.api('GET', '/users/'+ c.params['user'], {}, function(data) {
- c.api('GET', '/domains', {}, function(dataDomains) {
-
- // Password min length
- data.password_min_length = PASSWORD_MIN_LENGTH;
-
- // User email use a fake splitted field
- var email = data.mail.split('@');
- data.email = {
- username : email[0],
- domain : email[1]
- };
-
- // Return quota with M unit
- if (data['mailbox-quota'].limit) {
- var unit = data['mailbox-quota'].limit.slice(-1);
- var value = data['mailbox-quota'].limit.substr(0, data['mailbox-quota'].limit.length -1);
- if (unit == 'b') {
- data.quota = Math.ceil(value / (1024 * 1024));
- }
- else if (unit == 'k') {
- data.quota = Math.ceil(value / 1024);
- }
- else if (unit == 'M') {
- data.quota = value;
- }
- else if (unit == 'G') {
- data.quota = Math.ceil(value * 1024);
- }
- else if (unit == 'T') {
- data.quota = Math.ceil(value * 1024 * 1024);
- }
- }
- else {data.quota = 0;}
-
- // Domains
- data.domains = [];
- $.each(dataDomains.domains, function(key, value) {
- data.domains.push({
- domain: value,
- selected: (value == data.email.domain) ? true : false
- });
- });
-
- c.view('user/user_edit', data);
- });
- });
- });
-
- // Update user information
- app.put('#/users/:user', function (c) {
- // Get full user object
- c.api('GET', '/users/'+ c.params['user'], {}, function(user) {
- // Force unit or disable quota
- if (c.params['mailbox_quota']) {
- c.params['mailbox_quota'] += "M";
- }
- else {c.params['mailbox_quota'] = 0;}
-
- // concat email/domain pseudo field
- if (c.params['mail'] !== c.params['email'] + c.params['domain']) {
- c.params['mail'] = c.params['email'] + c.params['domain'];
- }
- else {
- c.params['mail'] = '';
- }
- // Clear temporary inputs
- c.params['email'] = c.params['domain'] = '';
-
-
- // force array type for mail aliases and redirections
- if (typeof c.params['mailalias'] == 'string') {c.params['mailalias'] = [c.params['mailalias']];}
- if (typeof c.params['mailforward'] == 'string') {c.params['mailforward'] = [c.params['mailforward']];}
-
- // Check for added/removed aliases and redirections
- c.params['add_mailalias'] = c.arrayDiff(c.params['mailalias'], user['mail-aliases']);
- c.params['remove_mailalias'] = c.arrayDiff(user['mail-aliases'], c.params['mailalias']);
- c.params['add_mailforward'] = c.arrayDiff(c.params['mailforward'], user['mail-forward']);
- c.params['remove_mailforward'] = c.arrayDiff(user['mail-forward'], c.params['mailforward']);
-
- // Clear temporary inputs
- c.params['mailalias'] = c.params['mailforward'] = '';
-
- // Remove empty inputs
- var params = {};
- $.each(c.params.toHash(), function(key, value) {
- if (value.length > 0 && key !== 'user') { params[key] = value; }
- });
-
- if ($.isEmptyObject(params)) {
- c.flash('fail', y18n.t('error_modify_something'));
- c.redirect_to('#/users/'+ c.params['user'] + '/edit', {slide: false});
- } else {
- if (params['password']) {
- if (params['password'] == params['confirmation']) {
- if (params['password'].length < PASSWORD_MIN_LENGTH) {
- c.flash('fail', y18n.t('passwords_too_short'));
- c.redirect_to('#/users/'+ c.params['user'] + '/edit', {slide: false});
- }
- else {
- params['change_password'] = params['password'];
- c.api('PUT', '/users/'+ c.params['user'], params, function(data) {
- c.redirect_to('#/users/'+ c.params['user']);
- });
- }
- } else {
- c.flash('fail', y18n.t('passwords_dont_match'));
- c.redirect_to('#/users/'+ c.params['user'] + '/edit', {slide: false});
- }
- }
- else {
- c.api('PUT', '/users/'+ c.params['user'], params, function(data) {
- c.redirect_to('#/users/'+ c.params['user']);
- });
- }
- }
- });
- });
-
-})();
diff --git a/src/js/yunohost/events.js b/src/js/yunohost/events.js
deleted file mode 100644
index e10c0678..00000000
--- a/src/js/yunohost/events.js
+++ /dev/null
@@ -1,45 +0,0 @@
-(function() {
- // Get application context
- var app = Sammy.apps['#main'];
- var store = app.store;
-
- /**
- * Events
- *
- */
- app.bind('login', function(e, data) {
- c.api('GET', '/users', {}, function(data) {
- // Warn admin if no users are created.
- if (typeof data.users !== 'undefined' && data.users.length === 0) {
- c.flash('warning', y18n.t('warning_first_user'));
- }
-
- c.api('GET', '/versions', {}, function(data) {
- $('#yunohost-version').html(y18n.t('footer_version', [data.yunohost.version, data.yunohost.repo]));
- c.hideLoader();
- });
- });
- });
-
- app.bind('logout', function(e, data) {
- $('#yunohost-version').empty();
- });
-
-
- // Konamicode ;P up up down down left right left right b a
- var konami_code = [38, 38, 40, 40, 37, 39, 37, 39, 66, 65],
- konami_step = 0;
- $(document).keydown(function (e) {
- if (e.keyCode === konami_code[konami_step++]) {
- if (konami_step === konami_code.length) {
- konami_step = 0;
- $('#main').addClass("with-nyancat");
- return false;
- }
- }
- else {
- konami_step = 0;
- }
- });
-
-})();
diff --git a/src/js/yunohost/filters.js b/src/js/yunohost/filters.js
deleted file mode 100644
index 94fef552..00000000
--- a/src/js/yunohost/filters.js
+++ /dev/null
@@ -1,54 +0,0 @@
-(function() {
- // Get application context
- var app = Sammy.apps['#main'];
- var store = app.store;
-
-
- /**
- * Filters
- *
- */
-
- function prefetchDomains(req) {
- // Preload domains list.
- req.params.domains = [];
- req.api('GET', '/domains', {}, function(data) {
- req.params.domains = data.domains;
- req.params.domains_main = data.main;
- });
- }
-
- function prefetchUsers(req){
- // Preload users lists.
- req.params.users = [];
- req.api('GET', '/users', {}, function(data) {
- req.params.users = data.users;
- });
- }
-
- app.before(/domains\/add/, prefetchDomains);
- app.before(/apps\/install\//, prefetchDomains);
- app.before(/apps\/install\//, prefetchUsers);
- app.before(/apps\/install\/custom\//, prefetchDomains);
- app.before(/apps\/install\/custom\//, prefetchUsers);
- app.before(/apps\/\w+\/actions/, prefetchUsers);
- app.before(/apps\/\w+\/actions/, prefetchDomains);
- app.before(/apps\/\w+\/config-panel/, prefetchUsers);
- app.before(/apps\/\w+\/config-panel/, prefetchDomains);
-
-
- app.before({except: {path: ['#/logout', '#/login', '#/postinstall', '#/postinstall/domain', '#/postinstall/password']}}, function (req) {
- // Store path for further redirections
- store.set('path-1', store.get('path'));
- store.set('path', req.path);
-
- // Redirect to login page if no credentials stored
- if (!store.get('connected')) {
- req.redirect('#/login');
- return false;
- }
- });
-
- app.after(function () {});
-
-})();
diff --git a/src/js/yunohost/helpers.js b/src/js/yunohost/helpers.js
deleted file mode 100644
index 9d9791f2..00000000
--- a/src/js/yunohost/helpers.js
+++ /dev/null
@@ -1,502 +0,0 @@
-(function() {
-
- // This is to fetch the "RANDOMID" after script.min.js?version= in
- // index.html
- // We later use the same ID as a hacky cache mechanism for the .ms files
- var ynh_assets_version = document.getElementsByTagName('script')[0].src.split("=")[1];
-
- // Get application context
- var app = Sammy.apps['#main'];
- var store = app.store;
-
- // The logic used to temporily disable transition is from
- // https://stackoverflow.com/a/16575811
- function whichTransitionEvent(){
- var t;
- var el = document.createElement('fakeelement');
- var transitions = {
- 'transition':'transitionend',
- 'OTransition':'oTransitionEnd',
- 'MozTransition':'transitionend',
- 'WebkitTransition':'webkitTransitionEnd'
- }
-
- for(t in transitions){
- if( el.style[t] !== undefined ){
- return transitions[t];
- }
- }
- };
- var transitionEvent = whichTransitionEvent();
-
- function resetSliders()
- {
- // Disable transition effects
- $('#slider-container').addClass('notransition');
- // Delete the left/right temporary stuff only used during animation
- $('#slideTo').css('display', 'none');
- $('#slideTo').html("");
- $('#slideBack').css('display', 'none');
- $('#slideBack').html("");
- // Set the margin-left back to 0
- $('#slider-container').css('margin-left', '0');
- // c.f. the stackoverflow thread
- $('#slider-container')[0].offsetHeight;
- // Remove the binding to this event handler for next times
- // Re-enable transition effects
- $('#slider-container').removeClass('notransition');
- }
-
- /**
- * Helpers
- *
- */
- app.helpers({
-
- //
- // Pacman loader management
- //
-
- showLoader: function() {
- app.loaded = false; // Not sure if that's really useful ... this is from old code with no explanation what it really does ...
- if ($('div.loader').length === 0) {
- $('#main').append('');
- }
- },
-
- hideLoader: function() {
- app.loaded = true; // Not sure if that's really useful ... this is from old code with no explanation what it really does ...
- $('div.loader').remove();
- },
-
- // Flash helper to diplay instant notifications
- flash: function (level, message) {
- if (!store.get('flash')) {
- store.set('flash', true);
- }
-
- // Helper CSS class on main wrapper
- $('#slider').addClass('with-flashMessage');
-
- // If the line is a bash command
- if (level === 'info' && message.charAt(0) === '+') {
- level = 'log';
- }
-
- message = message.split("\n").join("
");
-
- // If the message starts with a progress bar
- progressbar = message.match(/^\[#*\+*\.*\] > /);
- if (progressbar)
- {
- progressbar = progressbar[0];
- // Remove the progress bar from the mesage
- message = message.replace(progressbar,"");
- // Compute percent
- done = (progressbar.match(/#/g)||[]).length;
- ongoing = (progressbar.match(/\+/g)||[]).length;
- remaining = (progressbar.match(/\./g)||[]).length;
- total = done + ongoing + remaining;
- done = done * 100 / total;
- ongoing = ongoing * 100 / total;
- // Actually build the message with the progress bar
- message = '' + message + '
';
- }
- else
- {
- message = ''+message+'
';
- }
-
- // Add message
- $('#flashMessage .messages')
- .prepend(''+message+'
');
-
- // Scroll to top to view new messages
- $('#flashMessage').scrollTop(0);
- },
-
- checkInstall: function(callback) {
- // Get base url from store or guess from current url
- var baseUrl = (store.get('url') !== null) ? store.get('url')
- : window.location.hostname + '/yunohost/api';
-
- // Call API endpoint
- $.ajax({
- dataType: "json",
- url: 'https://'+ baseUrl +'/installed',
- timeout: 3000,
- success: function(data) {
- callback(data.installed);
- },
- fail: function() {
- callback(undefined);
- }
- });
- },
-
- // API call
- api: function(method, uri, data, callback, callbackOnFailure, websocket) {
- c = this;
-
- method = typeof method !== 'undefined' ? method : 'GET';
- data = typeof data !== 'undefined' ? data : {};
- if (window.navigator && window.navigator.language && (typeof data.locale === 'undefined')) {
- data.locale = y18n.locale || window.navigator.language.substr(0, 2);
- }
-
- c.showLoader();
-
- call = function(uri, callback, method, data, callbackOnFailure) {
-
- // Define default callback for failures
- if (typeof callbackOnFailure !== 'function') {
- callbackOnFailure = function(xhr) {
- if (xhr.status == 200) {
- // Fail with 200, WTF
- callback({});
- }
- // Unauthorized or wrong password
- else if (xhr.status == 401) {
- if (uri === '/login') {
- c.flash('fail', y18n.t('wrong_password'));
- } else {
- c.flash('fail', y18n.t('unauthorized'));
- c.redirect('#/login');
- }
- }
- // 500
- else if (xhr.status == 500) {
- try {
- error_log = JSON.parse(xhr.responseText);
- error_log.route = error_log.route.join(' ') + '\n';
- error_log.arguments = JSON.stringify(error_log.arguments);
- }
- catch (e)
- {
- error_log = {};
- error_log.route = "Failed to parse route";
- error_log.arguments = "Failed to parse arguments";
- error_log.traceback = xhr.responseText;
- }
- c.flash('fail', y18n.t('internal_exception', [error_log.route, error_log.arguments, error_log.traceback]));
- }
- // 502 Bad gateway means API is down
- else if (xhr.status == 502) {
- c.flash('fail', y18n.t('api_not_responding'));
- }
- // More verbose error messages first
- else if (typeof xhr.responseText !== 'undefined') {
- c.flash('fail', xhr.responseText);
- }
- // 0 mean "the connexion has been closed" apparently
- else if (xhr.status == 0) {
- var errorMessage = xhr.status+' '+xhr.statusText;
- c.flash('fail', y18n.t('error_connection_interrupted', [errorMessage]));
- console.log(xhr);
- }
- // Return HTTP error code at least
- else {
- var errorMessage = xhr.status+' '+xhr.statusText;
- c.flash('fail', y18n.t('error_server_unexpected', [errorMessage]));
- console.log(xhr);
- }
-
- c.hideLoader();
-
- // Force scrollTop on page load
- $('html, body').scrollTop(0);
- store.clear('slide');
- };
- }
-
- jQuery.ajax({
- url: 'https://' + store.get('url') + uri,
- type: method,
- crossdomain: true,
- data: data,
- traditional: true,
- dataType: 'json'
- })
- .always(function(xhr, ts, error) {
- })
- .done(function(data) {
- data = data || {};
- callback(data);
- })
- .fail(callbackOnFailure);
- };
-
- websocket = typeof websocket !== 'undefined' ? websocket : true;
- if (websocket) {
- // Open a WebSocket connection to retrieve live messages from the moulinette
- var ws = new WebSocket('wss://'+ store.get('url') +'/messages');
- // Flag to avoid to call twice the API
- // We need to set that in ws object as we need to use it in ws.onopen
- // and several ws object could be running at the same time...
- ws.api_called = false;
- ws.onmessage = function(evt) {
- // console.log(evt.data);
- $.each($.parseJSON(evt.data), function(k, v) {
- c.flash(k, v);
- });
- };
-
- // If not connected, WebSocket connection will raise an error, but we do not want to interrupt API request
- ws.onerror = function () {
- ws.onopen();
- };
-
- ws.onclose = function() { };
-
- ws.onopen = function () {
- if (!ws.api_called) {
- ws.api_called = true;
- call(uri, callback, method, data, callbackOnFailure);
- }
- };
- } else {
- call(uri, callback, method, data, callbackOnFailure);
- }
-
- },
-
-
- // Ask confirmation to the user through the modal window
- confirm: function(title, content, confirmCallback, cancelCallback) {
- c = this;
-
- // Default callbacks
- confirmCallback = typeof confirmCallback !== 'undefined' ? confirmCallback : function() {};
- cancelCallback = typeof cancelCallback !== 'undefined' ? cancelCallback : function() {};
-
- c.hideLoader();
-
- // Get modal element
- var box = $('#modal');
-
- // Modal title
- if (typeof title === 'string' && title.length) {
- $('.title', box).html(title);
- }
- else {
- box.addClass('no-title');
- }
-
- // Modal content
- $('.content', box).html(content);
-
- // Clear any remaining click event that could still be there (e.g.
- // clicking outside the modal window doesn't equal to clicking
- // cancel...
- $('footer button', box).unbind( "click" );
-
- // Handle buttons
- $('footer button', box)
- .click(function(e){
- e.preventDefault();
-
- $('#modal footer button').unbind( "click" );
- // Reset & Hide modal
- box.removeClass('no-title').modal('hide');
-
- // Do corresponding callback
- if ($(this).data('modal-action') == 'confirm') {
- confirmCallback();
- }
- else {
- cancelCallback();
- }
- });
-
- // Show modal
- return box.modal('show');
- },
-
-
- // Render view (cross-browser)
- view: function (view, data, callback) {
- c = this;
-
- // Default
- callback = typeof callback !== 'undefined' ? callback : function() {};
-
- // Hide loader and modal
- c.hideLoader();
- $('#modal').modal('hide');
-
- // Render content
- var rendered = this.render('dist/views/' + view + '.ms?version=' + ynh_assets_version, data);
-
- // Update content helper
- var leSwap = function() {
- rendered.swap(function() {
- // Clicking on those kind of CSS elements will trigger a
- // slide effect i.e. the next view rendering will have
- // store.get('slide') set to 'back' or 'to'
- $('.slide, .btn-breadcrumb a:not(:last-child)').on('click', function() {
- $(this).addClass('active');
- if ($(this).hasClass('back') || $(this).parent('.btn-breadcrumb').length) {
- store.set('slide', 'back');
- } else {
- store.set('slide', 'to');
- }
- });
-
- // Force scrollTop on page load
- $('html, body').scrollTop(0);
-
- // Run callback
- callback();
- });
- };
-
- // Slide back effect
- if (store.get('slide') == 'back') {
-
- store.clear('slide');
- // Disable transition while we tweak CSS
- $('#slider-container').addClass('notransition');
- // "Delete" the left part of the slider
- $('#slideBack').css('display', 'none');
-
- // Push the slider to the left
- $('#slider-container').css('margin-left', '-100%');
- // slideTo is the right part, and should contain the old view,
- // so we copypasta what's in the "center" slider (#main)
- $('#slideTo').show().html($('#main').html());
- // leSwap will put the new view in the "center" slider (#main)
- leSwap();
-
- // So now things look like:
- // | |
- // | the screen |
- // | |
- //
- // . #main . #slideTo .
- // . the new view . the old view .
- // ^ ^
- // margin-left: -100% currently shown
- //
- // =====>>> sliiiiide =====>>>
-
- // Re-add transition effect
- $('#slider-container').removeClass('notransition');
-
- // add the transition event to detect the end of the transition effect
- transitionEvent
- && $("#slider-container").off(transitionEvent)
- && $("#slider-container").on(transitionEvent, resetSliders);
-
- // And actually play the transition effect that will move the container from left to right
- $('#slider-container').css('margin-left', '0px');
- }
- // Slide to effect
- else if (store.get('slide') == 'to') {
-
- // Disable transition while we tweak CSS
- $('#slider-container').addClass('notransition');
- // "Delete" the right part of the slider
- $('#slideTo').css('display', 'none');
- // Push the slider to the right
- $('#slider-container').css('margin-left', '0px');
- // slideBack should contain the old view,
- // so we copypasta what's in the "center" slider (#main)
- $('#slideBack').show().html($('#main').html());
- leSwap();
-
- // So now things look like:
- //
- // | |
- // | the screen |
- // | |
- //
- // . . #slideBack . #main .
- // . . the old view . the new view .
- // ^ ^ ^
- // margin-left: -100% currently shown
- //
- // <<<===== sliiiiide <<<=======
-
-
- // Re-add transition effect
- $('#slider-container').removeClass('notransition');
-
- // add the transition event to detect the end of the transition effect
- var transitionEvent = whichTransitionEvent();
- transitionEvent
- && $("#slider-container").off(transitionEvent)
- && $("#slider-container").on(transitionEvent, resetSliders);
-
- // And actually play the transition effect that will move the container from right to left
- $('#slider-container').css('margin-left', '-100%');
- }
- // No slideing effect
- else {
- leSwap();
- }
- },
-
- redirect_to: function(destination, options) {
- c = this;
-
- options = options !== undefined ? options : {};
-
- // If destination if the same as current url,
- // we don't want to display the slide animation
- // (or if the code explicitly state to disable slide animation)
- if ((c.path.split("#")[1] == destination.split("#")[1]) || (options.slide == false))
- {
- store.clear('slide');
- }
-
- // This is a copy-pasta of some of the redirect/refresh code of
- // sammy.js because for some reason calling the original
- // redirect/refresh function in some context does not work >.>
- // (e.g. if you're already on the page)
- c.trigger('redirect', {to: destination});
- c.app.last_location = c.path;
- c.app.setLocation(destination);
- c.app.trigger('location-changed');
- },
-
- refresh: function() {
- c = this;
- c.redirect_to(c.path, {slide: false});
- },
-
- //
- // Array / object helpers
- //
-
- arraySortById: function(arr) {
- arr.sort(function(a, b){
- if (a.id > b.id) {
- return 1;
- }
- else if (a.id < b.id) {
- return -1;
- }
- return 0;
- });
- },
-
- arrayDiff: function(arr1, arr2) {
- arr1 = arr1 || [];
- arr2 = arr2 || [];
- return arr1.filter(function (a) {
- return ((arr2.indexOf(a) == -1) && (a !== ""));
- });
- },
-
- // Serialize an object
- serialize : function(obj) {
- var str = [];
- for(var p in obj)
- if (obj.hasOwnProperty(p)) {
- str.push(encodeURIComponent(p) + "=" + encodeURIComponent(obj[p]));
- }
- return str.join("&");
- }
-
- });
-})();
diff --git a/src/js/yunohost/main.js b/src/js/yunohost/main.js
deleted file mode 100644
index d6e7389b..00000000
--- a/src/js/yunohost/main.js
+++ /dev/null
@@ -1,248 +0,0 @@
-(function() {
-
- var app = Sammy('#main', function (sam) {
-
-
- /**
- * Sammy Configuration
- *
- */
-
- // Plugins
- sam.use('Handlebars', 'ms');
- window.HandlebarsIntl.registerWith(Handlebars);
-
- Handlebars.registerHelper('ucwords', function(str) {
- return (str + '').replace(/^([a-z\u00E0-\u00FC])|\s+([a-z\u00E0-\u00FC])/g, function ($1) {
- return $1.toUpperCase();
- });
- });
- Handlebars.registerHelper('humanSize', function(bytes) {
- var sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB'];
- if (bytes === 0) return 'n/a';
- var i = parseInt(Math.floor(Math.log(bytes) / Math.log(1024)));
- return Math.round(bytes / Math.pow(1024, i), 2) + ' ' + sizes[[i]];
- });
- Handlebars.registerHelper('humanTime', function(time) {
- return Math.round(time) + 's';
- });
- Handlebars.registerHelper('bitRate', function(bytes, time) {
- var sizes = ['b', 'Kb', 'Mb', 'Gb', 'Tb'];
- if (time === 0) return 'n/a';
- var bps = bytes / time * 8;
- var i = parseInt(Math.floor(Math.log(bps) / Math.log(1024)));
- return Math.round(bps / Math.pow(1024, i), 2) + ' ' + sizes[[i]] + '/s';
- });
-
- Handlebars.registerHelper('t', function(y18n_key) {
- var result = y18n.t(y18n_key, Array.prototype.slice.call(arguments, 1));
- return new Handlebars.SafeString(result);
- });
-
- Handlebars.registerHelper('concat', function() {
- var outStr = '';
- for(var arg in arguments){
- if(typeof arguments[arg]!='object'){
- outStr += arguments[arg];
- }
- }
- return outStr;
- });
-
- // Block helper to add a tooltip to any element
- Handlebars.registerHelper('tooltip', function(tooltip, options) {
- return new Handlebars.SafeString(
- ''
- + options.fn(this)
- + '');
- });
-
- Handlebars.registerHelper('helpTooltip', function(text, url) {
- var help = null;
- var helpUrl = null;
- if (text && text.string && text.string.trim() != "")
- {
- help = text.string;
- }
- if (url && url.string && url.string.trim() != "")
- {
- helpUrl = url.string;
- }
- if (help == null && helpUrl == null)
- {
- return "";
- }
-
- if (helpUrl == null)
- {
- return new Handlebars.SafeString(
- ''
- + ' '
- + '');
- }
- else
- {
- return new Handlebars.SafeString(
- ''
- + ' '
- + '');
- }
- });
-
- // Load tooltips on the page; needed if using tooltips
- Handlebars.registerHelper('load_tooltips', function() {
- return new Handlebars.SafeString(
- '');
- });
-
- // equality stuff because mustache/Handlebars is lame
- // source https://stackoverflow.com/a/31632215
- Handlebars.registerHelper({
- eq: function(a, b) {
- return a === b;
- },
- neq: function(a, b) {
- return a !== b;
- },
- lt: function (v1, v2) {
- return v1 < v2;
- },
- gt: function (v1, v2) {
- return v1 > v2;
- },
- lte: function (v1, v2) {
- return v1 <= v2;
- },
- gte: function (v1, v2) {
- return v1 >= v2;
- },
- and: function () {
- return Array.prototype.slice.call(arguments).every(function (arg) {
- return (Array.isArray(arg))?arg.length !== 0:arg;
- });
- },
- or: function () {
- return Array.prototype.slice.call(arguments, 0, -1).some(function (arg) {
- return (Array.isArray(arg))?arg.length !== 0:arg;
- });
- }
- });
-
- // Be able to call a function given in context
- Handlebars.registerHelper('call', function () {
- var args = Array.prototype.slice.call(arguments);
- var func = args.shift();
- args.pop();
- return func.apply(null, args);
- });
-
- Handlebars.registerHelper('in', function(a) {
- // skip first one
- for (var i = 1; i < arguments.length; ++i) {
- if (arguments[i] == a)
- return true;
- }
- return false;
- });
-
- // Look for supported type of storage to use
- /**
- * http://sammyjs.org/docs/api/0.7.4/all#Sammy.Store.LocalStorage
- * LocalStorage is our favorite, as it allows multiple tabs
- */
- var storageType;
- if (Sammy.Store.isAvailable('local')) {
- storageType = 'local';
- } else if (Sammy.Store.isAvailable('session')) {
- storageType = 'session';
- } else if (Sammy.Store.isAvailable('cookie')) {
- storageType = 'cookie';
- } else {
- storageType = 'memory';
- }
-
- // Initialize storage
- sam.store = new Sammy.Store({name: 'storage', type: storageType});
- sam.loaded = false;
- sam.isInstalledTry = 3;
-
-
-
- /**
- * Application bootstrap
- *
- */
- sam.bind('run', function () {
- // Store url
- sam.store.set('url', window.location.hostname + '/yunohost/api');
-
- if (sam.store.get('connected')) {
- this.api('GET', '/versions', {}, function(data) {
- $('#yunohost-version').html(y18n.t('footer_version', [data.yunohost.version, data.yunohost.repo]));
- });
- }
-
- // Flash messages
- var flashMessage = $('#flashMessage');
- $('#toggle-btn', flashMessage).click(function(e) {
- flashMessage.toggleClass('open');
- });
- $('#clear-btn', flashMessage).click(function(e) {
- flashMessage.removeClass('open').find('.messages').html('');
- $('#slider').removeClass('with-flashMessage');
- });
-
- });
-
-
- /**
- * Errors
- */
- sam.notFound = function(){
- // Redirect to home page on 404.
- window.location = '#/';
- };
-
- });
-
-
- /**
- * Translations
- */
- $.getJSON('locales/en.json', function(data){
- y18n.translations['en'] = data;
- y18n.translateInlineHTML();
- });
-
- // User defined language
- if (window.navigator && window.navigator.language) {
- y18n.locale = window.navigator.language.substr(0, 2);
- if (y18n.locale !== 'en') {
- $.getJSON('locales/'+ y18n.locale +'.json', function(data){
- y18n.translations[y18n.locale] = data;
- y18n.translateInlineHTML();
- });
- }
- }
-
-
- /**
- * Run the application
- */
- $(document).ready(function () {
- // Run Sammy.js application
- app.run('#/');
-
- // April fools easter egg ;)
- var today = new Date();
- if ((today.getDate() == 1) && (today.getMonth()+1 == 4))
- {
- $('#main').addClass("magikarp");
- }
- });
-
-})();
diff --git a/src/js/yunohost/y18n.js b/src/js/yunohost/y18n.js
deleted file mode 100644
index daa128bd..00000000
--- a/src/js/yunohost/y18n.js
+++ /dev/null
@@ -1,114 +0,0 @@
-;(function(y18n){
- "use strict";
-
- // Default options
- var defaultOptions = {
- defaultLocale: "en",
- locale: "en",
- placeholder: /(?:\{\{|%\{)(.*?)(?:\}\}?)/gm,
- translations: {}
- };
-
- /**
- * Initialization
- */
- y18n.init = function() {
- // Merge options with defaults.
- for (var key in defaultOptions) {
- y18n[key] = (typeof y18n[key] !== 'undefined') ? y18n[key] : defaultOptions[key];
- }
- };
- y18n.init();
-
-
- /**
- * HTML Inline translation
- */
- y18n.translateInlineHTML = function(){
- // Inner HTML
- [].forEach.call(
- document.querySelectorAll('[data-y18n]'),
- function(el){
- el.innerHTML = y18n.translate(el.getAttribute('data-y18n'));
- }
- );
-
- // Attributes
- [].forEach.call(
- document.querySelectorAll('[data-y18n-title]'),
- function(el){
- el.title = y18n.translate(el.getAttribute('data-y18n-title'));
- }
- );
- };
-
- /**
- * Translation
- */
- y18n.translate = function(key, options) {
- options = options || {'locale' : y18n.locale};
- options.locale = options.locale || y18n.locale;
-
- // Get translation
- var translation = this.lookup(key, options);
-
- // Translation fallback
- if ((typeof translation === 'undefined' || translation === key) && options.locale !== y18n.defaultLocale) {
- options.locale = y18n.defaultLocale;
- return this.translate(key, options);
- }
-
- // Variables remplacement
- return (translation) ? translation.printf(options) : key;
- };
-
- y18n.lookup = function(key, options) {
- // Default locale
- if (typeof options.locale === 'undefined') {
- options.locale = y18n.locale;
- }
-
- // Get translation string
- if (typeof y18n.translations[options.locale] !== 'undefined') {
- if (typeof y18n.translations[options.locale][key] !== 'undefined') {
- return y18n.translations[options.locale][key];
- }
- }
- };
-
- // Save some typing
- y18n.t = y18n.translate;
-
-})(typeof(exports) === 'undefined' ? (this.y18n || (this.y18n = {})) : exports);
-
-// http://monocleglobe.wordpress.com/2010/01/12/everybody-needs-a-little-printf-in-their-javascript/
-String.prototype.printf = function (obj) {
- var useArguments = false;
- var _arguments = arguments;
- var i = -1;
- if (typeof _arguments[0] == "string") {
- useArguments = true;
- }
- if (obj instanceof Array || useArguments) {
- return this.replace(/\%s/g,
- function (a, b) {
- i++;
- if (useArguments) {
- if (typeof _arguments[i] == 'string') {
- return _arguments[i];
- }
- else {
- throw new Error("Arguments element is an invalid type");
- }
- }
- return obj[i];
- });
- }
- else {
- return this.replace(/{([^{}]*)}/g,
- function (a, b) {
- var r = obj[b];
- return typeof r === 'string' || typeof r === 'number' ? r : a;
- });
- }
-};
diff --git a/src/locales/cs.json b/src/locales/cs.json
deleted file mode 100644
index c7272b61..00000000
--- a/src/locales/cs.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "password": "Heslo"
-}
diff --git a/src/package-lock.json b/src/package-lock.json
deleted file mode 100644
index 1ce879bb..00000000
--- a/src/package-lock.json
+++ /dev/null
@@ -1,7792 +0,0 @@
-{
- "name": "yunohost-admin",
- "requires": true,
- "lockfileVersion": 1,
- "dependencies": {
- "@nodelib/fs.scandir": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz",
- "integrity": "sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw==",
- "dev": true,
- "requires": {
- "@nodelib/fs.stat": "2.0.3",
- "run-parallel": "^1.1.9"
- }
- },
- "@nodelib/fs.stat": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz",
- "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==",
- "dev": true
- },
- "@nodelib/fs.walk": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz",
- "integrity": "sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ==",
- "dev": true,
- "requires": {
- "@nodelib/fs.scandir": "2.1.3",
- "fastq": "^1.6.0"
- }
- },
- "@sindresorhus/is": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.7.0.tgz",
- "integrity": "sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow==",
- "dev": true,
- "optional": true
- },
- "@types/color-name": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz",
- "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==",
- "dev": true
- },
- "@types/events": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz",
- "integrity": "sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==",
- "dev": true
- },
- "@types/glob": {
- "version": "7.1.1",
- "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.1.tgz",
- "integrity": "sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w==",
- "dev": true,
- "requires": {
- "@types/events": "*",
- "@types/minimatch": "*",
- "@types/node": "*"
- }
- },
- "@types/minimatch": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz",
- "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==",
- "dev": true
- },
- "@types/node": {
- "version": "14.0.9",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-14.0.9.tgz",
- "integrity": "sha512-0sCTiXKXELOBxvZLN4krQ0FPOAA7ij+6WwvD0k/PHd9/KAkr4dXel5J9fh6F4x1FwAQILqAWkmpeuS6mjf1iKA==",
- "dev": true
- },
- "@types/q": {
- "version": "1.5.4",
- "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.4.tgz",
- "integrity": "sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug==",
- "dev": true,
- "optional": true
- },
- "accord": {
- "version": "0.29.0",
- "resolved": "https://registry.npmjs.org/accord/-/accord-0.29.0.tgz",
- "integrity": "sha512-3OOR92FTc2p5/EcOzPcXp+Cbo+3C15nV9RXHlOUBCBpHhcB+0frbSNR9ehED/o7sTcyGVtqGJpguToEdlXhD0w==",
- "dev": true,
- "requires": {
- "convert-source-map": "^1.5.0",
- "glob": "^7.0.5",
- "indx": "^0.2.3",
- "lodash.clone": "^4.3.2",
- "lodash.defaults": "^4.0.1",
- "lodash.flatten": "^4.2.0",
- "lodash.merge": "^4.4.0",
- "lodash.partialright": "^4.1.4",
- "lodash.pick": "^4.2.1",
- "lodash.uniq": "^4.3.0",
- "resolve": "^1.5.0",
- "semver": "^5.3.0",
- "uglify-js": "^2.8.22",
- "when": "^3.7.8"
- },
- "dependencies": {
- "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.1",
- "right-align": "^0.1.1",
- "wordwrap": "0.0.2"
- }
- },
- "lodash.defaults": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz",
- "integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=",
- "dev": true
- },
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
- "dev": true
- },
- "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.1",
- "uglify-to-browserify": "~1.0.0",
- "yargs": "~3.10.0"
- }
- },
- "wordwrap": {
- "version": "0.0.2",
- "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz",
- "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=",
- "dev": true
- },
- "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.0.2",
- "cliui": "^2.1.0",
- "decamelize": "^1.0.0",
- "window-size": "0.1.0"
- }
- }
- }
- },
- "ajv": {
- "version": "6.12.2",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz",
- "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==",
- "dev": true,
- "optional": true,
- "requires": {
- "fast-deep-equal": "^3.1.1",
- "fast-json-stable-stringify": "^2.0.0",
- "json-schema-traverse": "^0.4.1",
- "uri-js": "^4.2.2"
- }
- },
- "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.0.2",
- "longest": "^1.0.1",
- "repeat-string": "^1.5.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"
- }
- }
- }
- },
- "amdefine": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
- "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=",
- "dev": true
- },
- "ansi-colors": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz",
- "integrity": "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==",
- "dev": true,
- "requires": {
- "ansi-wrap": "^0.1.0"
- }
- },
- "ansi-cyan": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/ansi-cyan/-/ansi-cyan-0.1.1.tgz",
- "integrity": "sha1-U4rlKK+JgvKK4w2G8vF0VtJgmHM=",
- "dev": true,
- "requires": {
- "ansi-wrap": "0.1.0"
- }
- },
- "ansi-gray": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz",
- "integrity": "sha1-KWLPVOyXksSFEKPetSRDaGHvclE=",
- "dev": true,
- "requires": {
- "ansi-wrap": "0.1.0"
- }
- },
- "ansi-red": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/ansi-red/-/ansi-red-0.1.1.tgz",
- "integrity": "sha1-jGOPnRCAgAo1PJwoyKgcpHBdlGw=",
- "dev": true,
- "requires": {
- "ansi-wrap": "0.1.0"
- }
- },
- "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": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
- "requires": {
- "color-convert": "^1.9.0"
- }
- },
- "ansi-wrap": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz",
- "integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768=",
- "dev": true
- },
- "anymatch": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
- "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==",
- "dev": true,
- "requires": {
- "micromatch": "^3.1.4",
- "normalize-path": "^2.1.1"
- }
- },
- "append-buffer": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/append-buffer/-/append-buffer-1.0.2.tgz",
- "integrity": "sha1-2CIM9GYIFSXv6lBhTz3mUU36WPE=",
- "dev": true,
- "requires": {
- "buffer-equal": "^1.0.0"
- }
- },
- "arch": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/arch/-/arch-2.1.2.tgz",
- "integrity": "sha512-NTBIIbAfkJeIletyABbVtdPgeKfDafR+1mZV/AyyfC1UkVkp9iUjV+wwmqtUgphHYajbI86jejBJp5e+jkGTiQ==",
- "dev": true,
- "optional": true
- },
- "archive-type": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/archive-type/-/archive-type-4.0.0.tgz",
- "integrity": "sha1-+S5yIzBW38aWlHJ0nCZ72wRrHXA=",
- "dev": true,
- "optional": true,
- "requires": {
- "file-type": "^4.2.0"
- },
- "dependencies": {
- "file-type": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/file-type/-/file-type-4.4.0.tgz",
- "integrity": "sha1-G2AOX8ofvcboDApwxxyNul95BsU=",
- "dev": true,
- "optional": true
- }
- }
- },
- "archy": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz",
- "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=",
- "dev": true
- },
- "argparse": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
- "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
- "dev": true,
- "optional": true,
- "requires": {
- "sprintf-js": "~1.0.2"
- }
- },
- "arr-diff": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
- "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
- "dev": true
- },
- "arr-filter": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/arr-filter/-/arr-filter-1.1.2.tgz",
- "integrity": "sha1-Q/3d0JHo7xGqTEXZzcGOLf8XEe4=",
- "dev": true,
- "requires": {
- "make-iterator": "^1.0.0"
- }
- },
- "arr-flatten": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
- "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
- "dev": true
- },
- "arr-map": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/arr-map/-/arr-map-2.0.2.tgz",
- "integrity": "sha1-Onc0X/wc814qkYJWAfnljy4kysQ=",
- "dev": true,
- "requires": {
- "make-iterator": "^1.0.0"
- }
- },
- "arr-union": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
- "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
- "dev": true
- },
- "array-each": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz",
- "integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8=",
- "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-initial": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/array-initial/-/array-initial-1.1.0.tgz",
- "integrity": "sha1-L6dLJnOTccOUe9enrcc74zSz15U=",
- "dev": true,
- "requires": {
- "array-slice": "^1.0.0",
- "is-number": "^4.0.0"
- },
- "dependencies": {
- "is-number": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz",
- "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==",
- "dev": true
- }
- }
- },
- "array-last": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/array-last/-/array-last-1.3.0.tgz",
- "integrity": "sha512-eOCut5rXlI6aCOS7Z7kCplKRKyiFQ6dHFBem4PwlwKeNFk2/XxTrhRh5T9PyaEWGy/NHTZWbY+nsZlNFJu9rYg==",
- "dev": true,
- "requires": {
- "is-number": "^4.0.0"
- },
- "dependencies": {
- "is-number": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz",
- "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==",
- "dev": true
- }
- }
- },
- "array-slice": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz",
- "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==",
- "dev": true
- },
- "array-sort": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/array-sort/-/array-sort-1.0.0.tgz",
- "integrity": "sha512-ihLeJkonmdiAsD7vpgN3CRcx2J2S0TiYW+IS/5zHBI7mKUq3ySvBdzzBfD236ubDBQFiiyG3SWCPc+msQ9KoYg==",
- "dev": true,
- "requires": {
- "default-compare": "^1.0.0",
- "get-value": "^2.0.6",
- "kind-of": "^5.0.2"
- },
- "dependencies": {
- "kind-of": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
- "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
- "dev": true
- }
- }
- },
- "array-union": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
- "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
- "dev": true
- },
- "array-unique": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
- "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
- "dev": true
- },
- "asap": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
- "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=",
- "dev": true,
- "optional": true
- },
- "asn1": {
- "version": "0.2.4",
- "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
- "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==",
- "dev": true,
- "optional": true,
- "requires": {
- "safer-buffer": "~2.1.0"
- }
- },
- "assert-plus": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
- "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
- "dev": true,
- "optional": true
- },
- "assign-symbols": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
- "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
- "dev": true
- },
- "async-done": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/async-done/-/async-done-1.3.2.tgz",
- "integrity": "sha512-uYkTP8dw2og1tu1nmza1n1CMW0qb8gWWlwqMmLb7MhBVs4BXrFziT6HXUd+/RlRA/i4H9AkofYloUbs1fwMqlw==",
- "dev": true,
- "requires": {
- "end-of-stream": "^1.1.0",
- "once": "^1.3.2",
- "process-nextick-args": "^2.0.0",
- "stream-exhaust": "^1.0.1"
- }
- },
- "async-each": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz",
- "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==",
- "dev": true
- },
- "async-settle": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/async-settle/-/async-settle-1.0.0.tgz",
- "integrity": "sha1-HQqRS7Aldb7IqPOnTlCA9yssDGs=",
- "dev": true,
- "requires": {
- "async-done": "^1.2.2"
- }
- },
- "asynckit": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
- "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
- "dev": true,
- "optional": true
- },
- "atob": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
- "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==",
- "dev": true
- },
- "autoprefixer": {
- "version": "9.8.0",
- "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.0.tgz",
- "integrity": "sha512-D96ZiIHXbDmU02dBaemyAg53ez+6F5yZmapmgKcjm35yEe1uVDYI8hGW3VYoGRaG290ZFf91YxHrR518vC0u/A==",
- "dev": true,
- "requires": {
- "browserslist": "^4.12.0",
- "caniuse-lite": "^1.0.30001061",
- "chalk": "^2.4.2",
- "normalize-range": "^0.1.2",
- "num2fraction": "^1.2.2",
- "postcss": "^7.0.30",
- "postcss-value-parser": "^4.1.0"
- }
- },
- "aws-sign2": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
- "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=",
- "dev": true,
- "optional": true
- },
- "aws4": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.10.0.tgz",
- "integrity": "sha512-3YDiu347mtVtjpyV3u5kVqQLP242c06zwDOgpeRnybmXlYYsLbtTrUBUm8i8srONt+FWobl5aibnU1030PeeuA==",
- "dev": true,
- "optional": true
- },
- "bach": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/bach/-/bach-1.2.0.tgz",
- "integrity": "sha1-Szzpa/JxNPeaG0FKUcFONMO9mIA=",
- "dev": true,
- "requires": {
- "arr-filter": "^1.1.1",
- "arr-flatten": "^1.0.1",
- "arr-map": "^2.0.0",
- "array-each": "^1.0.0",
- "array-initial": "^1.0.0",
- "array-last": "^1.1.1",
- "async-done": "^1.2.2",
- "async-settle": "^1.0.0",
- "now-and-later": "^2.0.0"
- }
- },
- "balanced-match": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
- "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
- "dev": true
- },
- "base": {
- "version": "0.11.2",
- "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
- "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
- "dev": true,
- "requires": {
- "cache-base": "^1.0.1",
- "class-utils": "^0.3.5",
- "component-emitter": "^1.2.1",
- "define-property": "^1.0.0",
- "isobject": "^3.0.1",
- "mixin-deep": "^1.2.0",
- "pascalcase": "^0.1.1"
- },
- "dependencies": {
- "define-property": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
- "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
- "dev": true,
- "requires": {
- "is-descriptor": "^1.0.0"
- }
- },
- "is-accessor-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
- "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
- "dev": true,
- "requires": {
- "kind-of": "^6.0.0"
- }
- },
- "is-data-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
- "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
- "dev": true,
- "requires": {
- "kind-of": "^6.0.0"
- }
- },
- "is-descriptor": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
- "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
- "dev": true,
- "requires": {
- "is-accessor-descriptor": "^1.0.0",
- "is-data-descriptor": "^1.0.0",
- "kind-of": "^6.0.2"
- }
- }
- }
- },
- "base64-js": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz",
- "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==",
- "dev": true,
- "optional": true
- },
- "bcrypt-pbkdf": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
- "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
- "dev": true,
- "optional": true,
- "requires": {
- "tweetnacl": "^0.14.3"
- }
- },
- "bin-build": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/bin-build/-/bin-build-3.0.0.tgz",
- "integrity": "sha512-jcUOof71/TNAI2uM5uoUaDq2ePcVBQ3R/qhxAz1rX7UfvduAL/RXD3jXzvn8cVcDJdGVkiR1shal3OH0ImpuhA==",
- "dev": true,
- "optional": true,
- "requires": {
- "decompress": "^4.0.0",
- "download": "^6.2.2",
- "execa": "^0.7.0",
- "p-map-series": "^1.0.0",
- "tempfile": "^2.0.0"
- },
- "dependencies": {
- "cross-spawn": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz",
- "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=",
- "dev": true,
- "optional": true,
- "requires": {
- "lru-cache": "^4.0.1",
- "shebang-command": "^1.2.0",
- "which": "^1.2.9"
- }
- },
- "execa": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz",
- "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=",
- "dev": true,
- "optional": true,
- "requires": {
- "cross-spawn": "^5.0.1",
- "get-stream": "^3.0.0",
- "is-stream": "^1.1.0",
- "npm-run-path": "^2.0.0",
- "p-finally": "^1.0.0",
- "signal-exit": "^3.0.0",
- "strip-eof": "^1.0.0"
- }
- },
- "get-stream": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz",
- "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=",
- "dev": true,
- "optional": true
- },
- "tempfile": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/tempfile/-/tempfile-2.0.0.tgz",
- "integrity": "sha1-awRGhWqbERTRhW/8vlCczLCXcmU=",
- "dev": true,
- "optional": true,
- "requires": {
- "temp-dir": "^1.0.0",
- "uuid": "^3.0.1"
- }
- },
- "uuid": {
- "version": "3.4.0",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
- "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
- "dev": true,
- "optional": true
- }
- }
- },
- "bin-check": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/bin-check/-/bin-check-4.1.0.tgz",
- "integrity": "sha512-b6weQyEUKsDGFlACWSIOfveEnImkJyK/FGW6FAG42loyoquvjdtOIqO6yBFzHyqyVVhNgNkQxxx09SFLK28YnA==",
- "dev": true,
- "optional": true,
- "requires": {
- "execa": "^0.7.0",
- "executable": "^4.1.0"
- },
- "dependencies": {
- "cross-spawn": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz",
- "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=",
- "dev": true,
- "optional": true,
- "requires": {
- "lru-cache": "^4.0.1",
- "shebang-command": "^1.2.0",
- "which": "^1.2.9"
- }
- },
- "execa": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz",
- "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=",
- "dev": true,
- "optional": true,
- "requires": {
- "cross-spawn": "^5.0.1",
- "get-stream": "^3.0.0",
- "is-stream": "^1.1.0",
- "npm-run-path": "^2.0.0",
- "p-finally": "^1.0.0",
- "signal-exit": "^3.0.0",
- "strip-eof": "^1.0.0"
- }
- },
- "get-stream": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz",
- "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=",
- "dev": true,
- "optional": true
- }
- }
- },
- "bin-version": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/bin-version/-/bin-version-3.1.0.tgz",
- "integrity": "sha512-Mkfm4iE1VFt4xd4vH+gx+0/71esbfus2LsnCGe8Pi4mndSPyT+NGES/Eg99jx8/lUGWfu3z2yuB/bt5UB+iVbQ==",
- "dev": true,
- "optional": true,
- "requires": {
- "execa": "^1.0.0",
- "find-versions": "^3.0.0"
- }
- },
- "bin-version-check": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/bin-version-check/-/bin-version-check-4.0.0.tgz",
- "integrity": "sha512-sR631OrhC+1f8Cvs8WyVWOA33Y8tgwjETNPyyD/myRBXLkfS/vl74FmH/lFcRl9KY3zwGh7jFhvyk9vV3/3ilQ==",
- "dev": true,
- "optional": true,
- "requires": {
- "bin-version": "^3.0.0",
- "semver": "^5.6.0",
- "semver-truncate": "^1.1.2"
- }
- },
- "bin-wrapper": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/bin-wrapper/-/bin-wrapper-4.1.0.tgz",
- "integrity": "sha512-hfRmo7hWIXPkbpi0ZltboCMVrU+0ClXR/JgbCKKjlDjQf6igXa7OwdqNcFWQZPZTgiY7ZpzE3+LjjkLiTN2T7Q==",
- "dev": true,
- "optional": true,
- "requires": {
- "bin-check": "^4.1.0",
- "bin-version-check": "^4.0.0",
- "download": "^7.1.0",
- "import-lazy": "^3.1.0",
- "os-filter-obj": "^2.0.0",
- "pify": "^4.0.1"
- },
- "dependencies": {
- "download": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/download/-/download-7.1.0.tgz",
- "integrity": "sha512-xqnBTVd/E+GxJVrX5/eUJiLYjCGPwMpdL+jGhGU57BvtcA7wwhtHVbXBeUk51kOpW3S7Jn3BQbN9Q1R1Km2qDQ==",
- "dev": true,
- "optional": true,
- "requires": {
- "archive-type": "^4.0.0",
- "caw": "^2.0.1",
- "content-disposition": "^0.5.2",
- "decompress": "^4.2.0",
- "ext-name": "^5.0.0",
- "file-type": "^8.1.0",
- "filenamify": "^2.0.0",
- "get-stream": "^3.0.0",
- "got": "^8.3.1",
- "make-dir": "^1.2.0",
- "p-event": "^2.1.0",
- "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,
- "optional": true
- }
- }
- },
- "file-type": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/file-type/-/file-type-8.1.0.tgz",
- "integrity": "sha512-qyQ0pzAy78gVoJsmYeNgl8uH8yKhr1lVhW7JbzJmnlRi0I4R2eEDEJZVKG8agpDnLpacwNbDhLNG/LMdxHD2YQ==",
- "dev": true,
- "optional": true
- },
- "get-stream": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz",
- "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=",
- "dev": true,
- "optional": true
- },
- "got": {
- "version": "8.3.2",
- "resolved": "https://registry.npmjs.org/got/-/got-8.3.2.tgz",
- "integrity": "sha512-qjUJ5U/hawxosMryILofZCkm3C84PLJS/0grRIpjAwu+Lkxxj5cxeCU25BG0/3mDSpXKTyZr8oh8wIgLaH0QCw==",
- "dev": true,
- "optional": true,
- "requires": {
- "@sindresorhus/is": "^0.7.0",
- "cacheable-request": "^2.1.1",
- "decompress-response": "^3.3.0",
- "duplexer3": "^0.1.4",
- "get-stream": "^3.0.0",
- "into-stream": "^3.1.0",
- "is-retry-allowed": "^1.1.0",
- "isurl": "^1.0.0-alpha5",
- "lowercase-keys": "^1.0.0",
- "mimic-response": "^1.0.0",
- "p-cancelable": "^0.4.0",
- "p-timeout": "^2.0.1",
- "pify": "^3.0.0",
- "safe-buffer": "^5.1.1",
- "timed-out": "^4.0.1",
- "url-parse-lax": "^3.0.0",
- "url-to-options": "^1.0.1"
- },
- "dependencies": {
- "pify": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
- "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
- "dev": true,
- "optional": true
- }
- }
- },
- "make-dir": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz",
- "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==",
- "dev": true,
- "optional": true,
- "requires": {
- "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,
- "optional": true
- }
- }
- },
- "p-cancelable": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.4.1.tgz",
- "integrity": "sha512-HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ==",
- "dev": true,
- "optional": true
- },
- "p-event": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/p-event/-/p-event-2.3.1.tgz",
- "integrity": "sha512-NQCqOFhbpVTMX4qMe8PF8lbGtzZ+LCiN7pcNrb/413Na7+TRoe1xkKUzuWa/YEJdGQ0FvKtj35EEbDoVPO2kbA==",
- "dev": true,
- "optional": true,
- "requires": {
- "p-timeout": "^2.0.1"
- }
- },
- "p-timeout": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-2.0.1.tgz",
- "integrity": "sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==",
- "dev": true,
- "optional": true,
- "requires": {
- "p-finally": "^1.0.0"
- }
- },
- "pify": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
- "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
- "dev": true,
- "optional": true
- },
- "prepend-http": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz",
- "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=",
- "dev": true,
- "optional": true
- },
- "url-parse-lax": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz",
- "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=",
- "dev": true,
- "optional": true,
- "requires": {
- "prepend-http": "^2.0.0"
- }
- }
- }
- },
- "binary-extensions": {
- "version": "1.13.1",
- "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz",
- "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==",
- "dev": true
- },
- "bindings": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz",
- "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==",
- "dev": true,
- "optional": true,
- "requires": {
- "file-uri-to-path": "1.0.0"
- }
- },
- "bl": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz",
- "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==",
- "dev": true,
- "optional": true,
- "requires": {
- "readable-stream": "^2.3.5",
- "safe-buffer": "^5.1.1"
- }
- },
- "boolbase": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
- "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=",
- "dev": true,
- "optional": true
- },
- "bootstrap": {
- "version": "3.4.1",
- "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-3.4.1.tgz",
- "integrity": "sha512-yN5oZVmRCwe5aKwzRj6736nSmKDX7pLYwsXiCj/EYmo16hODaBiT4En5btW/jhBF/seV+XMx3aYwukYC3A49DA=="
- },
- "brace-expansion": {
- "version": "1.1.11",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
- "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
- "dev": true,
- "requires": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "braces": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
- "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
- "dev": true,
- "requires": {
- "arr-flatten": "^1.1.0",
- "array-unique": "^0.3.2",
- "extend-shallow": "^2.0.1",
- "fill-range": "^4.0.0",
- "isobject": "^3.0.1",
- "repeat-element": "^1.1.2",
- "snapdragon": "^0.8.1",
- "snapdragon-node": "^2.0.1",
- "split-string": "^3.0.2",
- "to-regex": "^3.0.1"
- },
- "dependencies": {
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "dev": true,
- "requires": {
- "is-extendable": "^0.1.0"
- }
- }
- }
- },
- "browserslist": {
- "version": "4.12.0",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.12.0.tgz",
- "integrity": "sha512-UH2GkcEDSI0k/lRkuDSzFl9ZZ87skSy9w2XAn1MsZnL+4c4rqbBd3e82UWHbYDpztABrPBhZsTEeuxVfHppqDg==",
- "dev": true,
- "requires": {
- "caniuse-lite": "^1.0.30001043",
- "electron-to-chromium": "^1.3.413",
- "node-releases": "^1.1.53",
- "pkg-up": "^2.0.0"
- }
- },
- "buffer": {
- "version": "5.6.0",
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.6.0.tgz",
- "integrity": "sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw==",
- "dev": true,
- "optional": true,
- "requires": {
- "base64-js": "^1.0.2",
- "ieee754": "^1.1.4"
- }
- },
- "buffer-alloc": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz",
- "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==",
- "dev": true,
- "optional": true,
- "requires": {
- "buffer-alloc-unsafe": "^1.1.0",
- "buffer-fill": "^1.0.0"
- }
- },
- "buffer-alloc-unsafe": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz",
- "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==",
- "dev": true,
- "optional": true
- },
- "buffer-crc32": {
- "version": "0.2.13",
- "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
- "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=",
- "dev": true,
- "optional": true
- },
- "buffer-equal": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.0.tgz",
- "integrity": "sha1-WWFrSYME1Var1GaWayLu2j7KX74=",
- "dev": true
- },
- "buffer-fill": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz",
- "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=",
- "dev": true,
- "optional": true
- },
- "buffer-from": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
- "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==",
- "dev": true
- },
- "cache-base": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
- "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
- "dev": true,
- "requires": {
- "collection-visit": "^1.0.0",
- "component-emitter": "^1.2.1",
- "get-value": "^2.0.6",
- "has-value": "^1.0.0",
- "isobject": "^3.0.1",
- "set-value": "^2.0.0",
- "to-object-path": "^0.3.0",
- "union-value": "^1.0.0",
- "unset-value": "^1.0.0"
- }
- },
- "cacheable-request": {
- "version": "2.1.4",
- "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-2.1.4.tgz",
- "integrity": "sha1-DYCIAbY0KtM8kd+dC0TcCbkeXD0=",
- "dev": true,
- "optional": true,
- "requires": {
- "clone-response": "1.0.2",
- "get-stream": "3.0.0",
- "http-cache-semantics": "3.8.1",
- "keyv": "3.0.0",
- "lowercase-keys": "1.0.0",
- "normalize-url": "2.0.1",
- "responselike": "1.0.2"
- },
- "dependencies": {
- "get-stream": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz",
- "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=",
- "dev": true,
- "optional": true
- },
- "lowercase-keys": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz",
- "integrity": "sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=",
- "dev": true,
- "optional": true
- }
- }
- },
- "camelcase": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz",
- "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=",
- "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.0.0",
- "map-obj": "^1.0.0"
- },
- "dependencies": {
- "camelcase": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz",
- "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=",
- "dev": true
- }
- }
- },
- "caniuse-lite": {
- "version": "1.0.30001077",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001077.tgz",
- "integrity": "sha512-AEzsGvjBJL0lby/87W96PyEvwN0GsYvk5LHsglLg9tW37K4BqvAvoSCdWIE13OZQ8afupqZ73+oL/1LkedN8hA==",
- "dev": true
- },
- "caseless": {
- "version": "0.12.0",
- "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
- "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
- "dev": true,
- "optional": true
- },
- "caw": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/caw/-/caw-2.0.1.tgz",
- "integrity": "sha512-Cg8/ZSBEa8ZVY9HspcGUYaK63d/bN7rqS3CYCzEGUxuYv6UlmcjzDUz2fCFFHyTvUW5Pk0I+3hkA3iXlIj6guA==",
- "dev": true,
- "optional": true,
- "requires": {
- "get-proxy": "^2.0.0",
- "isurl": "^1.0.0-alpha5",
- "tunnel-agent": "^0.6.0",
- "url-to-options": "^1.0.1"
- }
- },
- "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.3",
- "lazy-cache": "^1.0.3"
- }
- },
- "chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
- "dev": true,
- "requires": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- }
- },
- "chokidar": {
- "version": "2.1.8",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz",
- "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==",
- "dev": true,
- "requires": {
- "anymatch": "^2.0.0",
- "async-each": "^1.0.1",
- "braces": "^2.3.2",
- "fsevents": "^1.2.7",
- "glob-parent": "^3.1.0",
- "inherits": "^2.0.3",
- "is-binary-path": "^1.0.0",
- "is-glob": "^4.0.0",
- "normalize-path": "^3.0.0",
- "path-is-absolute": "^1.0.0",
- "readdirp": "^2.2.1",
- "upath": "^1.1.1"
- },
- "dependencies": {
- "normalize-path": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
- "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
- "dev": true
- }
- }
- },
- "class-utils": {
- "version": "0.3.6",
- "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
- "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
- "dev": true,
- "requires": {
- "arr-union": "^3.1.0",
- "define-property": "^0.2.5",
- "isobject": "^3.0.0",
- "static-extend": "^0.1.1"
- },
- "dependencies": {
- "define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "dev": true,
- "requires": {
- "is-descriptor": "^0.1.0"
- }
- }
- }
- },
- "clean-css": {
- "version": "3.4.28",
- "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-3.4.28.tgz",
- "integrity": "sha1-vxlF6C/ICPVWlebd6uwBQA79A/8=",
- "dev": true,
- "requires": {
- "commander": "2.8.x",
- "source-map": "0.4.x"
- },
- "dependencies": {
- "commander": {
- "version": "2.8.1",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz",
- "integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=",
- "dev": true,
- "requires": {
- "graceful-readlink": ">= 1.0.0"
- }
- },
- "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": ">=0.0.4"
- }
- }
- }
- },
- "cli": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/cli/-/cli-1.0.1.tgz",
- "integrity": "sha1-IoF1NPJL+klQw01TLUjsvGIbjBQ=",
- "dev": true,
- "requires": {
- "exit": "0.1.2",
- "glob": "^7.1.1"
- }
- },
- "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.1",
- "strip-ansi": "^3.0.1",
- "wrap-ansi": "^2.0.0"
- }
- },
- "clone": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz",
- "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=",
- "dev": true
- },
- "clone-buffer": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz",
- "integrity": "sha1-4+JbIHrE5wGvch4staFnksrD3Fg=",
- "dev": true
- },
- "clone-response": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz",
- "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=",
- "dev": true,
- "optional": true,
- "requires": {
- "mimic-response": "^1.0.0"
- }
- },
- "clone-stats": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz",
- "integrity": "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=",
- "dev": true
- },
- "cloneable-readable": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.3.tgz",
- "integrity": "sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ==",
- "dev": true,
- "requires": {
- "inherits": "^2.0.1",
- "process-nextick-args": "^2.0.0",
- "readable-stream": "^2.3.5"
- }
- },
- "coa": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz",
- "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==",
- "dev": true,
- "optional": true,
- "requires": {
- "@types/q": "^1.5.1",
- "chalk": "^2.4.1",
- "q": "^1.1.2"
- }
- },
- "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
- },
- "collection-map": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/collection-map/-/collection-map-1.0.0.tgz",
- "integrity": "sha1-rqDwb40mx4DCt1SUOFVEsiVa8Yw=",
- "dev": true,
- "requires": {
- "arr-map": "^2.0.2",
- "for-own": "^1.0.0",
- "make-iterator": "^1.0.0"
- }
- },
- "collection-visit": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
- "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
- "dev": true,
- "requires": {
- "map-visit": "^1.0.0",
- "object-visit": "^1.0.0"
- }
- },
- "color-convert": {
- "version": "1.9.3",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
- "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
- "dev": true,
- "requires": {
- "color-name": "1.1.3"
- }
- },
- "color-name": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
- "dev": true
- },
- "color-support": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz",
- "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==",
- "dev": true
- },
- "combined-stream": {
- "version": "1.0.8",
- "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
- "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
- "dev": true,
- "optional": true,
- "requires": {
- "delayed-stream": "~1.0.0"
- }
- },
- "commander": {
- "version": "2.20.3",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
- "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ=="
- },
- "component-emitter": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
- "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==",
- "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
- },
- "concat-stream": {
- "version": "1.6.2",
- "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
- "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
- "dev": true,
- "requires": {
- "buffer-from": "^1.0.0",
- "inherits": "^2.0.3",
- "readable-stream": "^2.2.2",
- "typedarray": "^0.0.6"
- }
- },
- "concat-with-sourcemaps": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/concat-with-sourcemaps/-/concat-with-sourcemaps-1.1.0.tgz",
- "integrity": "sha512-4gEjHJFT9e+2W/77h/DS5SGUgwDaOwprX8L/gl5+3ixnzkVJJsZWDSelmN3Oilw3LNDZjZV0yqH1hLG3k6nghg==",
- "dev": true,
- "requires": {
- "source-map": "^0.6.1"
- }
- },
- "config-chain": {
- "version": "1.1.12",
- "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.12.tgz",
- "integrity": "sha512-a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA==",
- "dev": true,
- "optional": true,
- "requires": {
- "ini": "^1.3.4",
- "proto-list": "~1.2.1"
- }
- },
- "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-stream": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/console-stream/-/console-stream-0.1.1.tgz",
- "integrity": "sha1-oJX+B7IEZZVfL6/Si11yvM2UnUQ=",
- "dev": true,
- "optional": true
- },
- "content-disposition": {
- "version": "0.5.3",
- "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz",
- "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==",
- "dev": true,
- "optional": true,
- "requires": {
- "safe-buffer": "5.1.2"
- }
- },
- "convert-source-map": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz",
- "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==",
- "dev": true,
- "requires": {
- "safe-buffer": "~5.1.1"
- }
- },
- "copy-descriptor": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
- "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=",
- "dev": true
- },
- "copy-props": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/copy-props/-/copy-props-2.0.4.tgz",
- "integrity": "sha512-7cjuUME+p+S3HZlbllgsn2CDwS+5eCCX16qBgNC4jgSTf49qR1VKy/Zhl400m0IQXl/bPGEVqncgUUMjrr4s8A==",
- "dev": true,
- "requires": {
- "each-props": "^1.3.0",
- "is-plain-object": "^2.0.1"
- }
- },
- "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
- },
- "cross-spawn": {
- "version": "6.0.5",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
- "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
- "dev": true,
- "optional": true,
- "requires": {
- "nice-try": "^1.0.4",
- "path-key": "^2.0.1",
- "semver": "^5.5.0",
- "shebang-command": "^1.2.0",
- "which": "^1.2.9"
- }
- },
- "css-select": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz",
- "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==",
- "dev": true,
- "optional": true,
- "requires": {
- "boolbase": "^1.0.0",
- "css-what": "^3.2.1",
- "domutils": "^1.7.0",
- "nth-check": "^1.0.2"
- }
- },
- "css-select-base-adapter": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz",
- "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==",
- "dev": true,
- "optional": true
- },
- "css-tree": {
- "version": "1.0.0-alpha.37",
- "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz",
- "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==",
- "dev": true,
- "optional": true,
- "requires": {
- "mdn-data": "2.0.4",
- "source-map": "^0.6.1"
- }
- },
- "css-what": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.3.0.tgz",
- "integrity": "sha512-pv9JPyatiPaQ6pf4OvD/dbfm0o5LviWmwxNWzblYf/1u9QZd0ihV+PMwy5jdQWQ3349kZmKEx9WXuSka2dM4cg==",
- "dev": true,
- "optional": true
- },
- "csslint": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/csslint/-/csslint-1.0.5.tgz",
- "integrity": "sha1-Gcw+2jIhYP0/cjKvHLKjYOiYouk=",
- "dev": true,
- "requires": {
- "clone": "~2.1.0",
- "parserlib": "~1.1.1"
- }
- },
- "csso": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/csso/-/csso-4.0.3.tgz",
- "integrity": "sha512-NL3spysxUkcrOgnpsT4Xdl2aiEiBG6bXswAABQVHcMrfjjBisFOKwLDOmf4wf32aPdcJws1zds2B0Rg+jqMyHQ==",
- "dev": true,
- "optional": true,
- "requires": {
- "css-tree": "1.0.0-alpha.39"
- },
- "dependencies": {
- "css-tree": {
- "version": "1.0.0-alpha.39",
- "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.39.tgz",
- "integrity": "sha512-7UvkEYgBAHRG9Nt980lYxjsTrCyHFN53ky3wVsDkiMdVqylqRt+Zc+jm5qw7/qyOvN2dHSYtX0e4MbCCExSvnA==",
- "dev": true,
- "optional": true,
- "requires": {
- "mdn-data": "2.0.6",
- "source-map": "^0.6.1"
- }
- },
- "mdn-data": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.6.tgz",
- "integrity": "sha512-rQvjv71olwNHgiTbfPZFkJtjNMciWgswYeciZhtvWLO8bmX3TnhyA62I6sTWOyZssWHJJjY6/KiWwqQsWWsqOA==",
- "dev": true,
- "optional": true
- }
- }
- },
- "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.1"
- }
- },
- "d": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz",
- "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==",
- "dev": true,
- "requires": {
- "es5-ext": "^0.10.50",
- "type": "^1.0.1"
- }
- },
- "dashdash": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
- "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
- "dev": true,
- "optional": true,
- "requires": {
- "assert-plus": "^1.0.0"
- }
- },
- "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.3.0"
- }
- },
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "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
- },
- "decode-uri-component": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
- "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
- "dev": true
- },
- "decompress": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.1.tgz",
- "integrity": "sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ==",
- "dev": true,
- "optional": true,
- "requires": {
- "decompress-tar": "^4.0.0",
- "decompress-tarbz2": "^4.0.0",
- "decompress-targz": "^4.0.0",
- "decompress-unzip": "^4.0.1",
- "graceful-fs": "^4.1.10",
- "make-dir": "^1.0.0",
- "pify": "^2.3.0",
- "strip-dirs": "^2.0.0"
- },
- "dependencies": {
- "make-dir": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz",
- "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==",
- "dev": true,
- "optional": true,
- "requires": {
- "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,
- "optional": true
- }
- }
- }
- }
- },
- "decompress-response": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz",
- "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=",
- "dev": true,
- "optional": true,
- "requires": {
- "mimic-response": "^1.0.0"
- }
- },
- "decompress-tar": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz",
- "integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==",
- "dev": true,
- "optional": true,
- "requires": {
- "file-type": "^5.2.0",
- "is-stream": "^1.1.0",
- "tar-stream": "^1.5.2"
- },
- "dependencies": {
- "file-type": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz",
- "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=",
- "dev": true,
- "optional": true
- }
- }
- },
- "decompress-tarbz2": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz",
- "integrity": "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==",
- "dev": true,
- "optional": true,
- "requires": {
- "decompress-tar": "^4.1.0",
- "file-type": "^6.1.0",
- "is-stream": "^1.1.0",
- "seek-bzip": "^1.0.5",
- "unbzip2-stream": "^1.0.9"
- },
- "dependencies": {
- "file-type": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz",
- "integrity": "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==",
- "dev": true,
- "optional": true
- }
- }
- },
- "decompress-targz": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz",
- "integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==",
- "dev": true,
- "optional": true,
- "requires": {
- "decompress-tar": "^4.1.1",
- "file-type": "^5.2.0",
- "is-stream": "^1.1.0"
- },
- "dependencies": {
- "file-type": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz",
- "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=",
- "dev": true,
- "optional": true
- }
- }
- },
- "decompress-unzip": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz",
- "integrity": "sha1-3qrM39FK6vhVePczroIQ+bSEj2k=",
- "dev": true,
- "optional": true,
- "requires": {
- "file-type": "^3.8.0",
- "get-stream": "^2.2.0",
- "pify": "^2.3.0",
- "yauzl": "^2.4.2"
- },
- "dependencies": {
- "file-type": {
- "version": "3.9.0",
- "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz",
- "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=",
- "dev": true,
- "optional": true
- },
- "get-stream": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz",
- "integrity": "sha1-Xzj5PzRgCWZu4BUKBUFn+Rvdld4=",
- "dev": true,
- "optional": true,
- "requires": {
- "object-assign": "^4.0.1",
- "pinkie-promise": "^2.0.0"
- }
- }
- }
- },
- "default-compare": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/default-compare/-/default-compare-1.0.0.tgz",
- "integrity": "sha512-QWfXlM0EkAbqOCbD/6HjdwT19j7WCkMyiRhWilc4H9/5h/RzTF9gv5LYh1+CmDV5d1rki6KAWLtQale0xt20eQ==",
- "dev": true,
- "requires": {
- "kind-of": "^5.0.2"
- },
- "dependencies": {
- "kind-of": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
- "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
- "dev": true
- }
- }
- },
- "default-resolution": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/default-resolution/-/default-resolution-2.0.0.tgz",
- "integrity": "sha1-vLgrqnKtebQmp2cy8aga1t8m1oQ=",
- "dev": true
- },
- "define-properties": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
- "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
- "dev": true,
- "requires": {
- "object-keys": "^1.0.12"
- }
- },
- "define-property": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
- "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
- "dev": true,
- "requires": {
- "is-descriptor": "^1.0.2",
- "isobject": "^3.0.1"
- },
- "dependencies": {
- "is-accessor-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
- "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
- "dev": true,
- "requires": {
- "kind-of": "^6.0.0"
- }
- },
- "is-data-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
- "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
- "dev": true,
- "requires": {
- "kind-of": "^6.0.0"
- }
- },
- "is-descriptor": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
- "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
- "dev": true,
- "requires": {
- "is-accessor-descriptor": "^1.0.0",
- "is-data-descriptor": "^1.0.0",
- "kind-of": "^6.0.2"
- }
- }
- }
- },
- "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,
- "optional": true
- },
- "desandro-matches-selector": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/desandro-matches-selector/-/desandro-matches-selector-2.0.2.tgz",
- "integrity": "sha1-cXvu1NwT59jzdi9wem1YpndCGOE="
- },
- "detect-file": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz",
- "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=",
- "dev": true
- },
- "dir-glob": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
- "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
- "dev": true,
- "requires": {
- "path-type": "^4.0.0"
- },
- "dependencies": {
- "path-type": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
- "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
- "dev": true
- }
- }
- },
- "dom-serializer": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz",
- "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==",
- "dev": true,
- "requires": {
- "domelementtype": "^2.0.1",
- "entities": "^2.0.0"
- },
- "dependencies": {
- "domelementtype": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.0.1.tgz",
- "integrity": "sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ==",
- "dev": true
- }
- }
- },
- "domelementtype": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz",
- "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==",
- "dev": true
- },
- "domhandler": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz",
- "integrity": "sha1-LeWaCCLVAn+r/28DLCsloqir5zg=",
- "dev": true,
- "requires": {
- "domelementtype": "1"
- }
- },
- "domutils": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz",
- "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==",
- "dev": true,
- "optional": true,
- "requires": {
- "dom-serializer": "0",
- "domelementtype": "1"
- }
- },
- "download": {
- "version": "6.2.5",
- "resolved": "https://registry.npmjs.org/download/-/download-6.2.5.tgz",
- "integrity": "sha512-DpO9K1sXAST8Cpzb7kmEhogJxymyVUd5qz/vCOSyvwtp2Klj2XcDt5YUuasgxka44SxF0q5RriKIwJmQHG2AuA==",
- "dev": true,
- "optional": true,
- "requires": {
- "caw": "^2.0.0",
- "content-disposition": "^0.5.2",
- "decompress": "^4.0.0",
- "ext-name": "^5.0.0",
- "file-type": "5.2.0",
- "filenamify": "^2.0.0",
- "get-stream": "^3.0.0",
- "got": "^7.0.0",
- "make-dir": "^1.0.0",
- "p-event": "^1.0.0",
- "pify": "^3.0.0"
- },
- "dependencies": {
- "file-type": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz",
- "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=",
- "dev": true,
- "optional": true
- },
- "get-stream": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz",
- "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=",
- "dev": true,
- "optional": true
- },
- "make-dir": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz",
- "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==",
- "dev": true,
- "optional": true,
- "requires": {
- "pify": "^3.0.0"
- }
- },
- "pify": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
- "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
- "dev": true,
- "optional": true
- }
- }
- },
- "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.9"
- },
- "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.0",
- "inherits": "~2.0.1",
- "isarray": "0.0.1",
- "string_decoder": "~0.10.x"
- }
- },
- "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
- }
- }
- },
- "duplexer3": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz",
- "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=",
- "dev": true,
- "optional": true
- },
- "duplexify": {
- "version": "3.7.1",
- "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz",
- "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==",
- "dev": true,
- "requires": {
- "end-of-stream": "^1.0.0",
- "inherits": "^2.0.1",
- "readable-stream": "^2.0.0",
- "stream-shift": "^1.0.0"
- }
- },
- "each-props": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/each-props/-/each-props-1.3.2.tgz",
- "integrity": "sha512-vV0Hem3zAGkJAyU7JSjixeU66rwdynTAa1vofCrSA5fEln+m67Az9CcnkVD776/fsN/UjIWmBDoNRS6t6G9RfA==",
- "dev": true,
- "requires": {
- "is-plain-object": "^2.0.1",
- "object.defaults": "^1.1.0"
- }
- },
- "ecc-jsbn": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
- "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
- "dev": true,
- "optional": true,
- "requires": {
- "jsbn": "~0.1.0",
- "safer-buffer": "^2.1.0"
- }
- },
- "electron-to-chromium": {
- "version": "1.3.458",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.458.tgz",
- "integrity": "sha512-OjRkb0igW0oKE2QbzS7vBYrm7xjW/KRTtIj0OGGx57jr/YhBiKb7oZvdbaojqjfCb/7LbnwsbMbdsYjthdJbAw==",
- "dev": true
- },
- "end-of-stream": {
- "version": "1.4.4",
- "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
- "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
- "dev": true,
- "requires": {
- "once": "^1.4.0"
- }
- },
- "entities": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.2.tgz",
- "integrity": "sha512-dmD3AvJQBUjKpcNkoqr+x+IF0SdRtPz9Vk0uTy4yWqga9ibB6s4v++QFWNohjiUGoMlF552ZvNyXDxz5iW0qmw==",
- "dev": true
- },
- "errno": {
- "version": "0.1.7",
- "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz",
- "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==",
- "dev": true,
- "optional": true,
- "requires": {
- "prr": "~1.0.1"
- }
- },
- "error-ex": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
- "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
- "dev": true,
- "requires": {
- "is-arrayish": "^0.2.1"
- }
- },
- "es-abstract": {
- "version": "1.17.5",
- "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz",
- "integrity": "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==",
- "dev": true,
- "requires": {
- "es-to-primitive": "^1.2.1",
- "function-bind": "^1.1.1",
- "has": "^1.0.3",
- "has-symbols": "^1.0.1",
- "is-callable": "^1.1.5",
- "is-regex": "^1.0.5",
- "object-inspect": "^1.7.0",
- "object-keys": "^1.1.1",
- "object.assign": "^4.1.0",
- "string.prototype.trimleft": "^2.1.1",
- "string.prototype.trimright": "^2.1.1"
- }
- },
- "es-to-primitive": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
- "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
- "dev": true,
- "requires": {
- "is-callable": "^1.1.4",
- "is-date-object": "^1.0.1",
- "is-symbol": "^1.0.2"
- }
- },
- "es5-ext": {
- "version": "0.10.53",
- "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz",
- "integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==",
- "dev": true,
- "requires": {
- "es6-iterator": "~2.0.3",
- "es6-symbol": "~3.1.3",
- "next-tick": "~1.0.0"
- }
- },
- "es6-iterator": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz",
- "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=",
- "dev": true,
- "requires": {
- "d": "1",
- "es5-ext": "^0.10.35",
- "es6-symbol": "^3.1.1"
- }
- },
- "es6-symbol": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz",
- "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==",
- "dev": true,
- "requires": {
- "d": "^1.0.1",
- "ext": "^1.1.2"
- }
- },
- "es6-weak-map": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz",
- "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==",
- "dev": true,
- "requires": {
- "d": "1",
- "es5-ext": "^0.10.46",
- "es6-iterator": "^2.0.3",
- "es6-symbol": "^3.1.1"
- }
- },
- "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
- },
- "esprima": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
- "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
- "dev": true,
- "optional": true
- },
- "ev-emitter": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/ev-emitter/-/ev-emitter-1.1.1.tgz",
- "integrity": "sha512-ipiDYhdQSCZ4hSbX4rMW+XzNKMD1prg/sTvoVmSLkuQ1MVlwjJQQA+sW8tMYR3BLUr9KjodFV4pvzunvRhd33Q=="
- },
- "exec-buffer": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/exec-buffer/-/exec-buffer-3.2.0.tgz",
- "integrity": "sha512-wsiD+2Tp6BWHoVv3B+5Dcx6E7u5zky+hUwOHjuH2hKSLR3dvRmX8fk8UD8uqQixHs4Wk6eDmiegVrMPjKj7wpA==",
- "dev": true,
- "optional": true,
- "requires": {
- "execa": "^0.7.0",
- "p-finally": "^1.0.0",
- "pify": "^3.0.0",
- "rimraf": "^2.5.4",
- "tempfile": "^2.0.0"
- },
- "dependencies": {
- "cross-spawn": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz",
- "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=",
- "dev": true,
- "optional": true,
- "requires": {
- "lru-cache": "^4.0.1",
- "shebang-command": "^1.2.0",
- "which": "^1.2.9"
- }
- },
- "execa": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz",
- "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=",
- "dev": true,
- "optional": true,
- "requires": {
- "cross-spawn": "^5.0.1",
- "get-stream": "^3.0.0",
- "is-stream": "^1.1.0",
- "npm-run-path": "^2.0.0",
- "p-finally": "^1.0.0",
- "signal-exit": "^3.0.0",
- "strip-eof": "^1.0.0"
- }
- },
- "get-stream": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz",
- "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=",
- "dev": true,
- "optional": true
- },
- "pify": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
- "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
- "dev": true,
- "optional": true
- },
- "tempfile": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/tempfile/-/tempfile-2.0.0.tgz",
- "integrity": "sha1-awRGhWqbERTRhW/8vlCczLCXcmU=",
- "dev": true,
- "optional": true,
- "requires": {
- "temp-dir": "^1.0.0",
- "uuid": "^3.0.1"
- }
- },
- "uuid": {
- "version": "3.4.0",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
- "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
- "dev": true,
- "optional": true
- }
- }
- },
- "execa": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz",
- "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==",
- "dev": true,
- "optional": true,
- "requires": {
- "cross-spawn": "^6.0.0",
- "get-stream": "^4.0.0",
- "is-stream": "^1.1.0",
- "npm-run-path": "^2.0.0",
- "p-finally": "^1.0.0",
- "signal-exit": "^3.0.0",
- "strip-eof": "^1.0.0"
- }
- },
- "executable": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/executable/-/executable-4.1.1.tgz",
- "integrity": "sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==",
- "dev": true,
- "optional": true,
- "requires": {
- "pify": "^2.2.0"
- }
- },
- "exit": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz",
- "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=",
- "dev": true
- },
- "expand-brackets": {
- "version": "2.1.4",
- "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
- "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
- "dev": true,
- "requires": {
- "debug": "^2.3.3",
- "define-property": "^0.2.5",
- "extend-shallow": "^2.0.1",
- "posix-character-classes": "^0.1.0",
- "regex-not": "^1.0.0",
- "snapdragon": "^0.8.1",
- "to-regex": "^3.0.1"
- },
- "dependencies": {
- "define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "dev": true,
- "requires": {
- "is-descriptor": "^0.1.0"
- }
- },
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "dev": true,
- "requires": {
- "is-extendable": "^0.1.0"
- }
- }
- }
- },
- "expand-tilde": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz",
- "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=",
- "dev": true,
- "requires": {
- "homedir-polyfill": "^1.0.1"
- }
- },
- "ext": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/ext/-/ext-1.4.0.tgz",
- "integrity": "sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A==",
- "dev": true,
- "requires": {
- "type": "^2.0.0"
- },
- "dependencies": {
- "type": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/type/-/type-2.0.0.tgz",
- "integrity": "sha512-KBt58xCHry4Cejnc2ISQAF7QY+ORngsWfxezO68+12hKV6lQY8P/psIkcbjeHWn7MqcgciWJyCCevFMJdIXpow==",
- "dev": true
- }
- }
- },
- "ext-list": {
- "version": "2.2.2",
- "resolved": "https://registry.npmjs.org/ext-list/-/ext-list-2.2.2.tgz",
- "integrity": "sha512-u+SQgsubraE6zItfVA0tBuCBhfU9ogSRnsvygI7wht9TS510oLkBRXBsqopeUG/GBOIQyKZO9wjTqIu/sf5zFA==",
- "dev": true,
- "optional": true,
- "requires": {
- "mime-db": "^1.28.0"
- }
- },
- "ext-name": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/ext-name/-/ext-name-5.0.0.tgz",
- "integrity": "sha512-yblEwXAbGv1VQDmow7s38W77hzAgJAO50ztBLMcUyUBfxv1HC+LGwtiEN+Co6LtlqT/5uwVOxsD4TNIilWhwdQ==",
- "dev": true,
- "optional": true,
- "requires": {
- "ext-list": "^2.0.0",
- "sort-keys-length": "^1.0.0"
- }
- },
- "extend": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
- "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
- "dev": true
- },
- "extend-shallow": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
- "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
- "dev": true,
- "requires": {
- "assign-symbols": "^1.0.0",
- "is-extendable": "^1.0.1"
- },
- "dependencies": {
- "is-extendable": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
- "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
- "dev": true,
- "requires": {
- "is-plain-object": "^2.0.4"
- }
- }
- }
- },
- "extglob": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
- "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
- "dev": true,
- "requires": {
- "array-unique": "^0.3.2",
- "define-property": "^1.0.0",
- "expand-brackets": "^2.1.4",
- "extend-shallow": "^2.0.1",
- "fragment-cache": "^0.2.1",
- "regex-not": "^1.0.0",
- "snapdragon": "^0.8.1",
- "to-regex": "^3.0.1"
- },
- "dependencies": {
- "define-property": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
- "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
- "dev": true,
- "requires": {
- "is-descriptor": "^1.0.0"
- }
- },
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "dev": true,
- "requires": {
- "is-extendable": "^0.1.0"
- }
- },
- "is-accessor-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
- "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
- "dev": true,
- "requires": {
- "kind-of": "^6.0.0"
- }
- },
- "is-data-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
- "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
- "dev": true,
- "requires": {
- "kind-of": "^6.0.0"
- }
- },
- "is-descriptor": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
- "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
- "dev": true,
- "requires": {
- "is-accessor-descriptor": "^1.0.0",
- "is-data-descriptor": "^1.0.0",
- "kind-of": "^6.0.2"
- }
- }
- }
- },
- "extsprintf": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
- "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
- "dev": true,
- "optional": true
- },
- "fancy-log": {
- "version": "1.3.3",
- "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.3.tgz",
- "integrity": "sha512-k9oEhlyc0FrVh25qYuSELjr8oxsCoc4/LEZfg2iJJrfEk/tZL9bCoJE47gqAvI2m/AUjluCS4+3I0eTx8n3AEw==",
- "dev": true,
- "requires": {
- "ansi-gray": "^0.1.1",
- "color-support": "^1.1.3",
- "parse-node-version": "^1.0.0",
- "time-stamp": "^1.0.0"
- }
- },
- "fast-deep-equal": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz",
- "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==",
- "dev": true,
- "optional": true
- },
- "fast-glob": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.2.tgz",
- "integrity": "sha512-UDV82o4uQyljznxwMxyVRJgZZt3O5wENYojjzbaGEGZgeOxkLFf+V4cnUD+krzb2F72E18RhamkMZ7AdeggF7A==",
- "dev": true,
- "requires": {
- "@nodelib/fs.stat": "^2.0.2",
- "@nodelib/fs.walk": "^1.2.3",
- "glob-parent": "^5.1.0",
- "merge2": "^1.3.0",
- "micromatch": "^4.0.2",
- "picomatch": "^2.2.1"
- },
- "dependencies": {
- "braces": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
- "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
- "dev": true,
- "requires": {
- "fill-range": "^7.0.1"
- }
- },
- "fill-range": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
- "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
- "dev": true,
- "requires": {
- "to-regex-range": "^5.0.1"
- }
- },
- "glob-parent": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz",
- "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==",
- "dev": true,
- "requires": {
- "is-glob": "^4.0.1"
- }
- },
- "is-number": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
- "dev": true
- },
- "micromatch": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz",
- "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
- "dev": true,
- "requires": {
- "braces": "^3.0.1",
- "picomatch": "^2.0.5"
- }
- },
- "to-regex-range": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
- "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
- "dev": true,
- "requires": {
- "is-number": "^7.0.0"
- }
- }
- }
- },
- "fast-json-stable-stringify": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
- "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
- "dev": true,
- "optional": true
- },
- "fastq": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.8.0.tgz",
- "integrity": "sha512-SMIZoZdLh/fgofivvIkmknUXyPnvxRE3DhtZ5Me3Mrsk5gyPL42F0xr51TdRXskBxHfMp+07bcYzfsYEsSQA9Q==",
- "dev": true,
- "requires": {
- "reusify": "^1.0.4"
- }
- },
- "fd-slicer": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz",
- "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=",
- "dev": true,
- "optional": true,
- "requires": {
- "pend": "~1.2.0"
- }
- },
- "figures": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz",
- "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=",
- "dev": true,
- "optional": true,
- "requires": {
- "escape-string-regexp": "^1.0.5",
- "object-assign": "^4.1.0"
- }
- },
- "file-type": {
- "version": "12.4.2",
- "resolved": "https://registry.npmjs.org/file-type/-/file-type-12.4.2.tgz",
- "integrity": "sha512-UssQP5ZgIOKelfsaB5CuGAL+Y+q7EmONuiwF3N5HAH0t27rvrttgi6Ra9k/+DVaY9UF6+ybxu5pOXLUdA8N7Vg==",
- "dev": true
- },
- "file-uri-to-path": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
- "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==",
- "dev": true,
- "optional": true
- },
- "filename-reserved-regex": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz",
- "integrity": "sha1-q/c9+rc10EVECr/qLZHzieu/oik=",
- "dev": true,
- "optional": true
- },
- "filenamify": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-2.1.0.tgz",
- "integrity": "sha512-ICw7NTT6RsDp2rnYKVd8Fu4cr6ITzGy3+u4vUujPkabyaz+03F24NWEX7fs5fp+kBonlaqPH8fAO2NM+SXt/JA==",
- "dev": true,
- "optional": true,
- "requires": {
- "filename-reserved-regex": "^2.0.0",
- "strip-outer": "^1.0.0",
- "trim-repeated": "^1.0.0"
- }
- },
- "filesize": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/filesize/-/filesize-2.0.4.tgz",
- "integrity": "sha1-eAWUHGD83+Y/RtfqNYxZreEcEyU=",
- "dev": true
- },
- "fill-range": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
- "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
- "dev": true,
- "requires": {
- "extend-shallow": "^2.0.1",
- "is-number": "^3.0.0",
- "repeat-string": "^1.6.1",
- "to-regex-range": "^2.1.0"
- },
- "dependencies": {
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "dev": true,
- "requires": {
- "is-extendable": "^0.1.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.0.0",
- "pinkie-promise": "^2.0.0"
- }
- },
- "find-versions": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-3.2.0.tgz",
- "integrity": "sha512-P8WRou2S+oe222TOCHitLy8zj+SIsVJh52VP4lvXkaFVnOFFdoWv1H1Jjvel1aI6NCFOAaeAVm8qrI0odiLcww==",
- "dev": true,
- "optional": true,
- "requires": {
- "semver-regex": "^2.0.0"
- }
- },
- "findup-sync": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz",
- "integrity": "sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==",
- "dev": true,
- "requires": {
- "detect-file": "^1.0.0",
- "is-glob": "^4.0.0",
- "micromatch": "^3.0.4",
- "resolve-dir": "^1.0.1"
- }
- },
- "fined": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/fined/-/fined-1.2.0.tgz",
- "integrity": "sha512-ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng==",
- "dev": true,
- "requires": {
- "expand-tilde": "^2.0.2",
- "is-plain-object": "^2.0.3",
- "object.defaults": "^1.1.0",
- "object.pick": "^1.2.0",
- "parse-filepath": "^1.0.1"
- }
- },
- "fizzy-ui-utils": {
- "version": "2.0.7",
- "resolved": "https://registry.npmjs.org/fizzy-ui-utils/-/fizzy-ui-utils-2.0.7.tgz",
- "integrity": "sha512-CZXDVXQ1If3/r8s0T+v+qVeMshhfcuq0rqIFgJnrtd+Bu8GmDmqMjntjUePypVtjHXKJ6V4sw9zeyox34n9aCg==",
- "requires": {
- "desandro-matches-selector": "^2.0.0"
- }
- },
- "flagged-respawn": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.1.tgz",
- "integrity": "sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q==",
- "dev": true
- },
- "flush-write-stream": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz",
- "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==",
- "dev": true,
- "requires": {
- "inherits": "^2.0.3",
- "readable-stream": "^2.3.6"
- }
- },
- "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.1"
- }
- },
- "forever-agent": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
- "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
- "dev": true,
- "optional": true
- },
- "fork-awesome": {
- "version": "1.1.7",
- "resolved": "https://registry.npmjs.org/fork-awesome/-/fork-awesome-1.1.7.tgz",
- "integrity": "sha512-IHI7XCSXrKfUIWslse8c/PaaVDT1oBaYge+ju40ihL2ooiQeBpTr4wvIXhgTd2NuhntlvX+M5jYHAPTzNlmv0g=="
- },
- "fork-stream": {
- "version": "0.0.4",
- "resolved": "https://registry.npmjs.org/fork-stream/-/fork-stream-0.0.4.tgz",
- "integrity": "sha1-24Sfznf2cIpfjzhq5TOgkHtUrnA=",
- "dev": true
- },
- "form-data": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
- "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
- "dev": true,
- "optional": true,
- "requires": {
- "asynckit": "^0.4.0",
- "combined-stream": "^1.0.6",
- "mime-types": "^2.1.12"
- }
- },
- "fragment-cache": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
- "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
- "dev": true,
- "requires": {
- "map-cache": "^0.2.2"
- }
- },
- "from2": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz",
- "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=",
- "dev": true,
- "optional": true,
- "requires": {
- "inherits": "^2.0.1",
- "readable-stream": "^2.0.0"
- }
- },
- "fs-constants": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz",
- "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==",
- "dev": true,
- "optional": true
- },
- "fs-mkdirp-stream": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz",
- "integrity": "sha1-C3gV/DIBxqaeFNuYzgmMFpNSWes=",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.11",
- "through2": "^2.0.3"
- }
- },
- "fs.realpath": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
- "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
- "dev": true
- },
- "fsevents": {
- "version": "1.2.13",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz",
- "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==",
- "dev": true,
- "optional": true,
- "requires": {
- "bindings": "^1.5.0",
- "nan": "^2.12.1"
- }
- },
- "function-bind": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
- "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
- "dev": true
- },
- "get-caller-file": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz",
- "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==",
- "dev": true
- },
- "get-proxy": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/get-proxy/-/get-proxy-2.1.0.tgz",
- "integrity": "sha512-zmZIaQTWnNQb4R4fJUEp/FC51eZsc6EkErspy3xtIYStaq8EB/hDIWipxsal+E8rz0qD7f2sL/NA9Xee4RInJw==",
- "dev": true,
- "optional": true,
- "requires": {
- "npm-conf": "^1.1.0"
- }
- },
- "get-size": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/get-size/-/get-size-2.0.3.tgz",
- "integrity": "sha512-lXNzT/h/dTjTxRbm9BXb+SGxxzkm97h/PCIKtlN/CBCxxmkkIVV21udumMS93MuVTDX583gqc94v3RjuHmI+2Q=="
- },
- "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
- },
- "get-stream": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
- "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
- "dev": true,
- "optional": true,
- "requires": {
- "pump": "^3.0.0"
- },
- "dependencies": {
- "pump": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
- "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
- "dev": true,
- "optional": true,
- "requires": {
- "end-of-stream": "^1.1.0",
- "once": "^1.3.1"
- }
- }
- }
- },
- "get-value": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
- "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=",
- "dev": true
- },
- "getpass": {
- "version": "0.1.7",
- "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
- "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
- "dev": true,
- "optional": true,
- "requires": {
- "assert-plus": "^1.0.0"
- }
- },
- "gifsicle": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/gifsicle/-/gifsicle-5.1.0.tgz",
- "integrity": "sha512-hQsOH7yjC7fMokntysN6f2QuxrnX+zmKKKVy0sC3Vhtnk8WrOxLdfH/Z2PNn7lVVx+1+drzIeAe8ufcmdSC/8g==",
- "dev": true,
- "optional": true,
- "requires": {
- "bin-build": "^3.0.0",
- "bin-wrapper": "^4.0.0",
- "execa": "^4.0.0",
- "logalot": "^2.0.0"
- },
- "dependencies": {
- "cross-spawn": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
- "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
- "dev": true,
- "optional": true,
- "requires": {
- "path-key": "^3.1.0",
- "shebang-command": "^2.0.0",
- "which": "^2.0.1"
- }
- },
- "execa": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/execa/-/execa-4.0.2.tgz",
- "integrity": "sha512-QI2zLa6CjGWdiQsmSkZoGtDx2N+cQIGb3yNolGTdjSQzydzLgYYf8LRuagp7S7fPimjcrzUDSUFd/MgzELMi4Q==",
- "dev": true,
- "optional": true,
- "requires": {
- "cross-spawn": "^7.0.0",
- "get-stream": "^5.0.0",
- "human-signals": "^1.1.1",
- "is-stream": "^2.0.0",
- "merge-stream": "^2.0.0",
- "npm-run-path": "^4.0.0",
- "onetime": "^5.1.0",
- "signal-exit": "^3.0.2",
- "strip-final-newline": "^2.0.0"
- }
- },
- "get-stream": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz",
- "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==",
- "dev": true,
- "optional": true,
- "requires": {
- "pump": "^3.0.0"
- }
- },
- "is-stream": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz",
- "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==",
- "dev": true,
- "optional": true
- },
- "npm-run-path": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
- "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
- "dev": true,
- "optional": true,
- "requires": {
- "path-key": "^3.0.0"
- }
- },
- "path-key": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
- "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
- "dev": true,
- "optional": true
- },
- "pump": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
- "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
- "dev": true,
- "optional": true,
- "requires": {
- "end-of-stream": "^1.1.0",
- "once": "^1.3.1"
- }
- },
- "shebang-command": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
- "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
- "dev": true,
- "optional": true,
- "requires": {
- "shebang-regex": "^3.0.0"
- }
- },
- "shebang-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
- "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
- "dev": true,
- "optional": true
- },
- "which": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
- "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
- "dev": true,
- "optional": true,
- "requires": {
- "isexe": "^2.0.0"
- }
- }
- }
- },
- "glob": {
- "version": "7.1.6",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
- "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
- "dev": true,
- "requires": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.0.4",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- }
- },
- "glob-parent": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
- "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
- "dev": true,
- "requires": {
- "is-glob": "^3.1.0",
- "path-dirname": "^1.0.0"
- },
- "dependencies": {
- "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.0"
- }
- }
- }
- },
- "glob-stream": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-6.1.0.tgz",
- "integrity": "sha1-cEXJlBOz65SIjYOrRtC0BMx73eQ=",
- "dev": true,
- "requires": {
- "extend": "^3.0.0",
- "glob": "^7.1.1",
- "glob-parent": "^3.1.0",
- "is-negated-glob": "^1.0.0",
- "ordered-read-streams": "^1.0.0",
- "pumpify": "^1.3.5",
- "readable-stream": "^2.1.5",
- "remove-trailing-separator": "^1.0.1",
- "to-absolute-glob": "^2.0.0",
- "unique-stream": "^2.0.2"
- }
- },
- "glob-watcher": {
- "version": "5.0.3",
- "resolved": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-5.0.3.tgz",
- "integrity": "sha512-8tWsULNEPHKQ2MR4zXuzSmqbdyV5PtwwCaWSGQ1WwHsJ07ilNeN1JB8ntxhckbnpSHaf9dXFUHzIWvm1I13dsg==",
- "dev": true,
- "requires": {
- "anymatch": "^2.0.0",
- "async-done": "^1.2.0",
- "chokidar": "^2.0.0",
- "is-negated-glob": "^1.0.0",
- "just-debounce": "^1.0.0",
- "object.defaults": "^1.1.0"
- }
- },
- "global-modules": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz",
- "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==",
- "dev": true,
- "requires": {
- "global-prefix": "^1.0.1",
- "is-windows": "^1.0.1",
- "resolve-dir": "^1.0.0"
- }
- },
- "global-prefix": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz",
- "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=",
- "dev": true,
- "requires": {
- "expand-tilde": "^2.0.2",
- "homedir-polyfill": "^1.0.1",
- "ini": "^1.3.4",
- "is-windows": "^1.0.1",
- "which": "^1.2.14"
- }
- },
- "globby": {
- "version": "10.0.2",
- "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz",
- "integrity": "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==",
- "dev": true,
- "requires": {
- "@types/glob": "^7.1.1",
- "array-union": "^2.1.0",
- "dir-glob": "^3.0.1",
- "fast-glob": "^3.0.3",
- "glob": "^7.1.3",
- "ignore": "^5.1.1",
- "merge2": "^1.2.3",
- "slash": "^3.0.0"
- }
- },
- "glogg": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.2.tgz",
- "integrity": "sha512-5mwUoSuBk44Y4EshyiqcH95ZntbDdTQqA3QYSrxmzj28Ai0vXBGMH1ApSANH14j2sIRtqCEyg6PfsuP7ElOEDA==",
- "dev": true,
- "requires": {
- "sparkles": "^1.0.0"
- }
- },
- "got": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/got/-/got-7.1.0.tgz",
- "integrity": "sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw==",
- "dev": true,
- "optional": true,
- "requires": {
- "decompress-response": "^3.2.0",
- "duplexer3": "^0.1.4",
- "get-stream": "^3.0.0",
- "is-plain-obj": "^1.1.0",
- "is-retry-allowed": "^1.0.0",
- "is-stream": "^1.0.0",
- "isurl": "^1.0.0-alpha5",
- "lowercase-keys": "^1.0.0",
- "p-cancelable": "^0.3.0",
- "p-timeout": "^1.1.1",
- "safe-buffer": "^5.0.1",
- "timed-out": "^4.0.0",
- "url-parse-lax": "^1.0.0",
- "url-to-options": "^1.0.1"
- },
- "dependencies": {
- "get-stream": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz",
- "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=",
- "dev": true,
- "optional": true
- }
- }
- },
- "graceful-fs": {
- "version": "4.2.4",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz",
- "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==",
- "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": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/gulp/-/gulp-4.0.2.tgz",
- "integrity": "sha512-dvEs27SCZt2ibF29xYgmnwwCYZxdxhQ/+LFWlbAW8y7jt68L/65402Lz3+CKy0Ov4rOs+NERmDq7YlZaDqUIfA==",
- "dev": true,
- "requires": {
- "glob-watcher": "^5.0.3",
- "gulp-cli": "^2.2.0",
- "undertaker": "^1.2.1",
- "vinyl-fs": "^3.0.0"
- },
- "dependencies": {
- "gulp-cli": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/gulp-cli/-/gulp-cli-2.2.1.tgz",
- "integrity": "sha512-yEMxrXqY8mJFlaauFQxNrCpzWJThu0sH1sqlToaTOT063Hub9s/Nt2C+GSLe6feQ/IMWrHvGOOsyES7CQc9O+A==",
- "dev": true,
- "requires": {
- "ansi-colors": "^1.0.1",
- "archy": "^1.0.0",
- "array-sort": "^1.0.0",
- "color-support": "^1.1.3",
- "concat-stream": "^1.6.0",
- "copy-props": "^2.0.1",
- "fancy-log": "^1.3.2",
- "gulplog": "^1.0.0",
- "interpret": "^1.1.0",
- "isobject": "^3.0.1",
- "liftoff": "^3.1.0",
- "matchdep": "^2.0.0",
- "mute-stdout": "^1.0.0",
- "pretty-hrtime": "^1.0.0",
- "replace-homedir": "^1.0.0",
- "semver-greatest-satisfied-range": "^1.1.0",
- "v8flags": "^3.0.1",
- "yargs": "^7.1.0"
- }
- }
- }
- },
- "gulp-autoprefixer": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/gulp-autoprefixer/-/gulp-autoprefixer-7.0.1.tgz",
- "integrity": "sha512-QJGEmHw+bEt7FSqvmbAUTxbCuNLJYx4sz3ox9WouYqT/7j5FH5CQ8ZnpL1M7H5npX1bUJa7lUVY1w20jXxhOxg==",
- "dev": true,
- "requires": {
- "autoprefixer": "^9.6.1",
- "fancy-log": "^1.3.2",
- "plugin-error": "^1.0.1",
- "postcss": "^7.0.17",
- "through2": "^3.0.1",
- "vinyl-sourcemaps-apply": "^0.2.1"
- },
- "dependencies": {
- "through2": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.1.tgz",
- "integrity": "sha512-M96dvTalPT3YbYLaKaCuwu+j06D/8Jfib0o/PxbVt6Amhv3dUAtW6rTV1jPgJSBG83I/e04Y6xkVdVhSRhi0ww==",
- "dev": true,
- "requires": {
- "readable-stream": "2 || 3"
- }
- }
- }
- },
- "gulp-concat": {
- "version": "2.6.1",
- "resolved": "https://registry.npmjs.org/gulp-concat/-/gulp-concat-2.6.1.tgz",
- "integrity": "sha1-Yz0WyV2IUEYorQJmVmPO5aR5M1M=",
- "dev": true,
- "requires": {
- "concat-with-sourcemaps": "^1.0.0",
- "through2": "^2.0.0",
- "vinyl": "^2.0.0"
- }
- },
- "gulp-csslint": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/gulp-csslint/-/gulp-csslint-1.0.1.tgz",
- "integrity": "sha512-Rec56+RpCGg7feK3d/S45oqgxyLV3end0ed+UjWFv6YziQae2Bp4DNSDobwEvJdfCAsOhOSExEEB+jcfMx430w==",
- "dev": true,
- "requires": {
- "csslint": "^1.0.2",
- "fancy-log": "^1.3.2",
- "plugin-error": "^1.0.1",
- "rcloader": "^0.2.1",
- "through2": "^2.0.1",
- "vinyl": "^2.1.0"
- }
- },
- "gulp-cssmin": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/gulp-cssmin/-/gulp-cssmin-0.2.0.tgz",
- "integrity": "sha1-h6s8ad05sg1dljVcZQStakR7HnI=",
- "dev": true,
- "requires": {
- "clean-css": "^3.1.9",
- "filesize": "~2.0.0",
- "graceful-fs": "~4.1.4",
- "gulp-rename": "~1.1.0",
- "gulp-util": "~2.2.0",
- "map-stream": "0.0.4",
- "temp-write": "~0.1.0"
- },
- "dependencies": {
- "graceful-fs": {
- "version": "4.1.15",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz",
- "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==",
- "dev": true
- },
- "gulp-rename": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/gulp-rename/-/gulp-rename-1.1.0.tgz",
- "integrity": "sha1-kwkKqvTThsB/IFOKaIjxXvunJ6E=",
- "dev": true,
- "requires": {
- "map-stream": ">=0.0.4"
- }
- }
- }
- },
- "gulp-if": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/gulp-if/-/gulp-if-3.0.0.tgz",
- "integrity": "sha512-fCUEngzNiEZEK2YuPm+sdMpO6ukb8+/qzbGfJBXyNOXz85bCG7yBI+pPSl+N90d7gnLvMsarthsAImx0qy7BAw==",
- "dev": true,
- "requires": {
- "gulp-match": "^1.1.0",
- "ternary-stream": "^3.0.0",
- "through2": "^3.0.1"
- },
- "dependencies": {
- "through2": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.1.tgz",
- "integrity": "sha512-M96dvTalPT3YbYLaKaCuwu+j06D/8Jfib0o/PxbVt6Amhv3dUAtW6rTV1jPgJSBG83I/e04Y6xkVdVhSRhi0ww==",
- "dev": true,
- "requires": {
- "readable-stream": "2 || 3"
- }
- }
- }
- },
- "gulp-imagemin": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/gulp-imagemin/-/gulp-imagemin-7.1.0.tgz",
- "integrity": "sha512-6xBTNybmPY2YrvrhhlS8Mxi0zn0ypusLon63p9XXxDtIf7U7c6KcViz94K7Skosucr3378A6IY2kJSjJyuwylQ==",
- "dev": true,
- "requires": {
- "chalk": "^3.0.0",
- "fancy-log": "^1.3.2",
- "imagemin": "^7.0.0",
- "imagemin-gifsicle": "^7.0.0",
- "imagemin-mozjpeg": "^8.0.0",
- "imagemin-optipng": "^7.0.0",
- "imagemin-svgo": "^7.0.0",
- "plugin-error": "^1.0.1",
- "plur": "^3.0.1",
- "pretty-bytes": "^5.3.0",
- "through2-concurrent": "^2.0.0"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
- "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
- "dev": true,
- "requires": {
- "@types/color-name": "^1.1.1",
- "color-convert": "^2.0.1"
- }
- },
- "chalk": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
- "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "requires": {
- "color-name": "~1.1.4"
- }
- },
- "color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
- },
- "has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true
- },
- "supports-color": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
- "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
- "dev": true,
- "requires": {
- "has-flag": "^4.0.0"
- }
- }
- }
- },
- "gulp-jshint": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/gulp-jshint/-/gulp-jshint-2.1.0.tgz",
- "integrity": "sha512-sP3NK8Y/1e58O0PH9t6s7DAr/lKDSUbIY207oWSeufM6/VclB7jJrIBcPCsyhrFTCDUl9DauePbt6VqP2vPM5w==",
- "dev": true,
- "requires": {
- "lodash": "^4.12.0",
- "minimatch": "^3.0.3",
- "plugin-error": "^0.1.2",
- "rcloader": "^0.2.2",
- "through2": "^2.0.0"
- },
- "dependencies": {
- "arr-diff": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-1.1.0.tgz",
- "integrity": "sha1-aHwydYFjWI/vfeezb6vklesaOZo=",
- "dev": true,
- "requires": {
- "arr-flatten": "^1.0.1",
- "array-slice": "^0.2.3"
- }
- },
- "arr-union": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-2.1.0.tgz",
- "integrity": "sha1-IPnqtexw9cfSFbEHexw5Fh0pLH0=",
- "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
- },
- "extend-shallow": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-1.1.4.tgz",
- "integrity": "sha1-Gda/lN/AnXa6cR85uHLSH/TdkHE=",
- "dev": true,
- "requires": {
- "kind-of": "^1.1.0"
- }
- },
- "kind-of": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-1.1.0.tgz",
- "integrity": "sha1-FAo9LUGjbS78+pN3tiwk+ElaXEQ=",
- "dev": true
- },
- "plugin-error": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-0.1.2.tgz",
- "integrity": "sha1-O5uzM1zPAPQl4HQ34ZJ2ln2kes4=",
- "dev": true,
- "requires": {
- "ansi-cyan": "^0.1.1",
- "ansi-red": "^0.1.1",
- "arr-diff": "^1.0.1",
- "arr-union": "^2.0.1",
- "extend-shallow": "^1.1.2"
- }
- }
- }
- },
- "gulp-less": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/gulp-less/-/gulp-less-4.0.1.tgz",
- "integrity": "sha512-hmM2k0FfQp7Ptm3ZaqO2CkMX3hqpiIOn4OHtuSsCeFym63F7oWlEua5v6u1cIjVUKYsVIs9zPg9vbqTEb/udpA==",
- "dev": true,
- "requires": {
- "accord": "^0.29.0",
- "less": "2.6.x || ^3.7.1",
- "object-assign": "^4.0.1",
- "plugin-error": "^0.1.2",
- "replace-ext": "^1.0.0",
- "through2": "^2.0.0",
- "vinyl-sourcemaps-apply": "^0.2.0"
- },
- "dependencies": {
- "arr-diff": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-1.1.0.tgz",
- "integrity": "sha1-aHwydYFjWI/vfeezb6vklesaOZo=",
- "dev": true,
- "requires": {
- "arr-flatten": "^1.0.1",
- "array-slice": "^0.2.3"
- }
- },
- "arr-union": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-2.1.0.tgz",
- "integrity": "sha1-IPnqtexw9cfSFbEHexw5Fh0pLH0=",
- "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
- },
- "extend-shallow": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-1.1.4.tgz",
- "integrity": "sha1-Gda/lN/AnXa6cR85uHLSH/TdkHE=",
- "dev": true,
- "requires": {
- "kind-of": "^1.1.0"
- }
- },
- "kind-of": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-1.1.0.tgz",
- "integrity": "sha1-FAo9LUGjbS78+pN3tiwk+ElaXEQ=",
- "dev": true
- },
- "plugin-error": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-0.1.2.tgz",
- "integrity": "sha1-O5uzM1zPAPQl4HQ34ZJ2ln2kes4=",
- "dev": true,
- "requires": {
- "ansi-cyan": "^0.1.1",
- "ansi-red": "^0.1.1",
- "arr-diff": "^1.0.1",
- "arr-union": "^2.0.1",
- "extend-shallow": "^1.1.2"
- }
- }
- }
- },
- "gulp-match": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/gulp-match/-/gulp-match-1.1.0.tgz",
- "integrity": "sha512-DlyVxa1Gj24DitY2OjEsS+X6tDpretuxD6wTfhXE/Rw2hweqc1f6D/XtsJmoiCwLWfXgR87W9ozEityPCVzGtQ==",
- "dev": true,
- "requires": {
- "minimatch": "^3.0.3"
- }
- },
- "gulp-mustache": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/gulp-mustache/-/gulp-mustache-5.0.0.tgz",
- "integrity": "sha512-8tk0R1Fd+l6+e/t954e3UheFo25dKkTapPLD1sWoSroPXfIPxyHVgbhfH5VJGqeXl3te5GOwPtfcxxZJ+PYoFg==",
- "dev": true,
- "requires": {
- "escape-string-regexp": "^2.0.0",
- "mustache": "^4.0.1",
- "plugin-error": "^1.0.0",
- "replace-ext": "^1.0.0",
- "through2": "^3.0.1"
- },
- "dependencies": {
- "escape-string-regexp": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz",
- "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==",
- "dev": true
- },
- "through2": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.1.tgz",
- "integrity": "sha512-M96dvTalPT3YbYLaKaCuwu+j06D/8Jfib0o/PxbVt6Amhv3dUAtW6rTV1jPgJSBG83I/e04Y6xkVdVhSRhi0ww==",
- "dev": true,
- "requires": {
- "readable-stream": "2 || 3"
- }
- }
- }
- },
- "gulp-rename": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/gulp-rename/-/gulp-rename-2.0.0.tgz",
- "integrity": "sha512-97Vba4KBzbYmR5VBs9mWmK+HwIf5mj+/zioxfZhOKeXtx5ZjBk57KFlePf5nxq9QsTtFl0ejnHE3zTC9MHXqyQ==",
- "dev": true
- },
- "gulp-uglify": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/gulp-uglify/-/gulp-uglify-3.0.2.tgz",
- "integrity": "sha512-gk1dhB74AkV2kzqPMQBLA3jPoIAPd/nlNzP2XMDSG8XZrqnlCiDGAqC+rZOumzFvB5zOphlFh6yr3lgcAb/OOg==",
- "dev": true,
- "requires": {
- "array-each": "^1.0.1",
- "extend-shallow": "^3.0.2",
- "gulplog": "^1.0.0",
- "has-gulplog": "^0.1.0",
- "isobject": "^3.0.1",
- "make-error-cause": "^1.1.1",
- "safe-buffer": "^5.1.2",
- "through2": "^2.0.0",
- "uglify-js": "^3.0.5",
- "vinyl-sourcemaps-apply": "^0.2.0"
- }
- },
- "gulp-util": {
- "version": "2.2.20",
- "resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-2.2.20.tgz",
- "integrity": "sha1-1xRuVyiRC9jwR6awseVJvCLb1kw=",
- "dev": true,
- "requires": {
- "chalk": "^0.5.0",
- "dateformat": "^1.0.7-1.2.3",
- "lodash._reinterpolate": "^2.4.1",
- "lodash.template": "^2.4.1",
- "minimist": "^0.2.0",
- "multipipe": "^0.1.0",
- "through2": "^0.5.0",
- "vinyl": "^0.2.1"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz",
- "integrity": "sha1-DY6UaWej2BQ/k+JOKYUl/BsiNfk=",
- "dev": true
- },
- "ansi-styles": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.1.0.tgz",
- "integrity": "sha1-6uy/Zs1waIJ2Cy9GkVgrj1XXp94=",
- "dev": true
- },
- "chalk": {
- "version": "0.5.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.5.1.tgz",
- "integrity": "sha1-Zjs6ZItotV0EaQ1JFnqoN4WPIXQ=",
- "dev": true,
- "requires": {
- "ansi-styles": "^1.1.0",
- "escape-string-regexp": "^1.0.0",
- "has-ansi": "^0.1.0",
- "strip-ansi": "^0.3.0",
- "supports-color": "^0.2.0"
- }
- },
- "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
- },
- "isarray": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
- "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
- "dev": true
- },
- "minimist": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.2.1.tgz",
- "integrity": "sha512-GY8fANSrTMfBVfInqJAY41QkOM+upUTytK1jZ0c8+3HdHrJxBJ3rF5i9moClXTE8uUSnUo8cAsCoxDXvSY4DHg==",
- "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.0",
- "inherits": "~2.0.1",
- "isarray": "0.0.1",
- "string_decoder": "~0.10.x"
- }
- },
- "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
- },
- "strip-ansi": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz",
- "integrity": "sha1-JfSOoiynkYfzF0pNuHWTR7sSYiA=",
- "dev": true,
- "requires": {
- "ansi-regex": "^0.2.1"
- }
- },
- "supports-color": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-0.2.0.tgz",
- "integrity": "sha1-2S3iaU6z9nMjlz1649i1W0wiGQo=",
- "dev": true
- },
- "through2": {
- "version": "0.5.1",
- "resolved": "https://registry.npmjs.org/through2/-/through2-0.5.1.tgz",
- "integrity": "sha1-390BLrnHAOIyP9M084rGIqs3Lac=",
- "dev": true,
- "requires": {
- "readable-stream": "~1.0.17",
- "xtend": "~3.0.0"
- }
- },
- "vinyl": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.2.3.tgz",
- "integrity": "sha1-vKk4IJWC7FpJrVOKAPofEl5RMlI=",
- "dev": true,
- "requires": {
- "clone-stats": "~0.0.1"
- }
- },
- "xtend": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/xtend/-/xtend-3.0.0.tgz",
- "integrity": "sha1-XM50B7r2Qsunvs2laBEcST9ZZlo=",
- "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"
- }
- },
- "handlebars": {
- "version": "4.7.6",
- "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.6.tgz",
- "integrity": "sha512-1f2BACcBfiwAfStCKZNrUCgqNZkGsAT7UM3kkYtXuLo0KnaVfjKOyf7PRzB6++aK9STyT1Pd2ZCPe3EGOXleXA==",
- "requires": {
- "minimist": "^1.2.5",
- "neo-async": "^2.6.0",
- "source-map": "^0.6.1",
- "uglify-js": "^3.1.4",
- "wordwrap": "^1.0.0"
- }
- },
- "handlebars-intl": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/handlebars-intl/-/handlebars-intl-1.1.2.tgz",
- "integrity": "sha1-U6tkHRmi1YMq1qCZF1ESSNa8ZyA=",
- "requires": {
- "intl-format-cache": "2.0.5",
- "intl-messageformat": "1.1.0",
- "intl-relativeformat": "1.1.0"
- }
- },
- "har-schema": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
- "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
- "dev": true,
- "optional": true
- },
- "har-validator": {
- "version": "5.1.3",
- "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz",
- "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==",
- "dev": true,
- "optional": true,
- "requires": {
- "ajv": "^6.5.5",
- "har-schema": "^2.0.0"
- }
- },
- "has": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
- "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
- "dev": true,
- "requires": {
- "function-bind": "^1.1.1"
- }
- },
- "has-ansi": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-0.1.0.tgz",
- "integrity": "sha1-hPJlqujA5qiKEtcCKJS3VoiUxi4=",
- "dev": true,
- "requires": {
- "ansi-regex": "^0.2.0"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz",
- "integrity": "sha1-DY6UaWej2BQ/k+JOKYUl/BsiNfk=",
- "dev": true
- }
- }
- },
- "has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
- "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-symbol-support-x": {
- "version": "1.4.2",
- "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz",
- "integrity": "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==",
- "dev": true,
- "optional": true
- },
- "has-symbols": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz",
- "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==",
- "dev": true
- },
- "has-to-string-tag-x": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz",
- "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==",
- "dev": true,
- "optional": true,
- "requires": {
- "has-symbol-support-x": "^1.4.1"
- }
- },
- "has-value": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
- "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
- "dev": true,
- "requires": {
- "get-value": "^2.0.6",
- "has-values": "^1.0.0",
- "isobject": "^3.0.0"
- }
- },
- "has-values": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
- "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
- "dev": true,
- "requires": {
- "is-number": "^3.0.0",
- "kind-of": "^4.0.0"
- },
- "dependencies": {
- "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"
- }
- }
- }
- },
- "homedir-polyfill": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz",
- "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==",
- "dev": true,
- "requires": {
- "parse-passwd": "^1.0.0"
- }
- },
- "hosted-git-info": {
- "version": "2.8.8",
- "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz",
- "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==",
- "dev": true
- },
- "html-comment-regex": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.2.tgz",
- "integrity": "sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==",
- "dev": true,
- "optional": true
- },
- "htmlparser2": {
- "version": "3.8.3",
- "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz",
- "integrity": "sha1-mWwosZFRaovoZQGn15dX5ccMEGg=",
- "dev": true,
- "requires": {
- "domelementtype": "1",
- "domhandler": "2.3",
- "domutils": "1.5",
- "entities": "1.0",
- "readable-stream": "1.1"
- },
- "dependencies": {
- "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",
- "domelementtype": "1"
- }
- },
- "entities": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/entities/-/entities-1.0.0.tgz",
- "integrity": "sha1-sph6o4ITR/zeZCsk/fyeT7cSvyY=",
- "dev": true
- },
- "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.0",
- "inherits": "~2.0.1",
- "isarray": "0.0.1",
- "string_decoder": "~0.10.x"
- }
- },
- "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-cache-semantics": {
- "version": "3.8.1",
- "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz",
- "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==",
- "dev": true,
- "optional": true
- },
- "http-signature": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
- "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
- "dev": true,
- "optional": true,
- "requires": {
- "assert-plus": "^1.0.0",
- "jsprim": "^1.2.2",
- "sshpk": "^1.7.0"
- }
- },
- "human-signals": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz",
- "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==",
- "dev": true,
- "optional": true
- },
- "ieee754": {
- "version": "1.1.13",
- "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz",
- "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==",
- "dev": true,
- "optional": true
- },
- "ignore": {
- "version": "5.1.8",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz",
- "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==",
- "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
- },
- "imagemin": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/imagemin/-/imagemin-7.0.1.tgz",
- "integrity": "sha512-33AmZ+xjZhg2JMCe+vDf6a9mzWukE7l+wAtesjE7KyteqqKjzxv7aVQeWnul1Ve26mWvEQqyPwl0OctNBfSR9w==",
- "dev": true,
- "requires": {
- "file-type": "^12.0.0",
- "globby": "^10.0.0",
- "graceful-fs": "^4.2.2",
- "junk": "^3.1.0",
- "make-dir": "^3.0.0",
- "p-pipe": "^3.0.0",
- "replace-ext": "^1.0.0"
- }
- },
- "imagemin-gifsicle": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/imagemin-gifsicle/-/imagemin-gifsicle-7.0.0.tgz",
- "integrity": "sha512-LaP38xhxAwS3W8PFh4y5iQ6feoTSF+dTAXFRUEYQWYst6Xd+9L/iPk34QGgK/VO/objmIlmq9TStGfVY2IcHIA==",
- "dev": true,
- "optional": true,
- "requires": {
- "execa": "^1.0.0",
- "gifsicle": "^5.0.0",
- "is-gif": "^3.0.0"
- }
- },
- "imagemin-mozjpeg": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/imagemin-mozjpeg/-/imagemin-mozjpeg-8.0.0.tgz",
- "integrity": "sha512-+EciPiIjCb8JWjQNr1q8sYWYf7GDCNDxPYnkD11TNIjjWNzaV+oTg4DpOPQjl5ZX/KRCPMEgS79zLYAQzLitIA==",
- "dev": true,
- "optional": true,
- "requires": {
- "execa": "^1.0.0",
- "is-jpg": "^2.0.0",
- "mozjpeg": "^6.0.0"
- }
- },
- "imagemin-optipng": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/imagemin-optipng/-/imagemin-optipng-7.1.0.tgz",
- "integrity": "sha512-JNORTZ6j6untH7e5gF4aWdhDCxe3ODsSLKs/f7Grewy3ebZpl1ZsU+VUTPY4rzeHgaFA8GSWOoA8V2M3OixWZQ==",
- "dev": true,
- "optional": true,
- "requires": {
- "exec-buffer": "^3.0.0",
- "is-png": "^2.0.0",
- "optipng-bin": "^6.0.0"
- }
- },
- "imagemin-svgo": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/imagemin-svgo/-/imagemin-svgo-7.1.0.tgz",
- "integrity": "sha512-0JlIZNWP0Luasn1HT82uB9nU9aa+vUj6kpT+MjPW11LbprXC+iC4HDwn1r4Q2/91qj4iy9tRZNsFySMlEpLdpg==",
- "dev": true,
- "optional": true,
- "requires": {
- "is-svg": "^4.2.1",
- "svgo": "^1.3.2"
- }
- },
- "import-lazy": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-3.1.0.tgz",
- "integrity": "sha512-8/gvXvX2JMn0F+CDlSC4l6kOmVaLOO3XLkksI7CI3Ud95KDYJuYur2b9P/PUt/i/pDAMd/DulQsNbbbmRRsDIQ==",
- "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.0"
- }
- },
- "indx": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/indx/-/indx-0.2.3.tgz",
- "integrity": "sha1-Fdz1bunPZcAjTFE8J/vVgOcPvFA=",
- "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.3.0",
- "wrappy": "1"
- }
- },
- "inherits": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
- "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
- "dev": true
- },
- "ini": {
- "version": "1.3.5",
- "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz",
- "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==",
- "dev": true
- },
- "interpret": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz",
- "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==",
- "dev": true
- },
- "intl-format-cache": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/intl-format-cache/-/intl-format-cache-2.0.5.tgz",
- "integrity": "sha1-tITO/Lk1PzdPJd44mjzuoa8Y18k="
- },
- "intl-messageformat": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-1.1.0.tgz",
- "integrity": "sha1-9GoWjBvV4YOOy93agJoHVHJ/RCI=",
- "requires": {
- "intl-messageformat-parser": "1.1.0"
- }
- },
- "intl-messageformat-parser": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/intl-messageformat-parser/-/intl-messageformat-parser-1.1.0.tgz",
- "integrity": "sha1-6O2PMIU5ab8fW+3vDpRNKxBTQJs="
- },
- "intl-relativeformat": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/intl-relativeformat/-/intl-relativeformat-1.1.0.tgz",
- "integrity": "sha1-htx7iyEog94YbZ/aVrh0ASlI3yA=",
- "requires": {
- "intl-messageformat": "1.1.0"
- }
- },
- "into-stream": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/into-stream/-/into-stream-3.1.0.tgz",
- "integrity": "sha1-lvsKk2wSur1v8XUqF9BWFqvQlMY=",
- "dev": true,
- "optional": true,
- "requires": {
- "from2": "^2.1.1",
- "p-is-promise": "^1.1.0"
- }
- },
- "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
- },
- "irregular-plurals": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/irregular-plurals/-/irregular-plurals-2.0.0.tgz",
- "integrity": "sha512-Y75zBYLkh0lJ9qxeHlMjQ7bSbyiSqNW/UOPWDmzC7cXskL1hekSITh1Oc6JV0XCWWZ9DE8VYSB71xocLk3gmGw==",
- "dev": true
- },
- "is-absolute": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz",
- "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==",
- "dev": true,
- "requires": {
- "is-relative": "^1.0.0",
- "is-windows": "^1.0.1"
- }
- },
- "is-accessor-descriptor": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
- "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
- "dev": true,
- "requires": {
- "kind-of": "^3.0.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"
- }
- }
- }
- },
- "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.0.0"
- }
- },
- "is-buffer": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
- "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
- "dev": true
- },
- "is-callable": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz",
- "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==",
- "dev": true
- },
- "is-data-descriptor": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
- "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
- "dev": true,
- "requires": {
- "kind-of": "^3.0.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"
- }
- }
- }
- },
- "is-date-object": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz",
- "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==",
- "dev": true
- },
- "is-descriptor": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
- "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
- "dev": true,
- "requires": {
- "is-accessor-descriptor": "^0.1.6",
- "is-data-descriptor": "^0.1.4",
- "kind-of": "^5.0.0"
- },
- "dependencies": {
- "kind-of": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
- "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
- "dev": true
- }
- }
- },
- "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": "2.1.1",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
- "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
- "dev": true
- },
- "is-finite": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz",
- "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==",
- "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.0"
- }
- },
- "is-gif": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-gif/-/is-gif-3.0.0.tgz",
- "integrity": "sha512-IqJ/jlbw5WJSNfwQ/lHEDXF8rxhRgF6ythk2oiEvhpG29F704eX9NO6TvPfMiq9DrbwgcEDnETYNcZDPewQoVw==",
- "dev": true,
- "optional": true,
- "requires": {
- "file-type": "^10.4.0"
- },
- "dependencies": {
- "file-type": {
- "version": "10.11.0",
- "resolved": "https://registry.npmjs.org/file-type/-/file-type-10.11.0.tgz",
- "integrity": "sha512-uzk64HRpUZyTGZtVuvrjP0FYxzQrBf4rojot6J65YMEbwBLB0CWm0CLojVpwpmFmxcE/lkvYICgfcGozbBq6rw==",
- "dev": true,
- "optional": true
- }
- }
- },
- "is-glob": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
- "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
- "dev": true,
- "requires": {
- "is-extglob": "^2.1.1"
- }
- },
- "is-jpg": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-jpg/-/is-jpg-2.0.0.tgz",
- "integrity": "sha1-LhmX+m6RZuqsAkLarkQ0A+TvHZc=",
- "dev": true,
- "optional": true
- },
- "is-natural-number": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz",
- "integrity": "sha1-q5124dtM7VHjXeDHLr7PCfc0zeg=",
- "dev": true,
- "optional": true
- },
- "is-negated-glob": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-negated-glob/-/is-negated-glob-1.0.0.tgz",
- "integrity": "sha1-aRC8pdqMleeEtXUbl2z1oQ/uNtI=",
- "dev": true
- },
- "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.0.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"
- }
- }
- }
- },
- "is-object": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.1.tgz",
- "integrity": "sha1-iVJojF7C/9awPsyF52ngKQMINHA=",
- "dev": true,
- "optional": true
- },
- "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,
- "optional": true
- },
- "is-plain-object": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
- "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
- "dev": true,
- "requires": {
- "isobject": "^3.0.1"
- }
- },
- "is-png": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-png/-/is-png-2.0.0.tgz",
- "integrity": "sha512-4KPGizaVGj2LK7xwJIz8o5B2ubu1D/vcQsgOGFEDlpcvgZHto4gBnyd0ig7Ws+67ixmwKoNmu0hYnpo6AaKb5g==",
- "dev": true,
- "optional": true
- },
- "is-regex": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz",
- "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==",
- "dev": true,
- "requires": {
- "has": "^1.0.3"
- }
- },
- "is-relative": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz",
- "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==",
- "dev": true,
- "requires": {
- "is-unc-path": "^1.0.0"
- }
- },
- "is-retry-allowed": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz",
- "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==",
- "dev": true,
- "optional": true
- },
- "is-stream": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
- "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
- "dev": true,
- "optional": true
- },
- "is-svg": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-4.2.1.tgz",
- "integrity": "sha512-PHx3ANecKsKNl5y5+Jvt53Y4J7MfMpbNZkv384QNiswMKAWIbvcqbPz+sYbFKJI8Xv3be01GSFniPmoaP+Ai5A==",
- "dev": true,
- "optional": true,
- "requires": {
- "html-comment-regex": "^1.1.2"
- }
- },
- "is-symbol": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz",
- "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==",
- "dev": true,
- "requires": {
- "has-symbols": "^1.0.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,
- "optional": true
- },
- "is-unc-path": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz",
- "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==",
- "dev": true,
- "requires": {
- "unc-path-regex": "^0.1.2"
- }
- },
- "is-utf8": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz",
- "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=",
- "dev": true
- },
- "is-valid-glob": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-1.0.0.tgz",
- "integrity": "sha1-Kb8+/3Ab4tTTFdusw5vDn+j2Aao=",
- "dev": true
- },
- "is-windows": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
- "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
- "dev": true
- },
- "isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
- "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
- },
- "isotope-layout": {
- "version": "3.0.6",
- "resolved": "https://registry.npmjs.org/isotope-layout/-/isotope-layout-3.0.6.tgz",
- "integrity": "sha512-z2ZKablhocXhoNyWwzJPFd7u7FWbYbVJA51Nvsqsod8jH2ExGc1SwDsSWKE54e3PhXzqf2yZPhFSq/c2MR1arw==",
- "requires": {
- "desandro-matches-selector": "^2.0.0",
- "fizzy-ui-utils": "^2.0.4",
- "get-size": "^2.0.0",
- "masonry-layout": "^4.1.0",
- "outlayer": "^2.1.0"
- }
- },
- "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,
- "optional": true
- },
- "isurl": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz",
- "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==",
- "dev": true,
- "optional": true,
- "requires": {
- "has-to-string-tag-x": "^1.2.0",
- "is-object": "^1.0.1"
- }
- },
- "jquery": {
- "version": "3.5.1",
- "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.5.1.tgz",
- "integrity": "sha512-XwIBPqcMn57FxfT+Go5pzySnm4KWkT1Tv7gjrpT1srtf8Weynl6R273VJ5GjkRb51IzMp5nbaPjJXMWeju2MKg=="
- },
- "js-cookie": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-2.2.1.tgz",
- "integrity": "sha512-HvdH2LzI/EAZcUwA8+0nKNtWHqS+ZmijLA30RwZA0bo7ToCckjK5MkGhjED9KoRcXO6BaGI3I9UIzSA1FKFPOQ=="
- },
- "js-yaml": {
- "version": "3.14.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz",
- "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==",
- "dev": true,
- "optional": true,
- "requires": {
- "argparse": "^1.0.7",
- "esprima": "^4.0.0"
- }
- },
- "jsbn": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
- "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
- "dev": true,
- "optional": true
- },
- "jshint": {
- "version": "2.11.1",
- "resolved": "https://registry.npmjs.org/jshint/-/jshint-2.11.1.tgz",
- "integrity": "sha512-WXWePB8ssAH3DlD05IoqolsY6arhbll/1+i2JkRPpihQAuiNaR/gSt8VKIcxpV5m6XChP0hCwESQUqpuQMA8Tg==",
- "dev": true,
- "requires": {
- "cli": "~1.0.0",
- "console-browserify": "1.1.x",
- "exit": "0.1.x",
- "htmlparser2": "3.8.x",
- "lodash": "~4.17.11",
- "minimatch": "~3.0.2",
- "shelljs": "0.3.x",
- "strip-json-comments": "1.0.x"
- }
- },
- "json-buffer": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz",
- "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=",
- "dev": true,
- "optional": 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,
- "optional": true
- },
- "json-schema-traverse": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
- "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
- "dev": true,
- "optional": true
- },
- "json-stable-stringify-without-jsonify": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
- "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=",
- "dev": true
- },
- "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,
- "optional": true
- },
- "jsprim": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
- "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
- "dev": true,
- "optional": true,
- "requires": {
- "assert-plus": "1.0.0",
- "extsprintf": "1.3.0",
- "json-schema": "0.2.3",
- "verror": "1.10.0"
- }
- },
- "junk": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/junk/-/junk-3.1.0.tgz",
- "integrity": "sha512-pBxcB3LFc8QVgdggvZWyeys+hnrNWg4OcZIU/1X59k5jQdLBlCsYGRQaz234SqoRLTCgMH00fY0xRJH+F9METQ==",
- "dev": true
- },
- "just-debounce": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/just-debounce/-/just-debounce-1.0.0.tgz",
- "integrity": "sha1-h/zPrv/AtozRnVX2cilD+SnqNeo=",
- "dev": true
- },
- "keyv": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.0.0.tgz",
- "integrity": "sha512-eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA==",
- "dev": true,
- "optional": true,
- "requires": {
- "json-buffer": "3.0.0"
- }
- },
- "kind-of": {
- "version": "6.0.3",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
- "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
- "dev": true
- },
- "last-run": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/last-run/-/last-run-1.1.1.tgz",
- "integrity": "sha1-RblpQsF7HHnHchmCWbqUO+v4yls=",
- "dev": true,
- "requires": {
- "default-resolution": "^2.0.0",
- "es6-weak-map": "^2.0.1"
- }
- },
- "lazy-cache": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz",
- "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=",
- "dev": true
- },
- "lazystream": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz",
- "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=",
- "dev": true,
- "requires": {
- "readable-stream": "^2.0.5"
- }
- },
- "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"
- }
- },
- "lead": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/lead/-/lead-1.0.0.tgz",
- "integrity": "sha1-bxT5mje+Op3XhPVJVpDlkDRm7kI=",
- "dev": true,
- "requires": {
- "flush-write-stream": "^1.0.2"
- }
- },
- "less": {
- "version": "3.11.2",
- "resolved": "https://registry.npmjs.org/less/-/less-3.11.2.tgz",
- "integrity": "sha512-ed8Lir98Tu6a+LeU7+8ShpRLSUdk//lWf1sh+5w7tNju4wGItztqDHp03Z+a2o1nzU6pObVxw1n4Gu7VzQYusQ==",
- "dev": true,
- "requires": {
- "clone": "^2.1.2",
- "errno": "^0.1.1",
- "graceful-fs": "^4.1.2",
- "image-size": "~0.5.0",
- "make-dir": "^2.1.0",
- "mime": "^1.4.1",
- "promise": "^7.1.1",
- "request": "^2.83.0",
- "source-map": "~0.6.0",
- "tslib": "^1.10.0"
- },
- "dependencies": {
- "make-dir": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
- "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
- "dev": true,
- "optional": true,
- "requires": {
- "pify": "^4.0.1",
- "semver": "^5.6.0"
- }
- },
- "pify": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
- "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
- "dev": true,
- "optional": true
- }
- }
- },
- "liftoff": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-3.1.0.tgz",
- "integrity": "sha512-DlIPlJUkCV0Ips2zf2pJP0unEoT1kwYhiiPUGF3s/jtxTCjziNLoiVVh+jqWOWeFi6mmwQ5fNxvAUyPad4Dfog==",
- "dev": true,
- "requires": {
- "extend": "^3.0.0",
- "findup-sync": "^3.0.0",
- "fined": "^1.0.1",
- "flagged-respawn": "^1.0.0",
- "is-plain-object": "^2.0.4",
- "object.map": "^1.0.0",
- "rechoir": "^0.6.2",
- "resolve": "^1.1.7"
- }
- },
- "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.2",
- "parse-json": "^2.2.0",
- "pify": "^2.0.0",
- "pinkie-promise": "^2.0.0",
- "strip-bom": "^2.0.0"
- }
- },
- "locate-path": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
- "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
- "dev": true,
- "requires": {
- "p-locate": "^2.0.0",
- "path-exists": "^3.0.0"
- },
- "dependencies": {
- "path-exists": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
- "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
- "dev": true
- }
- }
- },
- "lodash": {
- "version": "4.17.19",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz",
- "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==",
- "dev": true
- },
- "lodash._escapehtmlchar": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/lodash._escapehtmlchar/-/lodash._escapehtmlchar-2.4.1.tgz",
- "integrity": "sha1-32fDu2t+jh6DGrSL+geVuSr+iZ0=",
- "dev": true,
- "requires": {
- "lodash._htmlescapes": "~2.4.1"
- }
- },
- "lodash._escapestringchar": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/lodash._escapestringchar/-/lodash._escapestringchar-2.4.1.tgz",
- "integrity": "sha1-7P4iYYoq3lC/7qQ5N+Ud9m8O23I=",
- "dev": true
- },
- "lodash._htmlescapes": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/lodash._htmlescapes/-/lodash._htmlescapes-2.4.1.tgz",
- "integrity": "sha1-MtFL8IRLbeb4tioFG09nwii2JMs=",
- "dev": true
- },
- "lodash._isnative": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz",
- "integrity": "sha1-PqZAS3hKe+g2x7V1gOHN95sUgyw=",
- "dev": true
- },
- "lodash._objecttypes": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz",
- "integrity": "sha1-fAt/admKH3ZSn4kLDNsbTf7BHBE=",
- "dev": true
- },
- "lodash._reinterpolate": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-2.4.1.tgz",
- "integrity": "sha1-TxInqlqHEfxjL1sHofRgequLMiI=",
- "dev": true
- },
- "lodash._reunescapedhtml": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/lodash._reunescapedhtml/-/lodash._reunescapedhtml-2.4.1.tgz",
- "integrity": "sha1-dHxPxAED6zu4oJduVx96JlnpO6c=",
- "dev": true,
- "requires": {
- "lodash._htmlescapes": "~2.4.1",
- "lodash.keys": "~2.4.1"
- }
- },
- "lodash._shimkeys": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/lodash._shimkeys/-/lodash._shimkeys-2.4.1.tgz",
- "integrity": "sha1-bpzJZm/wgfC1psl4uD4kLmlJ0gM=",
- "dev": true,
- "requires": {
- "lodash._objecttypes": "~2.4.1"
- }
- },
- "lodash.assign": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz",
- "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=",
- "dev": true
- },
- "lodash.clone": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/lodash.clone/-/lodash.clone-4.5.0.tgz",
- "integrity": "sha1-GVhwRQ9aExkkeN9Lw9I9LeoZB7Y=",
- "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.defaults": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-2.4.1.tgz",
- "integrity": "sha1-p+iIXwXmiFEUS24SqPNngCa8TFQ=",
- "dev": true,
- "requires": {
- "lodash._objecttypes": "~2.4.1",
- "lodash.keys": "~2.4.1"
- }
- },
- "lodash.escape": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-2.4.1.tgz",
- "integrity": "sha1-LOEsXghNsKV92l5dHu659dF1o7Q=",
- "dev": true,
- "requires": {
- "lodash._escapehtmlchar": "~2.4.1",
- "lodash._reunescapedhtml": "~2.4.1",
- "lodash.keys": "~2.4.1"
- }
- },
- "lodash.flatten": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz",
- "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=",
- "dev": true
- },
- "lodash.isobject": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-3.0.2.tgz",
- "integrity": "sha1-PI+41bW/S/kK4G4U8qUwpO2TXh0=",
- "dev": true
- },
- "lodash.keys": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz",
- "integrity": "sha1-SN6kbfj/djKxDXBrissmWR4rNyc=",
- "dev": true,
- "requires": {
- "lodash._isnative": "~2.4.1",
- "lodash._shimkeys": "~2.4.1",
- "lodash.isobject": "~2.4.1"
- },
- "dependencies": {
- "lodash.isobject": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz",
- "integrity": "sha1-Wi5H/mmVPx7mMafrof5k0tBlWPU=",
- "dev": true,
- "requires": {
- "lodash._objecttypes": "~2.4.1"
- }
- }
- }
- },
- "lodash.merge": {
- "version": "4.6.2",
- "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
- "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
- "dev": true
- },
- "lodash.partialright": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/lodash.partialright/-/lodash.partialright-4.2.1.tgz",
- "integrity": "sha1-ATDYDoM2MmTUAHTzKbij56ihzEs=",
- "dev": true
- },
- "lodash.pick": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz",
- "integrity": "sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM=",
- "dev": true
- },
- "lodash.template": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-2.4.1.tgz",
- "integrity": "sha1-nmEQB+32KRKal0qzxIuBez4c8g0=",
- "dev": true,
- "requires": {
- "lodash._escapestringchar": "~2.4.1",
- "lodash._reinterpolate": "~2.4.1",
- "lodash.defaults": "~2.4.1",
- "lodash.escape": "~2.4.1",
- "lodash.keys": "~2.4.1",
- "lodash.templatesettings": "~2.4.1",
- "lodash.values": "~2.4.1"
- }
- },
- "lodash.templatesettings": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-2.4.1.tgz",
- "integrity": "sha1-6nbHXRHrhtTb6JqDiTu4YZKaxpk=",
- "dev": true,
- "requires": {
- "lodash._reinterpolate": "~2.4.1",
- "lodash.escape": "~2.4.1"
- }
- },
- "lodash.uniq": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz",
- "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=",
- "dev": true
- },
- "lodash.values": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/lodash.values/-/lodash.values-2.4.1.tgz",
- "integrity": "sha1-q/UUQ2s8twUAFieXjLzzCxKA7qQ=",
- "dev": true,
- "requires": {
- "lodash.keys": "~2.4.1"
- }
- },
- "logalot": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/logalot/-/logalot-2.1.0.tgz",
- "integrity": "sha1-X46MkNME7fElMJUaVVSruMXj9VI=",
- "dev": true,
- "optional": true,
- "requires": {
- "figures": "^1.3.5",
- "squeak": "^1.0.0"
- }
- },
- "longest": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz",
- "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=",
- "dev": true
- },
- "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.0"
- }
- },
- "lowercase-keys": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz",
- "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==",
- "dev": true,
- "optional": true
- },
- "lpad-align": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/lpad-align/-/lpad-align-1.1.2.tgz",
- "integrity": "sha1-IfYArBwwlcPG5JfuZyce4ISB/p4=",
- "dev": true,
- "optional": true,
- "requires": {
- "get-stdin": "^4.0.1",
- "indent-string": "^2.1.0",
- "longest": "^1.0.0",
- "meow": "^3.3.0"
- }
- },
- "lru-cache": {
- "version": "4.1.5",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz",
- "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==",
- "dev": true,
- "optional": true,
- "requires": {
- "pseudomap": "^1.0.2",
- "yallist": "^2.1.2"
- }
- },
- "make-dir": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
- "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
- "dev": true,
- "requires": {
- "semver": "^6.0.0"
- },
- "dependencies": {
- "semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
- "dev": true
- }
- }
- },
- "make-error": {
- "version": "1.3.6",
- "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz",
- "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==",
- "dev": true
- },
- "make-error-cause": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/make-error-cause/-/make-error-cause-1.2.2.tgz",
- "integrity": "sha1-3wOI/NCzeBbf8KX7gQiTl3fcvJ0=",
- "dev": true,
- "requires": {
- "make-error": "^1.2.0"
- }
- },
- "make-iterator": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz",
- "integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==",
- "dev": true,
- "requires": {
- "kind-of": "^6.0.2"
- }
- },
- "map-cache": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
- "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=",
- "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
- },
- "map-stream": {
- "version": "0.0.4",
- "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.0.4.tgz",
- "integrity": "sha1-XsbekCE+9sey65Nn6a3o2k79tos=",
- "dev": true
- },
- "map-visit": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
- "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
- "dev": true,
- "requires": {
- "object-visit": "^1.0.0"
- }
- },
- "masonry-layout": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/masonry-layout/-/masonry-layout-4.2.2.tgz",
- "integrity": "sha512-iGtAlrpHNyxaR19CvKC3npnEcAwszXoyJiI8ARV2ePi7fmYhIud25MHK8Zx4P0LCC4d3TNO9+rFa1KoK1OEOaA==",
- "requires": {
- "get-size": "^2.0.2",
- "outlayer": "^2.1.0"
- }
- },
- "matchdep": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/matchdep/-/matchdep-2.0.0.tgz",
- "integrity": "sha1-xvNINKDY28OzfCfui7yyfHd1WC4=",
- "dev": true,
- "requires": {
- "findup-sync": "^2.0.0",
- "micromatch": "^3.0.4",
- "resolve": "^1.4.0",
- "stack-trace": "0.0.10"
- },
- "dependencies": {
- "findup-sync": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz",
- "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=",
- "dev": true,
- "requires": {
- "detect-file": "^1.0.0",
- "is-glob": "^3.1.0",
- "micromatch": "^3.0.4",
- "resolve-dir": "^1.0.1"
- }
- },
- "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.0"
- }
- }
- }
- },
- "mdn-data": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz",
- "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==",
- "dev": true,
- "optional": true
- },
- "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.0.0",
- "decamelize": "^1.1.2",
- "loud-rejection": "^1.0.0",
- "map-obj": "^1.0.1",
- "minimist": "^1.1.3",
- "normalize-package-data": "^2.3.4",
- "object-assign": "^4.0.1",
- "read-pkg-up": "^1.0.1",
- "redent": "^1.0.0",
- "trim-newlines": "^1.0.0"
- }
- },
- "merge-stream": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
- "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
- "dev": true
- },
- "merge2": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
- "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
- "dev": true
- },
- "micromatch": {
- "version": "3.1.10",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
- "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
- "dev": true,
- "requires": {
- "arr-diff": "^4.0.0",
- "array-unique": "^0.3.2",
- "braces": "^2.3.1",
- "define-property": "^2.0.2",
- "extend-shallow": "^3.0.2",
- "extglob": "^2.0.4",
- "fragment-cache": "^0.2.1",
- "kind-of": "^6.0.2",
- "nanomatch": "^1.2.9",
- "object.pick": "^1.3.0",
- "regex-not": "^1.0.0",
- "snapdragon": "^0.8.1",
- "to-regex": "^3.0.2"
- }
- },
- "mime": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
- "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
- "dev": true,
- "optional": true
- },
- "mime-db": {
- "version": "1.44.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz",
- "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==",
- "dev": true,
- "optional": true
- },
- "mime-types": {
- "version": "2.1.27",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz",
- "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==",
- "dev": true,
- "optional": true,
- "requires": {
- "mime-db": "1.44.0"
- }
- },
- "mimic-fn": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
- "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
- "dev": true,
- "optional": true
- },
- "mimic-response": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz",
- "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==",
- "dev": true,
- "optional": 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.7"
- }
- },
- "minimist": {
- "version": "1.2.5",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
- "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw=="
- },
- "mixin-deep": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz",
- "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==",
- "dev": true,
- "requires": {
- "for-in": "^1.0.2",
- "is-extendable": "^1.0.1"
- },
- "dependencies": {
- "is-extendable": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
- "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
- "dev": true,
- "requires": {
- "is-plain-object": "^2.0.4"
- }
- }
- }
- },
- "mkdirp": {
- "version": "0.5.5",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
- "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
- "dev": true,
- "optional": true,
- "requires": {
- "minimist": "^1.2.5"
- }
- },
- "mozjpeg": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/mozjpeg/-/mozjpeg-6.0.1.tgz",
- "integrity": "sha512-9Z59pJMi8ni+IUvSH5xQwK5tNLw7p3dwDNCZ3o1xE+of3G5Hc/yOz6Ue/YuLiBXU3ZB5oaHPURyPdqfBX/QYJA==",
- "dev": true,
- "optional": true,
- "requires": {
- "bin-build": "^3.0.0",
- "bin-wrapper": "^4.0.0",
- "logalot": "^2.1.0"
- }
- },
- "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"
- }
- },
- "mustache": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/mustache/-/mustache-4.0.1.tgz",
- "integrity": "sha512-yL5VE97+OXn4+Er3THSmTdCFCtx5hHWzrolvH+JObZnUYwuaG7XV+Ch4fR2cIrcYI0tFHxS7iyFYl14bW8y2sA==",
- "dev": true
- },
- "mute-stdout": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/mute-stdout/-/mute-stdout-1.0.1.tgz",
- "integrity": "sha512-kDcwXR4PS7caBpuRYYBUz9iVixUk3anO3f5OYFiIPwK/20vCzKCHyKoulbiDY1S53zD2bxUpxN/IJ+TnXjfvxg==",
- "dev": true
- },
- "nan": {
- "version": "2.14.1",
- "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.1.tgz",
- "integrity": "sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw==",
- "dev": true,
- "optional": true
- },
- "nanomatch": {
- "version": "1.2.13",
- "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
- "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
- "dev": true,
- "requires": {
- "arr-diff": "^4.0.0",
- "array-unique": "^0.3.2",
- "define-property": "^2.0.2",
- "extend-shallow": "^3.0.2",
- "fragment-cache": "^0.2.1",
- "is-windows": "^1.0.2",
- "kind-of": "^6.0.2",
- "object.pick": "^1.3.0",
- "regex-not": "^1.0.0",
- "snapdragon": "^0.8.1",
- "to-regex": "^3.0.1"
- }
- },
- "neo-async": {
- "version": "2.6.1",
- "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz",
- "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw=="
- },
- "next-tick": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz",
- "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=",
- "dev": true
- },
- "nice-try": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
- "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
- "dev": true,
- "optional": true
- },
- "node-releases": {
- "version": "1.1.58",
- "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.58.tgz",
- "integrity": "sha512-NxBudgVKiRh/2aPWMgPR7bPTX0VPmGx5QBwCtdHitnqFE5/O8DeBXuIMH1nwNnw/aMo6AjOrpsHzfY3UbUJ7yg==",
- "dev": true
- },
- "normalize-package-data": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
- "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
- "dev": true,
- "requires": {
- "hosted-git-info": "^2.1.4",
- "resolve": "^1.10.0",
- "semver": "2 || 3 || 4 || 5",
- "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.1"
- }
- },
- "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": "2.0.1",
- "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-2.0.1.tgz",
- "integrity": "sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==",
- "dev": true,
- "optional": true,
- "requires": {
- "prepend-http": "^2.0.0",
- "query-string": "^5.0.1",
- "sort-keys": "^2.0.0"
- },
- "dependencies": {
- "prepend-http": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz",
- "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=",
- "dev": true,
- "optional": true
- },
- "sort-keys": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz",
- "integrity": "sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=",
- "dev": true,
- "optional": true,
- "requires": {
- "is-plain-obj": "^1.0.0"
- }
- }
- }
- },
- "now-and-later": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/now-and-later/-/now-and-later-2.0.1.tgz",
- "integrity": "sha512-KGvQ0cB70AQfg107Xvs/Fbu+dGmZoTRJp2TaPwcwQm3/7PteUyN2BCgk8KBMPGBUXZdVwyWS8fDCGFygBm19UQ==",
- "dev": true,
- "requires": {
- "once": "^1.3.2"
- }
- },
- "npm-conf": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/npm-conf/-/npm-conf-1.1.3.tgz",
- "integrity": "sha512-Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw==",
- "dev": true,
- "optional": true,
- "requires": {
- "config-chain": "^1.1.11",
- "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,
- "optional": true
- }
- }
- },
- "npm-run-path": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
- "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
- "dev": true,
- "optional": true,
- "requires": {
- "path-key": "^2.0.0"
- }
- },
- "nth-check": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz",
- "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==",
- "dev": true,
- "optional": true,
- "requires": {
- "boolbase": "~1.0.0"
- }
- },
- "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.9.0",
- "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
- "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==",
- "dev": true,
- "optional": 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-copy": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
- "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
- "dev": true,
- "requires": {
- "copy-descriptor": "^0.1.0",
- "define-property": "^0.2.5",
- "kind-of": "^3.0.3"
- },
- "dependencies": {
- "define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "dev": true,
- "requires": {
- "is-descriptor": "^0.1.0"
- }
- },
- "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"
- }
- }
- }
- },
- "object-inspect": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz",
- "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==",
- "dev": true
- },
- "object-keys": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
- "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
- "dev": true
- },
- "object-visit": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
- "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
- "dev": true,
- "requires": {
- "isobject": "^3.0.0"
- }
- },
- "object.assign": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz",
- "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==",
- "dev": true,
- "requires": {
- "define-properties": "^1.1.2",
- "function-bind": "^1.1.1",
- "has-symbols": "^1.0.0",
- "object-keys": "^1.0.11"
- }
- },
- "object.defaults": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz",
- "integrity": "sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=",
- "dev": true,
- "requires": {
- "array-each": "^1.0.1",
- "array-slice": "^1.0.0",
- "for-own": "^1.0.0",
- "isobject": "^3.0.0"
- }
- },
- "object.getownpropertydescriptors": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz",
- "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==",
- "dev": true,
- "optional": true,
- "requires": {
- "define-properties": "^1.1.3",
- "es-abstract": "^1.17.0-next.1"
- }
- },
- "object.map": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz",
- "integrity": "sha1-z4Plncj8wK1fQlDh94s7gb2AHTc=",
- "dev": true,
- "requires": {
- "for-own": "^1.0.0",
- "make-iterator": "^1.0.0"
- }
- },
- "object.pick": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
- "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
- "dev": true,
- "requires": {
- "isobject": "^3.0.1"
- }
- },
- "object.reduce": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/object.reduce/-/object.reduce-1.0.1.tgz",
- "integrity": "sha1-b+NI8qx/oPlcpiEiZZkJaCW7A60=",
- "dev": true,
- "requires": {
- "for-own": "^1.0.0",
- "make-iterator": "^1.0.0"
- }
- },
- "object.values": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.1.tgz",
- "integrity": "sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA==",
- "dev": true,
- "optional": true,
- "requires": {
- "define-properties": "^1.1.3",
- "es-abstract": "^1.17.0-next.1",
- "function-bind": "^1.1.1",
- "has": "^1.0.3"
- }
- },
- "once": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
- "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
- "dev": true,
- "requires": {
- "wrappy": "1"
- }
- },
- "onetime": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz",
- "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==",
- "dev": true,
- "optional": true,
- "requires": {
- "mimic-fn": "^2.1.0"
- }
- },
- "optipng-bin": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/optipng-bin/-/optipng-bin-6.0.0.tgz",
- "integrity": "sha512-95bB4y8IaTsa/8x6QH4bLUuyvyOoGBCLDA7wOgDL8UFqJpSUh1Hob8JRJhit+wC1ZLN3tQ7mFt7KuBj0x8F2Wg==",
- "dev": true,
- "optional": true,
- "requires": {
- "bin-build": "^3.0.0",
- "bin-wrapper": "^4.0.0",
- "logalot": "^2.0.0"
- }
- },
- "ordered-read-streams": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz",
- "integrity": "sha1-d8DLN8QVJdZBZtmQ/61+xqDhNj4=",
- "dev": true,
- "requires": {
- "readable-stream": "^2.0.1"
- }
- },
- "os-filter-obj": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/os-filter-obj/-/os-filter-obj-2.0.0.tgz",
- "integrity": "sha512-uksVLsqG3pVdzzPvmAHpBK0wKxYItuzZr7SziusRPoz67tGV8rL1szZ6IdeUrbqLjGDwApBtN29eEE3IqGHOjg==",
- "dev": true,
- "optional": true,
- "requires": {
- "arch": "^2.1.0"
- }
- },
- "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"
- }
- },
- "outlayer": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/outlayer/-/outlayer-2.1.1.tgz",
- "integrity": "sha1-KYY7beEOpdrf/8rfoNcokHOH6aI=",
- "requires": {
- "ev-emitter": "^1.0.0",
- "fizzy-ui-utils": "^2.0.0",
- "get-size": "^2.0.2"
- }
- },
- "p-cancelable": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.3.0.tgz",
- "integrity": "sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw==",
- "dev": true,
- "optional": true
- },
- "p-event": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/p-event/-/p-event-1.3.0.tgz",
- "integrity": "sha1-jmtPT2XHK8W2/ii3XtqHT5akoIU=",
- "dev": true,
- "optional": true,
- "requires": {
- "p-timeout": "^1.1.1"
- }
- },
- "p-finally": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
- "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
- "dev": true,
- "optional": true
- },
- "p-is-promise": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz",
- "integrity": "sha1-nJRWmJ6fZYgBewQ01WCXZ1w9oF4=",
- "dev": true,
- "optional": true
- },
- "p-limit": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
- "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
- "dev": true,
- "requires": {
- "p-try": "^1.0.0"
- }
- },
- "p-locate": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
- "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
- "dev": true,
- "requires": {
- "p-limit": "^1.1.0"
- }
- },
- "p-map-series": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/p-map-series/-/p-map-series-1.0.0.tgz",
- "integrity": "sha1-v5j+V1cFZYqeE1G++4WuTB8Hvco=",
- "dev": true,
- "optional": true,
- "requires": {
- "p-reduce": "^1.0.0"
- }
- },
- "p-pipe": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/p-pipe/-/p-pipe-3.1.0.tgz",
- "integrity": "sha512-08pj8ATpzMR0Y80x50yJHn37NF6vjrqHutASaX5LiH5npS9XPvrUmscd9MF5R4fuYRHOxQR1FfMIlF7AzwoPqw==",
- "dev": true
- },
- "p-reduce": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-1.0.0.tgz",
- "integrity": "sha1-GMKw3ZNqRpClKfgjH1ig/bakffo=",
- "dev": true,
- "optional": true
- },
- "p-timeout": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-1.2.1.tgz",
- "integrity": "sha1-XrOzU7f86Z8QGhA4iAuwVOu+o4Y=",
- "dev": true,
- "optional": true,
- "requires": {
- "p-finally": "^1.0.0"
- }
- },
- "p-try": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
- "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=",
- "dev": true
- },
- "parse-filepath": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz",
- "integrity": "sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=",
- "dev": true,
- "requires": {
- "is-absolute": "^1.0.0",
- "map-cache": "^0.2.0",
- "path-root": "^0.1.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.2.0"
- }
- },
- "parse-node-version": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz",
- "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==",
- "dev": true
- },
- "parse-passwd": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz",
- "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=",
- "dev": true
- },
- "parserlib": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/parserlib/-/parserlib-1.1.1.tgz",
- "integrity": "sha1-pkz6ckBiQ0/fw1HJpOwtkrlMBvQ=",
- "dev": true
- },
- "pascalcase": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
- "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=",
- "dev": true
- },
- "path-dirname": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz",
- "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=",
- "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.0"
- }
- },
- "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-key": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
- "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
- "dev": true,
- "optional": true
- },
- "path-parse": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
- "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==",
- "dev": true
- },
- "path-root": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz",
- "integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=",
- "dev": true,
- "requires": {
- "path-root-regex": "^0.1.0"
- }
- },
- "path-root-regex": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz",
- "integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=",
- "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.2",
- "pify": "^2.0.0",
- "pinkie-promise": "^2.0.0"
- }
- },
- "pend": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
- "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=",
- "dev": true,
- "optional": true
- },
- "performance-now": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
- "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
- "dev": true,
- "optional": true
- },
- "picomatch": {
- "version": "2.2.2",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz",
- "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==",
- "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.0"
- }
- },
- "pkg-up": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz",
- "integrity": "sha1-yBmscoBZpGHKscOImivjxJoATX8=",
- "dev": true,
- "requires": {
- "find-up": "^2.1.0"
- },
- "dependencies": {
- "find-up": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
- "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
- "dev": true,
- "requires": {
- "locate-path": "^2.0.0"
- }
- }
- }
- },
- "plugin-error": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-1.0.1.tgz",
- "integrity": "sha512-L1zP0dk7vGweZME2i+EeakvUNqSrdiI3F91TwEoYiGrAfUXmVv6fJIq4g82PAXxNsWOp0J7ZqQy/3Szz0ajTxA==",
- "dev": true,
- "requires": {
- "ansi-colors": "^1.0.1",
- "arr-diff": "^4.0.0",
- "arr-union": "^3.1.0",
- "extend-shallow": "^3.0.2"
- }
- },
- "plur": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/plur/-/plur-3.1.1.tgz",
- "integrity": "sha512-t1Ax8KUvV3FFII8ltczPn2tJdjqbd1sIzu6t4JL7nQ3EyeL/lTrj5PWKb06ic5/6XYDr65rQ4uzQEGN70/6X5w==",
- "dev": true,
- "requires": {
- "irregular-plurals": "^2.0.0"
- }
- },
- "posix-character-classes": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
- "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=",
- "dev": true
- },
- "postcss": {
- "version": "7.0.32",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.32.tgz",
- "integrity": "sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw==",
- "dev": true,
- "requires": {
- "chalk": "^2.4.2",
- "source-map": "^0.6.1",
- "supports-color": "^6.1.0"
- },
- "dependencies": {
- "supports-color": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
- "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
- "dev": true,
- "requires": {
- "has-flag": "^3.0.0"
- }
- }
- }
- },
- "postcss-value-parser": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz",
- "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==",
- "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,
- "optional": true
- },
- "pretty-bytes": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.3.0.tgz",
- "integrity": "sha512-hjGrh+P926p4R4WbaB6OckyRtO0F0/lQBiT+0gnxjV+5kjPBrfVBFCsCLbMqVQeydvIoouYTCmmEURiH3R1Bdg==",
- "dev": true
- },
- "pretty-hrtime": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz",
- "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=",
- "dev": true
- },
- "process-nextick-args": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
- "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
- "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.3"
- }
- },
- "proto-list": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz",
- "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=",
- "dev": true,
- "optional": true
- },
- "prr": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
- "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=",
- "dev": true,
- "optional": true
- },
- "pseudomap": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
- "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=",
- "dev": true,
- "optional": true
- },
- "psl": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz",
- "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==",
- "dev": true,
- "optional": true
- },
- "pump": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz",
- "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==",
- "dev": true,
- "requires": {
- "end-of-stream": "^1.1.0",
- "once": "^1.3.1"
- }
- },
- "pumpify": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz",
- "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==",
- "dev": true,
- "requires": {
- "duplexify": "^3.6.0",
- "inherits": "^2.0.3",
- "pump": "^2.0.0"
- }
- },
- "punycode": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
- "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
- "dev": true,
- "optional": true
- },
- "q": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz",
- "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=",
- "dev": true,
- "optional": true
- },
- "qs": {
- "version": "6.5.2",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
- "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==",
- "dev": true,
- "optional": true
- },
- "query-string": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz",
- "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==",
- "dev": true,
- "optional": true,
- "requires": {
- "decode-uri-component": "^0.2.0",
- "object-assign": "^4.1.0",
- "strict-uri-encode": "^1.0.0"
- }
- },
- "rcfinder": {
- "version": "0.1.9",
- "resolved": "https://registry.npmjs.org/rcfinder/-/rcfinder-0.1.9.tgz",
- "integrity": "sha1-8+gPOH3fmugK4wpBADKWQuroERU=",
- "dev": true,
- "requires": {
- "lodash.clonedeep": "^4.3.2"
- }
- },
- "rcloader": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/rcloader/-/rcloader-0.2.2.tgz",
- "integrity": "sha1-WNIpi0YtC5v9ITPSoex0+9cFxxc=",
- "dev": true,
- "requires": {
- "lodash.assign": "^4.2.0",
- "lodash.isobject": "^3.0.2",
- "lodash.merge": "^4.6.0",
- "rcfinder": "^0.1.6"
- }
- },
- "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.0.0",
- "normalize-package-data": "^2.3.2",
- "path-type": "^1.0.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.0.0",
- "read-pkg": "^1.0.0"
- }
- },
- "readable-stream": {
- "version": "2.3.7",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
- "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
- "dev": true,
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "readdirp": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz",
- "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.11",
- "micromatch": "^3.1.10",
- "readable-stream": "^2.0.2"
- }
- },
- "rechoir": {
- "version": "0.6.2",
- "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz",
- "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=",
- "dev": true,
- "requires": {
- "resolve": "^1.1.6"
- }
- },
- "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"
- }
- },
- "regex-not": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
- "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
- "dev": true,
- "requires": {
- "extend-shallow": "^3.0.2",
- "safe-regex": "^1.1.0"
- }
- },
- "remove-bom-buffer": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz",
- "integrity": "sha512-8v2rWhaakv18qcvNeli2mZ/TMTL2nEyAKRvzo1WtnZBl15SHyEhrCu2/xKlJyUFKHiHgfXIyuY6g2dObJJycXQ==",
- "dev": true,
- "requires": {
- "is-buffer": "^1.1.5",
- "is-utf8": "^0.2.1"
- }
- },
- "remove-bom-stream": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/remove-bom-stream/-/remove-bom-stream-1.2.0.tgz",
- "integrity": "sha1-BfGlk/FuQuH7kOv1nejlaVJflSM=",
- "dev": true,
- "requires": {
- "remove-bom-buffer": "^3.0.0",
- "safe-buffer": "^5.1.0",
- "through2": "^2.0.3"
- }
- },
- "remove-trailing-separator": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
- "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=",
- "dev": true
- },
- "repeat-element": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz",
- "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==",
- "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.0"
- }
- },
- "replace-ext": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz",
- "integrity": "sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==",
- "dev": true
- },
- "replace-homedir": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/replace-homedir/-/replace-homedir-1.0.0.tgz",
- "integrity": "sha1-6H9tUTuSjd6AgmDBK+f+xv9ueYw=",
- "dev": true,
- "requires": {
- "homedir-polyfill": "^1.0.1",
- "is-absolute": "^1.0.0",
- "remove-trailing-separator": "^1.1.0"
- }
- },
- "request": {
- "version": "2.88.2",
- "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz",
- "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==",
- "dev": true,
- "optional": true,
- "requires": {
- "aws-sign2": "~0.7.0",
- "aws4": "^1.8.0",
- "caseless": "~0.12.0",
- "combined-stream": "~1.0.6",
- "extend": "~3.0.2",
- "forever-agent": "~0.6.1",
- "form-data": "~2.3.2",
- "har-validator": "~5.1.3",
- "http-signature": "~1.2.0",
- "is-typedarray": "~1.0.0",
- "isstream": "~0.1.2",
- "json-stringify-safe": "~5.0.1",
- "mime-types": "~2.1.19",
- "oauth-sign": "~0.9.0",
- "performance-now": "^2.1.0",
- "qs": "~6.5.2",
- "safe-buffer": "^5.1.2",
- "tough-cookie": "~2.5.0",
- "tunnel-agent": "^0.6.0",
- "uuid": "^3.3.2"
- },
- "dependencies": {
- "uuid": {
- "version": "3.4.0",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
- "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
- "dev": true,
- "optional": true
- }
- }
- },
- "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-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
- },
- "resolve": {
- "version": "1.17.0",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz",
- "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==",
- "dev": true,
- "requires": {
- "path-parse": "^1.0.6"
- }
- },
- "resolve-dir": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz",
- "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=",
- "dev": true,
- "requires": {
- "expand-tilde": "^2.0.0",
- "global-modules": "^1.0.0"
- }
- },
- "resolve-options": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/resolve-options/-/resolve-options-1.1.0.tgz",
- "integrity": "sha1-MrueOcBtZzONyTeMDW1gdFZq0TE=",
- "dev": true,
- "requires": {
- "value-or-function": "^3.0.0"
- }
- },
- "resolve-url": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
- "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
- "dev": true
- },
- "responselike": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz",
- "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=",
- "dev": true,
- "optional": true,
- "requires": {
- "lowercase-keys": "^1.0.0"
- }
- },
- "ret": {
- "version": "0.1.15",
- "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
- "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
- "dev": true
- },
- "reusify": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
- "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
- "dev": true
- },
- "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.1"
- }
- },
- "rimraf": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
- "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
- "dev": true,
- "optional": true,
- "requires": {
- "glob": "^7.1.3"
- }
- },
- "run-parallel": {
- "version": "1.1.9",
- "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.9.tgz",
- "integrity": "sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q==",
- "dev": true
- },
- "safe-buffer": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
- "dev": true
- },
- "safe-regex": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
- "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
- "dev": true,
- "requires": {
- "ret": "~0.1.10"
- }
- },
- "safer-buffer": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
- "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
- "dev": true,
- "optional": true
- },
- "sammy": {
- "version": "0.7.6",
- "resolved": "https://registry.npmjs.org/sammy/-/sammy-0.7.6.tgz",
- "integrity": "sha1-Rk/lTR+JZhzDqYgAYwVxEyHpqcE="
- },
- "sax": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
- "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==",
- "dev": true,
- "optional": true
- },
- "seek-bzip": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.5.tgz",
- "integrity": "sha1-z+kXyz0nS8/6x5J1ivUxc+sfq9w=",
- "dev": true,
- "optional": true,
- "requires": {
- "commander": "~2.8.1"
- },
- "dependencies": {
- "commander": {
- "version": "2.8.1",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz",
- "integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=",
- "dev": true,
- "optional": true,
- "requires": {
- "graceful-readlink": ">= 1.0.0"
- }
- }
- }
- },
- "semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
- "dev": true
- },
- "semver-greatest-satisfied-range": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/semver-greatest-satisfied-range/-/semver-greatest-satisfied-range-1.1.0.tgz",
- "integrity": "sha1-E+jCZYq5aRywzXEJMkAoDTb3els=",
- "dev": true,
- "requires": {
- "sver-compat": "^1.5.0"
- }
- },
- "semver-regex": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-2.0.0.tgz",
- "integrity": "sha512-mUdIBBvdn0PLOeP3TEkMH7HHeUP3GjsXCwKarjv/kGmUFOYg1VqEemKhoQpWMu6X2I8kHeuVdGibLGkVK+/5Qw==",
- "dev": true,
- "optional": true
- },
- "semver-truncate": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/semver-truncate/-/semver-truncate-1.1.2.tgz",
- "integrity": "sha1-V/Qd5pcHpicJp+AQS6IRcQnqR+g=",
- "dev": true,
- "optional": true,
- "requires": {
- "semver": "^5.3.0"
- }
- },
- "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-value": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz",
- "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==",
- "dev": true,
- "requires": {
- "extend-shallow": "^2.0.1",
- "is-extendable": "^0.1.1",
- "is-plain-object": "^2.0.3",
- "split-string": "^3.0.1"
- },
- "dependencies": {
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "dev": true,
- "requires": {
- "is-extendable": "^0.1.0"
- }
- }
- }
- },
- "shebang-command": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
- "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
- "dev": true,
- "optional": true,
- "requires": {
- "shebang-regex": "^1.0.0"
- }
- },
- "shebang-regex": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
- "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
- "dev": true,
- "optional": true
- },
- "shelljs": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.3.0.tgz",
- "integrity": "sha1-NZbmMHp4FUT1kfN9phg2DzHbV7E=",
- "dev": true
- },
- "signal-exit": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz",
- "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==",
- "dev": true
- },
- "slash": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
- "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
- "dev": true
- },
- "snapdragon": {
- "version": "0.8.2",
- "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
- "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
- "dev": true,
- "requires": {
- "base": "^0.11.1",
- "debug": "^2.2.0",
- "define-property": "^0.2.5",
- "extend-shallow": "^2.0.1",
- "map-cache": "^0.2.2",
- "source-map": "^0.5.6",
- "source-map-resolve": "^0.5.0",
- "use": "^3.1.0"
- },
- "dependencies": {
- "define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "dev": true,
- "requires": {
- "is-descriptor": "^0.1.0"
- }
- },
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "dev": true,
- "requires": {
- "is-extendable": "^0.1.0"
- }
- },
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
- "dev": true
- }
- }
- },
- "snapdragon-node": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
- "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
- "dev": true,
- "requires": {
- "define-property": "^1.0.0",
- "isobject": "^3.0.0",
- "snapdragon-util": "^3.0.1"
- },
- "dependencies": {
- "define-property": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
- "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
- "dev": true,
- "requires": {
- "is-descriptor": "^1.0.0"
- }
- },
- "is-accessor-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
- "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
- "dev": true,
- "requires": {
- "kind-of": "^6.0.0"
- }
- },
- "is-data-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
- "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
- "dev": true,
- "requires": {
- "kind-of": "^6.0.0"
- }
- },
- "is-descriptor": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
- "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
- "dev": true,
- "requires": {
- "is-accessor-descriptor": "^1.0.0",
- "is-data-descriptor": "^1.0.0",
- "kind-of": "^6.0.2"
- }
- }
- }
- },
- "snapdragon-util": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
- "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
- "dev": true,
- "requires": {
- "kind-of": "^3.2.0"
- },
- "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"
- }
- }
- }
- },
- "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,
- "optional": true,
- "requires": {
- "is-plain-obj": "^1.0.0"
- }
- },
- "sort-keys-length": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/sort-keys-length/-/sort-keys-length-1.0.1.tgz",
- "integrity": "sha1-nLb09OnkgVWmqgZx7dM2/xR5oYg=",
- "dev": true,
- "optional": true,
- "requires": {
- "sort-keys": "^1.0.0"
- }
- },
- "source-code-pro": {
- "version": "2.30.2",
- "resolved": "https://registry.npmjs.org/source-code-pro/-/source-code-pro-2.30.2.tgz",
- "integrity": "sha512-KctdxE5xBzf9wjYjTO9JWEQ1F2tdAR+yloz1rUmP5n0p6wEXB33B0myGTz49K6I3/EQpnJ9zot10r9ThQ+GARg=="
- },
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
- },
- "source-map-resolve": {
- "version": "0.5.3",
- "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz",
- "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==",
- "dev": true,
- "requires": {
- "atob": "^2.1.2",
- "decode-uri-component": "^0.2.0",
- "resolve-url": "^0.2.1",
- "source-map-url": "^0.4.0",
- "urix": "^0.1.0"
- }
- },
- "source-map-url": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
- "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=",
- "dev": true
- },
- "source-sans-pro": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/source-sans-pro/-/source-sans-pro-3.6.0.tgz",
- "integrity": "sha512-C1RFUGu+YASuqpgDRInTM7Y6OwqeWNOuKn7v0P/4Kh66epTI4PYWwPWP5kdA4l/VqzBAWiqoz5dk0trof73R7w=="
- },
- "sparkles": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.1.tgz",
- "integrity": "sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw==",
- "dev": true
- },
- "spdx-correct": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz",
- "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==",
- "dev": true,
- "requires": {
- "spdx-expression-parse": "^3.0.0",
- "spdx-license-ids": "^3.0.0"
- }
- },
- "spdx-exceptions": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz",
- "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==",
- "dev": true
- },
- "spdx-expression-parse": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz",
- "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==",
- "dev": true,
- "requires": {
- "spdx-exceptions": "^2.1.0",
- "spdx-license-ids": "^3.0.0"
- }
- },
- "spdx-license-ids": {
- "version": "3.0.5",
- "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz",
- "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==",
- "dev": true
- },
- "split-string": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
- "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
- "dev": true,
- "requires": {
- "extend-shallow": "^3.0.0"
- }
- },
- "sprintf-js": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
- "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
- "dev": true,
- "optional": true
- },
- "squeak": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/squeak/-/squeak-1.3.0.tgz",
- "integrity": "sha1-MwRQN7ZDiLVnZ0uEMiplIQc5FsM=",
- "dev": true,
- "optional": true,
- "requires": {
- "chalk": "^1.0.0",
- "console-stream": "^0.1.1",
- "lpad-align": "^1.0.1"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
- "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
- "dev": true,
- "optional": true
- },
- "chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "dev": true,
- "optional": true,
- "requires": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.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,
- "optional": true,
- "requires": {
- "ansi-regex": "^2.0.0"
- }
- },
- "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,
- "optional": true
- }
- }
- },
- "sshpk": {
- "version": "1.16.1",
- "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz",
- "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==",
- "dev": true,
- "optional": true,
- "requires": {
- "asn1": "~0.2.3",
- "assert-plus": "^1.0.0",
- "bcrypt-pbkdf": "^1.0.0",
- "dashdash": "^1.12.0",
- "ecc-jsbn": "~0.1.1",
- "getpass": "^0.1.1",
- "jsbn": "~0.1.0",
- "safer-buffer": "^2.0.2",
- "tweetnacl": "~0.14.0"
- }
- },
- "stable": {
- "version": "0.1.8",
- "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz",
- "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==",
- "dev": true,
- "optional": true
- },
- "stack-trace": {
- "version": "0.0.10",
- "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz",
- "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=",
- "dev": true
- },
- "static-extend": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
- "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
- "dev": true,
- "requires": {
- "define-property": "^0.2.5",
- "object-copy": "^0.1.0"
- },
- "dependencies": {
- "define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "dev": true,
- "requires": {
- "is-descriptor": "^0.1.0"
- }
- }
- }
- },
- "stream-exhaust": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/stream-exhaust/-/stream-exhaust-1.0.2.tgz",
- "integrity": "sha512-b/qaq/GlBK5xaq1yrK9/zFcyRSTNxmcZwFLGSTG0mXgZl/4Z6GgiyYOXOvY7N3eEvFRAG1bkDRz5EPGSvPYQlw==",
- "dev": true
- },
- "stream-shift": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz",
- "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==",
- "dev": true
- },
- "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,
- "optional": 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.0.0",
- "is-fullwidth-code-point": "^1.0.0",
- "strip-ansi": "^3.0.0"
- }
- },
- "string.prototype.trimend": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz",
- "integrity": "sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==",
- "dev": true,
- "requires": {
- "define-properties": "^1.1.3",
- "es-abstract": "^1.17.5"
- }
- },
- "string.prototype.trimleft": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.2.tgz",
- "integrity": "sha512-gCA0tza1JBvqr3bfAIFJGqfdRTyPae82+KTnm3coDXkZN9wnuW3HjGgN386D7hfv5CHQYCI022/rJPVlqXyHSw==",
- "dev": true,
- "requires": {
- "define-properties": "^1.1.3",
- "es-abstract": "^1.17.5",
- "string.prototype.trimstart": "^1.0.0"
- }
- },
- "string.prototype.trimright": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.2.tgz",
- "integrity": "sha512-ZNRQ7sY3KroTaYjRS6EbNiiHrOkjihL9aQE/8gfQ4DtAC/aEBRHFJa44OmoWxGGqXuJlfKkZW4WcXErGr+9ZFg==",
- "dev": true,
- "requires": {
- "define-properties": "^1.1.3",
- "es-abstract": "^1.17.5",
- "string.prototype.trimend": "^1.0.0"
- }
- },
- "string.prototype.trimstart": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz",
- "integrity": "sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==",
- "dev": true,
- "requires": {
- "define-properties": "^1.1.3",
- "es-abstract": "^1.17.5"
- }
- },
- "string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
- "dev": true,
- "requires": {
- "safe-buffer": "~5.1.0"
- }
- },
- "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.0.0"
- }
- },
- "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.0"
- }
- },
- "strip-dirs": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz",
- "integrity": "sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==",
- "dev": true,
- "optional": true,
- "requires": {
- "is-natural-number": "^4.0.1"
- }
- },
- "strip-eof": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
- "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
- "dev": true,
- "optional": true
- },
- "strip-final-newline": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
- "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
- "dev": true,
- "optional": true
- },
- "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": "1.0.4",
- "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz",
- "integrity": "sha1-HhX7ysl9Pumb8tc7TGVrCCu6+5E=",
- "dev": true
- },
- "strip-outer": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz",
- "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==",
- "dev": true,
- "optional": true,
- "requires": {
- "escape-string-regexp": "^1.0.2"
- }
- },
- "supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "dev": true,
- "requires": {
- "has-flag": "^3.0.0"
- }
- },
- "sver-compat": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/sver-compat/-/sver-compat-1.5.0.tgz",
- "integrity": "sha1-PPh9/rTQe0o/FIJ7wYaz/QxkXNg=",
- "dev": true,
- "requires": {
- "es6-iterator": "^2.0.1",
- "es6-symbol": "^3.1.1"
- }
- },
- "svgo": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz",
- "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==",
- "dev": true,
- "optional": true,
- "requires": {
- "chalk": "^2.4.1",
- "coa": "^2.0.2",
- "css-select": "^2.0.0",
- "css-select-base-adapter": "^0.1.1",
- "css-tree": "1.0.0-alpha.37",
- "csso": "^4.0.2",
- "js-yaml": "^3.13.1",
- "mkdirp": "~0.5.1",
- "object.values": "^1.1.0",
- "sax": "~1.2.4",
- "stable": "^0.1.8",
- "unquote": "~1.1.1",
- "util.promisify": "~1.0.0"
- }
- },
- "tar-stream": {
- "version": "1.6.2",
- "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz",
- "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==",
- "dev": true,
- "optional": true,
- "requires": {
- "bl": "^1.0.0",
- "buffer-alloc": "^1.2.0",
- "end-of-stream": "^1.0.0",
- "fs-constants": "^1.0.0",
- "readable-stream": "^2.3.0",
- "to-buffer": "^1.1.1",
- "xtend": "^4.0.0"
- }
- },
- "temp-dir": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz",
- "integrity": "sha1-CnwOom06Oa+n4OvqnB/AvE2qAR0=",
- "dev": true,
- "optional": true
- },
- "temp-write": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/temp-write/-/temp-write-0.1.1.tgz",
- "integrity": "sha1-C2Rng43Xf79/YqDJPah5cy/9qTI=",
- "dev": true,
- "requires": {
- "graceful-fs": "~2.0.0",
- "tempfile": "~0.1.2"
- },
- "dependencies": {
- "graceful-fs": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-2.0.3.tgz",
- "integrity": "sha1-fNLNsiiko/Nule+mzBQt59GhNtA=",
- "dev": true
- }
- }
- },
- "tempfile": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/tempfile/-/tempfile-0.1.3.tgz",
- "integrity": "sha1-fWtxAEcznTn4RzJ6BW2t8YMQMBA=",
- "dev": true,
- "requires": {
- "uuid": "~1.4.0"
- }
- },
- "ternary-stream": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/ternary-stream/-/ternary-stream-3.0.0.tgz",
- "integrity": "sha512-oIzdi+UL/JdktkT+7KU5tSIQjj8pbShj3OASuvDEhm0NT5lppsm7aXWAmAq4/QMaBIyfuEcNLbAQA+HpaISobQ==",
- "dev": true,
- "requires": {
- "duplexify": "^4.1.1",
- "fork-stream": "^0.0.4",
- "merge-stream": "^2.0.0",
- "through2": "^3.0.1"
- },
- "dependencies": {
- "duplexify": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.1.tgz",
- "integrity": "sha512-DY3xVEmVHTv1wSzKNbwoU6nVjzI369Y6sPoqfYr0/xlx3IdX2n94xIszTcjPO8W8ZIv0Wb0PXNcjuZyT4wiICA==",
- "dev": true,
- "requires": {
- "end-of-stream": "^1.4.1",
- "inherits": "^2.0.3",
- "readable-stream": "^3.1.1",
- "stream-shift": "^1.0.0"
- }
- },
- "readable-stream": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
- "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
- "dev": true,
- "requires": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- }
- },
- "through2": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.1.tgz",
- "integrity": "sha512-M96dvTalPT3YbYLaKaCuwu+j06D/8Jfib0o/PxbVt6Amhv3dUAtW6rTV1jPgJSBG83I/e04Y6xkVdVhSRhi0ww==",
- "dev": true,
- "requires": {
- "readable-stream": "2 || 3"
- }
- }
- }
- },
- "through": {
- "version": "2.3.8",
- "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
- "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
- "dev": true,
- "optional": true
- },
- "through2": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
- "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
- "dev": true,
- "requires": {
- "readable-stream": "~2.3.6",
- "xtend": "~4.0.1"
- }
- },
- "through2-concurrent": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/through2-concurrent/-/through2-concurrent-2.0.0.tgz",
- "integrity": "sha512-R5/jLkfMvdmDD+seLwN7vB+mhbqzWop5fAjx5IX8/yQq7VhBhzDmhXgaHAOnhnWkCpRMM7gToYHycB0CS/pd+A==",
- "dev": true,
- "requires": {
- "through2": "^2.0.0"
- }
- },
- "through2-filter": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/through2-filter/-/through2-filter-3.0.0.tgz",
- "integrity": "sha512-jaRjI2WxN3W1V8/FMZ9HKIBXixtiqs3SQSX4/YGIiP3gL6djW48VoZq9tDqeCWs3MT8YY5wb/zli8VW8snY1CA==",
- "dev": true,
- "requires": {
- "through2": "~2.0.0",
- "xtend": "~4.0.0"
- }
- },
- "time-stamp": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz",
- "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=",
- "dev": true
- },
- "timed-out": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz",
- "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=",
- "dev": true,
- "optional": true
- },
- "to-absolute-glob": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz",
- "integrity": "sha1-GGX0PZ50sIItufFFt4z/fQ98hJs=",
- "dev": true,
- "requires": {
- "is-absolute": "^1.0.0",
- "is-negated-glob": "^1.0.0"
- }
- },
- "to-buffer": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz",
- "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==",
- "dev": true,
- "optional": true
- },
- "to-object-path": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
- "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
- "dev": true,
- "requires": {
- "kind-of": "^3.0.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"
- }
- }
- }
- },
- "to-regex": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
- "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
- "dev": true,
- "requires": {
- "define-property": "^2.0.2",
- "extend-shallow": "^3.0.2",
- "regex-not": "^1.0.2",
- "safe-regex": "^1.1.0"
- }
- },
- "to-regex-range": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
- "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
- "dev": true,
- "requires": {
- "is-number": "^3.0.0",
- "repeat-string": "^1.6.1"
- }
- },
- "to-through": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/to-through/-/to-through-2.0.0.tgz",
- "integrity": "sha1-/JKtq6ByZHvAtn1rA2ZKoZUJOvY=",
- "dev": true,
- "requires": {
- "through2": "^2.0.3"
- }
- },
- "tough-cookie": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
- "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
- "dev": true,
- "optional": true,
- "requires": {
- "psl": "^1.1.28",
- "punycode": "^2.1.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-repeated": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz",
- "integrity": "sha1-42RqLqTokTEr9+rObPsFOAvAHCE=",
- "dev": true,
- "optional": true,
- "requires": {
- "escape-string-regexp": "^1.0.2"
- }
- },
- "tslib": {
- "version": "1.13.0",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz",
- "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==",
- "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,
- "optional": true,
- "requires": {
- "safe-buffer": "^5.0.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": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz",
- "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==",
- "dev": true
- },
- "typedarray": {
- "version": "0.0.6",
- "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
- "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
- "dev": true
- },
- "uglify-js": {
- "version": "3.9.4",
- "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.9.4.tgz",
- "integrity": "sha512-8RZBJq5smLOa7KslsNsVcSH+KOXf1uDU8yqLeNuVKwmT0T3FA0ZoXlinQfRad7SDcbZZRZE4ov+2v71EnxNyCA==",
- "requires": {
- "commander": "~2.20.3"
- }
- },
- "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
- },
- "unbzip2-stream": {
- "version": "1.4.3",
- "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz",
- "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==",
- "dev": true,
- "optional": true,
- "requires": {
- "buffer": "^5.2.1",
- "through": "^2.3.8"
- }
- },
- "unc-path-regex": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz",
- "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=",
- "dev": true
- },
- "undertaker": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/undertaker/-/undertaker-1.2.1.tgz",
- "integrity": "sha512-71WxIzDkgYk9ZS+spIB8iZXchFhAdEo2YU8xYqBYJ39DIUIqziK78ftm26eecoIY49X0J2MLhG4hr18Yp6/CMA==",
- "dev": true,
- "requires": {
- "arr-flatten": "^1.0.1",
- "arr-map": "^2.0.0",
- "bach": "^1.0.0",
- "collection-map": "^1.0.0",
- "es6-weak-map": "^2.0.1",
- "last-run": "^1.1.0",
- "object.defaults": "^1.0.0",
- "object.reduce": "^1.0.0",
- "undertaker-registry": "^1.0.0"
- }
- },
- "undertaker-registry": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/undertaker-registry/-/undertaker-registry-1.0.1.tgz",
- "integrity": "sha1-XkvaMI5KiirlhPm5pDWaSZglzFA=",
- "dev": true
- },
- "union-value": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz",
- "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==",
- "dev": true,
- "requires": {
- "arr-union": "^3.1.0",
- "get-value": "^2.0.6",
- "is-extendable": "^0.1.1",
- "set-value": "^2.0.1"
- }
- },
- "unique-stream": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.3.1.tgz",
- "integrity": "sha512-2nY4TnBE70yoxHkDli7DMazpWiP7xMdCYqU2nBRO0UB+ZpEkGsSija7MvmvnZFUeC+mrgiUfcHSr3LmRFIg4+A==",
- "dev": true,
- "requires": {
- "json-stable-stringify-without-jsonify": "^1.0.1",
- "through2-filter": "^3.0.0"
- }
- },
- "unquote": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz",
- "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=",
- "dev": true,
- "optional": true
- },
- "unset-value": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
- "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
- "dev": true,
- "requires": {
- "has-value": "^0.3.1",
- "isobject": "^3.0.0"
- },
- "dependencies": {
- "has-value": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
- "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
- "dev": true,
- "requires": {
- "get-value": "^2.0.3",
- "has-values": "^0.1.4",
- "isobject": "^2.0.0"
- },
- "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"
- }
- }
- }
- },
- "has-values": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
- "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=",
- "dev": true
- }
- }
- },
- "upath": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz",
- "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==",
- "dev": true
- },
- "uri-js": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
- "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
- "dev": true,
- "optional": true,
- "requires": {
- "punycode": "^2.1.0"
- }
- },
- "urix": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
- "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=",
- "dev": true
- },
- "url-parse-lax": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz",
- "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=",
- "dev": true,
- "optional": true,
- "requires": {
- "prepend-http": "^1.0.1"
- }
- },
- "url-to-options": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz",
- "integrity": "sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k=",
- "dev": true,
- "optional": true
- },
- "use": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
- "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==",
- "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
- },
- "util.promisify": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz",
- "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==",
- "dev": true,
- "optional": true,
- "requires": {
- "define-properties": "^1.1.3",
- "es-abstract": "^1.17.2",
- "has-symbols": "^1.0.1",
- "object.getownpropertydescriptors": "^2.1.0"
- }
- },
- "uuid": {
- "version": "1.4.2",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-1.4.2.tgz",
- "integrity": "sha1-RTAZ9oaWam34PNxSROfJkOzDMvw=",
- "dev": true
- },
- "v8flags": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.2.0.tgz",
- "integrity": "sha512-mH8etigqMfiGWdeXpaaqGfs6BndypxusHHcv2qSHyZkGEznCd/qAXCWWRzeowtL54147cktFOC4P5y+kl8d8Jg==",
- "dev": true,
- "requires": {
- "homedir-polyfill": "^1.0.1"
- }
- },
- "validate-npm-package-license": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
- "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
- "dev": true,
- "requires": {
- "spdx-correct": "^3.0.0",
- "spdx-expression-parse": "^3.0.0"
- }
- },
- "value-or-function": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/value-or-function/-/value-or-function-3.0.0.tgz",
- "integrity": "sha1-HCQ6ULWVwb5Up1S/7OhWO5/42BM=",
- "dev": true
- },
- "verror": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
- "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
- "dev": true,
- "optional": true,
- "requires": {
- "assert-plus": "^1.0.0",
- "core-util-is": "1.0.2",
- "extsprintf": "^1.2.0"
- }
- },
- "vinyl": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.0.tgz",
- "integrity": "sha512-MBH+yP0kC/GQ5GwBqrTPTzEfiiLjta7hTtvQtbxBgTeSXsmKQRQecjibMbxIXzVT3Y9KJK+drOz1/k+vsu8Nkg==",
- "dev": true,
- "requires": {
- "clone": "^2.1.1",
- "clone-buffer": "^1.0.0",
- "clone-stats": "^1.0.0",
- "cloneable-readable": "^1.0.0",
- "remove-trailing-separator": "^1.0.1",
- "replace-ext": "^1.0.0"
- }
- },
- "vinyl-fs": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-3.0.3.tgz",
- "integrity": "sha512-vIu34EkyNyJxmP0jscNzWBSygh7VWhqun6RmqVfXePrOwi9lhvRs//dOaGOTRUQr4tx7/zd26Tk5WeSVZitgng==",
- "dev": true,
- "requires": {
- "fs-mkdirp-stream": "^1.0.0",
- "glob-stream": "^6.1.0",
- "graceful-fs": "^4.0.0",
- "is-valid-glob": "^1.0.0",
- "lazystream": "^1.0.0",
- "lead": "^1.0.0",
- "object.assign": "^4.0.4",
- "pumpify": "^1.3.5",
- "readable-stream": "^2.3.3",
- "remove-bom-buffer": "^3.0.0",
- "remove-bom-stream": "^1.2.0",
- "resolve-options": "^1.1.0",
- "through2": "^2.0.0",
- "to-through": "^2.0.0",
- "value-or-function": "^3.0.0",
- "vinyl": "^2.0.0",
- "vinyl-sourcemap": "^1.1.0"
- }
- },
- "vinyl-sourcemap": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/vinyl-sourcemap/-/vinyl-sourcemap-1.1.0.tgz",
- "integrity": "sha1-kqgAWTo4cDqM2xHYswCtS+Y7PhY=",
- "dev": true,
- "requires": {
- "append-buffer": "^1.0.2",
- "convert-source-map": "^1.5.0",
- "graceful-fs": "^4.1.6",
- "normalize-path": "^2.1.1",
- "now-and-later": "^2.0.0",
- "remove-bom-buffer": "^3.0.0",
- "vinyl": "^2.0.0"
- }
- },
- "vinyl-sourcemaps-apply": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz",
- "integrity": "sha1-q2VJ1h0XLCsbh75cUI0jnI74dwU=",
- "dev": true,
- "requires": {
- "source-map": "^0.5.1"
- },
- "dependencies": {
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
- "dev": true
- }
- }
- },
- "when": {
- "version": "3.7.8",
- "resolved": "https://registry.npmjs.org/when/-/when-3.7.8.tgz",
- "integrity": "sha1-xxMLan6gRpPoQs3J56Hyqjmjn4I=",
- "dev": true
- },
- "which": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
- "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
- "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
- },
- "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": "1.0.0",
- "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
- "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus="
- },
- "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.1",
- "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
- },
- "xtend": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
- "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
- "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.1",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.1.tgz",
- "integrity": "sha512-huO4Fr1f9PmiJJdll5kwoS2e4GqzGSsMT3PPMpOwoVkOK8ckqAewMTZyA6LXVQWflleb/Z8oPBEvNsMft0XE+g==",
- "dev": true,
- "requires": {
- "camelcase": "^3.0.0",
- "cliui": "^3.2.0",
- "decamelize": "^1.1.1",
- "get-caller-file": "^1.0.1",
- "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-security.0"
- }
- },
- "yargs-parser": {
- "version": "5.0.0-security.0",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0-security.0.tgz",
- "integrity": "sha512-T69y4Ps64LNesYxeYGYPvfoMTt/7y1XtfpIslUeK4um+9Hu7hlGoRtaDLvdXb7+/tfq4opVa2HRY5xGip022rQ==",
- "dev": true,
- "requires": {
- "camelcase": "^3.0.0",
- "object.assign": "^4.1.0"
- }
- },
- "yauzl": {
- "version": "2.10.0",
- "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
- "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=",
- "dev": true,
- "optional": true,
- "requires": {
- "buffer-crc32": "~0.2.3",
- "fd-slicer": "~1.1.0"
- }
- }
- }
-}
diff --git a/src/package.json b/src/package.json
deleted file mode 100644
index 6c975ad4..00000000
--- a/src/package.json
+++ /dev/null
@@ -1,47 +0,0 @@
-{
- "name": "yunohost-admin",
- "description": "YunoHost Admin web interface",
- "repository": {
- "type": "git",
- "url": "https://github.com/YunoHost/yunohost-admin"
- },
- "scripts": {
- "build": "gulp build",
- "build-dev": "gulp build --dev",
- "watch": "gulp watch",
- "watch-dev": "gulp watch --dev"
- },
- "author": "Yunohost",
- "license": "AGPL-3.0",
- "bugs": {
- "url": "https://github.com/YunoHost/issues"
- },
- "homepage": "https://github.com/YunoHost/yunohost-admin",
- "devDependencies": {
- "gulp": "^4.0.2",
- "gulp-autoprefixer": "^7.0.1",
- "gulp-concat": "^2.6.1",
- "gulp-csslint": "^1.0.1",
- "gulp-cssmin": "^0.2.0",
- "gulp-if": "^3.0.0",
- "gulp-imagemin": "^7.1.0",
- "gulp-jshint": "^2.1.0",
- "jshint": "^2.11.1",
- "gulp-less": "^4.0.1",
- "gulp-rename": "^2.0.0",
- "gulp-uglify": "^3.0.2",
- "gulp-mustache": "^5.0.0"
- },
- "dependencies": {
- "bootstrap": "^3.3.7",
- "fork-awesome": "^1.1.7",
- "handlebars": "^4.7.6",
- "handlebars-intl": "1.1.2",
- "isotope-layout": "^3.0.6",
- "jquery": "^3.5.1",
- "js-cookie": "^2.2.1",
- "sammy": "^0.7.6",
- "source-code-pro": "^2.30.2",
- "source-sans-pro": "^3.6.0"
- }
-}
diff --git a/src/views/app/app_actions.ms b/src/views/app/app_actions.ms
deleted file mode 100644
index 07f8b4b2..00000000
--- a/src/views/app/app_actions.ms
+++ /dev/null
@@ -1,70 +0,0 @@
-
-
-
-
-{{t 'experimental_warning'}}
-
-{{#if actions}}
-{{#actions}}
-
-
-{{/actions}}
-
-{{else}}
-
-
- {{t 'app_no_actions'}}
-
-{{/if}}
diff --git a/src/views/app/app_catalog_category.ms b/src/views/app/app_catalog_category.ms
deleted file mode 100644
index edba4106..00000000
--- a/src/views/app/app_catalog_category.ms
+++ /dev/null
@@ -1,113 +0,0 @@
-
-
-
-
-
-
-
-
-
- {{#if category.subtags}}
-
- {{/if}}
- {{#category.subtags}}
-
- {{/category.subtags}}
- {{#if category.subtags}}
-
- {{/if}}
-
-
-
-
-
-{{#apps}}
-
-
-
- {{manifest.name}}
- {{#if (eq state 'working') }}
- {{#if (eq decentQuality 'badQuality')}}
- {{t 'app_state_low_quality' }}
- {{/if}}
- {{else}}
- {{t (concat 'app_state_' state) }}
- {{/if}}
-
-
{{manifest.description}}
-
-
- {{#if (eq maintainedColor 'danger') }}
- {{t maintained}}
- {{/if}}
-
-
-
-{{/apps}}
-
-
-
-
-
{{t 'custom_app_install'}}
-
-
-
-
- {{t 'confirm_install_custom_app'}}
-
-
-
-
-
diff --git a/src/views/app/app_catalog_home.ms b/src/views/app/app_catalog_home.ms
deleted file mode 100644
index 80574861..00000000
--- a/src/views/app/app_catalog_home.ms
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
-
-
diff --git a/src/views/app/app_changelabel.ms b/src/views/app/app_changelabel.ms
deleted file mode 100644
index 61fec73b..00000000
--- a/src/views/app/app_changelabel.ms
+++ /dev/null
@@ -1,36 +0,0 @@
-
-
-
-
-
diff --git a/src/views/app/app_changeurl.ms b/src/views/app/app_changeurl.ms
deleted file mode 100644
index e160cca7..00000000
--- a/src/views/app/app_changeurl.ms
+++ /dev/null
@@ -1,38 +0,0 @@
-
-
-
-
-
diff --git a/src/views/app/app_config-panel.ms b/src/views/app/app_config-panel.ms
deleted file mode 100644
index e60235cb..00000000
--- a/src/views/app/app_config-panel.ms
+++ /dev/null
@@ -1,85 +0,0 @@
-
-
-
-
-{{t 'experimental_warning'}}
-
-
-{{#if config_panel}}
-
-
-{{#config_panel}}
-
{{../app_name}} configuration panel
-
-
-{{/config_panel}}
-
-
-{{else}}
-
-
- {{t 'app_config_panel_no_panel'}}
-
-{{/if}}
diff --git a/src/views/app/app_info.ms b/src/views/app/app_info.ms
deleted file mode 100644
index 3fc867fa..00000000
--- a/src/views/app/app_info.ms
+++ /dev/null
@@ -1,88 +0,0 @@
-
-
-
-
-
-
-
-
{{t 'infos'}}
-
-
-
- - {{t 'id'}}
- - {{settings.id}}
- - {{t 'label'}}
- - {{label}}
- - {{t 'description'}}
- - {{description}}
- - {{t 'version'}}
- - {{version}}
- - {{t 'multi_instance'}}
- - {{supports_multi_instance}}
- - {{t 'install_time'}}
- - {{formatTime install_time day="numeric" month="long" year="numeric" hour="numeric" minute="numeric"}}
- {{#if settings.domain}}
- - {{t 'url'}}
- - https://{{settings.domain}}{{settings.path}}
- {{/if}}
-
-
-
-
-
-
-
- {{t 'operations'}}
-
-
-
-
-
-
-
-
-
{{t 'app_info_default_desc' settings.domain}}
-
-
-
-
-
-
-
{{t 'app_info_uninstall_desc'}}
-
-
-
-
-{{load_tooltips}}
diff --git a/src/views/app/app_install.ms b/src/views/app/app_install.ms
deleted file mode 100644
index 8acc68da..00000000
--- a/src/views/app/app_install.ms
+++ /dev/null
@@ -1,95 +0,0 @@
-
-
-
-
-
diff --git a/src/views/app/app_list.ms b/src/views/app/app_list.ms
deleted file mode 100644
index a502aa42..00000000
--- a/src/views/app/app_list.ms
+++ /dev/null
@@ -1,32 +0,0 @@
-
-
-
-
-
-
-
diff --git a/src/views/backup/backup.ms b/src/views/backup/backup.ms
deleted file mode 100644
index dd761da2..00000000
--- a/src/views/backup/backup.ms
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
-
-{{/each}}
-
-
diff --git a/src/views/backup/backup_create.ms b/src/views/backup/backup_create.ms
deleted file mode 100644
index e354e9e1..00000000
--- a/src/views/backup/backup_create.ms
+++ /dev/null
@@ -1,79 +0,0 @@
-
-
-
-
-
diff --git a/src/views/backup/backup_info.ms b/src/views/backup/backup_info.ms
deleted file mode 100644
index 92b9dbaf..00000000
--- a/src/views/backup/backup_info.ms
+++ /dev/null
@@ -1,79 +0,0 @@
-
-
-
-
-
-
-
{{t 'infos'}}
-
-
-
-
-
- - {{t 'id'}}
- {{ name }}
- - {{t 'created_at'}}
- {{formatTime created_at day="numeric" month="long" year="numeric" hour="numeric" minute="numeric"}}
- - {{t 'size'}}
- {{ humanSize size}}
- - {{t 'path'}}
- {{ path }}
-
-
-
-
-
-
diff --git a/src/views/backup/backup_list.ms b/src/views/backup/backup_list.ms
deleted file mode 100644
index 38daf760..00000000
--- a/src/views/backup/backup_list.ms
+++ /dev/null
@@ -1,53 +0,0 @@
-
-
-
-
-
-
-{{#intl locales=locale}}
-
-{{/intl}}
-
-
diff --git a/src/views/diagnosis/diagnosis_show.ms b/src/views/diagnosis/diagnosis_show.ms
deleted file mode 100644
index e2f6b736..00000000
--- a/src/views/diagnosis/diagnosis_show.ms
+++ /dev/null
@@ -1,67 +0,0 @@
-
-
-
-
-
-
-
-
-
-{{#if reports}}
-
{{t 'diagnosis_explanation'}}
-{{else}}
-
{{t 'diagnosis_first_run'}}
-
-
-{{/if}}
-
-
-{{t 'diagnosis_experimental_disclaimer'}}
-
-{{#reports}}
-
-
-
- {{#if noIssues}}{{#if items}}
{{t 'everything_good'}}{{/if}}{{/if}}
- {{#if errors}}
{{t 'issues' errors }}{{/if}}
- {{#if warnings}}
{{t 'warnings' warnings }}{{/if}}
- {{#if ignored}}
{{t 'ignored' ignored }}{{/if}}
-
-
-
-
- {{t 'last_ran' }} {{formatRelative time day="numeric" month="long" year="numeric" hour="numeric" minute="numeric" }}
- {{#items}}
- -
- {{#if icon}}
-
- {{/if}}
- {{{summary}}}
- {{#if ignored}}
-
- {{else}}
- {{#if issue}}
-
- {{/if}}
- {{/if}}
- {{#if details}}
- {{t 'details'}}
-
-
- {{#details}}- {{{.}}}
{{/details}}
-
-
- {{/if}}
-
- {{/items}}
-
-
-
-{{/reports}}
diff --git a/src/views/domain/domain_add.ms b/src/views/domain/domain_add.ms
deleted file mode 100644
index c5e677ad..00000000
--- a/src/views/domain/domain_add.ms
+++ /dev/null
@@ -1,72 +0,0 @@
-
-
-
-
-
diff --git a/src/views/domain/domain_cert.ms b/src/views/domain/domain_cert.ms
deleted file mode 100644
index 3969dfa3..00000000
--- a/src/views/domain/domain_cert.ms
+++ /dev/null
@@ -1,84 +0,0 @@
-
-
-
-
-
-
-
-
- {{t 'certificate_status'}}
-
-
-
-
-
- {{status.alert_message}}
-
-
-
- - {{t 'certificate_authority'}}
- - {{status.CA_type}} ({{status.CA_name}})
- - {{t 'validity'}}
- - {{status.validity}} days
-
-
-
-
-
-
-
- {{t 'operations'}}
-
-
-
-
- {{#if actions_enabled.install_letsencrypt}}
-
- {{#if status.ACME_eligible}}
-
- {{t 'domain_is_eligible_for_ACME'}}
- {{else}}
-
- {{t 'domain_not_eligible_for_ACME'}}
- {{/if}}
-
-
-
- {{/if}}
- {{#if actions_enabled.manual_renew_letsencrpt}}
-
-
{{t 'manually_renew_letsencrypt_message'}}
-
-
-
- {{/if}}
- {{#if actions_enabled.regen_selfsigned}}
-
-
{{t 'regenerate_selfsigned_cert_message'}}
-
-
-
- {{/if}}
- {{#if actions_enabled.replace_with_selfsigned}}
-
-
{{t 'revert_to_selfsigned_cert_message'}}
-
-
- {{/if}}
-
-
-
-
diff --git a/src/views/domain/domain_dns.ms b/src/views/domain/domain_dns.ms
deleted file mode 100644
index e4260837..00000000
--- a/src/views/domain/domain_dns.ms
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-
-
- {{t 'domain_dns_conf_is_just_a_recommendation' }}
-
-
-
-
-
- {{t 'domain_dns_config'}}
-
-
-
-
diff --git a/src/views/domain/domain_info.ms b/src/views/domain/domain_info.ms
deleted file mode 100644
index 50c341d1..00000000
--- a/src/views/domain/domain_info.ms
+++ /dev/null
@@ -1,57 +0,0 @@
-
-
-
-
-
-
-
- {{name}}
-
-
-
-
-
-
-
{{t 'domain_default_desc'}}
- {{#if main}}
-
- {{t 'domain_default_longdesc'}}
-
- {{else}}
-
- {{/if}}
-
-
-
-
-
-
-
-
{{t 'domain_delete_longdesc' name}}
-
-
-
-
diff --git a/src/views/domain/domain_list.ms b/src/views/domain/domain_list.ms
deleted file mode 100644
index f9761000..00000000
--- a/src/views/domain/domain_list.ms
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
-
-
-
-
-
diff --git a/src/views/home.ms b/src/views/home.ms
deleted file mode 100644
index 526237c2..00000000
--- a/src/views/home.ms
+++ /dev/null
@@ -1,34 +0,0 @@
-
diff --git a/src/views/login.ms b/src/views/login.ms
deleted file mode 100644
index de7572e0..00000000
--- a/src/views/login.ms
+++ /dev/null
@@ -1,19 +0,0 @@
-
diff --git a/src/views/postinstall/postinstall_1.ms b/src/views/postinstall/postinstall_1.ms
deleted file mode 100644
index 2dbcc944..00000000
--- a/src/views/postinstall/postinstall_1.ms
+++ /dev/null
@@ -1,15 +0,0 @@
-
-{{t 'postinstall_intro_1'}}
-
- {{t 'postinstall_intro_2'}}
-
- {{t 'postinstall_intro_3'}}
-
-
-
-
-
diff --git a/src/views/postinstall/postinstall_2.ms b/src/views/postinstall/postinstall_2.ms
deleted file mode 100644
index ae25e7fb..00000000
--- a/src/views/postinstall/postinstall_2.ms
+++ /dev/null
@@ -1,81 +0,0 @@
-{{t 'domain'}}
-
- {{t 'postinstall_domain'}}
-
-
-
-
-
-
-
-
{{t 'domain_add_dns_doc'}}
-
-
-
-
-
-
-
-
-
-
{{t 'domain_add_dyndns_doc'}}
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/views/postinstall/postinstall_3.ms b/src/views/postinstall/postinstall_3.ms
deleted file mode 100644
index 314e6151..00000000
--- a/src/views/postinstall/postinstall_3.ms
+++ /dev/null
@@ -1,41 +0,0 @@
-
diff --git a/src/views/service/service_info.ms b/src/views/service/service_info.ms
deleted file mode 100644
index f5627be8..00000000
--- a/src/views/service/service_info.ms
+++ /dev/null
@@ -1,78 +0,0 @@
-
-
-
-
-
-
-
-
{{name}}
- {{#if (eq status "running")}}
-
-
- {{else}}
-
- {{/if}}
-
-
-
-
- - {{t 'description'}}
- - {{description}}
-
- - {{t 'status'}}
- -
- {{#if (eq status "running")}}
-
-
- {{else}}
-
-
- {{/if}}
- {{t status}} {{t 'since'}} {{formatRelative last_state_change day="numeric" month="long" year="numeric" hour="numeric" minute="numeric" }}
-
-
- - {{t 'service_start_on_boot'}}
- {{#if (eq start_on_boot "enabled")}}
- -
- {{else}}
-
-
- {{/if}}
- {{t start_on_boot}}
-
-
- - {{t 'configuration'}}
- {{#if (eq configuration "valid")}}
- -
- {{else if (eq configuration "broken")}}
-
-
- {{else}}
-
-
- {{/if}}
- {{t configuration}}
-
-
-
-
-
-
-
-
{{t 'logs'}}
-
-
-
- {{#logs}}
-
{{filename}}
-
{{filecontent}}
- {{/logs}}
-
-
diff --git a/src/views/service/service_list.ms b/src/views/service/service_list.ms
deleted file mode 100644
index 29359608..00000000
--- a/src/views/service/service_list.ms
+++ /dev/null
@@ -1,27 +0,0 @@
-
-
-
-
-
diff --git a/src/views/tools/tools_adminpw.ms b/src/views/tools/tools_adminpw.ms
deleted file mode 100644
index b43228dd..00000000
--- a/src/views/tools/tools_adminpw.ms
+++ /dev/null
@@ -1,41 +0,0 @@
-
-
-
-
-{{t 'good_practices_about_admin_password'}}
-
-
diff --git a/src/views/tools/tools_firewall.ms b/src/views/tools/tools_firewall.ms
deleted file mode 100644
index c03c03d3..00000000
--- a/src/views/tools/tools_firewall.ms
+++ /dev/null
@@ -1,177 +0,0 @@
-
-
-
-
-
-
-
{{t 'ports'}}
-
-
-
-
{{t 'tcp'}}
-
-
-
- {{t 'port'}} |
- {{t 'ipv4'}} |
- {{t 'ipv6'}} |
- {{t 'upnp'}} |
-
-
-
- {{#each ports.TCP}}
-
- {{@key}} |
-
- {{#if this.ipv4}}
-
-
- {{else}}
-
-
-
- {{/if}}
- |
-
- {{#if this.ipv6}}
-
-
- {{else}}
-
-
- {{/if}}
- |
-
- {{#if this.uPnP}}
-
- {{else}}
-
- {{/if}}
- |
-
- {{/each}}
-
-
-
-
-
{{t 'udp'}}
-
-
-
- {{t 'port'}} |
- {{t 'ipv4'}} |
- {{t 'ipv6'}} |
- {{t 'upnp'}} |
-
-
-
- {{#each ports.UDP}}
-
- {{@key}} |
-
- {{#if this.ipv4}}
-
-
- {{else}}
-
-
-
- {{/if}}
- |
-
- {{#if this.ipv6}}
-
-
- {{else}}
-
-
- {{/if}}
- |
-
- {{#if this.uPnP}}
-
- {{else}}
-
- {{/if}}
- |
-
- {{/each}}
-
-
-
-
-
-
-
-
-
-
-
-
{{t 'operations'}}
-
-
-
-
-
-
-
{{t 'upnp'}}
-
-
- {{#if upnp}}
-
{{t 'upnp_enabled'}}
-
- {{else}}
-
{{t 'upnp_disabled'}}
-
- {{/if}}
-
-
diff --git a/src/views/tools/tools_list.ms b/src/views/tools/tools_list.ms
deleted file mode 100644
index 04bbb643..00000000
--- a/src/views/tools/tools_list.ms
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-
-
-
-
diff --git a/src/views/tools/tools_log.ms b/src/views/tools/tools_log.ms
deleted file mode 100644
index 8c0a42ed..00000000
--- a/src/views/tools/tools_log.ms
+++ /dev/null
@@ -1,65 +0,0 @@
-
-
-
-
-{{#intl locales=locale}}
-{{#if log.metadata}}
-
-
-
{{ log.description }}
-
-
-
-- {{t 'logs_path'}}
- {{ log.log_path }}
-{{#if log.metadata.started_at}}- {{t 'logs_started_at'}}
- {{formatTime log.metadata.started_at day="numeric" month="long" year="numeric" hour="numeric" minute="numeric"}}
-{{/if}}{{#if log.metadata.ended_at}}- {{t 'logs_ended_at'}}
- {{formatTime log.metadata.ended_at day="numeric" month="long" year="numeric" hour="numeric" minute="numeric"}}
{{/if}}
-{{#if log.metadata.error}}- {{t 'logs_error'}}
- {{log.metadata.error}}
{{/if}}
- {{#if log.metadata.suboperations}}
- - {{t 'log_suboperations'}}
- {{#log.metadata.suboperations}}
- - {{#unless success }}{{/unless}}
- {{ description }}
- {{/log.metadata.suboperations}}
- {{/if}}
-
-
-
-
-
-{{#unless log.metadata.success}}
-
-
{{t 'operation_failed_explanation'}}
-
-{{/unless}}
-
-{{/if}}
-
-
-
- {{#if log.metadata}}{{t 'logs'}}{{else}}{{log.log_path}}{{/if}}
-
-
-
-{{#if next_number}}
{{t 'logs_more'}}{{/if}}
-
-
{{#log.logs}}{{.}}
-{{/log.logs}}
-
-
-
-
-
-{{/intl}}
diff --git a/src/views/tools/tools_logs.ms b/src/views/tools/tools_logs.ms
deleted file mode 100644
index f7358206..00000000
--- a/src/views/tools/tools_logs.ms
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
-
-{{#intl locales=locale}}
-
-
-
- {{t 'logs_operation'}}
-
-
-
-
-{{/intl}}
diff --git a/src/views/tools/tools_migrations.ms b/src/views/tools/tools_migrations.ms
deleted file mode 100644
index 3536aee7..00000000
--- a/src/views/tools/tools_migrations.ms
+++ /dev/null
@@ -1,78 +0,0 @@
-
-
-
-
-
-
-
{{t 'migrations_pending'}}
- {{#if pending_migrations}}
-
-
-
- {{/if}}
-
-
-
- {{#if pending_migrations}}
-
- {{#pending_migrations}}
-
-
- {{ number }}. {{ description }}
-
-
-
-
- {{#if disclaimer }}
-
-
- {{{ disclaimer }}}
-
-
-
-
- {{/if}}
-
- {{/pending_migrations}}
-
- {{else}}
-
- {{t 'migrations_no_pending' }}
-
- {{/if}}
-
-
-
-
-
- {{#if done_migrations}}
-
- {{#done_migrations}}
-
-
- {{ number }}. {{ description }}
-
-
- {{/done_migrations}}
-
- {{else}}
-
- {{t 'migrations_no_done' }}
-
- {{/if}}
-
-
-
-
diff --git a/src/views/tools/tools_reboot.ms b/src/views/tools/tools_reboot.ms
deleted file mode 100644
index ef184eaf..00000000
--- a/src/views/tools/tools_reboot.ms
+++ /dev/null
@@ -1,28 +0,0 @@
-
-
-
-
-
-
-
-
- {{t 'operations'}}
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/views/tools/tools_update.ms b/src/views/tools/tools_update.ms
deleted file mode 100644
index a9d3e02b..00000000
--- a/src/views/tools/tools_update.ms
+++ /dev/null
@@ -1,60 +0,0 @@
-
-
-
-
-{{#if pending_migrations}}
-
-{{t 'pending_migrations' "#/tools/migrations"}}
-
-{{/if}}
-
-
-
-
{{t 'system'}}
-
- {{#if system}}
-
- {{#system}}
-
-
- {{name}} ({{t 'from_to' current_version new_version}})
-
-
- {{/system}}
-
-
- {{else}}
-
- {{t 'system_packages_nothing'}}
-
- {{/if}}
-
-
-
-
-
{{t 'applications'}}
-
- {{#if apps}}
-
- {{#apps}}
-
-
-
{{label}} {{id}}
- {{t 'from_to' current_version new_version}}
-
- {{/apps}}
-
-
- {{else}}
-
- {{t 'system_apps_nothing'}}
-
- {{/if}}
-
diff --git a/src/views/user/group_create.ms b/src/views/user/group_create.ms
deleted file mode 100644
index bff26c0b..00000000
--- a/src/views/user/group_create.ms
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-
-
-
diff --git a/src/views/user/group_list.ms b/src/views/user/group_list.ms
deleted file mode 100644
index 8f1d30bc..00000000
--- a/src/views/user/group_list.ms
+++ /dev/null
@@ -1,139 +0,0 @@
-
-
-
-
-
-
-{{!-- ======================== Partial inline view ======================= --}}
-{{#*inline "label"}}
-
-
- {{text}}
-
-
-{{/inline}}
-
-{{#*inline "labelsLine"}}
- {{#each items}}
- {{> label text=(call ../display .) value=. icon=../icon type=../type item=. group=../group protected=(call ../is_protected . ../type ../group)}}
- {{/each}}
- {{#if inv}}
-
-
-
-
- {{/if}}
-{{/inline}}
-
-
-{{!-- ======================== Groups ======================= --}}
-{{#each groups}}
-{{#unless primary}}
-
-
-
-
-
-
-
{{t 'users'}}
-
-
- {{#if special}}
-
{{t (concat 'group_explain_' @key)}}
- {{#if (eq @key 'visitors')}}
-
{{t 'group_explain_visitors_needed_for_external_client'}}
- {{/if}}
- {{else}}
- {{> labelsLine display=../displayUser icon="user" type="member" items=members inv=membersInv group=@key is_protected=../is_protected}}
- {{/if}}
-
-
-
-
-
-
{{t 'permissions'}}
-
-
- {{> labelsLine display=../displayPermission icon="key-modern" type="permission" items=permissions inv=permissionsInv group=@key is_protected=../is_protected}}
-
-
-
-
-
-{{/unless}}
-{{/each}}
-
-
-{{!-- ====================== User specific permissions ==================== --}}
-
-
-
-
- {{#each groups}}
- {{#if (or (and primary permissions) display)}}
-
-
-
{{@key}}
-
-
- {{> labelsLine display=../displayPermission icon="key-modern" type="permission" items=permissions inv=permissionsInv group=@key is_protected=../is_protected}}
-
-
-
- {{/if}}
- {{/each}}
-
-
-
-
-
-
-
-
diff --git a/src/views/user/user_create.ms b/src/views/user/user_create.ms
deleted file mode 100644
index 5fc6c7cb..00000000
--- a/src/views/user/user_create.ms
+++ /dev/null
@@ -1,68 +0,0 @@
-
-
-
-
-
diff --git a/src/views/user/user_edit.ms b/src/views/user/user_edit.ms
deleted file mode 100644
index e929bead..00000000
--- a/src/views/user/user_edit.ms
+++ /dev/null
@@ -1,102 +0,0 @@
-
-
-
-
-
diff --git a/src/views/user/user_info.ms b/src/views/user/user_info.ms
deleted file mode 100644
index 7262aa89..00000000
--- a/src/views/user/user_info.ms
+++ /dev/null
@@ -1,69 +0,0 @@
-
-
-
-
-
diff --git a/src/views/user/user_list.ms b/src/views/user/user_list.ms
deleted file mode 100644
index 5ab00db6..00000000
--- a/src/views/user/user_list.ms
+++ /dev/null
@@ -1,31 +0,0 @@
-
-
-
-
-
-
-