Browse Source

fixed summary, fix dot dot title on filtred, fixed breadcrumb translation

Bachir Soussi Chiadmi 5 years ago
parent
commit
def5176164

+ 17 - 4
assets/dist/main.css

@@ -775,7 +775,8 @@ header {
     margin: 0 0 0 70px; }
     margin: 0 0 0 70px; }
 
 
 main#content {
 main#content {
-  margin-top: 5em; }
+  margin-top: 5em;
+  margin-bottom: 3em; }
   main#content section.part {
   main#content section.part {
     position: relative;
     position: relative;
     margin-bottom: 2em; }
     margin-bottom: 2em; }
@@ -785,13 +786,18 @@ section.intro {
 
 
 h1.part-title {
 h1.part-title {
   font-size: 1.8em;
   font-size: 1.8em;
-  margin: 0 0 0 70px;
-  padding-bottom: 0.5em;
+  margin: 0 0 0.3em 70px;
+  padding: 0.5em 0 0.2em;
   font-weight: normal;
   font-weight: normal;
-  letter-spacing: 0.3em; }
+  letter-spacing: 0.3em;
+  display: inline-block;
+  border-bottom: 1px solid black;
+  white-space: nowrap; }
   h1.part-title em {
   h1.part-title em {
     font-size: 0.7em;
     font-size: 0.7em;
     letter-spacing: normal; }
     letter-spacing: normal; }
+  h1.part-title > em:first-of-type {
+    display: block; }
 
 
 h2.title {
 h2.title {
   font-size: 1.2em;
   font-size: 1.2em;
@@ -921,6 +927,7 @@ main#content.mode-text .opened-link .close-link-btn {
   border: 1px solid white;
   border: 1px solid white;
   width: 550px; }
   width: 550px; }
   .dot > span.title {
   .dot > span.title {
+    text-transform: capitalize;
     padding: 0 0.6em 0 0; }
     padding: 0 0.6em 0 0; }
   .dot.opened > span.title {
   .dot.opened > span.title {
     display: block; }
     display: block; }
@@ -931,6 +938,11 @@ main#content.mode-text .opened-link .close-link-btn {
     opacity: 0;
     opacity: 0;
     transition: opacity 0.4s ease-in-out;
     transition: opacity 0.4s ease-in-out;
     max-width: 475px; }
     max-width: 475px; }
+    .dot > p.summary a {
+      color: inherit;
+      text-decoration: none;
+      font-weight: bold;
+      pointer-events: none; }
   .dot.preface .title {
   .dot.preface .title {
     display: none; }
     display: none; }
   .dot.preface p.summary {
   .dot.preface p.summary {
@@ -1015,6 +1027,7 @@ main#content.mode-text .opened-link .close-link-btn {
     font-size: 16px; }
     font-size: 16px; }
 
 
 footer {
 footer {
+  height: 3em;
   position: fixed;
   position: fixed;
   bottom: 0;
   bottom: 0;
   background-color: white;
   background-color: white;

File diff suppressed because it is too large
+ 0 - 0
assets/dist/main.js


File diff suppressed because it is too large
+ 0 - 0
assets/dist/main.js.map


+ 5 - 5
assets/jsondb/spinoza-ethica-bra-brandao.json

@@ -7,7 +7,7 @@
 	{
 	{
 		"index": 1,
 		"index": 1,
 		"id": "P1",
 		"id": "P1",
-		"title": "_Primeira Parte_, SOBRE DEUS.",
+		"title": "_Primeira Parte,_ SOBRE DEUS.",
 		"enonces": [
 		"enonces": [
 			{
 			{
 				"title":"DEFINIÇÕES",
 				"title":"DEFINIÇÕES",
@@ -726,7 +726,7 @@
 	{
 	{
 		"index": 2,
 		"index": 2,
 		"id": "p2",
 		"id": "p2",
-		"title": "_Segunda Parte_, SOBRE _a Natureza e a Origem da_ MENTE.",
+		"title": "_Segunda Parte,_ SOBRE _a Natureza e a Origem da_ MENTE.",
 		"enonces": [
 		"enonces": [
 			{
 			{
 				"id": "2pr",
 				"id": "2pr",
@@ -1853,7 +1853,7 @@
 	{
 	{
 		"index": 3,
 		"index": 3,
 		"id": "p3",
 		"id": "p3",
-		"title": "_Terceira Parte_, SOBRE _a Origem e a Natureza dos_ AFETOS.",
+		"title": "_Terceira Parte,_ SOBRE _a Origem e a Natureza dos_ AFETOS.",
 		"enonces": [
 		"enonces": [
 			{
 			{
 				"id": "3pr",
 				"id": "3pr",
@@ -3366,7 +3366,7 @@
 	{
 	{
 		"index": 4,
 		"index": 4,
 		"id": "P4",
 		"id": "P4",
-		"title": "_Quarta Parte_, SOBRE a Servidão Humana, _nou_ sobre a FORÇA dos Afetos",
+		"title": "_Quarta Parte,_ SOBRE a Servidão Humana, _nou_ sobre a FORÇA dos Afetos",
 		"enonces": [
 		"enonces": [
 			{
 			{
 				"id": "4pr",
 				"id": "4pr",
@@ -4810,7 +4810,7 @@
 	{
 	{
 		"index": 5,
 		"index": 5,
 		"id": "P5",
 		"id": "P5",
-		"title": "_Parte Quinta_, _SOBRE a Potência do Intelecto, _ou_ sobre a Liberdade Humana.",
+		"title": "_Parte Quinta,_ SOBRE a Potência do Intelecto, _ou_ sobre a Liberdade Humana.",
 		"enonces": [
 		"enonces": [
 			{
 			{
 				"id": "5pr",
 				"id": "5pr",

+ 5 - 5
assets/jsondb/spinoza-ethica-en-elwes.json

@@ -7,7 +7,7 @@
 	{
 	{
 		"index": 1,
 		"index": 1,
 		"id": "p1",
 		"id": "p1",
-		"title": "_Part I._ CONCERNING GOD.",
+		"title": "_Part I,_ CONCERNING GOD.",
 		"enonces": [
 		"enonces": [
 			{
 			{
 				"title":"DEFINITIONS",
 				"title":"DEFINITIONS",
@@ -726,7 +726,7 @@
 	{
 	{
 		"index": 2,
 		"index": 2,
 		"id": "p2",
 		"id": "p2",
-		"title": "_Part II_, OF _the Nature and Origin of_ THE MIND",
+		"title": "_Part II,_ OF _the Nature and Origin of_ THE MIND",
 		"enonces": [
 		"enonces": [
 			{
 			{
 				"id": "2pr",
 				"id": "2pr",
@@ -1858,7 +1858,7 @@
 	{
 	{
 		"index": 3,
 		"index": 3,
 		"id": "p3",
 		"id": "p3",
-		"title": "_Part III_, ON _the Origin and Nature of the_ EMOTIONS.",
+		"title": "_Part III,_ ON _the Origin and Nature of the_ EMOTIONS.",
 		"enonces": [
 		"enonces": [
 			{
 			{
 				"id": "3pr",
 				"id": "3pr",
@@ -3372,7 +3372,7 @@
 	{
 	{
 		"index": 4,
 		"index": 4,
 		"id": "p4",
 		"id": "p4",
-		"title": "_Part IV_, OF Human Bondage, _or_ the STRENGTH of the Emotions.",
+		"title": "_Part IV,_ OF Human Bondage, _or_ the STRENGTH of the Emotions.",
 		"enonces": [
 		"enonces": [
 			{
 			{
 				"id": "4pr",
 				"id": "4pr",
@@ -4785,7 +4785,7 @@
 	{
 	{
 		"index": 5,
 		"index": 5,
 		"id": "p5",
 		"id": "p5",
-		"title": "_Part V_, OF the Power of the Understanding, _or_ of Human Freedom.",
+		"title": "_Part V,_ OF the Power of the Understanding, _or_ of Human Freedom.",
 		"enonces": [
 		"enonces": [
 			{
 			{
 				"id": "5pr",
 				"id": "5pr",

+ 4 - 4
assets/jsondb/spinoza-ethica-fr-appuhn.json

@@ -726,7 +726,7 @@
 	{
 	{
 		"index": 2,
 		"index": 2,
 		"id": "p2",
 		"id": "p2",
-		"title": "_Deuxième Partie_, DE _la Nature et de l'Origine de_ L'ÂME.",
+		"title": "_Deuxième Partie,_ DE _la Nature et de l'Origine de_ L'ÂME.",
 		"enonces": [
 		"enonces": [
 			{
 			{
 				"id": "2pr",
 				"id": "2pr",
@@ -1853,7 +1853,7 @@
 	{
 	{
 		"index": 3,
 		"index": 3,
 		"id": "p3",
 		"id": "p3",
-		"title": "_Troisième Partie_, DE _l'Origine et de la Nature des_ AFFECTIONS.",
+		"title": "_Troisième Partie,_ DE _l'Origine et de la Nature des_ AFFECTIONS.",
 		"enonces": [
 		"enonces": [
 			{
 			{
 				"id": "3pr",
 				"id": "3pr",
@@ -3366,7 +3366,7 @@
 	{
 	{
 		"index": 4,
 		"index": 4,
 		"id": "p4",
 		"id": "p4",
-		"title": "_Quatrième Partie_, DE la Servitude de l'Homme _ou_ des FORCES des Affections.",
+		"title": "_Quatrième Partie,_ DE la Servitude de l'Homme _ou_ des FORCES des Affections.",
 		"enonces": [
 		"enonces": [
 			{
 			{
 				"id": "4pr",
 				"id": "4pr",
@@ -4779,7 +4779,7 @@
 	{
 	{
 		"index": 5,
 		"index": 5,
 		"id": "p5",
 		"id": "p5",
-		"title": "_Cinquième Partie_, DE la Puissance de l'Entendement _ou_ de la Liberté de l'Homme.",
+		"title": "_Cinquième Partie,_ DE la Puissance de l'Entendement _ou_ de la Liberté de l'Homme.",
 		"enonces": [
 		"enonces": [
 			{
 			{
 				"id": "5pr",
 				"id": "5pr",

+ 4 - 4
assets/jsondb/spinoza-ethica-lat-gebhardt.json

@@ -722,7 +722,7 @@
 	{
 	{
 		"index": 2,
 		"index": 2,
 		"id": "p2",
 		"id": "p2",
-		"title": "_Pars Secunda_, DE _Naturâ, & Origine_ MENTIS.",
+		"title": "_Pars Secunda,_ DE _Naturâ, & Origine_ MENTIS.",
 		"enonces": [
 		"enonces": [
 			{
 			{
 				"id": "2pr",
 				"id": "2pr",
@@ -1852,7 +1852,7 @@
 	{
 	{
 		"index": 3,
 		"index": 3,
 		"id": "p3",
 		"id": "p3",
-		"title": "_Pars Tertia_, DE _Origine & Naturâ_ AFFECTUUM.",
+		"title": "_Pars Tertia,_ DE _Origine & Naturâ_ AFFECTUUM.",
 		"enonces": [
 		"enonces": [
 			{
 			{
 				"id": "3pr",
 				"id": "3pr",
@@ -3365,7 +3365,7 @@
 	{
 	{
 		"index": 4,
 		"index": 4,
 		"id": "p4",
 		"id": "p4",
-		"title": "_Pars Quarta_, DE Servitute Humanâ, _seu de_ Affectuum VIRIBUS.",
+		"title": "_Pars Quarta,_ DE Servitute Humanâ, _seu de_ Affectuum VIRIBUS.",
 		"enonces": [
 		"enonces": [
 			{
 			{
 				"id": "4pr",
 				"id": "4pr",
@@ -4778,7 +4778,7 @@
 	{
 	{
 		"index": 5,
 		"index": 5,
 		"id": "p5",
 		"id": "p5",
-		"title": "_Pars Quinta_, DE Potentiâ Intellectûs, _seu de_ Libertate Humanâ.",
+		"title": "_Pars Quinta,_ DE Potentiâ Intellectûs, _seu de_ Libertate Humanâ.",
 		"enonces": [
 		"enonces": [
 			{
 			{
 				"id": "5pr",
 				"id": "5pr",

+ 23 - 2
assets/main.scss

@@ -22,6 +22,7 @@ html, body{
 }
 }
 
 
 $header_height:5em;
 $header_height:5em;
+$footer_height:3em;
 $dot_w:550px;
 $dot_w:550px;
 $bullet_w:40px;
 $bullet_w:40px;
 $margin_left:50px + ($bullet_w/2);
 $margin_left:50px + ($bullet_w/2);
@@ -195,6 +196,7 @@ header{
 
 
 main#content{
 main#content{
   margin-top: $header_height;
   margin-top: $header_height;
+  margin-bottom: $footer_height;
   // margin: 5em;
   // margin: 5em;
   // width: 450px;
   // width: 450px;
   // &>*{
   // &>*{
@@ -227,14 +229,21 @@ section.intro{
 
 
 h1.part-title{
 h1.part-title{
   font-size: 1.8em;
   font-size: 1.8em;
-  margin:0 0 0 $margin_left;
-  padding-bottom: 0.5em;
+  margin:0 0 0.3em $margin_left;
+  padding: 0.5em 0 0.2em;
   font-weight: normal;
   font-weight: normal;
   letter-spacing: 0.3em;
   letter-spacing: 0.3em;
+  display: inline-block;
+  // border-top: 1px solid black;
+  border-bottom: 1px solid black;
+  white-space:nowrap;
   em{
   em{
     font-size: 0.7em;
     font-size: 0.7em;
     letter-spacing: normal;
     letter-spacing: normal;
   }
   }
+  &>em:first-of-type{
+    display: block;
+  }
 }
 }
 
 
 h2.title{
 h2.title{
@@ -472,6 +481,7 @@ main#content.mode-connections{
   //   font-kerning: none;
   //   font-kerning: none;
   // }
   // }
   >span.title{
   >span.title{
+    text-transform: capitalize;
     padding: 0 0.6em 0 0;
     padding: 0 0.6em 0 0;
   }
   }
   &.opened>span.title{
   &.opened>span.title{
@@ -486,6 +496,16 @@ main#content.mode-connections{
     opacity: 0;
     opacity: 0;
     transition: opacity 0.4s ease-in-out;
     transition: opacity 0.4s ease-in-out;
     max-width : $dot_w - $margin_left -5px;
     max-width : $dot_w - $margin_left -5px;
+    // width: 200px;
+    // white-space: nowrap;
+    // overflow: hidden;
+    // text-overflow: ellipsis;
+    a{
+      color: inherit;
+      text-decoration: none;
+      font-weight: bold;
+      pointer-events: none;
+    }
   }
   }
   &.preface{
   &.preface{
     .title{display: none;}
     .title{display: none;}
@@ -636,6 +656,7 @@ main#content.mode-connections{
 
 
 
 
 footer{
 footer{
+  height: $footer_height;
   position: fixed;
   position: fixed;
   bottom: 0;
   bottom: 0;
   background-color: white;
   background-color: white;

+ 9 - 3
assets/modules/ModeConnections.js

@@ -51,7 +51,10 @@ var _Dot = {
       // remove img
       // remove img
       this.summary = this.text.replace(/!\[[^\]]+\]\([^\)]+\)/g, "");
       this.summary = this.text.replace(/!\[[^\]]+\]\([^\)]+\)/g, "");
       // get portion of text
       // get portion of text
-      this.summary = this.summary.match('([^ ]*[ ]{0,1}){1,6}')[0];
+      // this.summary = this.summary.match('([^ ]*[ ]{0,1}){1,6}')[0];
+      // https://stackoverflow.com/questions/5454235/shorten-string-without-cutting-words-in-javascript
+      // this.summary = this.summary.replace(/^(.{18}[^\s]*).*/, "$1");
+      this.summary = this.summary.substr(0, this.summary.lastIndexOf(' ', 30));
       // end underscores (italic) splited by summarizing
       // end underscores (italic) splited by summarizing
       this.summary = this.summary.trim().replace(/_([^_]+)$/g, "_$1_");
       this.summary = this.summary.trim().replace(/_([^_]+)$/g, "_$1_");
       // remove brackets (links) splited by summarizing
       // remove brackets (links) splited by summarizing
@@ -161,7 +164,7 @@ var _Dot = {
           }//, m('span') // , m.trust("🗙")
           }//, m('span') // , m.trust("🗙")
         ),
         ),
         // Title
         // Title
-        m('span', {'class':'title'}, m.trust(this.nested ? this.breadcrumb : this.title)),
+        m('span', {'class':'title'}, m.trust(this.nested || _dbs.active_type_filter ? this.breadcrumb : this.title)),
         // full text
         // full text
         m('section', {
         m('section', {
             'class':'text',
             'class':'text',
@@ -207,7 +210,7 @@ var _Dot = {
           onclick(e){
           onclick(e){
             if(!vn.state.opened) vn.state.opened = 1;
             if(!vn.state.opened) vn.state.opened = 1;
           }
           }
-        }, m.trust(this.nested ? this.breadcrumb : this.title)),
+        }, m.trust(this.nested || _dbs.active_type_filter ? this.breadcrumb : this.title)),
         m('p', {
         m('p', {
           'class':'summary',
           'class':'summary',
           onclick(e){
           onclick(e){
@@ -315,6 +318,9 @@ var _Part = {
           e.lang = vn.attrs.lang;
           e.lang = vn.attrs.lang;
           switch (e.type) {
           switch (e.type) {
             case "title":
             case "title":
+              // if(_dbs.active_type_filter){
+              //   console.log('filter:', _dbs.active_type_filter, 'title:',e.title);
+              // }
               // handle titles
               // handle titles
               return !_dbs.active_type_filter
               return !_dbs.active_type_filter
                 ? m("h2", {'class':'title'}, m.trust(markdown.renderInline(e.title)))
                 ? m("h2", {'class':'title'}, m.trust(markdown.renderInline(e.title)))

+ 34 - 30
assets/modules/dbs.js

@@ -5,6 +5,7 @@
 //     / (__  ) /_/ / / / /
 //     / (__  ) /_/ / / / /
 //  __/ /____/\____/_/ /_/
 //  __/ /____/\____/_/ /_/
 // /___/
 // /___/
+var _i18n = require('./i18n');
 
 
 module.exports = {
 module.exports = {
   langs:[
   langs:[
@@ -38,42 +39,42 @@ module.exports = {
   data_strct:{},
   data_strct:{},
   rx_id:/^(\d)(app|agd|\d\d|pr|ad|ap|c|p|d|a)(cd|sc|\d\d|d|c|a|l|p|\d)?(e|\d|sc)?(d|c|a|sc)?$/,
   rx_id:/^(\d)(app|agd|\d\d|pr|ad|ap|c|p|d|a)(cd|sc|\d\d|d|c|a|l|p|\d)?(e|\d|sc)?(d|c|a|sc)?$/,
   id_strct:[
   id_strct:[
-    {full:'Partie',dim:'Part.'},
+    {full:'partie',dim:'part.'},
     {
     {
-      'prop':{full:'Proposition',   dim:'Prop.'}, // \d\d
-      'app' :{full:'Appendice',     dim:'App.'},
-      'agd' :{full:'Definition generale des affections'},
-      'pr'  :{full:'Preface',       dim:'Pref.'},
-      'ad'  :{full:'Definiton des affections'},
-      'ap'  :{full:'Appendice',     dim:'App.'},
-      'c'   :{full:'Corollaire',    dim:'Cor.'},
-      'p'   :{full:'Postulat',      dim:'Post.'},
-      'd'   :{full:'Definition',    dim:'Def.'},
-      'a'   :{full:'Axiome',        dim:'Ax.'},
+      'prop':{full:'proposition',   dim:'prop.'}, // \d\d
+      'app' :{full:'appendice',     dim:'app.'},
+      'agd' :{full:'def-gen-affect'},
+      'pr'  :{full:'preface',       dim:'pref.'},
+      'ad'  :{full:'def-affect'},
+      'ap'  :{full:'appendice',     dim:'app.'},
+      'c'   :{full:'corollaire',    dim:'cor.'},
+      'p'   :{full:'postulat',      dim:'post.'},
+      'd'   :{full:'definition',    dim:'def.'},
+      'a'   :{full:'axiom',        dim:'ax.'},
     },
     },
     {
     {
       // \d\d
       // \d\d
       // \d
       // \d
-      'cd'  :{full:'Corollaire Demonstration'},
-      'sc'  :{full:'Scolie',        dim:'Scol.'},
-      'd'   :{full:'Demonstration', dim:'Demo.'},
-      'c'   :{full:'Corollaire',    dim:'Cor.'},
-      'a'   :{full:'Axiome',        dim:'Ax.'},
-      'l'   :{full:'Lemme',         dim:'Lem.'},
-      'p'   :{full:'Postulat',      dim:'Post.'},
-      'e'   :{full:'Explication',   dim:'Exp.'},
+      'cd'  :{full:'corollaire-demo'},
+      'sc'  :{full:'scolie',        dim:'scol.'},
+      'd'   :{full:'demonstration', dim:'demo.'},
+      'c'   :{full:'corollaire',    dim:'cor.'},
+      'a'   :{full:'axiom',        dim:'ax.'},
+      'l'   :{full:'lemme',         dim:'lem.'},
+      'p'   :{full:'postulat',      dim:'post.'},
+      'e'   :{full:'explication',   dim:'exp.'},
     },
     },
     {
     {
       // \d
       // \d
-      'e'   :{full:'Explication',   dim:'Exp.'},
-      'sc'  :{full:'Scolie',        dim:'Scol.'},
-      'c'   :{full:'Corollaire',    dim:'Cor.'},
+      'e'   :{full:'explication',   dim:'exp.'},
+      'sc'  :{full:'scolie',        dim:'scol.'},
+      'c'   :{full:'corollaire',    dim:'cor.'},
     },
     },
     {
     {
-      'd'   :{full:'Demonstration', dim:'Demo.'},
-      'c'   :{full:'Corollaire',    dim:'Cor.'},
-      'a'   :{full:'Axiome',        dim:'Ax.'},
-      'sc'  :{full:'Scolie',        dim:'Scol.'},
+      'd'   :{full:'demonstration', dim:'demo.'},
+      'c'   :{full:'corollaire',    dim:'cor.'},
+      'a'   :{full:'axiom',        dim:'ax.'},
+      'sc'  :{full:'scolie',        dim:'scol.'},
     }
     }
   ],
   ],
   // loading progress
   // loading progress
@@ -154,6 +155,8 @@ module.exports = {
       this.data_byid[l] = {};
       this.data_byid[l] = {};
       this.data_bytype[l] = {};
       this.data_bytype[l] = {};
       this.types[l] = [];
       this.types[l] = [];
+      _i18n.setLang(l);
+
       // loop through parts
       // loop through parts
       for (let p in this.data[l]) {
       for (let p in this.data[l]) {
         if(this.data[l][p].type !== "intro"){
         if(this.data[l][p].type !== "intro"){
@@ -249,13 +252,14 @@ module.exports = {
           breadcrumb_array.unshift(`${this.id_strct[i]['dim']} ${m_clean[i]}`);
           breadcrumb_array.unshift(`${this.id_strct[i]['dim']} ${m_clean[i]}`);
         }else{
         }else{
           // display mode
           // display mode
-          mode = i !== m_clean.length-1 ? 'dim' : 'full';
-          if(isNaN(m_clean[i])){ // if not a number we get the label
-            breadcrumb_array.unshift(`${this.id_strct[i][m_clean[i]][mode]}`);
+          // mode = i !== m_clean.length-1 ? 'dim' : 'full';
+          mode = 'full';
+          if(typeof m_clean[i] !== 'undefined' && isNaN(m_clean[i])){ // if not a number we get the label
+            breadcrumb_array.unshift(_i18n.t(`${this.id_strct[i][m_clean[i]][mode]}`));
             // breadcrumb_array.splice(1, 0, `${m_clean[i]}`);
             // breadcrumb_array.splice(1, 0, `${m_clean[i]}`);
           }else{ // if its a number
           }else{ // if its a number
             if(i == 1){ // we just add the number to the breadcrumb preceded by 'Proposition'
             if(i == 1){ // we just add the number to the breadcrumb preceded by 'Proposition'
-              breadcrumb_array.unshift(`${this.id_strct[i]['prop'][mode]} ${m_clean[i]}`);
+              breadcrumb_array.unshift(_i18n.t(`${this.id_strct[i]['prop'][mode]}`) + ` ${m_clean[i]}`);
             }else{ // we just add the number to the breadcrumb behind the last added item
             }else{ // we just add the number to the breadcrumb behind the last added item
               // breadcrumb_array.unshift(`${m_clean[i]}`);
               // breadcrumb_array.unshift(`${m_clean[i]}`);
               // debugger;
               // debugger;

+ 48 - 0
assets/modules/i18n.js

@@ -63,6 +63,12 @@ module.exports = {
       'bra':'definições',
       'bra':'definições',
       'lat':'definitione'
       'lat':'definitione'
     },
     },
+    'def.':{
+      'en':'def.',
+      'fr':'def.',
+      'bra':'def.',
+      'lat':'def.'
+    },
     'explication':{
     'explication':{
       'en':'explanation',
       'en':'explanation',
       'fr':'explication',
       'fr':'explication',
@@ -75,24 +81,48 @@ module.exports = {
       'bra':'axioma',
       'bra':'axioma',
       'lat':'axiomata'
       'lat':'axiomata'
     },
     },
+    'ax.':{
+      'en':'ax.',
+      'fr':'ax.',
+      'bra':'ax.',
+      'lat':'ax.'
+    },
     'proposition':{
     'proposition':{
       'en':'proposition',
       'en':'proposition',
       'fr':'proposition',
       'fr':'proposition',
       'bra':'proposiçaõ',
       'bra':'proposiçaõ',
       'lat':'propositio'
       'lat':'propositio'
     },
     },
+    'prop.':{
+      'en':'prop.',
+      'fr':'prop.',
+      'bra':'prop.',
+      'lat':'prop.'
+    },
     'demonstration':{
     'demonstration':{
       'en':'demonstration',
       'en':'demonstration',
       'fr':'demonstration',
       'fr':'demonstration',
       'bra':'demonstraçaõ',
       'bra':'demonstraçaõ',
       'lat':'demonstratio'
       'lat':'demonstratio'
     },
     },
+    'demo.':{
+      'en':'demo.',
+      'fr':'demo.',
+      'bra':'demo.',
+      'lat':'demo.'
+    },
     'corollaire':{
     'corollaire':{
       'en':'corollary',
       'en':'corollary',
       'fr':'corollaire',
       'fr':'corollaire',
       'bra':'corolário',
       'bra':'corolário',
       'lat':'corollarium'
       'lat':'corollarium'
     },
     },
+    'cor.':{
+      'en':'cor.',
+      'fr':'cor.',
+      'bra':'cor.',
+      'lat':'cor.'
+    },
     'prop-axiom':{
     'prop-axiom':{
       'en':'prop-axiom',
       'en':'prop-axiom',
       'fr':'prop-axiom',
       'fr':'prop-axiom',
@@ -105,6 +135,12 @@ module.exports = {
       'bra':'escólio',
       'bra':'escólio',
       'lat':'scholium'
       'lat':'scholium'
     },
     },
+    'scol.':{
+      'en':'schol.',
+      'fr':'scol.',
+      'bra':'escól.',
+      'lat':'schol.'
+    },
     'appendice':{
     'appendice':{
       'en':'appendix',
       'en':'appendix',
       'fr':'appendice',
       'fr':'appendice',
@@ -129,6 +165,12 @@ module.exports = {
       'bra':'lema',
       'bra':'lema',
       'lat':'lemma'
       'lat':'lemma'
     },
     },
+    'lem.':{
+      'en':'lem.',
+      'fr':'lem.',
+      'bra':'lem.',
+      'lat':'lem.'
+    },
     'lemme-demonstration':{
     'lemme-demonstration':{
       'en':'lemma-demo',
       'en':'lemma-demo',
       'fr':'lemme-demo',
       'fr':'lemme-demo',
@@ -153,6 +195,12 @@ module.exports = {
       'bra':'postulado',
       'bra':'postulado',
       'lat':'postulata'
       'lat':'postulata'
     },
     },
+    'post.':{
+      'en':'post.',
+      'fr':'post.',
+      'bra':'post.',
+      'lat':'post.'
+    },
     'def-affect':{
     'def-affect':{
       'en':'definitions of the emotions',
       'en':'definitions of the emotions',
       'fr':'définitions des affections',
       'fr':'définitions des affections',

+ 140 - 278
package-lock.json

@@ -162,10 +162,13 @@
       "dev": true
       "dev": true
     },
     },
     "asn1": {
     "asn1": {
-      "version": "0.2.3",
-      "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz",
-      "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=",
-      "dev": true
+      "version": "0.2.4",
+      "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
+      "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==",
+      "dev": true,
+      "requires": {
+        "safer-buffer": "~2.1.0"
+      }
     },
     },
     "asn1.js": {
     "asn1.js": {
       "version": "4.10.1",
       "version": "4.10.1",
@@ -205,9 +208,9 @@
       }
       }
     },
     },
     "assert-plus": {
     "assert-plus": {
-      "version": "0.2.0",
-      "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz",
-      "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=",
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+      "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
       "dev": true
       "dev": true
     },
     },
     "assign-symbols": {
     "assign-symbols": {
@@ -264,15 +267,15 @@
       }
       }
     },
     },
     "aws-sign2": {
     "aws-sign2": {
-      "version": "0.6.0",
-      "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz",
-      "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=",
+      "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
       "dev": true
     },
     },
     "aws4": {
     "aws4": {
-      "version": "1.7.0",
-      "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.7.0.tgz",
-      "integrity": "sha512-32NDda82rhwD9/JBCCkB+MRYDp0oSvlo2IL6rQWA10PQi7tDUM3eqMSltXmY+Oyl/7N3P3qNtAlv7X0d9bI28w==",
+      "version": "1.8.0",
+      "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz",
+      "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==",
       "dev": true
       "dev": true
     },
     },
     "babel-code-frame": {
     "babel-code-frame": {
@@ -1048,11 +1051,10 @@
       "dev": true
       "dev": true
     },
     },
     "bcrypt-pbkdf": {
     "bcrypt-pbkdf": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz",
-      "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=",
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
+      "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
       "dev": true,
       "dev": true,
-      "optional": true,
       "requires": {
       "requires": {
         "tweetnacl": "^0.14.3"
         "tweetnacl": "^0.14.3"
       }
       }
@@ -1090,15 +1092,6 @@
       "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==",
       "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==",
       "dev": true
       "dev": true
     },
     },
-    "boom": {
-      "version": "2.10.1",
-      "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz",
-      "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=",
-      "dev": true,
-      "requires": {
-        "hoek": "2.x.x"
-      }
-    },
     "brace-expansion": {
     "brace-expansion": {
       "version": "1.1.11",
       "version": "1.1.11",
       "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
       "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
@@ -1321,7 +1314,7 @@
     },
     },
     "camelcase-keys": {
     "camelcase-keys": {
       "version": "2.1.0",
       "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz",
+      "resolved": "http://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz",
       "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=",
       "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=",
       "dev": true,
       "dev": true,
       "requires": {
       "requires": {
@@ -1354,9 +1347,9 @@
       "dev": true
       "dev": true
     },
     },
     "caseless": {
     "caseless": {
-      "version": "0.11.0",
-      "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz",
-      "integrity": "sha1-cVuW6phBWTzDMGeSP17GDr2k99c=",
+      "version": "0.12.0",
+      "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
+      "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
       "dev": true
       "dev": true
     },
     },
     "center-align": {
     "center-align": {
@@ -1572,20 +1565,14 @@
       "dev": true
       "dev": true
     },
     },
     "combined-stream": {
     "combined-stream": {
-      "version": "1.0.6",
-      "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz",
-      "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=",
+      "version": "1.0.7",
+      "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz",
+      "integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==",
       "dev": true,
       "dev": true,
       "requires": {
       "requires": {
         "delayed-stream": "~1.0.0"
         "delayed-stream": "~1.0.0"
       }
       }
     },
     },
-    "commander": {
-      "version": "2.15.1",
-      "resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz",
-      "integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==",
-      "dev": true
-    },
     "commondir": {
     "commondir": {
       "version": "1.0.1",
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
       "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
@@ -1722,15 +1709,6 @@
         "which": "^1.2.9"
         "which": "^1.2.9"
       }
       }
     },
     },
-    "cryptiles": {
-      "version": "2.0.5",
-      "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz",
-      "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=",
-      "dev": true,
-      "requires": {
-        "boom": "2.x.x"
-      }
-    },
     "crypto-browserify": {
     "crypto-browserify": {
       "version": "3.12.0",
       "version": "3.12.0",
       "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz",
       "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz",
@@ -1876,14 +1854,6 @@
       "dev": true,
       "dev": true,
       "requires": {
       "requires": {
         "assert-plus": "^1.0.0"
         "assert-plus": "^1.0.0"
-      },
-      "dependencies": {
-        "assert-plus": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
-          "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
-          "dev": true
-        }
       }
       }
     },
     },
     "date-now": {
     "date-now": {
@@ -2021,13 +1991,13 @@
       }
       }
     },
     },
     "ecc-jsbn": {
     "ecc-jsbn": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz",
-      "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=",
+      "version": "0.1.2",
+      "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
+      "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
       "dev": true,
       "dev": true,
-      "optional": true,
       "requires": {
       "requires": {
-        "jsbn": "~0.1.0"
+        "jsbn": "~0.1.0",
+        "safer-buffer": "^2.1.0"
       }
       }
     },
     },
     "electron-to-chromium": {
     "electron-to-chromium": {
@@ -2307,9 +2277,9 @@
       }
       }
     },
     },
     "extend": {
     "extend": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz",
-      "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=",
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
+      "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
       "dev": true
       "dev": true
     },
     },
     "extend-shallow": {
     "extend-shallow": {
@@ -2561,13 +2531,13 @@
       "dev": true
       "dev": true
     },
     },
     "form-data": {
     "form-data": {
-      "version": "2.1.4",
-      "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz",
-      "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=",
+      "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,
       "dev": true,
       "requires": {
       "requires": {
         "asynckit": "^0.4.0",
         "asynckit": "^0.4.0",
-        "combined-stream": "^1.0.5",
+        "combined-stream": "^1.0.6",
         "mime-types": "^2.1.12"
         "mime-types": "^2.1.12"
       }
       }
     },
     },
@@ -3180,21 +3150,6 @@
         "globule": "^1.0.0"
         "globule": "^1.0.0"
       }
       }
     },
     },
-    "generate-function": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz",
-      "integrity": "sha1-aFj+fAlpt9TpCTM3ZHrHn2DfvnQ=",
-      "dev": true
-    },
-    "generate-object-property": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz",
-      "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=",
-      "dev": true,
-      "requires": {
-        "is-property": "^1.0.0"
-      }
-    },
     "get-caller-file": {
     "get-caller-file": {
       "version": "1.0.2",
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz",
       "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz",
@@ -3226,14 +3181,6 @@
       "dev": true,
       "dev": true,
       "requires": {
       "requires": {
         "assert-plus": "^1.0.0"
         "assert-plus": "^1.0.0"
-      },
-      "dependencies": {
-        "assert-plus": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
-          "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
-          "dev": true
-        }
       }
       }
     },
     },
     "glob": {
     "glob": {
@@ -3289,9 +3236,9 @@
       },
       },
       "dependencies": {
       "dependencies": {
         "lodash": {
         "lodash": {
-          "version": "4.17.10",
-          "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz",
-          "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==",
+          "version": "4.17.11",
+          "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz",
+          "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==",
           "dev": true
           "dev": true
         }
         }
       }
       }
@@ -3302,16 +3249,20 @@
       "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
       "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
       "dev": true
       "dev": true
     },
     },
+    "har-schema": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
+      "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
+      "dev": true
+    },
     "har-validator": {
     "har-validator": {
-      "version": "2.0.6",
-      "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz",
-      "integrity": "sha1-zcvAgYgmWtEZtqWnyKtw7s+10n0=",
+      "version": "5.1.0",
+      "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.0.tgz",
+      "integrity": "sha512-+qnmNjI4OfH2ipQ9VQOw23bBd/ibtfbVdK2fYbY4acTDqKTW/YDp9McimZdDbG8iV9fZizUqQMD5xvriB146TA==",
       "dev": true,
       "dev": true,
       "requires": {
       "requires": {
-        "chalk": "^1.1.1",
-        "commander": "^2.9.0",
-        "is-my-json-valid": "^2.12.4",
-        "pinkie-promise": "^2.0.0"
+        "ajv": "^5.3.0",
+        "har-schema": "^2.0.0"
       }
       }
     },
     },
     "has": {
     "has": {
@@ -3396,18 +3347,6 @@
         "minimalistic-assert": "^1.0.0"
         "minimalistic-assert": "^1.0.0"
       }
       }
     },
     },
-    "hawk": {
-      "version": "3.1.3",
-      "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz",
-      "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=",
-      "dev": true,
-      "requires": {
-        "boom": "2.x.x",
-        "cryptiles": "2.x.x",
-        "hoek": "2.x.x",
-        "sntp": "1.x.x"
-      }
-    },
     "hmac-drbg": {
     "hmac-drbg": {
       "version": "1.0.1",
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz",
       "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz",
@@ -3419,12 +3358,6 @@
         "minimalistic-crypto-utils": "^1.0.1"
         "minimalistic-crypto-utils": "^1.0.1"
       }
       }
     },
     },
-    "hoek": {
-      "version": "2.16.3",
-      "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz",
-      "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=",
-      "dev": true
-    },
     "home-or-tmp": {
     "home-or-tmp": {
       "version": "2.0.0",
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz",
       "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz",
@@ -3448,12 +3381,12 @@
       "dev": true
       "dev": true
     },
     },
     "http-signature": {
     "http-signature": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz",
-      "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=",
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
+      "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
       "dev": true,
       "dev": true,
       "requires": {
       "requires": {
-        "assert-plus": "^0.2.0",
+        "assert-plus": "^1.0.0",
         "jsprim": "^1.2.2",
         "jsprim": "^1.2.2",
         "sshpk": "^1.7.0"
         "sshpk": "^1.7.0"
       }
       }
@@ -3749,25 +3682,6 @@
         "is-extglob": "^2.1.1"
         "is-extglob": "^2.1.1"
       }
       }
     },
     },
-    "is-my-ip-valid": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/is-my-ip-valid/-/is-my-ip-valid-1.0.0.tgz",
-      "integrity": "sha512-gmh/eWXROncUzRnIa1Ubrt5b8ep/MGSnfAUI3aRp+sqTCs1tv1Isl8d8F6JmkN3dXKc3ehZMrtiPN9eL03NuaQ==",
-      "dev": true
-    },
-    "is-my-json-valid": {
-      "version": "2.17.2",
-      "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.17.2.tgz",
-      "integrity": "sha512-IBhBslgngMQN8DDSppmgDv7RNrlFotuuDsKcrCP3+HbFaVivIBU7u9oiiErw8sH4ynx3+gOGQ3q2otkgiSi6kg==",
-      "dev": true,
-      "requires": {
-        "generate-function": "^2.0.0",
-        "generate-object-property": "^1.1.0",
-        "is-my-ip-valid": "^1.0.0",
-        "jsonpointer": "^4.0.0",
-        "xtend": "^4.0.0"
-      }
-    },
     "is-number": {
     "is-number": {
       "version": "3.0.0",
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
       "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
@@ -3820,12 +3734,6 @@
         "isobject": "^3.0.1"
         "isobject": "^3.0.1"
       }
       }
     },
     },
-    "is-property": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz",
-      "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=",
-      "dev": true
-    },
     "is-stream": {
     "is-stream": {
       "version": "1.1.0",
       "version": "1.1.0",
       "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
       "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
@@ -3914,8 +3822,7 @@
       "version": "0.1.1",
       "version": "0.1.1",
       "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
       "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
       "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
       "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
-      "dev": true,
-      "optional": true
+      "dev": true
     },
     },
     "jsesc": {
     "jsesc": {
       "version": "0.5.0",
       "version": "0.5.0",
@@ -3953,12 +3860,6 @@
       "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=",
       "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=",
       "dev": true
       "dev": true
     },
     },
-    "jsonpointer": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz",
-      "integrity": "sha1-T9kss04OnbPInIYi7PUfm5eMbLk=",
-      "dev": true
-    },
     "jsprim": {
     "jsprim": {
       "version": "1.4.1",
       "version": "1.4.1",
       "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
       "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
@@ -3969,14 +3870,6 @@
         "extsprintf": "1.3.0",
         "extsprintf": "1.3.0",
         "json-schema": "0.2.3",
         "json-schema": "0.2.3",
         "verror": "1.10.0"
         "verror": "1.10.0"
-      },
-      "dependencies": {
-        "assert-plus": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
-          "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
-          "dev": true
-        }
       }
       }
     },
     },
     "kind-of": {
     "kind-of": {
@@ -4010,7 +3903,7 @@
     },
     },
     "load-json-file": {
     "load-json-file": {
       "version": "1.1.0",
       "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
+      "resolved": "http://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
       "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
       "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
       "dev": true,
       "dev": true,
       "requires": {
       "requires": {
@@ -4242,7 +4135,7 @@
     },
     },
     "meow": {
     "meow": {
       "version": "3.7.0",
       "version": "3.7.0",
-      "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz",
+      "resolved": "http://registry.npmjs.org/meow/-/meow-3.7.0.tgz",
       "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=",
       "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=",
       "dev": true,
       "dev": true,
       "requires": {
       "requires": {
@@ -4290,18 +4183,18 @@
       }
       }
     },
     },
     "mime-db": {
     "mime-db": {
-      "version": "1.33.0",
-      "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz",
-      "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==",
+      "version": "1.37.0",
+      "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.37.0.tgz",
+      "integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg==",
       "dev": true
       "dev": true
     },
     },
     "mime-types": {
     "mime-types": {
-      "version": "2.1.18",
-      "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz",
-      "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==",
+      "version": "2.1.21",
+      "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.21.tgz",
+      "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==",
       "dev": true,
       "dev": true,
       "requires": {
       "requires": {
-        "mime-db": "~1.33.0"
+        "mime-db": "~1.37.0"
       }
       }
     },
     },
     "mimic-fn": {
     "mimic-fn": {
@@ -4333,7 +4226,7 @@
     },
     },
     "minimist": {
     "minimist": {
       "version": "1.2.0",
       "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+      "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
       "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
       "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
       "dev": true
       "dev": true
     },
     },
@@ -4475,9 +4368,9 @@
       "dev": true
       "dev": true
     },
     },
     "node-gyp": {
     "node-gyp": {
-      "version": "3.7.0",
-      "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.7.0.tgz",
-      "integrity": "sha512-qDQE/Ft9xXP6zphwx4sD0t+VhwV7yFaloMpfbL2QnnDZcyaiakWlLdtFGGQfTAwpFHdpbRhRxVhIHN1OKAjgbg==",
+      "version": "3.8.0",
+      "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz",
+      "integrity": "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==",
       "dev": true,
       "dev": true,
       "requires": {
       "requires": {
         "fstream": "^1.0.0",
         "fstream": "^1.0.0",
@@ -4487,7 +4380,7 @@
         "nopt": "2 || 3",
         "nopt": "2 || 3",
         "npmlog": "0 || 1 || 2 || 3 || 4",
         "npmlog": "0 || 1 || 2 || 3 || 4",
         "osenv": "0",
         "osenv": "0",
-        "request": ">=2.9.0 <2.82.0",
+        "request": "^2.87.0",
         "rimraf": "2",
         "rimraf": "2",
         "semver": "~5.3.0",
         "semver": "~5.3.0",
         "tar": "^2.0.0",
         "tar": "^2.0.0",
@@ -4496,7 +4389,7 @@
       "dependencies": {
       "dependencies": {
         "semver": {
         "semver": {
           "version": "5.3.0",
           "version": "5.3.0",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
+          "resolved": "http://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
           "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=",
           "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=",
           "dev": true
           "dev": true
         }
         }
@@ -4542,9 +4435,9 @@
       }
       }
     },
     },
     "node-sass": {
     "node-sass": {
-      "version": "4.9.0",
-      "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.9.0.tgz",
-      "integrity": "sha512-QFHfrZl6lqRU3csypwviz2XLgGNOoWQbo2GOvtsfQqOfL4cy1BtWnhx/XUeAO9LT3ahBzSRXcEO6DdvAH9DzSg==",
+      "version": "4.9.4",
+      "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.9.4.tgz",
+      "integrity": "sha512-MXyurANsUoE4/6KmfMkwGcBzAnJQ5xJBGW7Ei6ea8KnUKuzHr/SguVBIi3uaUAHtZCPUYkvlJ3Ef5T5VAwVpaA==",
       "dev": true,
       "dev": true,
       "requires": {
       "requires": {
         "async-foreach": "^0.1.3",
         "async-foreach": "^0.1.3",
@@ -4560,9 +4453,9 @@
         "meow": "^3.7.0",
         "meow": "^3.7.0",
         "mkdirp": "^0.5.1",
         "mkdirp": "^0.5.1",
         "nan": "^2.10.0",
         "nan": "^2.10.0",
-        "node-gyp": "^3.3.1",
+        "node-gyp": "^3.8.0",
         "npmlog": "^4.0.0",
         "npmlog": "^4.0.0",
-        "request": "~2.79.0",
+        "request": "^2.88.0",
         "sass-graph": "^2.2.4",
         "sass-graph": "^2.2.4",
         "stdout-stream": "^1.4.0",
         "stdout-stream": "^1.4.0",
         "true-case-path": "^1.0.2"
         "true-case-path": "^1.0.2"
@@ -4655,9 +4548,9 @@
       "dev": true
       "dev": true
     },
     },
     "oauth-sign": {
     "oauth-sign": {
-      "version": "0.8.2",
-      "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz",
-      "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=",
+      "version": "0.9.0",
+      "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
+      "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==",
       "dev": true
       "dev": true
     },
     },
     "object-assign": {
     "object-assign": {
@@ -4738,7 +4631,7 @@
     },
     },
     "os-locale": {
     "os-locale": {
       "version": "1.4.0",
       "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz",
+      "resolved": "http://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz",
       "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=",
       "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=",
       "dev": true,
       "dev": true,
       "requires": {
       "requires": {
@@ -4893,6 +4786,12 @@
         "sha.js": "^2.4.8"
         "sha.js": "^2.4.8"
       }
       }
     },
     },
+    "performance-now": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
+      "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
+      "dev": true
+    },
     "pify": {
     "pify": {
       "version": "2.3.0",
       "version": "2.3.0",
       "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
       "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
@@ -5521,6 +5420,12 @@
       "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=",
       "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=",
       "dev": true
       "dev": true
     },
     },
+    "psl": {
+      "version": "1.1.29",
+      "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.29.tgz",
+      "integrity": "sha512-AeUmQ0oLN02flVHXWh9sSJF7mcdFq0ppid/JkErufc3hGIV/AMa8Fo9VgDo/cT2jFdOWoFvHp90qqBH54W+gjQ==",
+      "dev": true
+    },
     "public-encrypt": {
     "public-encrypt": {
       "version": "4.0.2",
       "version": "4.0.2",
       "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.2.tgz",
       "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.2.tgz",
@@ -5568,9 +5473,9 @@
       "dev": true
       "dev": true
     },
     },
     "qs": {
     "qs": {
-      "version": "6.3.2",
-      "resolved": "https://registry.npmjs.org/qs/-/qs-6.3.2.tgz",
-      "integrity": "sha1-51vV9uJoEioqDgvaYwslUMFmUCw=",
+      "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
       "dev": true
     },
     },
     "query-string": {
     "query-string": {
@@ -5791,31 +5696,31 @@
       }
       }
     },
     },
     "request": {
     "request": {
-      "version": "2.79.0",
-      "resolved": "https://registry.npmjs.org/request/-/request-2.79.0.tgz",
-      "integrity": "sha1-Tf5b9r6LjNw3/Pk+BLZVd3InEN4=",
+      "version": "2.88.0",
+      "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz",
+      "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==",
       "dev": true,
       "dev": true,
       "requires": {
       "requires": {
-        "aws-sign2": "~0.6.0",
-        "aws4": "^1.2.1",
-        "caseless": "~0.11.0",
-        "combined-stream": "~1.0.5",
-        "extend": "~3.0.0",
+        "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",
         "forever-agent": "~0.6.1",
-        "form-data": "~2.1.1",
-        "har-validator": "~2.0.6",
-        "hawk": "~3.1.3",
-        "http-signature": "~1.1.0",
+        "form-data": "~2.3.2",
+        "har-validator": "~5.1.0",
+        "http-signature": "~1.2.0",
         "is-typedarray": "~1.0.0",
         "is-typedarray": "~1.0.0",
         "isstream": "~0.1.2",
         "isstream": "~0.1.2",
         "json-stringify-safe": "~5.0.1",
         "json-stringify-safe": "~5.0.1",
-        "mime-types": "~2.1.7",
-        "oauth-sign": "~0.8.1",
-        "qs": "~6.3.0",
-        "stringstream": "~0.0.4",
-        "tough-cookie": "~2.3.0",
-        "tunnel-agent": "~0.4.1",
-        "uuid": "^3.0.0"
+        "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.4.3",
+        "tunnel-agent": "^0.6.0",
+        "uuid": "^3.3.2"
       }
       }
     },
     },
     "require-directory": {
     "require-directory": {
@@ -6185,15 +6090,6 @@
         }
         }
       }
       }
     },
     },
-    "sntp": {
-      "version": "1.0.9",
-      "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz",
-      "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=",
-      "dev": true,
-      "requires": {
-        "hoek": "2.x.x"
-      }
-    },
     "sort-keys": {
     "sort-keys": {
       "version": "1.1.2",
       "version": "1.1.2",
       "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz",
       "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz",
@@ -6290,9 +6186,9 @@
       "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw="
       "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw="
     },
     },
     "sshpk": {
     "sshpk": {
-      "version": "1.14.2",
-      "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.2.tgz",
-      "integrity": "sha1-xvxhZIo9nE52T9P8306hBeSSupg=",
+      "version": "1.15.2",
+      "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.15.2.tgz",
+      "integrity": "sha512-Ra/OXQtuh0/enyl4ETZAfTaeksa6BXks5ZcjpSUNrjBr0DvrJKX+1fsKDPpT9TBXgHAFsa4510aNVgI8g/+SzA==",
       "dev": true,
       "dev": true,
       "requires": {
       "requires": {
         "asn1": "~0.2.3",
         "asn1": "~0.2.3",
@@ -6304,14 +6200,6 @@
         "jsbn": "~0.1.0",
         "jsbn": "~0.1.0",
         "safer-buffer": "^2.0.2",
         "safer-buffer": "^2.0.2",
         "tweetnacl": "~0.14.0"
         "tweetnacl": "~0.14.0"
-      },
-      "dependencies": {
-        "assert-plus": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
-          "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
-          "dev": true
-        }
       }
       }
     },
     },
     "ssri": {
     "ssri": {
@@ -6345,9 +6233,9 @@
       }
       }
     },
     },
     "stdout-stream": {
     "stdout-stream": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.0.tgz",
-      "integrity": "sha1-osfIWH5U2UJ+qe2zrD8s1SLfN4s=",
+      "version": "1.4.1",
+      "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz",
+      "integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==",
       "dev": true,
       "dev": true,
       "requires": {
       "requires": {
         "readable-stream": "^2.0.1"
         "readable-stream": "^2.0.1"
@@ -6418,12 +6306,6 @@
         "safe-buffer": "~5.1.0"
         "safe-buffer": "~5.1.0"
       }
       }
     },
     },
-    "stringstream": {
-      "version": "0.0.6",
-      "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.6.tgz",
-      "integrity": "sha512-87GEBAkegbBcweToUrdzf3eLhWNg06FJTebl4BVJz/JgWy8CvEr9dRtX5qWphiynMSQlxxi+QqN0z5T32SLlhA==",
-      "dev": true
-    },
     "strip-ansi": {
     "strip-ansi": {
       "version": "3.0.1",
       "version": "3.0.1",
       "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
       "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
@@ -6572,11 +6454,12 @@
       }
       }
     },
     },
     "tough-cookie": {
     "tough-cookie": {
-      "version": "2.3.4",
-      "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz",
-      "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==",
+      "version": "2.4.3",
+      "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz",
+      "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==",
       "dev": true,
       "dev": true,
       "requires": {
       "requires": {
+        "psl": "^1.1.24",
         "punycode": "^1.4.1"
         "punycode": "^1.4.1"
       },
       },
       "dependencies": {
       "dependencies": {
@@ -6601,27 +6484,12 @@
       "dev": true
       "dev": true
     },
     },
     "true-case-path": {
     "true-case-path": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.2.tgz",
-      "integrity": "sha1-fskRMJJHZsf1c74wIMNPj9/QDWI=",
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.3.tgz",
+      "integrity": "sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==",
       "dev": true,
       "dev": true,
       "requires": {
       "requires": {
-        "glob": "^6.0.4"
-      },
-      "dependencies": {
-        "glob": {
-          "version": "6.0.4",
-          "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz",
-          "integrity": "sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=",
-          "dev": true,
-          "requires": {
-            "inflight": "^1.0.4",
-            "inherits": "2",
-            "minimatch": "2 || 3",
-            "once": "^1.3.0",
-            "path-is-absolute": "^1.0.0"
-          }
-        }
+        "glob": "^7.1.2"
       }
       }
     },
     },
     "tty-browserify": {
     "tty-browserify": {
@@ -6631,17 +6499,19 @@
       "dev": true
       "dev": true
     },
     },
     "tunnel-agent": {
     "tunnel-agent": {
-      "version": "0.4.3",
-      "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz",
-      "integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=",
-      "dev": true
+      "version": "0.6.0",
+      "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
+      "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
+      "dev": true,
+      "requires": {
+        "safe-buffer": "^5.0.1"
+      }
     },
     },
     "tweetnacl": {
     "tweetnacl": {
       "version": "0.14.5",
       "version": "0.14.5",
       "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
       "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
       "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
       "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
-      "dev": true,
-      "optional": true
+      "dev": true
     },
     },
     "typedarray": {
     "typedarray": {
       "version": "0.0.6",
       "version": "0.0.6",
@@ -6912,9 +6782,9 @@
       "dev": true
       "dev": true
     },
     },
     "uuid": {
     "uuid": {
-      "version": "3.2.1",
-      "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.2.1.tgz",
-      "integrity": "sha512-jZnMwlb9Iku/O3smGWvZhauCf6cvvpKi4BKRiliS3cxnI+Gz9j5MEpTz2UFuXiKPJocb7gnsLHwiS05ige5BEA==",
+      "version": "3.3.2",
+      "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz",
+      "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==",
       "dev": true
       "dev": true
     },
     },
     "validate-npm-package-license": {
     "validate-npm-package-license": {
@@ -6942,14 +6812,6 @@
         "assert-plus": "^1.0.0",
         "assert-plus": "^1.0.0",
         "core-util-is": "1.0.2",
         "core-util-is": "1.0.2",
         "extsprintf": "^1.2.0"
         "extsprintf": "^1.2.0"
-      },
-      "dependencies": {
-        "assert-plus": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
-          "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
-          "dev": true
-        }
       }
       }
     },
     },
     "vm-browserify": {
     "vm-browserify": {

+ 1 - 1
package.json

@@ -14,7 +14,7 @@
     "css-loader": "^0.28.11",
     "css-loader": "^0.28.11",
     "extract-text-webpack-plugin": "^3.0.2",
     "extract-text-webpack-plugin": "^3.0.2",
     "file-loader": "^1.1.11",
     "file-loader": "^1.1.11",
-    "node-sass": "^4.9.0",
+    "node-sass": "^4.9.4",
     "sass-loader": "^6.0.7",
     "sass-loader": "^6.0.7",
     "uglifyjs-webpack-plugin": "^1.2.5",
     "uglifyjs-webpack-plugin": "^1.2.5",
     "webpack": "^3.12.0"
     "webpack": "^3.12.0"

Some files were not shown because too many files changed in this diff