From 5e521388618d43f28a625c0726ceaf3a0f27f460 Mon Sep 17 00:00:00 2001 From: ImgBotApp Date: Sat, 8 Jun 2019 15:55:06 +0000 Subject: [PATCH 001/200] [ImgBot] Optimize images *Total -- 213.50kb -> 206.22kb (3.41%) /dist/www/images/logo.png -- 3.29kb -> 1.21kb (63.29%) /docs/site/images/logo.png -- 3.29kb -> 1.21kb (63.29%) /docs/img/header.png -- 68.97kb -> 67.93kb (1.5%) /docs/site/images/header.png -- 68.97kb -> 67.93kb (1.5%) /dist/www/images/header.png -- 68.97kb -> 67.93kb (1.5%) --- dist/www/images/header.png | Bin 70627 -> 69565 bytes dist/www/images/logo.png | Bin 3370 -> 1237 bytes docs/img/header.png | Bin 70627 -> 69565 bytes docs/site/images/header.png | Bin 70627 -> 69565 bytes docs/site/images/logo.png | Bin 3370 -> 1237 bytes 5 files changed, 0 insertions(+), 0 deletions(-) diff --git a/dist/www/images/header.png b/dist/www/images/header.png index 06159b2c94e22cc09fb507db6c7a1562fe4bdeb7..6db8635c9d03eb8b40b21f72bdefb07217fcf359 100644 GIT binary patch literal 69565 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 vM;@QFomwEf=Z>KI7 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 Z1U$jbBb@w}pbtF+157N98Ah&m{tH}yzQq6l literal 70627 zcmaI7byyV8voK7DgfvSi%d(_&r;^Jq4T3aEvml)U(%lVG5=%&TBhn4B(k0T3bSmF^ zfA_xc_s4g?eKyZ?X6DS9JTqq_HPjS|p3pu)Lqj8iLFKj3(6Exw(9louFi|7uc2<6< z4;nWGJ-646R&JiAE|zFA7LI0?K$yL$wWXG&sl^B9VM|FgG)ypDThC2TRYly~(VpA% z-yCi)dnXh$8k*!QFDFxTJ4-j9nWZ({K?-!z-UR}}Eu=uYLaMx~PI8tuaHzM7 zZF6rsb1@6htCv7YFL4wCdrLP{pqKr72Ul?~DbRo66-RylH_QV9{?`;YJ1NkA7Nw`E z0hDueu>=Zn3vik9^6>$Mg}M0zg@lFqID!1UeEdATsHZR&pP;yqusFX6@V_4*6g3wM zD{(D($bZv9{gMLNxVbrr^YD0jdUAUTa67tK^YDp@iT%UD&(DRL!R7kF!Ohf*%fXfD ze=x{fx|+Mdo!sD#4#0mHP0bwL-K0RMmHvkXd#C?{*1`3^w+XdjJYJ?wJbc`||5*B; ziK?pq|5NSl|Ich!H!aKmyWam##ID*OoGf{?EL|PlUCdE}vts&3%1K<##nRNx(M8+Q z@%{hoqK1v5o1?3ZqZ3f>wJ?xP)zlpB@Na<5Lin;T7f;lMxjZfba|Q%ZT#-53IbSxx2lkgWLbWTKr#Fng12` zpEB4xp(x8+y1+dwEg&wA_Q3yQS{(kruSMj4#rNN^7XSNNME_S<9@JuZ{)zVgCF=hf zLg~-Hum4AJQ9u5V>RURX^xXxe*hUslL{avFrlF#(fCfWvoC?4BdknSAHT;wU4HVT1 zQ$!x!+Nat+exJy!o%=ps(^wy!PzPTsHhPSTL{3MUo10xs!|x9xc;B-={%I^7@_J-M zTfQnzchMPH92)R(oIl7K9UXbJv_|L>sH&;TdI_2*Xh(;+>|Cu*t^R(jt}$RBY-wp* zXsZ(77a-=fVp6wm9czVnKpKaqKQ*QA-IvWY#y)oTHcXv_eF>X8DvnNXiZ5%~xqbY5 zbl~t_xwr(8k&#i8=wR__oY9Q>aH^&{BQ`8NtiI0a!w2uHA2CNKH|~XReDXZ!mq*$X z)yw-!VYZHsS%pO%g-|Ug40O!d?TMk~6$fqA_*g9^h}g(w*5jXn)uZO)^03F-h25*6 zlZS@KmG#DZUZSqP?}Wef#Fm{;&`}W_oD`r7lVHZu!vI z>fikWA5Y5e2428?oaDMVaYAO{F>|&F$%B5u;b7L?CV(eM@d8D*v$D z$DP*pvO>}DhR4Up@$I3No8}Ml#5o~BA?eve4llf{&Ed9=!`We>^)$)avpXj{lbgvWe|J`Qer{jwJYHX3JU-5@&OScm z+*}r}9RFP1o|)N3;n}(UQ?+$+(zBXyef>DIx_bQg_s-7h&1J>JVba;o&c^Kb&DE*( zowMtQ{NKl`{fAl8v+DyJIghBxJHO60S067w|D0Q!IiCH!^ZWPlkJAn0%HP}F?b(gL z+bdTa{fEh$*XQ4lH~b}K*RLZ(O`cEa=klYW6Tx8eGTL5?hn)mQuRSwg66edyv+rYt z5Y}Q9%7&nEP*ak~L;*2m5NdzeO(3S_X6*F`*!t1N&&p#pe6rUg`aRsjr!*JaHvUdN z?x+y9IvJWp9X>|{UB0ZW%kg_}Z6&d^cj7zAES7!(!w52ydP^zW(w`tHIeGu`F?nND;D7j9`2t&Qad&xt|CZDc1WEiMCqdN5?`8WEZXE4Y-v6WnbND3#} z%P}GW{QOjsolRB+i^^0Ka0&RvAQ$dc{a?d`e+W}&8qjz#^epmfA|$1(PPr-np`Z~5 zH4>2}8*s8HArku{MA=TCKJd9kU4OxYt&>iEXWWAnFM)_CVw`v}j3OXRDfrM$?9-S3 z0o6>KMq+=%V-}*7L)6v|Nt;Obr)B*IPTjCxzzVBom%JbuCn6CuiY;{jsOVu~OM3E} zG^y|0Eq7_jnDT5ck=GYcN!M{!I;p}U5tMlp#F1D>5~|>jDxTCo{+a5Su}v=3E@}}X%;{Xmw5^s zD4XP!TlXVguPNO`=9p^6rZcx=gs;&ZsNEf**$H{Z%mfet@tE=+v9zK6+ua{7DtSMj zC+6~6ZPh+pw`bBG%rO7R-8^FCgybv;Q`VdH9U=1R3qoqE2Q?&gL2s`kxY1DD2<(4I z#IFtcSwFpX45kY*YO z^l(6e6u`u6Vuwi=cC}k9C?+9apjn<}f6@4>YEI4Is^%_<9urFfwuuc%J(XWyu(HVS z+TO>fvr3wng)DYQut0Dcq$djHGf0&Ao!H0*cpRe>!2ht!(MY%T46cEW(D+X>njq=C zYKAWM)<3ksmCh3*w~8mT;0nUaI&GfRiW%<8DHg&QQHrVFyN6GLWN)8r)~pL{f1_6; zja+irXk-45BB1mW2@ynQ4Z~}Bo=&pLXF4q2xcuxA{NhQ?CG9cscJa}r@ML5yEY#rV zsgS@z|ivkTUzv7ukV((p_3awOyIvG=OJai^ljw}YfI~w}^?<;~&C|Ugz{>}S` zs%{I}*>JTB?9`RZ)UEruG?c5K3SwR?B0p$$59gNN#(pb*tUY_h^VELnN2%Ip?-P$} zsBB_rA872>mlK;=>g@S6a46s=lgOMZX}%sjZ5n{evw}#mKji3J3)rG?eRU{OXjUb& zusq&H!h+bG)KA7FFX%VpjsjS1GM4@HzcoCD*8UOMIy9Zsx^eEAu~@}8)Z*&u3@w9K zbUt66M>cw}5NmXXCJyyv?*6?sA!xj1ptsxo+;#E1?)S9NW;yvErqU?`6{{eC%wgR3 zPl9cFA+!-`bPS%^w@E|ln|`o60fqmV()$E$PiK|6Uzl9oi$j}jL#;0e+;39PwPX{k zXqY1`vx)T>;>SCh3tZ62=s$23z$(iXj$=w0kgKrzrw4NRc$C?&*Ot}@#RMEGN;foCM%LuHYF}Uf?IrP z{=QLatuESQxl2=2Od<}o=4owu$u6+DGb)t&QA|sIr%kvTy%DGthzA3KBds$gJBmYmijQzrpqX#V zv(D>;Uwv`jmQvQvY09@;$FSJ)BrsrssI>>tS7(cb$=8@)UUPOby_qdCtJc&z6l(tR zG;4VfQ0*lE=jg#kyL~UJEKBp2QZ41bbtvTr?RXW9evk5FQ%#*Dzjvj>b#>$AFV)0* zy8^Cm<{wsjaX9J^uI`(FQP0~y>;}fY%c*uuM|pg*eWe6$NO99{M&7m{{K3d~rQcL& zozTBYV#rnsWBT8O-0S*kL?(c989yKG`_@@ZhXTXNPZ-aG8W$IT7Y`IRGfht^(|Q62 zm5D1=2i|hbPROUFoB*oF759~@Dzd%VPDgq&7fIWVW3cP6-42Ct>H!Od(Y$_FOgLY# zoE7LHEoj-8WcLgMk9VAe6dTP7DF6HY^R4P_yLtvr!sS%+4_UfK+d*@-h<`B7B%rHh%Xi zd=GlRzv3Ytif<=OA@0<3XGd;~_D?7g*6&O$|7Nt)xZ)H;Ozb$Gs%x_P;Wo@mD-8oI z%$<6Blz6~;&4>4un4YtD9@y%V?>fdSM4vqu=-`O`2@9SKbg~oIAO^oC#)g|&s&TPGVw1u6Rw0U;lcU!NPYI6wPzw@YqSYNoM_&gu`9WSd_?9w&pBxV z3U~VyGf`pq*X#T@khAdN5TK{h4rKbhs`P-)epEx-?>}uKzdhZs(=Gh;8`eg2_eHEy zIT-)RLo9!LQtw-EoBZ2h0x zzCc`DzI+R`fopPHN0bgcO(%*iAE!@0QSO{cP4RNO&WRMV?axgraCuwkA){Nfc$Qwd z_NSOZByP_!^9yw9j+^uI523I5Z(T(9UcyWvVKic4m#sO1CO-*+^OBXNd$K=bRRlwt zmLt>$aE#@H>cD({hA7J?(JobW&S}fgerf&DPtZj~DxYX?1@j@UzCqbjbv;iEk;R!j+v9>yhnTCrxF3IgqVZQ=4Vw z5Rmj|^!f0>?&Q|6U~n{u3UyMcy_+`en_a>_sF=&YxF|NKr9QZQDO{|p83Y*ZA z=S%Tc4S41|5F%ZS(!ZAEcY$BIzOigzo_;~zu&h)-YGDLl!dq>l%EzudL?(Qzf;eEq zND_Fd>r}nOkD$UML6Rk(fep1Gzl2a(Q3%31gGT7*N?P_yz6OLvxdC0K$rIq07YZd@ z*Tx0Lzdt0Ib(>>_#_Du}li7Re<-nv|;}*cOhd)YodiUzyr=v8mO6 zmm~rOi&l)Q_jZ>oj=DATHt;!{Yg&BV?aWb)6a{aU%%v!vT+`N{*4SI@&kFMKf7(^c z{K$Yu&7*-X%?}6x)#SHNXS*+Boi&L4Oe5`ztvgE#Lxc8pm7|O|;o>m+uT_A!XD{jI zc>z|RONS<@DWL<}Nn#2(L8_@yfGZ7D-TFFxah7{rl1i+`sNAIO{=AVWg1O+g*`A_E zrs8`r5v|WSi{gX~zMR-c9xiNr*4Mo@l)iaP88SSM615bWoEoGBD2NRpWE{ zQHv*dmDw(xCSv=P?)TbaZBCq13kI0*4SCNE2T?dU*CWJVeT)VeIRHlOVPn1DK)<;V zK1((p+-?WdZE!^QqDxsiVMC!0bYOnF8KCI&0mR?sJN7Gjid|^`?qb*RD*jW^C9PO2 z3&3amZEVDyS)ogZXxyed86v5`L~l41eq|e z4t-sTZFup0gkM-NZIc*?E}`Xt9Ed0|FIn&qhJHyJ zu!X`U_&qNgmaAM-w}iv-rX@L7vxC^2cYw^k<^+0VmO5#eR@1ejYcY?beY>_lz_hMvz>}@6USIo}tSo4I{HTeNuKw=On z_-e5V$*X2gfTIL>n!@X$7$eeovibS`D|q0#?`Bp-Vn0zIEq)}4zS>)R-Bm9HQS!(4 zYb={4)1yX;KXz+YelAUJK`wcIr&om)Tz;HbnLL88O~RZdD8t{#Ay>12x7fx`nat^p zPUfC4KzF)rUo-kJo??14y6~HeOoX61j+826%7Noo794Im& z8?z=EV`54$rv^B@5)FPST!%)D#`4`c*k=fqXvIGiJ!cWhj?Q-mtbrC^T%{@XT0CD_ zum7h+cNG=-36&pN3y{|%OG1ugWk%k4#lDLbLvUE5E7!o^!~H%A`vOZWVB{gfJqcFd zfn5if^ow<_+Db{}_4I`W8`uyLiMs52t{cIfo-qaRuQ%t^f$QE)o8~KI#*4%%e5oT) zVvbX|Ila1iqr~GCF@o}$C7o@RFNuRf!IYMPs6mcH%v|VyT6~9?%u{NSR(nD?q)=)SW&Q>}Am;j$R3tol`>R zh{%5&+tiNHuD7BC1v)E4 zm%|ltg%pPR0TrHNqgGT=z2V9RRG2B#f58acWiA;=yLV26XXyzBoK zbKv%s)c#B6s2e_^`~r?`hxWTYoF_kZxxh`lFXQrpF~O`0v9e)KU$L`2XLC8~Gk`Rw0mGo+a>)27 z(Mr9j)slmjkj*q0huP*Y?m)U-wpmLuHZuV1q&1Th3k!h0rj$pICN)Cv5kSzqBGT84 zX>kofJTOb0C#RZhs49dWfyKg%-So@Rt@q&#$)$FF*mw{{paUbd`Qvh;|6Bl8KhR5a zmFTnR6in{r0eix^0&O%vvm>Gf9E)El6Y1Su%K9r^jYI0J54R8xHhE>L9|NqN(>BKs zbzlsx0gJql&L|&`E#=i;_Za4B~Uz)A_R)&L5l`Cy<&MGGdQYFXlNrLyGW{1J#p z1-c^~VM-_~kC7bKhV>HT0bdza`}(gGi;sGUzif_8M2=R#!dlMzZOnu?%X=<2C2hh9 zra7bj4rNyvh6_K`UaR5PSNq~J&yM;!D#ZL#%fVe)pKJnbFF zm-v(xEm|rTW(xY#1too*8OM}$`A8H8Kt7D#yBy9$9Mv~&9oz}!ScT6*mn`RbgOds) ztuRGsfg$oP3vT*nkt6T7BV`Cz{Wea%xi^KAxkd;^_xm<-TF0sbrjK{go);BnQj!UDFo8HA0If+IQQo10K4VE zGH;Utd1K1Q(w%wt6QE-@GTP6paxGp;kuhE;yekMGkOtk~S(y>{IfanG55-6vznle) zWy!>(sBmqwG4ds#vc9Z>+96C|7=84*SwU5%D%ZNXHi{;~n<%n#8x4Q@M9x$pe)(4P zi^MY#LieP{UuM3sJ)jgYA*%XJ6NHD2ox1q`~-n74aTs@>e&`w(@4A6AjR^qLe#&&IyQwL0jLAFe=%iOdW{s z#2Lb3lq;2~d03X~XFY?B0gdCPvop!J23|X1@yNo=LV^=%tU2xK5QuBs9qK;9&gP1; zF+#(v?U%p>SM7j)JjTN~jYP<|7%leXxL2RvIeJ2gmR)3KkF$Sc*;qOCK05n=H2$7|UQ8fuLtW9H*GK2uizPh_c~cEf zEar#+O_Tr0enSR|xMA&FOEiaI7iFQbnU1xQmzt302ogpJGQ={8_N~G&h4u)jQ>at; zw?e0P{+j2g$4zE9^QScq9gDl9v=&JwQl(Ln&#WvVXFz03DCTp5NPPl1eOXj_;Snb* z=o>{wOC&gv_$~wqyw+P_Tt5CRXDzo|fnjSaIej&HDTR~7%rb59+#`f&5{J|}m>UhB z{IE80#xC*}?=?baxHO2gsNuJW(^PTFcIEli@Dm?LBNgqX>erT^In!&i;2xI{-{&`l z2>fRxa61>LM5{U=2!Kkd-rERvW7lB_zyWiIOlvDL_4T#gp3BQj%7E(1Y7D)LPkVKJ zF=QZBxmP8y#DPB0J_9lAB~_{&9oo(lTVe!exMV_U+6WM`Mi4wK_*)CYs0H}TILYX# zHr(##Gt=;hIf}LL%AL#lSAt0YGTSROgboLRs=AU|D3nd`vb^LMVXFc;K^G z71+Q*?xe*OhnkzY%$rDl(ej5iS#nt(Crca?a%iV*X zq_pN)nG9)$br|>A z7$-+Cc$pDdHncBP=&p8AFBr2=WFJ-2Wx=V51QyMl+PWmkvvpB9UU3iNPh_# z=)bw`=u%1Y#Qt-FPi^sdu^#?dn9$Ky;okn40&(-Y@x7xGqNsRL!N5pO*veK${^Xyl zj8bx~m8NnPOCGRGCHUY;_zhdycQ4;#8EE2wY3bP)h&N~RIT6IAA}3V>=S)I{u2J;9 zQa0tz*Ou5loRNq7{<8DWoQGV&Wku`n5Ecjt{^i-sXGtAGVx#AT*OKJaxxW4rSmVpp zg%2rpoH`!P6E`g_yv%X0*4`)yS#(E~xdrYEaU;DI5?OMsv68}?q^UO0iE)gHLEkxc zxHajO28lNGV(`o?1|I#8uhRw(5yop&)v(e0U~2YGefh|5B>FljG*>I1K;vJtBI4F` zU4A@EjXNp!-8eAovK%$v99{LTV#QhF`_&WPgz<_#+}DY>K>23~)K$AW5PConJ-7Y= z0vxWDo?UYZtSGl39{YlgRy+kLFAiUJuAf9KNWjmsgJaYdv6(BsBRXXG(vB4O#$7Pj zBh!{LN7)=TX?;Wzr4NO63^l0~7s8WHN1iQhSu#8*rabJoRB&n-Vlemy-VttL)4+Di z@Df=RRarCbym-Y>aJCZwD0Nw(PHjsO2GcN(x zQtTYcVu8>~*qeSME$>#~&q-cYp$=fu%nd)fIQ%MUqar%NX6MBoDJD`ULl>7j9r&ek9w`eP@k)stRAAf z;#xEgG=70p^OCp6X)|>B&m>Z6&Jsmd=#n{{zk<$7Ig&~C;+~P+JAh)7=j}X7Y1>WI zjGRp!$6z#SF&5MSkm{!qGPo!oSvOR25(`W;h@qb^+!AQ(LP~%Iwn}xX!2MyU4^+gR zb9TiFhdRYtVStXLyjWxPdCl7MQpc`sGHB$cGicOIw7$S=0R()wTGIU{KGJ5@&ot{* z^vp35ky)C}N$f?a)QntQ3*p|-@SSmCe0-f;T{0-)0`vRX19si+8ubuu-tdifGQn8# zy1Ge2dxa?Xi;`YKY;X)+GRvURK$Vyh)?FCRY$Pvr!o=M8}v6B zl65mqD{FLGMK#bp<5DZRRDH@oAb$~lxp$B8XO@e&H-l@T<{hl16=}2 zpYi7jp}NsG#(X;j7BDlg44zp?bVCMbP|ez;;7RfU#$Y zEuk-h3NBwjD^_vRO+U-Zs@t76AF9nO|Cn#J1}FnbCW~9K07zsC^%Wm0qH(D%*R%-Ve%SJb_X(7<}5R$E;-+$2F@0HEp zcs!ii&m08bmCa^oum;GR1CKEB905|e7-TUolZ|jZ6nzS4Z`6pxNsF2~QhlB(r6PGx zDmskM+Beij08_FR;!Q}+&acwsOtw+aso`7!fP8?bVpDg}NSRkZJ9Drz-;4PR&otX1 zeG)6yack96(&_2-uPe0&r+Dli^g5o?KMYzm?mJr`uRq{u4N;`)&aSWzaL1}aX}9>7 zf-(%~CFp2qRlW2WtcnMKcEh|9DkM1#sAJhVP{AOt(QKwnM}`qCvedj0XRq9sI~Ybt zxSH*n_k*--YgSIDde8J@&Dm;rPAMe1fk4SAK=m$Y;6CWk93g7A;2+cb*X1{+MUV>1 z)}fD1k2rjjqEik*+J`6H_kvGZ3Xwhikq9@Neuing<|W({3&f@FunXwH+&!IcE~L^; z=u)Tvb0<3X4TkGU!NsW4sb}oT2~-Q5Ty=|3DR++qoFoWDFFUS8V(NwjfGVS?;HLoq z9TGsFuk?n05QhbAr2eCd}gx(w2T)|I0MRQ7TE>24~}mHV#I&j-8)CdRYE6Fl4};F-syx`;$$ zsVz;AYN%NiCU5s!ST?S`y;*gtrFO#?(~nh9ANl5ujX;EGm&ZQq?#-z)+7pUQhf8c6 zvLUP|s%Hmg_z%N!$lV^Wvh|6z_GP9J@I?z}uwfMy;j?|`hz9QOuu(Ca6GRT-Il*Bx z?#uy6=Z2pCQ_H)ygsA>6IFTekKIAjz?dSD0snlJAk)2moy`)}uZ|5bh=WypL7Vf)W z`PTi4#Wyui<689Dn$z^-KiQoerO@oRn+<_W%QDF!hHVmY#Nque28eF!9W0M(n2Tge zoHL2lpUkRi0dcr#3$*?h$X>5v?o)g}_8NIgKZHwF7mkW#5s8qAfj^u&85}Dn^&g20KxDtf5Qp#hdq?YnMuh~nhPm=hr zWc+k2pWz(;74SH`w6;np-NuaXyh`I|xxhDYF+F+o%cZ_{pU3S=J-J=U5%OQ+lev{? z@~zeS5=n5LwjLBmYh-BUXuii{x0hsD?akIa#1~3I=%@k&&c|E?Hm zjd2NA-8KC~%yDIastpq*g^GS;xNcOlfF zn?b~jW|C8|e~U7j`S&0JEZ*1g=`DetcRS^haDTX5Wf3eeAiM{wwF6Y*K2`wQmIPNlUT3tx(>1bcqcQxP`ThLeRV45P)U(HR;#HZ;-3Rz}4fB|T5E zuJfopdTu!u_$~!{uo>C#HDO-;Rct>4+#4fWc3m#W?8V|`?oWmbqu1zD_E)$SsWnY& z&?Z}*fX{<6(ScL2dqOTRq4=LL^NGQ_=)sCp9e&&0jZ;xi3_EHbHl74*)>#$W49vu9 zD7XO{tU6(;c6HJtY7vi+yQ4EB4q1S`I6h8^@jblU2tbtfpL$Cn()#SW_>{xr)N5Yh zEy5I&KQkC(=o(RWrZJ5sEk0)je-e)kfo3U12_^wnZ0zhh9l(=&$3OO9>82@o{I4dT z&Eop>M`(qrK39kmgs^g@?IIdq$9Dj~uV0_<5sW>_CfQG}W1X(g(RBv$1V+o$e#=8# zUl@8K4Y%_(^@r9-W*tBf)>w4Nn0?iu7~g=3RDy$&Bgk|p3(kkJzt@RMU??N_wZ267 zV3I3&ufMs;H%iifypvDbA%Q!$Kru1v;&)81MS<*&#&{(WU);1nN4jN~Fh?21n z`LCs(9#)O^bS>R-4iC`Jc1;;WA{w;gIg}7N@g?%KK*-%qLW1<9o>6VitDC&_RH-(i z=%^-cj;M3HyYa9a4=eqwo&qoF7_-YA%sH;BuhMl~s&AfxYDsJ7f^r0zU4u-_dFbHt zZjq#Bo2rIQG`)8%THjDtejs=(f=`o~mUy91^bxY&H4_19v* zDArU9n9&BN#yTXtUyCGdL`nPHiZUj}$gLVL0EuyjgS_^*c{JXLENL=zOVhtve zg!IwI5d}K)M{-)Qaz$lhGDeUtz%XsrGceINeS7+dYIk<37k=zE`}*a-ozJZtEtk^m z)Nk2U$zL4gX%PP|zM5QPYq+!#2#sz`0>w&;775zvsx8cz)EUGTveQGeAVvoY*Z_@4F*O2drh@I}g~2n@xy2;LMs)U68xt+7wB(vK*MdgPG=L z2LXcteC$7{lcU^z9@{-M!`dpE)3Uo6uxo3_UOo#EoO;Uz9%BIwL8Z0oPc`*Ln`tfK z4muR9M+IebOK5x`1zMRHin-WdH_8uhTh`T#&5T#33oD6dth5_at%i8&3BVX0uU@OK z(lXfUJqBIF3=p9;(dd10@EK60`a|yRPwuyO$qLcwbJ_aZo88kH-x z%~;aULdp5Ru<52C^4lr~sZ5&V?~2Rk0FoZ*g8>@BJ^`q+AOIEv8SSm|-#l1a zF=do=rBR8{5mdOFzB&AXeJNCl|MA6U<(ymYsQX86VKkX%s@{{lbMp22F?0Y~F4$>l zLdav44V+2dKwQ6*MIrMPk`>DdU=Ofpci<#)H2h4z>d{hc5eN3#K0Y)TBD((}FzaA1 z`rXPJc7w}-Oa|lJK$xghKJ}K(q9OF*;_WcUCuUN9W99aA0Th_1JC6!G4Cs$ z`aO4f{`)R3Ab=9R*1HKRk@0#~E?RJL-Qr!Jm-1L92gD>itXcET#*vHO=e)Pr9Q>kK z{ds~U8>G*tnc1dz?Bg^o0~89mgZwuchpFCle*j8LINaeI`s zSG_5j{Tmgi_@>ka^AW>%Hc5rgtZGXGxJPP)))!Dw=Hqk5URVCvNGYme+k`ASX65GK z*oQ!%U@3`M{{48@XRVaCIf;I3wFfnGe@???4+bf>=0fL~zf++(IRFHbz&QD7Nx}TS zW>w;?9B(GCJM_hlK^onJoKKcL2OMwDz8dCMhoP0jzDH4_x+U14?LfCTY0%)9M!;AS z@6!Z{(Q^G4tz%HzpSVdQah)t=Gu-7G^ZsPC0mGwaq;Ay`PavfW5Ap;Mb*dzsbqwbx z^bAi;VT3P4pjoy1{?7sY{=JB^W)2~{pFSe|!cLm)lvPW5I;9?6qPilW7aAvf@OV0s z&NPR5M7KFvt8`Ox#iz0}CtePBy%?t>>>=VW$e7B3i@u{7+#WgB*>DyI-8prx5e-6PTT~5DU`x!$`9My>}KroBDQdKD`<}`)#!~%F+4&<)H9cF=vs0 z$2>m4nf$$dv>Y0L^;#rq1xAZ&!(+u~b&$R=XbS>w0Ha{j7z=9RSBqA>rG$IK zq8SaO_J4ke0&<$3alg;-kaPay;4;uEhl`9#QxuKnJ2=gMGNPDfER7}dn$)(}_S z&v%I9gbC;>s9~dLdzEc(uUnfP03b}z2rgsh)M2o&d{fI{U(lUyM+}al)X%NmSZo8~K}?xwY4bQ?qL4#MuMDY=ZS-657%zLAieK)>Jm<+jq5W5Ve&vpHxPLmHiZ2h9%l7kddoVvQ8XL4g zWfJWxcKAIOeJ$uRzqa4-MaFbOZV4=St}Rklc^8#sAcb577VCi$ua)B*vbq{-t~4$K z?^TuKpO3yG$$g`h^=7_C0`!N;sC1?MW6ruJM8OMwrjG{MD@jr=q>%bt8bUqJpBtA{ zQTA1jJIgAzl++y9M?X|jzJ3H652oLU8ezfus!-4~4?VCl8j zw0RNZ)+5(ytoc2-OnZAYT}L(;e8~P9mK$zOax#~(@`1>uPDc0DkP<4=_;jtHN|_o~ zr_X@9N%Eq!*)htdB?5L|+Mu^KRt=>Bg^pPD1hQR$*qP|3Ktpr@%RCmXD z&gYb&1s^l;<4Z6y>sH2{VYm0E3s~H>bB9XJb?I!@kuAbUman%^S z#I)R8KMuH0N(b&EN7-mPPnHe`1V*#P46cph`kbP3+rO_b#PmXpp`7(74&`PshmAh> z%G3VX=~cw_OZY0UfU_r{V8Ag0BZwaL5z3;URn%+%8d?UZZpy6ZEMqY@_3!Q(Tm9)1 zUNun3aY;CZQD;^hQJ!`jN9a^jmpMwOCW~pr$_WS+c3P&e| zSo}W5BImivO!gV~y~k~moBsx=+iHuu;o$qd z!?=+TJkk0XjyqJfx7;FDlp~F}z=`-5gr?^lZ}=Soh8m5m-yTh`JaEcsdA~>jIGa^} zQdfHusY98X&&wY+9n;hsnvZ)74&87o9iLCD-2F;iHuvin%o=7UA0>zxs9^Q|39ATK zo#8Q#A9|!5lk{jMC;|j|N4)u33GpF$3Yr4N`~pj(QbH`~frvI#C!P16gwfvEC5|Ok z{L~%>)Xq&i6in&~z^4Zc36tJ^GlKzaNp?F;WB3wE5Xn~*GGrg+s?xUlEJ#CHUMc3| z_hfp-v3N?NEvL|3SrEK{2lytpE)MTVX<&#*MJJ?GNE^@-ScuKo;Q^h+Us-(!>lxaH z<^91SL|aiwOzWnC3-Ya#QQ@WslqAjnv`(|(#==HbQW*&oSx~3-64%7AZX%ovnU(~3 z_4Z5xU&))=IZ4^j!n_V#1wK}6J64$6`)JL(;yN~53RDBs1Xsbm7zM@4kCST*7@cjxRvvMrrLm8;`<)Zs&<%b5TL4$50 ze$$0RGB00fdoJcPirhY)I2Y{pF+K?sn&Bt<{=J`u%vq0LGL`4xLA4GQpOn5G3?i@y z^(4DA5=O8#@^=rFYNW96iNhE2l2QFn7%fhy)SD*Z6EcfT0--H!ol^zcDVS@;$6isn zGFd}bu}2vdw3nq{vuL!dKMZ3%_@7~<{IvzdN1eWasu%X#L?j6ALpWn%=&&$g=j(Mn z2rz%5iSk5Dmfce{|1sh^s~``YUF%8cp%^7M39n(29b5;h1Bl%Vr6N-qJ)6-uUO04U&}@bs+1;&xpa{U=97^D z3E-V#Mwnx9fDxK+tW{{rEgzy{{9V0r8mbr`czVMN-#1~1e_TbiP0;;8gORYP=gvvC6)qpi)5AON6>1GXUs|;Lt9dn9b-W=fGBydYGmALxs~> z6qoxkklyku(F+=sbDdNf&ijz^r+|8FxBHW=VlyfTK2eq5Sly4q1@?Uy9QPZiu7=aO z(|zm5C71l*fjR5PS}-BcdaShMmxppl%e=iY`~Y0KHG&*I?Nrs@ARw{;FVTwS8{QTP zlL<4fkf@>Qi!mdB;GjyhV2hGmsBFjWtn$Eh4=@g_c0gp_g=;R6N&oh^%&3O*viA@n z)tRs3LlJI;A?@3=WK+EiH3gqH(kYjs@e{8ia{vpb82uRyitpZG2;p%?3QL!C>YYUz zrv~x#Y*9J#=Fif;FPQj{9P`veMdc__?%iqlGR();(81n;JT7hGxU{2%bIx4vqRlw{ znMipfyPNt(HPy_nU(wqvOCnPa5x)TXUICIWy}zgxAdaYlUH7)JQojAf2!0j~jV86_ zZ4qh3HZDas<#zg`kp4bfCNm33l=%iryf>*zSI#Z;4*iiM#lE9aNl=5c@|CzUwF0O;fow{si37~mvRMC!rA)X z6EQ@ayJ2rFgiTTUaLFd2fr;+NTd4+~Oq8kkD+;aElncEE8^71?i{TjvC!}ZL{sg* z+t$~-@4e9`B*y`px@;A6gz#Mj0=(mfbP8Ww8B{p-k|IS9-y)NCa9z0MF4QC(NWJj6v%Ls9Amea~sg-17t;}@Nq0aJiVoMU0 zrtnT&@)|-hQX@b*vuOuaMph$uo+3v^PhZ^G!xi}~5Gvr_q%VKrOqUe(@ocl0;R%>= zNM=C85sDYW!FROyuEeGN?}P7Uzx2RnR%#<%wxP0%nAMzW#e@A|*GCB^2cWg!AW;I! zx*9TD>9mL(+?MIp-=e{M3CTHF^J_{(w~OBk5JH+-RTO%Sh(EWYL)n&0`{-v+s0CD4 z!Vwc?{iaI#Wm+5LO#WlnhOP$@z6%q_{NfJpp2evgc~Fb`$CHQhH*=V^COZZ_6G=Ds zNMn1&QcBvI7I;DIY)0%hEsJCi?L({X&8w2ZH%g%XCNgtwr@>ZjbZCP6{ze9$lJIA^ zK?$%q?dxHmnFX2WYdl%9lU(*6B*DLP?H+nMEZ>rQW+VVqG_ICQ9QekJ!bjqQwIPiRgQxp{mHdf zj9C2kzYSG@ul0;hBdSw7ySrbGMhheco)l{~yJdWZ;r=$Tnv(0R;dClDnN*km1sBc~ zZ>6uV@B1Jw9PW(NtwaOpx26>qVyVd_foMo`oqMxu!Dl%fbz1{dGJp#E6Kye5xq}wd z4#%~Mw2LldJr)T38j)l5XA|ZBQ39H~DyLP09tR0HyFM1k+F# zK1y8L6f5$_>zO+bEf@5XU`8>}q-?s0H|!B~L-p<7hWm_PfN8$zf6VF_n90atA00Wj z*}u&0{4~}QSi{=27#Rd!!w85iZogp8M|J!)uoBU&ZmHt-0J4MQsXW8@6lNIB>UrbB zyV!N(W_>Tw!Mt}JS0Z_x!qCDDc&L^&z@wEMSWzqPPWV*Y-Z{jD#Mn7fu_ zvpF~=p-ew{_RB8!%0qEWdL2jf9uK(02RCxrL$@)Z$MAga^o6EY2orpab0@VoqecN1 zvWA8fB2j-c+YQuK93^TZH^|H0#9@>2=E4sSwJDShWnyDX91`urt^ zL8{|px45#=#d{SsJ4O{T*Cj18Da-NgCx$Wxyv?r55{|T918_3i%C*< zY+zr`8YJ-(=^Dr>HZ#p7aSDd=o~N|jdje=Dig4E!*S%&<*p54RvLrM^i=#+ z-l+SMGJo>c$7xrpgIK)Y>|Ro;%Rn^0DYK0LByB7i zWAcCJ<&xy2;03=N^P*SF%NH{m@8R$G?hT}A4)Gzg5{8j70%Xc7wkPh=xt83#H&%nr z^}1c#;&@hdn^th`R!Ci)O`e|EY9|Vkko0UxkMkq|r~98VRNi9{GHS!+6ehH(?U6wV zgWP6JsCZ;>!jc@s=n;nXO%FxzakJ&tlG=wq8z$+3-qe2lX3e4+9GCXZU!LW7qIhPp zKcQ0|lO>gb2y~54T-2i=6VC&%vk@mm3l`4Ae}G8v+~*gZn6U#%dB=iSzKf0s9n*5S zwgs6w$NteP!-wPkAZ`O4H^9oZh`)k7mr9eGakjkl3sePBnVt2t9IP6JEnE& z39NRaAt^b^VsKGQarvD&!=n)=4A&kvndD#B`@d1=&qB9K-r1adDu)$>c&( zs|^?U8dFYSrkr`1$$us=}(A*^5k|3dPdtTO~M$-?4tx`%Rqx4~>l z5p$4WbxE!1yUgGP8)wc%f*0UWRT8T98d%aWHQy2(srIEla-r8S+#jqg0u$C9mG_OIR9b53 z5ex<)U)l@;)oo%+N%j#N3ZL_U?YHMFz z*1ep2rWow2ZvUz77w_&33f!apH~n(iqR5~{Ve~Vk-7nAC*X!>tj@wHXnxt8I@NB=29vj}>-%ktJZ zRy%=UNjp-wj@pg$gmm1jI3zVx?9u)#=!NI{LaewpCck2czK?HWVlF|jQmdW(s6x}4 zoU-d3BL+!|{fOZFs0t-|-ID*XK}|_SK0aEI4bLrs?4o4uOykQbY&bh^!mU4EBHds+ zX^&7c5f3G4Id^gv2!?I<)NWX!v%Xuc{Z+-H)~6>aS_OXWxIQ|ut$qxGbRAbKj$O2=k=G+7C5Q#^CU8=8^AB0RIkxm~ zU5_BsoelmrUsdF+ad<7sLenibJOJ!i6bf$Mn(@2ub&ItB_HKF2#h-i5Kl1>;u6lak((GAfs2k-Zcs%4# z{<+<8gBFd*M9h(2AS*(W&=ZC$+%%-j@a$`!-*~a_-HZ4y^6!0a?eV0aBO&V)gZT1o zWidV)8Ce3~<*LwRG=?Xo*M}AXWJ*>z0f%|v8MXb$j|+9aJ0s`bnK6fWv{(xNj5O?2 zCmdFPuI@KBBV=!GI3bB{&au3ffu~%M_>RRP96$lDmOrpoZfH7nt7b#f@6K1gw>-4z z_c)h2-=yn%;ki$PtPmN;{1VJEIH+@lofsiVGG$0ul!nZ){={PbAM@R$_g5b1R_#A? zKxKxTlE|zw8#GLbdirC64sFbJKnOZSKoZ=>MklE}mIbmRB)NOfXx4d>qx066f@1ai z{LcJrUy-)vVugJth|i!a*aOHlc^+K?4~r`n@>ncl;e>plC}>SwYp zYJ?yO$+$sqARBs_+zIp_I2@@yR~)HJ&r6n%4?UWkk&!OHY=Bv}c^k`Ei^+KI9}IOB zxc`Wtgt?m6f4s5Rq6@%XNUHLQ%ko*AZ@oVYVe zAm=m?uO$}_9x6(cGXOFj%1ACX3jP2sh@}J&q7^d{WZQ8s%S!c_A8$=>I7Z01qv4SQ z!Syp1SY{==W&O?^{=r|{;&^6~00kr=fd|{$CuntR-VA;4_wv7=xwQnuSO(4bUF^Gi zf2Gaxobj8B5AYA$qXCFh!BuW-vw$08c0-0FGJczI1e$xWUOD!4(g!!j*XLE&N2R3K zD#qm}7*h^Ngjf=2x%D_zZq8a~7&IHid6~&wmV`QLUr#9ZS{%G}6Ov3GHqZ$t2mpml zeV###rL$ZQzz|M9qXbUh0D<)+na1$sjEOihg`PW=q<|sQ`Zow@YDG-plC`0Y ziAY5Gl^I0)ZQ<0U5~T2*_sxa*)rp|oG!3yh3QeZ%(_j!m3_o{jHI(5 z5O~z1`{g9esdVFY(jIT@b^i|nlDfK14Et_5PBH1KhXbNI+Hhn#nC0V>MYO=l0oA~` zVfu-H5;)Uq+14z?V~EFz>3aCC^ogN3GC3=O;~#g=f-Fo#z8eGHc-ObrYoO=~5}}Tc z02mdVh`c;Aq9}i^~OTRL+`_vxaq!6eNWwA%Nz5wy>xH zv)nDrC@Va=y}Eu`&-VJn<4I-J4c+pq|6mh{0U+bIvr(8)+r>y5d}|RW*P5&9F!y?F ztfh@lF!s7R^C<_TdGl6}ot^8SJ9cCtDT;hBb}+Zj+PW2aF*Gtc_W%s#bSm<)=o0ur zXC?3ff?+AB68OZ7q;TP4^cCXeadpwsuFxx%<6g~eyYaVYc}YTj8i%v%g>*=wXeJ)xIAz}h}HUc?LUWDLpQ{} z7WvbQ8@``41a}TWvz7!wiRHZ}Vy~ar#;d2bzTJg`5spREbN&6N zOxe6;(-!~L!+p=N9?l14#H+x-4W6&c3pyF)o|ew;vJYai!bWOCP;)VGfme|waF<@o zHbv>Fb0ji3D}fI@+}*paA6dC}={e%<8AXZX<{*--e_?=!M_^a&OS0`HgSw0~n=eo4nnK+8sJ1 z^=5#?B=qa4OQ+^9Gmi^yDBGVdHy0}~mE`he!(}tXE6El|RQ$HEgUDG?2$G8iPhWzi zF!8w=vy=AZW3Qh&NE*Pg==N$m7H!!ynLJa5lO~x=9bj04aeSl%NeX=Bm3`;Wds4`R zb+D<*$egdh4e2*^=fz1up{dFpuVphRfgb{eri|oLg)qf2g&!aQK4m5n@lMOE{Dt|* zK(M882lwNQBk(x2AQrH6?!7EV;w}*e4q2mX&yKrQL15PzwQlPkU6bx#-~C<1oA1pC zdsFw%+)+4p#_Wa;Nl0}E*rok-b>i1)AAB+{9J`Emm<<+*ePyl7p;n^hhB-^gcJ>eB zQ6Zra5hsIh++qFEu`cE*YPofFoxq9F^yvVL05RG`qY-g7Palpuw8dm<#zN6NMt zX|e$3bOr`ox)gx_x%tYz2>_V_H@sSQ1T&B5FBT>o^dr}!9B~6NuHpvB5;!O{Wq?AH zAUK!{-$0Oei)QZLd2!m3bItdW#{o$U0KKZP#|`*-o+si4plfs;;g%J#vF)B&UsQbm zFAtUnYBdu#R9JZlmm#jAb{_?jK>W5r)uXs~B+&;z(|_&TM<7!mj!d>sM&x-5w*+-6VzS(h8!)woC#Tm_CGc>53H+NHFS4+X z3>*%vPncDn>DFx+X3hk>mc=n~_P7CNuBDY1rDP>icdbGA1?!?SYcKXO^WVtVuE*>i z0g{r5_-%v4+@qqblAyN49&>ZH#*r1jZQzXgLk3j@wgSM6Pq1BYD64q=m@Gy^e87+9 ztXohpnm2YVg+-g8P(+_ixuzjwQLjy&6X&Cmr4nFNC6j5S(lAXPv+LwRI9!f+G9Zb8 zOgL#e?+KvEv+PL0Fpn}fJA(tJ*K$|!Raey;M+ux=Xu3VX)SVXIuc;B*M(g|xouAqiKm7GQ2P7qJM|vFVA?YQNs2ePa{7Y=Sb+!LYAYv9{ zg`x0tA#C~N)3iW#bh-ejP8u%K{BbPeiZm!B`44({z|_&vhClkVq#6o~Qe{eSsZ{DM z_4fA8^2uR7CxI;qv6M~VLlQVQZxYz#K&DrJTYwJJ(5Fi{7yv9LCu=WJ0++d00=IiD z!xion6Wg8umnI5L%v{S5cHDpiecBg=`t)%a5~1#f-2=dYBv$-3>ZE2QkEF3@(gYXCjvgGi);!9vh}}tZ2}L*0bNlo|qzyfxm` zIhe=n>Qf#7&wZC%99E&p^VPBftm6@X9}NNyOx;kgr6Bz}07~FnOF}bFIV*t!de!^n z9udv>Pb!8kfd`Ut0~~v0dqstwyS0Gu0JMx8By|(<+nCT~E#?A{h?bknEwRk?vVv|U z;RJ8@hxH#m>{Sr&zY%_ILKn#a=6RXClY9-QCs}G2i!EM$yFGBcjGLd)MDHH6wRQuY7Z?VcIB% zBu6LBU6BSbXcGlT_A_O+#VIjrM!Tb8e3&9l>P=%2aWo_tDM_l7wVoOKh z%}awjBx$me%{kAqBUcAsXc{sc40M*okY39w7hX#XSprWYOW+gJlbI!OaLG6dSbcLh zS!iPBTJ~8vC2;1p0=-|HW#k|U$>>E^`o9s+UsO84%q*ajxBRd!=?MS3#T;Uy4#_YIhhzT~--f+7a;65x7 zb*6wz|3wv=Hh8{z++38Aut9dxZm<6;6Iow6cYW=DM@&5M zQNmY9L|SWFdcy9PgBubQ{lofGLy&PLwO1s`wc*M8Lw(a4&_gBDzCQJ5=PkDR7@sL6XVXigfL7*nMYyNdwZQIOm&II<7E3eS7}7ZC~$ln%ULzSX*wSNSjSy z5m~)<4~#akFo+9IlX0=P$zk87L>jM?CbcUxniMIyBuPUdlrn6MyqIyvkRE{FQXYUA z|1zQS-vPb^JpW<9rJ55?41Ata`&IZ?_fGU9rbq5%G+#q*;J?IfPYn&fQ{c z*N(2R!^}d`2{6by6Xmr8F7O_h*K(vRL9EqIQNqY%I<)JwsdW@Uk{jaDWRvGmUdwfU zo}NCY5riZQ=>ixsOJWY*y2X<0ekV3Da)L$Vf8UZhaJn}79@3hwK#*?^)vm9u-T33u zv}q^Ko!g(3Sa+!YK*Tm`kNcwzMKxcyg->ffmJvNQ|2i`7aAAFT+KJllYLiOFAOq)o z*MAjp0RJ&MMWYjduT1~)%E%L=v0zvq5F=hEZPR8Txib=p}t5&$(5Gl#D|LO!%!4%orbJGaId%SXm!b$y8PgbL%t^D z?zyzkvvsC~kLv1cGm&v6z5~vzPhA9G!9jvJUyiIuo1P1uNux*8W^bCjdE@5UFHiq+ ztpCQb1OBY~&}2uCpGAxS76C9C`y~J)>L+7U{)QB38YVGP5;#K_ujxt=qm-nyvnK+J zsM5DjRx#tZPhJ)AY6IZ`2zaq^#UE<)GhY4A#@ME;C0ZPbp4Y0Af295i&UH}1Tx{I$&>5Aehii%u-Yj*FDp#YYuP#qj3R>;up=@m!GI)FwS>F(bx6oA&A3V0Chc#ZKlq1*H*suPvOj=Z*LLsp zp~#bhg8>jXQ2b#Sf3=hGX@n$XgdqvZxbexO)RKS;0M7=zgRw zJ?+p(X`x5Yoj_7T(=#$`!0LoZ*5B*zav{=aVg#_L@4>h2?JvFb#Y-=}oIBja$k9oI z)~@}hd64$VkIH`pAnCak z0e{l22zagGm0w0KDG%7A)-JvD%beF=xw&EmjYI)2{@Oi9(@js)(Dcgik|rDNwM^Ay z#gw&;hEh^<>u7@{d;IngSrQq)E#P_V0cd3Spa1#mU;q49cRFd`Z0kqvoSoL2l=x*` z{hgG;M8xv;hiA{8IJX!+$ql&0Ng=NJQm)SV1V1TqG zVWchT=IaxtW(5Q+(boLSB;AVVD~m4$Owz3i_&#REPa`MI{6ph|KWYE(F9R#nC(O{j z3iuHYOaXg#xvAegpCCD~L}VObT|vYR$mkNd?TLcHsHkVLAc=_I#-M5Y?%4py_-zgz z0W88V5m@v$bMKd{XFKC62=z$48yuO5%xd)QtyAy9^-{3*XeP2V?`)kUVfO$sE9rDU zju94N2-(oKpJnhO4Be16H}yl zkiT)?w08VWX3bkr$G!6ElhiBUtKT7t5J_yqf9nVCtacjV(>m%P ziHhGIGE4fO>};0Bhy){?82$OLf9~kL{pHx%vq>reM2hi78W^Nu0w_-d+aqW(qJkL2Ok`9#`;g0x6ps`=GFd_bH`4eGS+|g6r3il z2A{im(-wFq&3`%|Mkm~qEhgiAL|#=TRkEA;Os^67mXs&bG(K@LQSuwkzR@)gpyDiL z=L6{G{iRo^ON2JN`KPto?Uny`#cM}@>Gdbwic9bQ;$7{l0lzFS!_n%}gn$`)e>7vO z_F%xD)}FdaxS1}!_*-`&>2c~6%XeUb6k-sLj&#{^b7TRKScDP8sH3;{%drmi1W+P^8kJ%Ji%Bx|4P;xottek{tol$W zC>ITEJhyGzxzPIU)wSyfzHIGxRqkbowBr#Gr;W?*<5)x=1^#cD|MYptwsWm%^;7dd zN~=ykyB3^v|ep{*xz+06S)&H;H;B2n}J0WzQsiv!HaMZs))Bf zu(I>k!Fg$d|Lmc5(gX)&w`?Ye&gLn(IP^^3k_*6R?BvZSrfkZcJ$duk&AHQY4BNbU zG9QfWoivw$Y?jl+@A4bFuS6uxJscX2*kn~wyUj?+>Zt({M}m=ztX|_-M2NJUGMgJ6 zExE@4=>Z_?LNg9tnv@T)==GaqEXk#tI5gpJyczZGhq#t|vFIl+Jg-}^VwU!w@sEC2 z+qm~fGe6y@eo^Z)BmWPT|KICzlW@R-Tb1@5;p&yg2uUj&$Ke0Z*Jk#&yse!}K=e1e zIhqN7ZuDP|+O^kF0>Ac{Zk*9H+90Woasdnhkm$i%iWm{Rr~?;i4)ydhE}wA5^8Wic zX~`uU zs*kYhHM^76_pOz{B0!8n;;pek`uLDOdz=h&8t4o6AxS9q8bXe~nKEVi^eO$*r<~Zi znGkGKHgBA~$$#hUTwKF(2S`|*wACjp?kR(ak~u4n&iUq8?f8j>6Q|ai5R;~g(QI?D zB&JBKqD5LBF4CMn$eHhCc>q3rUc2?fN#%Qd0w&D=#R`@IDIj3Qrxi9W7^Kzl{37+-Ee~5vg-gBaAe5MorfT4p|#h(OphMepMNa0w(f9vVfvV< z^>a*z>$auWC$?=btOdWIaZw>ij=BbjP8v;&A}En&yuZu{IRs0Z?my46{_Hm2(`Q@r zYU?J}M%3MpI2w&VHTs>Eue-RNH0y(Q0*oHq((8jltU(p=6@5W{f$^Sa{Nk;wlyxfq z%Iby-fE9ba1u_RhF{Le2woCzqqudjl{ZGux&BZ0!>gk(sUW7xEKmH+`x4^5{(+Of^ zX>kXQx-yZ^lYA`^p(W9E^+o3jcNZQ~6z~5hs^zA1&>}k)$*L%kmZ}Mh%PW@KTs^vt zt?U|3mWFr;Qqd%nbOD#1*Tq!sYMQtr`1vCJB}%@rpy|@SaltjeUvVj5?cPb1|1v2u zAmG?P{%*yeX6)1bpGjW-sr!XM1Fo<03F?*C%fZVT_+4qK+)*?4M>8!ox`r#iZc6O$ zCGN46k^D#EK&L#$x!3ZC{eXj8C>frR`v+4QaU3EvVjl=nqvos`@NF%_AfFb}o z4*XHD|AMnD!hbb#=iJ$Z-P`W}!}gNedq^kZ-0ryAUY7#I=zQO|?d@;9_3anmf>h84 zA*+J)?GJ(~tZM?R{YtT+wj@;(P^Si4Jv83HI8N(UZoe2Xkdr1#K z!1FT$R=m~_u*B#2i#KQdeo6UHmT0%0xwL#d2W9^2(-okU^!lF2av=qW8!-@Sz5iIm6!F!) z6FB=aB|G_&_;%0vKKebH_*mS%o(^7x@&)E;kiQ}MV#_FotA$r{f#?mt(IBo(H%faTuYqsYHu|<8Ok_XIiXrUp&WWSEmSI_W^5H|K(cuALLlPCg z?Ic8!w-1DEF`7PwU@Y(d_q1gWKse1p2?aq`##+`N@-=Ngm!6(*ToE;Gb;R04lhan3 z-5*FKGN>^MSD9T(&DZ2eO7tK z2L&#FHE7Y+&@+L1)NyNL_AQ^kH8e2rR6Uj3K*ACZM!=f%#jS6D<f3(cZMigy_2Pe#V$he^n0Y0U$BwN80)NqHzIDA!|=f3cd87K02`9*@!LWy$wlmSmw)b#_j$yK z2NK59{sYX?LOZ*tWoN|-Yq6_Cu_C3%85rVFUEMOJqE3IG`#bZ^786bm zw*nEFIp}CqM$5D{)9v4BXWP!~{?8?sb571l0tuW597T{z5|W%J&-=X3`@H`a|7>!2 zadOG_nBwyA%ww98n8=WF^KL#Ii_rS6cQh#Ig%_}k{NxHtk>)%&h#v@o|(O{loYFft47cSoFm>3;?d^*PGstYHk_qXa|4*$%URKd2#cX=t%Z0SP^5)J1ZBb(K z8aE!Eav}QA3>;54ZfKYa-XFaGpB~8#{%zNmV~YIWzw$)xD^o7SC0z>MvgOjHb&&y6 zUgrS-fII80uLVHVvV-f5PgKVKeC=yZa2G*{p4!xv1^nQtgNa)UmLFUbR)7H&{KR?( z+@_iwH{g!YjBPs_+z={s)vQegFGEV#lI~H$hmD=G^iK->r)Ub{esx{68ZFYUIVcyfh|fNhS>0U?d=k46y)uoUS<_P7aHhE9 zz}>vh6A!%5(5X=#c%K3VH+k6k0PnV}Cz-;*CHSMjsYiZw>CrupDw2Dj4*K2x-L4PW ze#C-auT*pB0iYiE%LXK0VLI6L6d%{UO&u$u(9-V5zdpBo{Mho!jli>Ou@^G?)wp&C zd9_nQ^u&Yf0iZ$>WQpG^<=C z-Kdn$X$e!*^(54;|J0>df-~PNI9zb-X#6F24+dM37t|||9w64=zIv3uf8PrQ%a1{D zL4Vg3;Du#I%sH^pH3tcLL86?5ZmBtLAa6zzIMiqKK1c#o*JMncG?y31KDmlT$f4G6 zc+1U|V|>-BzZPLleVWBcOeaIsx{!b(lo+AB2&HW(7CnA~Kpw&#WU?>PhK8PhD->fl zL*b*L@x8r1H$o4G{3Ja7;IUu4d2yFOq5e>?`@@5h9oyC&^m$VvS-H}uH#BH_<4?om zx5dAO5u_TNJxM%YZ6qnC-k19;)319o1x{$gqV zNSmT^1rVV8I&E#NSl?LL*4-49p9q+~M48e7cjKi#-5ZO-UFC|eN);=BipmvH`JeP8 z0w*%Sy6LtyReMp?myp3|WE@?lt|xiDnJQy%`TNrC1%DU(yZ0`+f7~#5VZCA_D4)Y$ zDUPm(AIpDY4ZNp+{AZZQd)=BD8jJwwCM9k_=NcpdUIjkn8uM#uWYF6BM zAJc(O7M)z>;*P?1pF45VB9ZqoRcrPTh5ad-z#W+w7DZVU@y8#3^2Ha?2mVD`k#-L+ z(muO46dL3+6d&4KvmyS&ke_CrJA{^K$^R5wBKgDi?vjR;$=%7_J|#y(wgtVpd&8SM zdc!x|d+WoHA(R;1`*t+QMvO2mXPlAl%>av-VngViv^(Q2b<#2!S-fX3o-wVo}li zC`zD&<@+v=fFg2~rILq7>ciP5)1e;BIi zr4?!HzsVQhceW^vvN6r!us#I4{J=z&#sXh8Yvj$6=GctNmJ5j$l9q~%z<5UU`n&BH zbmC!${;wGxa6s`x2igvN(%i8+Z5i-xhGa#nro{xjd&dMh<6kBr#RKr_p1=?OzN?@+ z_|nwt=i-8YyJyQs!5=mJ-OOT<*gOFJ-Ums{1Z7=5d>!kGjEBAB=H-uw^PI1Cy5^OT zR8<9ojuyx|Wi_j!KDTdwVOZ2BMls?9;ca~Uxrbf7z$aIUimyk@B0= zpCUW}M4k5YWxRbHxgF7AHliQdAu)j8XFYtdTBoKQyerHX<7)-wcSC zjlHwv0Q{gc_>tdywB^VD5`5{=JsYOJS8(t*!9UBLT6ehQy+7{%sjY;2edgkly$8S> zAju&?nUF8{(5h-OVkJuR3YwELe}rN{p~Pc?^rj$7h((|Kh5s zlkd~pY!+fvL?T8uS^33x9pAtkpP8N2B%}4{P)%6!zf7eS?|!p1A!KE#L>&|n5*~tn z@g7#BVHP8-lV($|AAWI@X@+3^kM{C4Q<+9B((aGD7jF!;RW_u`PhR=7N)BwgJ;%?b zomD!(0Nu`FBSug^q}SuyM<=zDAO(^PJp8A26LH$X&lV&H?f-v|6#Vc~@b|j5Tq;pc z9s9dyk52vUXtCl^#g<1Rr|_A#;7iYTel*jDo1F*18zdA?2#V<@$!nP>8u604jRr}O z%Dq=m2!*7-7WKVvE7E38jA-@F3q@2d+eVDu7h5}N&zZYVfYVJNPp%4j-ik=1edjen zrIHABLr8d9a(TGVhc!dn;@=9zyw~5}qg#x|0Y`yNY<%VMf23(g_PmJNN$Ypb?&#!d zH*Kz(p0DQ;D|+I@=rRbBy0}^@BvCy8mx2!m2CqBTm50)yNB6w<`u4!5CBZ-c&qvn; z|5ot5(r1sBVJh_#Yo{(1m*chE4AQr!ywU@}sc(9)x=xKr;PrUifWgZk2~fIu-#ol( z)d`Z4^CHHJ+&MNq_uM|4!>EtQHX(=+MZI%|7n+?IVpZ_iR*RG#F+a3I~haO#X>7%e$_Z%z#J(j2x`NZ0fes;8=JNTopBbP31 z!2s#?!_HY!5JHCoFQ`|%;WilZY+lQ{GK053lIe__h4pv^Ue-KJ6lv}s?>_$Agt=X3 zDbiZa0RRLR&GbrMT($1`QJR)Sd^i*zk3!LBpM8dck+qZd9CkIfew{mD{eAn+K0Wrj zA6PI)KL$o1VlmrVp$NeCk-We{o@M*iY&y4hD8=2vTd%>Qx;;!_+$T$gg6*sL(%4N@asW8 z{(r$w{OZ!Bk0e`O&He4sEx|vlJpcQTx?U;xVeqrh7IYm7cIp8zExQ{{C|=b<$kc^qza++g@9q5e7zRjrLjZXfM_7_^zk#=uNAb zb`wDW1S}LRVi1gMU}U!@fMkVdJUl4#q^*;y8bc*RpPoS3A)lNvCob@IBo-=zkHTELS{ramFWCeM=N+#IXJeQjs>d z5BaB$$rSX`rP>qwR=5$bdw9L$rE5xoKd|0YHyoZDI9p9}Jm-Mi0L-75V;C&_V7Jc>6q$TJoB=YqkOMH{g>c{v4L3I= zc1qkp^oXY+sY<@kA&Il&KJ;K>Q9pB$X2TxDo+2?bCR?aGTDXy|l79Xy=LtCZLG|ts z3o>ErwS(Qv0q{mR@CsX!+nU;SSK2n}7C_*T}<4iTOYr7$oA4c?8Qi)aI7V&0$drgD{UhNY? zlE9q`P2RZ+VDJI+0L+FojfmsaF0OX6don29WwL`ykn{jS(u_K3G*CjQpoG|q+^nA+ z(O)L9q?~#;s5ve)`IyVOSAOSMXzIO6uUD=uxSGkE^(?B_@+RyOBrSXw0C%s3-UZg! zu)eiOvv$%D8h9`Q5~5|W8ZlxIb1x2CG(mzSwbWf)MbD{g+HAAX6f{bBEg7Kc2Iz%w z(6@LX$xLvwY`K;ZYI@v&9VE%CmLO?iLsCDC2Z!LeGO4A^q%n5V=%9qK_#a8qHUcvJ zEa?pkc(-Ye5r;hF6N3R5_gWIoIZHW5_5eWhTCaFR&E(=)JMVfHjK>YsS>gr`!K{$9 zBZVLA&Y>Vv zFoP{=$phd8dX{mpy3Su1!3s%(OD=$g2T9b}Yf2}Lsg-7?LI?}6*qUurT%z~d*g*-w zmvUKO7whxpOen)8aEs71<(=zEyut&(^;sL?&k9M9+k?0Fm-KD#fh2p25#vl6=t9{> z|0GBs5^-GeQNA{!hlZ_ImFv8@j#Y*9lZ7}k?e;=AxV8XoNi%0k!a7z+a)0o4spaMc z{LvbFZ69J}g9(IWE&?6t)zr=z4TBg`NI)l`1YSlF$@(-A@#bk6Jv2gpY7Q<%lX!`q zWpm5gL6Y0?+rW}Bi4~IO<(}y$tJik1*CdOP`9I9oA!e5&Xg5wvF;3bGNsKy_c0`XY zcDLN%y!u5A2VSv1jcZ8C;$3BDNhwQ%w{vy^%<1D!bkasBSVXPT5Rknjqf1D%Z$-3B z;*yONQIO0DOF}>pt=sh0J0n4ATFh|pfad^s=9u6??2zPs{Pq$gv0%nrscg7lq#t3L zNwWe4LpPtEYh*VT!o;8KUD`BDH{!Hx!#i#^DQWyr#G;0S#pwZ{9XU3pY!69&OD=%9 zI<9;Ao*`nd89QnA=)ww0HumE@W`w0jNBzjDz>S#zY$u{r&D8_4XVR#N{N#~+I?y0Y5hG3j38Z!0TmmGlawDnRbLIh9f+W`qSdJmd zl0sixJ2MNY4C5%>Hc0fP~Bxkg%a! z{jk2@%97&J7jL}+EO`L%L&WQM1W8MSw{v!kxOmUdVy_)8kYz#?kYYn(fEmPtpyX&4 zjs=uP$Q`$c?nMm;OCA7#nwZ4^NlWqDbNA3Yg``<5kacV-qL1azge6(17vjmX4ZA^? z^~2T$B}Qq&Vuk~+Xt;5%sgXPYOpxTd3t(sTYV7-sc966rCe0L*XtCFmjx9!veKq#H zG%c+c<~VMR(M!p;jfCw#hyzf<&_EXciUwsX z_W^f`^P$?}mXw~NKt*TPT~+(cC6h&4xj}%nlQzP%Ko)cyRfO1uKQa#WTU8*YDD4@s zBsP7@ZqVPcFNylUYx-fEFKLl`0K5Z|xV`~ow=C21!5Y5}4;Zn6`}6D2HTm*8DY2il zC069^19WK@fZB}a6<=wTsTqm#jwa(0B)N9LgSviFiV^byS!Q13C`>$czCAvn4^c?WgLP#apicOCA9Hs3yY@6C_#Uw_BT=R^N?0n<|cMnGS5%Yy_eb z+s4C>yUp5cxYegc^Y3wz-(a3F3LgoULT=ON_z6rTD z4DoFzqM!ewh68W74V-6dQbPQgAjurR4Y#2j=|oRfYgJX1F`!+!x2g3^N7egP(>M)s zl)AN)1z;gY*QnlWuuufL5PQvR$DRcsY1!;Z%nXc;0nsnSy|PUU%0~27mP86&UUc;e zuoO+gz?2!aMPl$4ZcDlXoH)BNDoLzLEnEFXTk4+%`i$t4$oc)esIzVvW3SDp<)ny} zZaBy&(#{x^oTh0zxkfqzLckdgys?840^%kB+cPkls|PA;DF?ty^eoEOEJjEo25@HGBvM!L-GAxkAILV}liEhyN3hh$}3n1Awwh(r89CS%# za%{Xt*vI5t1thb&jY5)jqzU3(<^f=aB=_UD7qSb$ z*#cSX=}wKlCfG*yage4G*{}RyNyT=rY-1AD+2-NcRCt(q`a=YKgj;zY& zk_Uk6gL8?U>Xv18^Sd3ty%6w1!3q|yuW-LXT!&=BaP(tXPInWtP zLfCVZ7?v>( z%^f7o@fG}UlJ^r7Zzy0*RJSZMB)J{Gy>RqxyVz?-3uKuAgNy@{c+1VcL}S@)P5c+V zVo(N-!FqRDk{vm7oQgy(ClLpOZ%jqnxGQ(>Fwd}1>y@qB_n81EfV|`Zz?pKLb4Zde z#c!ivWQdMSnB;3GU0fiGIQI+@EjK1x5dB=Yz>)#|(J?-FYfP*EpbC+Jvj-%0Nr`P1 z4so)dgml@KDow^L7_lGZ(B%bIue?@?1&QrcHSdGvY-jz_dJ^<7)|WYlq(vUTJtE3W z@Q)Fu^LRX=h)-IS=4^p10RfAsXq#8nHpgP+0ahjg88zKqeZu(1l^}J=kkmG z`(y2VfD+=+mqe1ys6|>oJmb5X9J)N;^~xN>!RwXSzx=eny|cAa94S#2f9HKQlUL|j z5UP9)!31o-*_fg<^e#`vh8eR^&C;D69O`H(%@O%Ns^o zj1a@3^oysTSsC)-Xy_le1#gL{$8iE=fEZ*(k<^wC@s=9`GFU3nH?in4%-4@;3u{mD zGbBmhz!}LZL0({Kv#LYcC^(a67}I)!B_WRH=~yp_q+a7#1iFPq=7Su%yuj*}7nT_T zU~AWv;uUW%gV%KeDJT%Vw&u#tN<&MlB=%ZcYSl(y5ZKv;g(IRjW%Kd{s;N0WC^-OZ zkmPdwHY+4OFj)Y2k>)3?ujkd*3r|1uQi#uu4coT;ep~#8-qCxb@hj`A^^BQj4hQfZ z%+sQfgis_T?PWdsuO6$?#={=E6?N*HKtZlV)vjsOB*JMavaseeg6783wM}`+?FQM5 zJ8rC0&Z$d@zV(Dgi~!gZcRyv|a-Jb+u3zSGk3nN)>59M>Q%Mq_L{EvW=aRzKzAQJL zc<0rppmq71C8}neOC7#@mY zQRs%z-W$E6y}iAoqwyj2d1H)rAl4lopri0?(Ch-R5f1d-<*_mS>rQG-F3ko0JR#H0f+bCAwb~h3CrMg8W0B^`M`1CnC)s#s zH5|GAiU$2~vqaK)rD_@odnzmzc)hZv33z0g3Hx+X|KHxYPyV4h^L7GpK4wQt%wmBg zTKx9H(zgxKdDbFLiWO--qctcNnTgTpC=N%x*t^kfKK1H;&;cNUjLFvy=2a)LmK)(P z8iQe2ue}x|Ilr|bH|f^aMnR)yS9g?3Rkf~mpi(0doaAT!ELX%Y>>JzMa7HA%HRg&1 zfb5*sB6_{H9|k`*Fti2PT}srMH0vA)vGU5kClX@ASKgO5oMJaia ziQfQ$$IhSVPT9VGYs2}kigN|0%2HEn1Fyp+XjAi)nD}=+h-p!pcwuY#v*O5I`tx+k*g;IC-usSBzRq}QI&rHsO@U3e4{e9 z{|8T@Ea}gQz~)ZV)=DFM_uT5u5@qv>@e~Ubg-y@#ZQ?!$pv)CW>RVVY0B9nb)JZ%2 z(#ntzdoe8978*_vqM=?h2$@l-m-zo^Xz#@sm~m!;B(N~%8qq%au@;d{h!B{Mf4Vv) zPu2c%!!Cg)xe3_pfAZOuyW3;821*3E#~W3rvM00%f);aQ*tT07$R-gPXkEa~fI(JE zC3a)R&{A!992|RDUc|2zbe;;6i#uOVG~ZN)(Q; zJJoc%YCW{>sASK2^gmG-j4!+cY{}ocU9)E63-7>FmHgBW&2*ZoC2LdhLWd-Xw#bhK zk_Hz_%gs=oNAIN7Y}*!$7iqnt8{$WM!)u0y;zxsq2u!m5!T)a9a9Vg-hS>MdP_#hL z+z~wtz;v2H1q_)%hPBBMI9r)h_19X_t=dvST(LSJS#iE4MOBq~{?^CJ+>|iEL!eAn zTUX83XKQ6LP=?3|sJLvsLV98_&Xv8PZ-dSn?~2|V^|)7$y* z(aw$I$JX~}z1=p)#w~C20I)$4?DpU-*Dbf}Sdr$3*&XZaFZvRlG@?kuDG*AGHiU-; zsc(!nmXE4KN_K>f+8ENP4W2@usV|gK(P$F04(a*mDGNiN8bl(!9yBm-8=6E=c;SOr z^`LgFLa^&>U3T%Vq%c*nGJkoXvZ0|Rwyi1fyi6aUIwcB3^pmnNJzp#1%Ro}p33-%` zX$XbT$3GV9VYCwLyIL#erwN)a>jNc`l2eTmL8R(T84&yDfwl zt+xbcV*nt7V3Zj_dT>&dQ||94t*`f+;9FH;&@35EqRfR4-h%bnkxjLgo&Pf8##ICp|ymrRRYi9vh$PFM?6 z+hhpL6%^;56&#TyT?ssYIk~$fS&({6k(AP)yeeZF_P1e?%;TLj7Z2_{0N%L^z%(fT z`muio(w^EJ`^Y;xSHGtCdh6;req1=8X`wS^Hb`=N@RkFXgoyLh{^LX1X7H;ndf z=nW6K5#BqRsZQ7(6p<`Reo3->v}Akk=>A>1!+Xhf8wy+D8^Sk)#&3CvSH{PiR|GNQ zL*Qg~8CncVF)I@f<6t~LzTPYgkLj_!NP6upcnlGV#sV5zqW5>Mt4x&LO3OE@+FRN* z$@xdlt!+R1&C3}ng(xjSOEhp&JBDWru=>8~4KV|8ZQl&@!B53wGUU&Z$2y|~3Qb3X zpeaLGXKzx;@)- zjbX8KUBGe-NhW_k*C6SEasiBp%J3o$@1$WxS_o03g>FFcr#F14H#{6G)BcdG&Qx@N zwjooY4)ZT55$t$XUF`FwBw5(eP|`hQW=2C86orSz$A^aB2zlnTl;@}C6GfWdkX@aV z5D|l44-dO4sjnY;)C(v1liFJ{Ey%BJ>ffqK;>%DhD(jG(3R5MwhsAEyyrGBJ6{jld z68Cl_C)IWw%N-e$p;em9(uC7G$wo3$8w1YLKos!!kW6+tp!xjeNJ-r{{b`!WmeTGc zksa@q|GT`nIav@3yq7GAggNV3Imdov`Ni!_25`QpR~w>zTDsJHjVy&AMiyI0dY zG#VHZ?vvc@b57z@s;;RCN%nu~;BS01abcMy5_L)P%Eo^SA2ov!N{r$++z45D+7~x; zr>FZ*_UmsKipt8>e$sR^F-n(8Q7H2D^TiKgy+{wrI zYMKJ;BF_{xmL}cew>ET&3&*s5a7Cm_H1@GUMi#9dhqZxvqLap#_4CKB>Bq90%2ekO zV4b49Ha|s^1a~B5H!B*FD$)Y;PKo6Kji<)Gdry55)()fWO%L-4y=hWgILl%Exokf0 zM!33aZ-@mMkq_Pnru)R=KKU5|3Qwgf`TXMp=bBo2oNJKOcgEz^kTh7GmtgIr`Ju$< z!_f`feoxGSpcv%ib0ai7bQHy-4IvHPAq~6AOJc%aO8&)fpZQg2c(~90U%jcgab!p4 zjnT|+aYj_Lp$2=`>$CD1--{^n)Yl7R{L9NkhLPcZk*!EWi4n$&%vj_r#s2z9c{yV; z{<-|`HYY1ok#z#q@-5w(_Bv&8x27sEudMj|dyP%V<*`W+rA3$ddQ4@)1tUD|gmK=C z+_;;(EYoI>0DP@}U_zgrSKDxYGIF~>AV>nGRHIUk@kjNJqB+)$ptdQjX z;O!g*OJ1MIF&Am|#IQbQcMJ~3?T+_`dT-Q(_tw+|u1s#&@z&uIN%@9X4wguMky)B7 z_*L4Q4aq(w3U%n=lH?mDxkEKIq3D70qR^jwSpL#!0*lgPA`)_{uY!6#ABJH*AMyPq zc2z`?=IcvFBVXSb>_c9{F#jt_zPur&LZTRK%{>V>c6HV@G`CcV3$KoSTqx6HG-qrK z*S%4MIBrdW1DO)L2~iuPHZpMXDqK;Qk~dKn%MVEIOp&yRwkyskGuq1bF1zx>4nb?A zLUWQYt5rtxCkOQ3jG<*6Xc5TGJ$*ffL6AX|laS*rXk>e0P(zpJ7Y@9@ICs;B4UJ!mb7Gl zjX<Mr%|NY&RPzT)Uf=;Rx(G>b$8USc1z?W7)`BvBymGS4q**&@qoYHa z$=&7g;US*|mFzfNoSRu1k@-^c5ufb^ewiUZiO(z$lq5?^%5#E7!^6X$kFOcpup$1H z(0Fo@=I39YBSMK0AH|}6thTZRY{O+J8M8nU{$|D`shKXJkmT17h2`gUG$?l|Cj#61 zWU>z$G^hCdF`135$S^SC5A*pbOcl}+X07@8*!#=ypQ~2$WqR>VexOPOyxdTltn7?F zBFS$PoT=?8Iw5J$B-RE*8${S9Yd#3`%@}0EA{nN}1Nw<-JckY|IZ?PpOU`;;4rf?2 zjlQ)ux7>_sXpy&8Sf3d&35yw$SP2RWO7r&W!THKxJGU$=Byk=M%wiOd56BW7`+M;RB?n9YsS%|`yUI(tL)Yypd-NGWDKEt4> zW&>WNVe0iWR$>&9kXJnkUeiNZk%qzrZS@GEg^$;#``NH4#>|iiP$F=uUfRF2QO@6d zRV$X=lIh2^;N&F8Cz@LzPK?GNKL3{NDxrV*Qy-k|tCZtx8 zTqo)LhJQkHJFUGCCQ9!;j}6Q?f!b8+VZ018WL>k$WPQ~oq*s?8j1I~-?jap~Y(0}3&s{i<`RMLGg**{s~A0Hy9d*zvD zw(t7IwoJ9pP z+=BH8STWHb&?(C3YLDF2pcDuiJ2kPec3pA%_N23o-I_B24U+s3lo$ah`vT2SWJV(p zSFig=vTYFuI5E0N2w*s(O8um~`COS6C0YJe%D%e|8jYsCCvn}fX;YXks-sP=`uvXV zb(uR4fHy#r!(G+qx1Qa#Oa0+c z$ua*hq5lz|@SqzvdP8gCLu(?V+}Ek|SkhcPVTQ;Rg4=4?6N5iS2( z49~1;$B=NyB5q4DpsFt$yDY;s=}E1*NE_qpu_CRotQ-f4dUL-H1+ddt0X3-|LutsnvYvl=+jAdy#G zkQ?uOV)GpiaZ#!8ai~S4a@Lt+R9`+cuB2!If zX>w`#o4Xo(O4Q*#fuo@{y`dXw2x5d5X($-s#7K%2X@w|x!PRU1r&?N(#yn-OACBPp z*;H){NwTQhSVbh{eISKSFys;ZPNQIUBa-O+L}s2!0_4(rEcxA@qi6229TNJW}8;=od* z`7){T*vIL@xzz7h3Uq8klgT}BT?Kobf35g<2D70`CtA7A3pwuvOIZg5P*2rCzwStD+ z@5TZeB^veD8GjSBOT=lCme}k7I6#a?2uu>4G=tVA7!gHUVKg>9lWr~22nI&ADVPb8 z8I=6e>*r`^8U#SCb*Y+IBM{ap3X6SAb>->KeJ3<3RcyuH_bUchXMNds1qLcE&`n5- z+ymhFHb~~Ba^t*!9pMeS3Q6wAZ#y<75uG%IwzLtU0fa5!kUx>`yKU5#YDCEr`AJPY z%8F`mi&5_lTPMvIE7B%M%oZc6U<8t>5yF_5Ph4>x)^d~Dx^9F#b5Ur41EHS?K*gwaf2rtrxC#rLfP>M9OVuW2fap2by<7)#_yyC>@nWr|(LeS?~#94Lyc1qb^ zL2Q&pplUm_8V-Ep#jx16mMfoTpoQD*j4C{O!+hAgBGpSC0QU1kF)yX1j%!E~+aZtx zNOJeaG7sL8h!LF^u}@cE1=L8)#rWP{yHq3dd@N=$x)JiyX{p8Ts78yl+m<3t50dLa z`UYA`){)IQZT<+QXF|Mkiy^QGCq_6N2=RVhwiY~2D$?rl+Q|k*zT}DzhX=oU>Fwby z4H8YarmwqF)1Zh20vftgMB1w|nI8W58$b_Q`}zh_k%oxM;wVKLNxe277lpnTrT!%R zBq?7~6p}pE;7U!YTK!4Na(LUcKv(!ydNh+ygTw0qT068XSwlEm#!V z>l0$_r1|l_!+gkAq|sYxc1ie%gUv_gHyDiJrCW+LX^j6b&{EK#B|-tx>&Zo$ zFO?TbDNH5CD)0E!*GB^xs*QI8M6F`}#}F)=)LxcZ<4GoMMVkI9dM)H4?V{8|jBrYX zUOf646d?WMLeziSxiSZM?Z_#9NxH9<9>v(^UeFuIi(o9U4cXP^?Y_TBVBb~&8C!b} zv~{fq#xpc6s>H;*k%FGceEEgMcf;~krw-iz5`vh^GY86MG*>4=mKQ)$mRxa6p->z< z+6PogXs1r8W}a9a_Z|R$*CEO6_-#mMq;}G*v!@|n}=yc{4~CIfGc0WfGIMr6AqXf4w4I09RdW&xwq5mI$I`ms7MI@9kzHco$% z{ii_T|JCWs-vEM63uA16X!cHFf21^)qys0abI_|1S`rR~G=ujY!tMy&iOm{s%)ij4 zD9Tv25%{Wj#dObwo;E>qVp?Tq;sM|j@ibtX#r&+@z~%fM-r)hrN|j)sBvGa)fQz(F8o@=R)Dbve(uY>lH>T+% zz?a7?dXXjF(Nd&UTZ%MlCygl5gm|5XGNWI;cBH63Qy8;vYjt+C_;_CAHzxy*6#eB- zBh^PvHCk>QQAFY}Mlh`jOOa*}nQK97!hx?}gx_gjGiagsawl~)kdmJT+-VaeR+RRL zJ6a=CPnartjK*te9jg4#S464yex9LGtVh3hoDFjvZwRA@F3&3*c!89J-UjG^Wt>tuF8T^jYLvfswkDD%-{XueI5V@kOa+c@D}Q~w)Ig`!2m@FUAT4tNM!8dPsZ@9 z!66X|LXV&74XVNx}%Nb{w1(n!TojIXUkBN@I)TnR%6o87VPFjR7R-U1MvFnuz(NCx&B2K+r8?7&I`t)>q%)d?qRB!ws;dsOGxa#a9JIYbe zyeP$PSPXFsrB>BF#$P=FKv%P)bMPX~9EmBkO60y)gZBW6Mt2%2SJx`?mjmm1T6zY; zN)yi-0#n-B4aJ>Vz`Gf#2TUdtWCWs8#B9n`HnyKCU6|wGNyMcGz#AY5Cn&}JVWxLJs8E1(MC!s&!iTdin02b%zQ{Y+FllOV1az`=V6ey)4c$+2TdU8LD+#^f`K`@#@RipE4Zg0C_2^cHKJ*yI{Fzu zHTM1K>b%pw?2rpIZK}#x0B9># z#Ev`INeg2|8qu(`B$CJ2(3=;*u6qmX7BeK#35sMtaA+OqCcI$}KaeyK^X_f(5qP)uyeQ-KG!aw3ydENi|m$H51NB*Ozy5tSO^g;AX zLf?~@1ER|?UjXh$vdCKK2j*+REuwgl#(Wk;@N9)z4BexEDeo6~(ZE-gu~BWUO3ms! z;?L0^3Q#q%01`AzF4F3)gM6fG@U54!r)zWP0q}|(0NQQf1SC1v)EJnu14!yqGSTyX z2*V#XHw*VCDAyMBQ1$?$%wtNl3~*{HA$6)RFWXNwF>*#RW!D1*2C{q#8yyQV(vO*Sc-L?~4l z!->x>;m|{=L4?}YXR}>1{YB`;Cxi(WSvqbqNX?_P)$ICc7RAWENGlV8xZFndG8=F| zIAvJhatU} zGi#M&<{OsY7`;fFWFM)}`JuE+>PwE!HFK?t|G7L!faUsGkQ*mu!Kyh#WY1XPQ_p&!G5eoTD3LA8^c?31`4TAi=oN>*d67U z&K?|T7rMNN>J=|(`f*;sGPz|PL6UL+7{-e~k6zcKa!aRg9J)V60bfNjNauC#Bt3X%FcPlunvi zy|ywVs(HYst5HX1%phAI!*=?|sJS{3jGRJ}-^$Pp8+vc}_=Kn<(ANR<859@I(b8Ye zSN<}&WgW33aU)<~STV>i3{o_KUWFnp=)80TnVVtMt6}^vGxT_*bR%B@|I-+YpT}0D zVg2^F=t8|qF&y-xy1w3zocw4hd~D8ei+YXHuOm4V*FCfq5*O;FHezJmD2_MmL=%JP zsS!=f3a1N3G+o@bsl~4Sh+RhnPsldtMqj+VSn3s_4;HY4{)6ouym7;4$I1vlAs)UJ zZJ6hqa+`Y(fN4gMbW;h~mr)>_pGa%(J0e^F&H#xG9N3Y=1=YwCfMku|*8BfbcyYEx z8e<8aj%zwnO83r>)JfwJowVvf55Jt(@ua71MVh5y7d>IP4p|lOUt*JQG2~7f1$<&` zC0`6xIKsb3E^ToxnZUvzv$$JN!fBME35TRn$vq+;_1YFYYWc5)JfJcB~gBt!Ew9?(0hG8c zH5X8p=~xVm(#b`dVQ!u*A}sBMm|wxKMs#z8W;^o#rI{4@`H~m0P{w4e>JgnOnI(TI zj^8-b;`!@Xl}*kXZk$Re{pmMQBs#pNW^_YncyF&|v&Crdh7IAPH+(|MUy@?aHT0EY zV$RD;?sEX5X9h`t>b9PIjw5y@jr~`sEQ&mM%MM7OIUc|RED3QDkPw%&Bfy|z5A zY?ehDBiKjq%moonjOwj+$Ap}0-JCv6@?tQLLS0Vv#317pLH<1JC@v{u#mb4Kw`O$k= zSZZiFbhGSyL=1K>3jNe`DS>khNsNhE4k1a|$7f?Lpi^HGh!5Vf&i2#H){J@-N2MF6 zB?n-FpiDpP>BmBiKG|qRn%FQe&kvnw;JTwLisSiO)gjVWUj~*$m>2v=MVd`zLu)~2 zitS?c0Oa_g+-T^--)wtzPx-l+p@Rj7YJ656`LNfz4J^EzDDVKl5FO_qgSk@EWBlX9 zo|nMA(gWZalIrB}B%5o<0U(iDZWDHyZOpJi>e?Z0X-SA1fJE9KOW4yJN*ow4tB9i>JYtYK22Y^dRN_YmPM&X&cHRm1* z&pi6(uAqX1l7d|YJ1k78x0h-zH31{yJavqaK&B&}l)yRn05C4{a|lWD6xe}D+QEr! z{$^SBakknBVE_$;#WBR%adVc8G$T+V@3jOk>mdm4pUbntzZ)&mMj*gzzz721zK!S$ zmw82$lnzI>#=a%tz*3~u6Gd9|#Ei~#?mPh8l7ol@j3t%i_U_*?^!IBH`iGzU#r9u> zzj`#(vUTT1G#kIoQ{xHC_0ouhGEWFioX@l{GG#}Q1oxc*$gBl%FrJ3J8SK8p;sRiF z1~FA`;7sU@$I3Pe77auF5DYA;!XX@)glK_0 z;f|)j`CJVnQ+CLb234@bfe*@gZqSa&@R>Hf?K|+68^d@RBXlsjl;*JGMyb(25XT~5 zzQ9PA_GqNcQc&#H}BY&?{(35&LL(ty08Zbui{LJ!pj8!p`N-x?vX}A?)Lg!|| z$q>3cZ;-^Lgkln69)MA->lPn6)cbt0oYTkuj_I{}6ojsVwN3o8CRuGq`(Fv7gy4g>TCK~VRa^*wUbBO6^c30-M9Gw>IyMY;M`U=2Wff>}sqT=<7@Eq*46p z*&ad?hS25tIyjY34D~C^LwtI}!-t4EZS?ux!$*gX{9CwXe{=ZC*<9>(Txh}`rkIGj zGQ)!bNf4u3)-fcV5yO+rQHw-J3jGU$g;!AREx-?CIwR-hwDkWtXHCWK>whq>_`HJOrt~L;k~0l zd!8R1wOA&5hstMtpPGQ-z8v)-9GQd>2{}$AaPRa0IDw>;TEGfHWK;lUGChdMz%l*g zgtnnml%hJdPI4;nOye7`CwKleqg`f(16#|@DNACQEt_S>jiyf_AYHxo3Jqs){vc^* zYdi3XASny@q@!7-l$`15soH!3_*-R5SR$|~Opyxk<*TzYRH;V5gqE)&Jb~Amwvvz+ zFfkXWu$sH|B%FExjtB`@MBhe4(Rt;+SQ+AT4@V}mFDcvuqkqPUvV=oUy_VeP05GDD zV@Q&x0%i=-8_dKA1TnwPW&I?=udOQzXy|MT>wLMkBR9J4>x#(8^R1C*{=K!%iWeyP#ae9hPJ@6Iiea@xD%)ZXV8y@jkJ*=?d`G_S^wwXIK)juJheALB6~~-cynB z?uz#_+R<-0v6m3qzp(1k-3vL-Vb=&F*lGz zG_fE6s_3h2f&z-W1szGIO=)lZMetovC-9y?S=!X9N*a9s-D^e@QOmt(-}e&Dhm(BK zdI0by6T@wQu2$#8m80dHhn6I4R_?VFbR*(8{}@7O@~^XbEeE~Q1K}^d8)|Hz#|R0d9{&A0eKm!Gm#CNqJYNOLjA|!*ci6v-je%>LJ~5= zvdw{0$$9*UT_+9pJ}{ayND>zvSbci{fZLSfI)OMt(Q=_Pqb1EC5$1 zQ?CHxKBE`>{@mpNa0^L9lZm}%f;{wU03Te_iK0=)a;ws0_F57WIOetFJZYDiDLaNF zpkYLYp56QmL4zi?R?r^M&|cOeKXIl#pglXNyHhEuO$^96o{}f3o&Yb8VRARQi;sbk zC4PHuK?!8AI|AN)c)aBXXGqRo7(5|)qe>N~)Fgr_4IPOqq7q+g|0}SwBXO`b3A;yh z-ty}k7O4loJo`TP1O-0#2KH|MKifa^CUVsHP;b4kJHb7#rAOd-hLD60-WvEv&cLl5 zs*t*iauRJ1Cuuuu!i#`H27HB!wsze>b!y9P)IQ!KX);}9l5!h*rI zg_KTOKky(No`9ske2pmr)4-;bSfD>jP?_4ZzT#khTgzE_%lfaH8w80fDlU9Fu@Nxs z900rwqN{nFT{WlmijIfZO>^&?hL7#TA!*-h2U0(`FYt|kaUd>XUg8EEz;pF1ASpE( za{=(zbruDbc4h~5C{yG1b_n9cqQ1gOP(OzG0H_XYnpFVIE_Be)XJJVQvsP_?=_HHM zFbYNw)EJ1--Ig1_uP?JDWg`?RsA|lYo3<9mwx;eqdp0nC@Ajifi3i@zXp>KyOhy3k z%DW|wLk|F#kR&2fqUPR*z~7I(UTy7K9$26{X55~3Y(3?fAh#BO;P2AP-24@aQ za8(t60s=pvTd7P6EbjdOHa8?q28b@pP+EkM7WzUpTD~Nxm5H*Ma|A$#OK@qs+GtfA zNE_CFP>2!j#d_9|lr;$OQ;J?IeJHT9I58u)qoI3+5!hK=)uCLmx2K^~+$NE%FahH_ zZ~pB$^Z;;bOERZK&AAT&-g;*b`5MBEn7b z4_p_;S%fCf#tqDvDLY|FMEth?(*XDpA%v4z+D>w)#haYe-Hnd zqM+bUU01MY$z3@d)>Y5~z)?xo=h@~;)fJ1X08QkPg{HZYz*(5G6G(zod;%A2=m2Wz zn*r#yYQ&}h(X(#Z_lPj}$<(;BMI3*w(g|^)M8mtoi~n zo$aYjym0qI)ye5E@9&gPQ!&Ls$ zD(!`L;4N#m7NDPabPXXT^+k0ReO0jU2VII^?<_4=U{bj5v7=Y0oXKeOTBiG{J)Udn z=Wm<^B*9qxHp4Cv+Q>e_A|`1G7XZlEJ9ALB(TS0sAVv%7aCP13X2FVgTT|{{SOLi| z02LXjsO{(-Hx=$}?AVLb1&H@mEj2VS0NF z{I@k3`<^B~n+l~Z`@;C+H}(Lp@7dDz#$yF&mDj)dH&<95tr2k^Ndotj(8RJe%ULg0 zDdHPgruFILW{mH#_-#kn1v0JVHc%}_3o}p+(z%4OaFp`A{KE7XJuNAzD@8| ze@++h^qNa3ae86}28g-NZavv+89m`PJd0-qNhxxeyw`(-HHafyBS_i^06I*5BNurK zqLbz_QE*N2+0@w5s!2rQNUW@yMuF^0-9kX+8qpAkD( z*WXW6uf`M0w(jrz*_u!Hn8KD}#OaCk=w}Z;<%$Z3c`fs7xt6n+z}XVBoIw&1zfDIG zdJRYSHQK%|%g$y&EvK3M}DUH)k$%8P+klrufM!t<|)ge~a`kf!KTti}NG z*z#Gi{lRKW+&~ON+<;Sfo-s=z;Ns`GOuUwCZdqrL)UVQm4wsA24cyjG68>$(Vob6*y6G09 zMTbQemZSp~?IEn@>|W0`40|TYeK||~HfT4K1_6uuSj3P72|3f4x%B{;Q=(KU;sN#(yYI{jBd}R+syu*| zQ>A};?5S<}CLpXuxp8yXSmoEi&wssrZIatJgH2{ao$^jpGs+(1IN6c?Hz)OjMN zQ(c%aOGr8+hPCW~L|s%u>$X|40PJVd7ArBL)>iZBvi7b*Zd%CM%MqtJ07fDuN~h9D z6r~c4GF9wA*&3h3>;R^N%5zV>oe$jkThjS){;roR0pM@@O69AuudMIiyAdAn5G2jb zFN}LF&8wZ_s41oOIkSW$Yy7rd94$lt46!TcCO;O5v{v;R2Ktwv$o7H_c?4*TF8v|? zVS%do2CQl!XLtG_m)z9AyNT7@dsN`6Su@VSd zwmBaFioe^1^O>-xw&oB2EMKu=T)A;4QGLM;#QQIuKDFl8#6DO}iW?wiiC|veEFnpp z3g9v|!oZRchW{Wm>$R+K0_*BSOT5T~kmLks96*m9QdusCbfI(4vGO9ggCs8Hf@tD& zyGa6|L2=a?71sP0s8XxgkO?*cD3-OBE}PzYH0ghr?OcOH(%bp+eQEDNn~!d-gia7H z0e&g|6@K$_?}8-rfvt9m5fatwP2TVEf&~x;b0;&TjUOsh&eyAMQaw2 z1gNk`ZM$V^6k=p>v_KZR4=te&^YbrjW`N{XEXgf!^5ZU=gwuwbFadjcre>!x-%4C) zLXkr*m$4{TOwXJgC=}yVl{co?`D!IP-{E1z4UF%KoW6aID z+nmY#5N`s14)~j93rWgszJVn@+irm@qj){C1W7E9%{8M-fJEjq-p7(=gG(_JoZaV~ zE(#)=Os>>S#OXR9t~#SJ3r%(s_*W9ErF$^?0*X#sk7~NsKk)_}_R!{KK;MC%|1%_uT8t5QiqlO4<0BtHPWrYK!Iosk5~b${Cjgsp$A^E+=V zV9V<9N5B5mtRV@D-zIhTC#}TD)tR&*WJ$U~;+R7%Y3ATm#GSg$sV&Le zWSZ4J0<-|h>XWAuLQ~I~6fx_Cn2bQhYGALvaycyd`pJ|l-Udm;j$3p2HY-TN4m6tVZNHVD4N%F8hG}8sL&>*mMI3-34f+bNf)Bz;raCV<_YD=mUdWfK4 zbihdUT0-pK$@skB4w9UB09=41EPk7*lQsiLTGF?j5UsgmNm0dbpn$ZlnGL=?&yrlA zN_o+o-Rqn--27wafS_Pr%N`t=R1RI>UQ@sl`L=Pw*+UYby6xT=2&7wrB!+W&URV;m zxnS+!;O!q2u%Q%GEa}r9@7Xu_-u|`o%aV+a@3)u%fTKZRZgT*HadUnfpqmy6Tyw@j+yIA~ znmK-)DBorYNhxwSZ^ZSbmK*8homZ9wTsu*aH2p}yujiX3SuU07=4C|;bM-iI8wf+# zmgmDa4GqZm5<-(knIdP9z`1Lof}0eRh^)v=xZJ!~}Pc#HFlxM96W?r0Z+K zg{EUiOH(+z7o2$jT!AD&<>q||U0`aUqlq}d|>@yc{PFa#?B2H%W;>c;kjo=5ILlOkRT*~~!j$3vQfJ=~+ zDt4DJW-Tr_a=?=Mno){GKWklKNlbjm=$s|#1_$qq-~%PjSd!6QmW1LTTD<8Tvn09^ z!dVEDaREV6`rLZ}TrOZalXuNKZrMEmEGC=HEQYuc7XnbgHS(16i zZSGkTc3{Pu(HTnuSVMK0MKlkJDV)N={CNPJLlS3aq=;vcV14M&LeHyv->~GP?6bzRf{EuY!{}H`!c`>dnLQ6IiF$6&IZFa;owqq*Nv>Gd9ei*GNr1}vy*NH_9otk6Gk)iSjo&r`G|vz_OG>pg+UA!f0dzc> zYnFt*CpvF)%aYi~RlKua0j##=J})>I>@+oK-kgKNI#T&Idq_It3{>w7ekxymO}-k+ z&@?fn*ezINlF>z$gr21h*J%@F3za3AJ8yH$l8p2_-W9garLqiL){}U_)0VDh>B~cW zc2^%quFX9%5%J^d7&jqlubB0wVp!8Rks%Q8Eo$vaZB@$KioC6cpGyVFMV6GRD3u#c zb~v;^S(1_Hyv++snvv$swJiy=yJmRoEWV))KI|iX6@@*py zjk^U&u-xA3i5KO4#ycrZy4KFvwA@cpBG1An!jd+&#V%|}GBUCjhb*bDS)s|Ioxuy4 zC0T8g^Tv`~ge7nA0O-8Y15oG_eCg7q;NVMBuN=maX@}45<5$5sKqgBLK)IVN$?O7v zA@rfg&`o#0wq-Q{r>Le|H9e|G1F$&>sO?aSm925#RUI%cbe2Sl6LEzlr7CvG0WwKg z1T4wid7D3$d97xMQ0E{=ZWEUsJp3uauey=Cx!i9>qc4!b{TobS`;v5 zX_x%_&Vz&Ku`~=A;_@|5_y!ppn7^@sD^`SJ`eNBV?^Pcr_TB^%aZ0z0g-Fz1GwHGfBG9lJ;O*ou~$qSB%mB5TUf}|;H;_-IeyMyX#M4Gg-uv4H*&`1cMr}A zBZT5)-nmYC#5n2A%ja1x(E@v+mn~YGy2V068 z>FwA$bV9rezewS+E1A;}g>2$)@OSTS2hWiCcnGuX&M)?^X)E|6cjIUo4ib?COE`6u zxnVO0(Y2e2Dd*C6OZdVZu=nS&9Wxi%Kh^%pcvClb!Rj9|s`)b1xkN5o)_mLZ2+9~o zS!BSnzGvyQ40mXL!&}T%=;Pzvp5bClHYYRR%~0a(-6_zJ&5DT3amIlQtOy^<1&&Uz zYx65WZ!QT#3zz96?a$s+sjSGimRCx4J0xS8PSw?0VhvEJFlwO{hJbHtcqsqHsx1uWD!~s@Nn5g%D-xX}Bf|?Mp&9zg;@4XI4Q_ zj0d%!U#f5raW6#-&F|}v1u8y&DCbxSQI`N&&Q}Tff{dkJYsMdsk~bnCZDP}@4S3rU z+8q_ysp+8u=9{WrJDJ0dj0};ff1*7iM7d=DYXEjZL#oorIu_`@+znP?Yz=Z>S{MNW zhiSiAxV*)H$@xOEKuQ@)$1bLhBuvhE#QSzv&VXLxUsDi+lMbI0wyx z$xu@32-4)o8tI%WYjvxNUZCd~9A-tD@}@`5z~A8EL@o4k)@s_GXz8AvO6@M-d`ap{ z3H$PW@|t$TYkgcFz4mwo{CR~3#XUgHC;9HT(!?CX<;b#stmVllslXid0QC5Y5?+~t z{i3#5`c&HaiNWEd)ec=z>A1ciJTW3t%F9b9bzU*fWL({>wLWdNDf2vTo2z1Y={gg# z4Pn`shAXew_mHcDUDbixq2GUIk8Wp!i(+eU8>}*Y-H2Ews2N)X@^0!Qd%TF%1geKR zBx4AQ3=f6n;pr}$_3z~20*o%cUzFj0Bk8@PSyMu&Y)pPJ5^bSZ8X#;~P}oOtQ0rCM zeLJuL8N0T<9=5WnSKT^feQ~~5*WqAAxOPe4px{>hCNkOYy8b2205lVq;v>iB>t_;_ z>sUFPA_#ao)@J>c)J-Q6Jj8hQUOfR=U=cs1CW5|D81tl5uVu-mB7&;9*#PqAppmLd z&ki<1neJ=+-=0)L(_|m)`7AhG!3u4ThoY0sX0r2Xa7WlB!!-lj{3Y(^uEHc62i9OW z`98eYp8^o%(#3$ldY==C2Aqm#JVHJa)ujUe+cQ6S42ygX3Gd(u6M=;of*&E8!PA1W z8Bp2!GMy^f#R^Y;OK8+VrW%jPC-Q|(Q@=h?jR*}bS^ z$KU6Zx#4PTbz$+>%*e7O2w1`3J7%z@W}lM=CwyE5u9KtD7Knlr5zMhB0N9#f{!?l$ z=xT9!22Z=-)+(Bi75*2*W5g?M1I`=ZACI+WCcIH{H?m~cg3gy>Fxm4= zrC^uBDtOh98KYwDpuA!j4F-{X1B}tj<2afO@{+uO7v&H3s}(`CTyh}Q>Aj4RD5`j1 zB~GU!ra4p*o>fdr1az!!qD@iqcpAA~wa|Ei=kc5+4%sGzTOngQo0$vKb%&c@eYAc2 zUWL0os%(f}z=m1}NL|6q82O@!K6BJBX(f*~B@+rmgr*{+IXTtd^}5vn0t#0LxWi7` z9}>a1MG$YwH^>Aq%!UmiYh`J ztLrkIHcXe}9#bgeKlZnJCW^mVXKfg(%rh>UKQ3TZm9-8gHV&;vxd$%>TfIIzEli#h zJ<%SuTi`o=Rsb>DfVI&rl2B+!M~OgXf)@?QH3;!-o#gAAc zw{cq1L>vb-D>WOIy?K1{QzTO8oriA~& z?lGq=yh=9+ZEGJG!3$k{#cuAg{BM{Miid^-IwT6o7q! z@>A?M5iKola{2>l=#@ubv^3v*&ug$aR-J5pfF0^~hl`t3lF=iopt`jrmEH6? zwG&74pIeG+1@Wum0`YLe#X3Xo^C967Wqp_rrMvDptdw_5q_9l^qOL{|0)YJP~ z4z7>(y-96CRqQxOHw#pro~{k6L>du*`Xg2ksI*_T2@di&3%0Z(rfXJf#y9rgAReau zEX>1e{L|ofBszX=!gOh?x)wsYTFj<0+Cnjdvy%546f@Ak76Va`IH3+Ca5b=CFXNo^ z=A~j{YemU3fuTrbDr%!dPy`R^{YUvzU}l#$e<8h#T(s|}8lefQJJ+F15h;^5+H?Ld z{YB%I-9aCqHdeGW-cwJrIENX8UV`u5Ria=2+s9=;lYjx+VbO6$ zXs7}_E1|v})s?8U*2@yA3~yh@lFt3{%Eo4JEWDDhfXNefi8(hr& z-8Ey}{JE`(All9>Ct1C&RYEVT(yZd}y5;s4BT`0iPS_WHU4o@@51g;?_^7J z352B^ryb=IZ47KY(%QJ()#Ma%FD`SL-AasWu*8RYKZK*v7(*cPp*@O`?pN`B}AE6BSV!Lp$f8a)mpfJ84+ed{VbuXa4ZKn>P%7YN~TPe zTuN`rdENDaWCm9{Irs<83KKlQOdM3&`*izmI{k?dcyv+GYlR4*mQk`Nprt_e{?j?b zPoW3N+gUG|G5&+%LM4*Rwe5TzFFbuHuYpw@cI;-7XVnO2NeJ=+$)=!t`kc5OZ!cJ) z?)?GkT+cV#63aDf9~Y+5;#GjY<_J_f%Di4rz_sD$+Y52OHBGSHP{vVH#|e{2kTX&l zB~bfJI>>d=`1H*j5@qdk*^wS5Zbqp_glQkDRw<=0jrDvi+IRjFdyl}|qhHm`d8K4e zAh}=)3x^m!ksQrhkqnJz@1+Mt{oB6hENNkmfz4-8`Yv)NfVsZ4u0o`xtzz@rec=4^ z2><3_Zu4pe2%yrsI>^2MBXP^7puH}B^Ww%%WxZF?xqN@;3|$0qgVH8|F&?PG=&Nkf z<6RRkWbXlyB77iID4;BjF|G?^AE`4=n&0J;dCbn|^4(^t3nXz-D5jOwDDk|I09n}> z08F=32`@)96$H1xGRE$1Tp1UYc!#I+(A~$VNyu-tSB!2pzA_*c#k->Il;4r0g=R#4 z4K7V5ZQN{ZNHcG`52RJpu#BC5P9MkvfmNN(FOy=b$fV_q!NhGimagUXcv=4D>pA6f%g>=F{vPMQJ z0($pbzv@ndm*lm-!;Vk0*KUeBr4|#5?O` zs&MQHENSK-3Jqd$jtYxaq&?qv%uV0O7;a2E_**tD*f6N??iypyNL$sT=Bp-OSeI6e z6t4Dh_bYX+RUg+&Lwo*-^soAbnit;{5OB!-+5PR!E_L?%Ckac_14mfSqh}8N4Ae1z zeUVI1y_Y6f9*yAdK1ei0h4|K>>p7*l9e*pJ(RENTbhHj0Dw|6z5l7YDO?OP9HzNu< zKOd_pP|Yh5K*^6I=gc+rC}|UAgmD~iFr}`HN)AuBHR|G(=n6+a4z=uptt=}XF?l8* zuQqqF$bpaadH1znW0C=EWaVHWyXJY@p|_V~KzBdZ9!PKZr6UPBF*95%WjPBA74i_i zce;xvl7k;lvnfQ?6vqaG7p7VWBLRVrtV9)hWRHl(u$MM1p0XxRJng;Fmi}qwF-kUVk9dKp|Pc z>YP*h<##*x+l_4T+T|Q+5zOgZ7u8zsZNfVNbaB5Eixjkh0%it_9LsrzRE+0P#qV?P z*S8h9MVTwcgi7t2Y8^yo{TqicNikLZdthEvk{^Xp-i&i{j^~%t*f|m)q3s00{ylWyp>-ARaEz zF~hx;gpFN}x3Vy8_;Td6j#Qz_3$afR)$_g-yOwd}??F1sV{t8P+VT$X(l}hTb$e6C z&^4wH7Ery;qJnOA{2`N>{WjFFj%talaJP2!*Ztbg#nH+W(-v>C7Y_#rSJAUW{)HQWEE{!2r!A$#_aHozb=u(hJ9`Y7__lN{@>R=u|e!@sbDr zj6t_JZ-|nLVb|I^HGCup_Tel^a2T+sHs_1~^&Ia|Y;Y)DBFrM+zUf7^aCJpPgJ}nd zi>Io7GOfg&it3{7q{1?~YVkYa#hriE2dB}r0E@N$eUcIL|WbNF`f5V)x;Q%MR z&&jTtl67JGgA{nlKt!lgJ zD+o-h-$Fa{Uj4~dZmDZSm(Uyf9!(5}tLGXB65qPpv}oy4^5JXg7R2nO5=-;yc<(Bs;6ct=8w+cCrH;otJj*M6OHL|(wr?h5&W^c|KOWpc;Ppe zi&?%==OFP&t|2O7R(Pbb|NQOM_~i~oz#leBPdgBW+wzx-ra1ZaaGP-%xMgvA^e^Vl zp7wU*GC`IHm~4Qo-JB>R7@FM(y300d9bJ2|NZf_s+q-@F3g`anpyi6QtykjsZk^md z_5QTt?YEpyXJ5JT@!YV#so_^RG*OU{gQ~@ehQPHHuhekd@r{&%u{fX1J_sNo0}q+@ z+xfD7nZ0_L@HM{nitM|^${56Cu!CLtrpB<{5a8LYUzdirF63`tpYegMO37v6!k+K6 zfh8u>r)(6ia5f2z3I11Z9!Ec5hg~@kTAxs+cMvWXt!Ala0N2MLz_8Ri=TYY6pS_7C zrZbJ4FCq;LODc4Ie)cZfzps)^tHbEF^(&h_dl?(vZwQv6Q( z_ZelIvWAiO=&Q*Hh)s?;wAkklOPnrEnRnCfM7ua>YN$IA-hO8icu(5i9j8dldcMQc zSyzMv9X2;$?wV1^FFI+8M}9@=oIqs^mOy)zR+)%s)L14s)jCI1+EFah?_++`uBF zikI2)7W?x;`+aOOr19pm=UH_;04WFc2Ew04`gh1x>EKFXLF4@?&e7$sWAWFJxDrAs3xcLcflL!jQIs4b5 z9iV2kP!`sXB9*4<=C;2Fyh`kw``)I1J+FG^6)16Z9=kT?|UpuFRqS=GX7b9Mcuc@ES;w z4l%5F#14CMD?E2LOiA}%^(3F&Qz0$y5wt!04Fnpyrz_}b$SrnuFw!e@y$kj57gm&d zdv-I@$|GmM+Z!t*MgB>KYsD4o&v>S{$JDVnh=#@^-@;BU1m-b#fK~i1)JYaTX5s`6gh_}KHdFlYDJ z8FPPv)2xK7`do2Z=|Of@2oDdBzJ^1`BG}45#?hCI!6%@Q*96bS;f;DW)G*i!SPA3% z`MNkWBzH-wF@o6hFhKqaBI(pVqHx(*GAO-hj^opFf0upmqJMImg2<@U2CWgs>`qhBw}eu_WwIe z(Wvu0G)I*T$`f*`VJfpV+&LM6GLy=~#og{hx6v@AqoX(FNj@Md;_ANwo}lfDFMTfJQ;H2-cSUw*>A91!_g8!C zaxDHG%E-f;-#KU9zEWFXy$xJyb}Ka{KnV@$j^Fx7amyP+NJPC=@y|6+^;7Oob$qRe zQH7`&w?zl_j*v*@D^U(|X)ge^!UYn7!Yyf`vt|p_MB456V&6VTNkHL`4rkdV?`Ns+ z7VcNbG}}HPA8O^9$Up8cdDUJRFXL17hs@LHdRE0vD$A)Q9J0G~ndeP=_du}zZl;mX zPwmwgl3(ttJ|IRLA<4g72UH7oFpCPC<41(X)2@VUxiqU-f#%=`56imWGysEF03C z2K)(ahAI7gj_ud)o3sB7|B9~tGd}&DIyMX$c7>#$B(jX z1XWCerVWG3(cG=eUVClS)A#2aQP~3wK5Hke7}*MN;m4|ePOVzLCl>mk-&rhnSv6`-M zPvWTURpYC?!_=a1A3;8$m}}3qHwWV$ZH%niNbr7;I%RdXz5@FExN#j_*BwX|QGFp+ zbM&vIRGynC8YmX?jbgY>_AKhZg!HPw^-%V$?wu0eXjSAqqumooFL&Kj;;4G{lO@D*jI(*H9HB9Zp6-(h;{p;24hYCs7$&fL4@!(CqqMIOx9Oi%p=3U z$-WskweInmO~h7OHPjpEngMoRI?5e`LRjEaeH(d@8HS7YuQty;;t76eqernFKACm$ zyiqy*@Q+^~TS$Rxm*FDX+c~J^M1fk;d#=8APPY>cVP$tzd@Lc8%psIRci*}4n`ToJ zFeuH*3{6zQ{@S+4zO}qts_RWQeK-Vd$nb<>XJcgbp@ijG7{}-H@=+KoQR(3V&mXu} zB=~N_fZa4CXQv+f6`qMcmU)NqRr|Y@R|hw_lRq(e7{n98Pi)o*S`ET zpg3byE%@Px$NZ3`7C17yFYlE$X%7F_%YP_c9(dUDEnE0OqETb30CbP!q2$npIT=8= z`6;IXLX15s9G1i2x;@{IG+C+`A8Lyd`YJJd$-2;57rL)<+b`U#DSqzho3>x+ay^$= zwDg;WcH86uXNr6`i(upue;V$Ybvh)f-f}M`Zp)H^(Nk>X6T`qq6l$FZMG8P?m+0Fx zxEn}hFQ8h_b&DJfvEty}HRE;xZ3C_UcKU<;V*6KIQfk@M9j;UonVpx{X&qk)i%@`uTWY1ED|5hw{?@1F&zc(d7#k__wkMk|GfJ}@FTGFWE+i;DOa zM~X=1OVWkDzdH2vnfcl)+Om`hA5&NwRJmo;4Zeq>AZmOQ*ro)IiM~C-is52;yE7WV z&v&Vh9`2e0<}awAmj$Z8hM||gf09_|4?3LnNyC|b_^dw_VeT~pOLV{Tsfh;OAQY?5 zSbDwdGlS{MYZc(l6Cx&BR=AzJaHmYl+}d(SfUcA>^{|}55mmfhqcZYD_)#V>!YnHB zZq#?X-onRwgovE#P)r&|g*02wtX=3(8PllUIMzA}_-|Gbv{>;8-1 z7ac!3#adFuO@p~NuVj$dO-{P&>riqYsMjOnudG`B{%BR7BE^dlr=B02XhDJ&7B8n! zmz)44!4A!*t%(~*)+&+2W0G#a)Sb@*L?{igVtjKK&Za^Ib`tTUZzbsG=!gOO036a^ z&(#~Sn(T-ZW#mNohYveWN0L3NjBoesn^^EZp(4Z6GPl1$`0N%W4cTfSaLW1AF8;N! z#KNi{SFEK1G@p~~f0luuy_LZ?gbuR~tk1VUjT$kk=8Wtu&;L7yB%qQpb{b(<#%wcyC>!d@a$ebYid*8w}LU^S)N`=lcjD zqO)Yag88%1WqG0c;X3w`PJ&|JlqYiFW;m`_(=rg7xz<7b$A3+)P@DK+BV+0+#w2bw zEWbAsOngx#^SkTTjL2_|p^f738NghF81Z%!`1K(1_c;@C#%3np$T2l_BFXf1J4#@7 zYU;B~_Cjm|q5q4b8h5J$v$ZU2pPO(FW63Y$#z8_mQPokJ1U+x!*ArEccsoswh^n@7 zv2*uwkI==thu-@`E|(hjs#ZpaowOM8eyv^>7t{2NlDahD^V3l=ZSCRa$KEHt0yC?Y zq|EN9M7+4^m06eXSj27y2Cq{t2+33+dM?=x)$?&^-Q$N_QeDZ%3i@t zrq@*nnmh5(wrQ8!Kr!U8KkLYOOl+*h!Hea<9GU3x5Z|2cZ~*(vnjGpE&Po(TipqY; zv}5y$_s7mo7+)b1J#BpjwD;wt_3_^5$v1h~U!taQkb;zaoX-<}Ywb)rlmij-WEyQ3 zwzghC25>u}YVG@Y12IwRRe-`}YZoXpMzIuRPv~fcQcm z6;Hk{H4!(12LfeOeNUHWs73J`^zc3hr9D`v_`5lrEvnMguB}PDFe^fpMey7Zj@U0) z_`pgOkS^tJRZ0>ys*EBda1?+Zys!%!t>?O{3N@^0qOE&Cz@8G)mKa^5SVI>yMssXp zX<=`n1-$!c42}SP>7znMw};*;!|~?GFTNA>uafH0B$jv|5A|o&%{S#dzZ>%3_Vc2q zhgQbu=|e(fGPk&vqF_Wy`6fA>Pn>@ki1m=qjf`@5vSd<+sK6iI-Q963%vl`o2Ar`s z-46ZH5J-SJ7iHf)+Xhy6Gjbv23f-6PrU>L^xngI;E<|4RChVaeuycYWRCIfS-GvH? zQxftF>Vj2WOnm`sF=}(dOLjpx0BBC2wj{$lD^Snjj zESF5_1~m8?%f8@~2fmM$RI%>-6w;4pY%hung_!Hdb)7=8ho>^ zx8U23h2zSvxJ#umndBPK=$?t?MFnYv&~`vuuv zy-{&#)A&5a25`7P+Im{~eJAybh1?jfY?G*~1_Z*j(g!EZ7UHQ{Iv~u0(%A5 z5fAMl_77V^I00^}J+<2d?j}3^AczYr=KJ=X##}@6

;K?PPVQIlT!3oVk@*hKt%S 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 diff --git a/dist/www/images/logo.png b/dist/www/images/logo.png index d622fdd4ee0930b52835401fdd0b3f8f142d1b86..5a24af196c3f329d04f14eb6252190746c694a3b 100644 GIT binary patch delta 1193 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 diff --git a/docs/img/header.png b/docs/img/header.png index 06159b2c94e22cc09fb507db6c7a1562fe4bdeb7..6db8635c9d03eb8b40b21f72bdefb07217fcf359 100644 GIT binary patch literal 69565 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 vM;@QFomwEf=Z>KI7 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 Z1U$jbBb@w}pbtF+157N98Ah&m{tH}yzQq6l literal 70627 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

;K?PPVQIlT!3oVk@*hKt%S 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 diff --git a/docs/site/images/header.png b/docs/site/images/header.png index 06159b2c94e22cc09fb507db6c7a1562fe4bdeb7..6db8635c9d03eb8b40b21f72bdefb07217fcf359 100644 GIT binary patch literal 69565 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 vM;@QFomwEf=Z>KI7 zU%X{8P`<8X94g%*pv$3wwL`p>KG4q&#!5MG5HLMr*&4;g2M25% z3EdJ3-W94;!KcF+vs4MwhQ@z1>$sGb&YsA2dTi^>>1eJ-Sz*TUovrIJ zT8YYka^4^*zUF=omMustbd|2K%)as7>1^gqa=~-2owa=!eU(PjFH{4nWkUpt_rHZM zN{l`jDSfydv5s;R8be8N29iST<9pni_3JA78IDcr9BixKTRaM<8u=9*G}u%gD*on` zm_2^EZ&~?Vq}StDEp---TYN{n+|p{SXdI%>IPfQ2YWw|c76-?4KcdmlPc_OS zy_th80z@(ZyypFer_GfY7Dg8nrb4-rWPEHhD$`YFt0g3%5XO#6|3T4cWxEpZz#iyt z@L9s%Pk~`Jy?i+)91@m#q3mTsC0Y)3c2YtXoWT4HkN}MN6m>r4b#;1AqB|p1Q{CfpB>K<0d|I7@bK8 z@#ga5PMp0L+c|cRf4m8beJeB%w@@$9u_P$>^z$#z&PC~tAFefR$b(X zJ5-Ajs$K-qS5NHRv(E)K`ND*RkCbzp1yN(=7Wh$z*<0!4C5JI=`;6UMX!vZjDSbo< z-k%Ad7ox`&{qtE09E{>qANkqFA;c!Qu`cV15qwRt%Zcr9BUa!%qyR-dypm#^_AZT4 zqRK#Nq~;tw&X3^hmi+M<|Jzuxf`;EFSi=}iIwdNmImUQ0G^!<~v}q}JoqK4^v4oph ztWc=kqtv@K_YAR~rE+Ppk+l+HQ#ZcsTy#$JU`FFW^_dF#@!j83Rf(IR<1nH=*iu_` z^F!x}g8TonZZNK$Y>W|3I>wkIXudDn5U{~qW=L2Fq*for8D(T}^HYd~wo#LSsB@cr zC;Ga>Qg^H@Iq6zV0&OIaCJb)W<0&|}w&qRjw$yE#iGtK|^oo`z8~k!Q4E^*I37MWL zl9dIUKPXVD#7SB1i|Z&9$G;B122`fXLLK!eh#X-#lFMJtYOt63m`>Z*!sT_#mG%%I zaNHoacvHT@&U~ExMDlS8`Jqe-6?5ZgP=kcD2pXZvkhy5XkoiWT{dm0+DxlMhwmZ()0U>e~OR4knzlv*Sc3- zk=7#;$|V99=y7dUTv(VU)hNr&Cy6*cZf%*APzePEw4fl=D6I8W4MM~7^l@C-ICL&V z?%H*yc-f>Y+&9|suLZY?e64RrId5AuxvyeNq(UwmXWceG8OW!1lC~0-K8wM@Q3#q{_-gKt18P&#Ry}ngNELIst*0))cODH~hfgWhpmL zQCt^t=j~c}=w3@fB-o8|)A5^)Y~vNqA6wKnC<0!?rMBNXbPF4Yk`V-{(1=V3*{LNCFR*gr^ipiP*&nB0o*_p zql*yQCyCEII8O+W!QR?6F60Ed0gep~E1aWhIwpjP|y%6mjfh2OWj&Row+gyTgC=7luW2Y*E zK`Gv&^8|zxreYx+c~*}(i|jQQImr0p){;EE&THpuNM!RJ*V&;p>mQqJZGsffw|~7| zn_5JlG!_`bBr;^arvUd>P3%Sj+>#59ruJw z&Xe`hh5bgzf*J|hys{Rny@ErGVMayTSp-lktEk_dD=j2vmz1INAgbn9gVOz9N z9C-uIRV8vKD-E~LjxrLP$t_r_I&p(0OxbxEz306r8Z_s@cev!!lhIJz9^t={Ijy>m zNyej-Y|fYzsYupYPyG@I*;u0=%n%*Z4_%n$UBn`gDY{uHR+$QMsGM$){+fpJS#YjS zv=W)xjd{Y3#mO>T`44Nf&F&o+beQbYsdDrJU12%J~;9NiRw*9&9LJrKm zjA9)xabdON0m`5x&WT1vt=}T*5w6%$RivOyGf?Amg84-OPcWha~`MK)_eM!aBpW`?k=r*^Zg^SwXL4!bcAxsAb1a; z_S-;j$F@O4du8HPpC781HY<*wKNk~E(*10ebceJ4DMTm~F|rh|D=3i97BP}_`kf}m z=55lxdFIex@sH4Qa~)J$@eI4U$)%hE`CbtSDL?`wd{mv=+=N3G*!flVwsXZ+(tg5h z?YejSpK6U92^l>EMx%#l5e8V+{VpHd<5o66;D7h6L+qu)yQPH;@5Srkc2troom%p< z=e#!w+08kK*WQt{(%G3Rj=liG47(wPph|$2C}WjvzUA(%_LNqF1Xf4hjomt{hU6{+ zon;k`2{~XR!-3~AZ+Jq}X;aczAo=4lD$EflG$(8%(3vG$;z$3aew`h-Mr9@L_f{il z4MgWd+?gND@mYv8@O8@_q6iIJ1X7)KJ-oA!A&DFNYb2m4H`^CEg6+-_@wFEQ255 zry)6QH~nhHB@A^#?-_l^iSlcI?lM-*KdOsSX?Ch<#}NCBHzmD@4w4{KJ8D=ZF8N5q zu~u>^B^BwbX40-q1;}k?ko}>~3Y8PgF88zFczo!hbe6DusE@WY+{p&_EPIcbf3anN zUXEJ&Kc!)DD?j&7jc%Liq@~`SdOKiqXY?KYSgcm%lDg1AoA;ntl8g$GmQ;}I7={92_>MyRqBeW!H5Tx=0&xjwi zxD)!h+>nYiuZJQO^3mIziAY z^{?BA7lGI#Khc92zupF<$qv`0XGpcx0ca+dC!Eau^Uyx{khqWz@veeKjJs- z298+t^dd3{3{!FXj{Wrl?whZ#D=WQf1k?_&1l5*tTek*_#qlHXLDJZe<*kjs{b(V_ zZ>J-yv@f+TWi4LvD^8D&I-MSkK4#zII*(LyvnQMNNCX%BqP9>zDb9_O-*LA0g^m4b zSls2e3nodVe7Frvl?-c%b-;G`9ZvMh2&TdugY{n9icNNo{Mp%#-Cj~Jhx=Aty*R!X zTTSQcd*Q2wmDg+{$%s;8O*bYidRF40S?}!&WFsG|T5jVDB zTH$S7oE1pFg?(-~pe4Cxjl8%ZDNIq|g>T24Vbg{>kanX`_q)jp==JQ}S-HjvJJE)q zqS~@md=kgNJ2`9%0x7ys@;7!1`2YKBucLWnw?J>Sn5D)%fc@{1=H!wkfZLfP=B<-k zp(D)D-KdOyoCAglAhrAYwa8Fc??SXDIOyJ!IJ)^x=C{RCv@^}-?73QcssiouH~pNj z=;q~8CAnfV3PuG=dZp5W?d`l;Y25}halek2BA<$t+4nAzblRV-*6M2UaFQq2kx6k7 ztQQ?RVSnHya6z#Rf!2GuN@gxNv?;}&UUQDB#*T?8jRztZx6YmJ3agi{B*u4Uizf~r zhkga7xT32nBd8G!{?I4VJ^d(Kj6pv5K!ghd{*q63|NhNeeNH5@R?y0z@C>BNRR4KrBpY zHK{xRomssr7RoHX2H~#41W8Mz5gb*TTew*oc?6E zKDNoE?%&>4r1%z^O@9Xz^9) zACon(M?E1Vo|oJlTDT}waW??=yJ zLlk#HB^Beqa+G(1Jr-60CA=S=N4LjzvZY0gqoR&U*h$|Lu|Akc{ov;xs0j|IA9pt9 z#|LGn*+TTqFAOe@&|c?ux|_>>1Mg1^jeP_oDWz$^kOMhi*+M(Qt1As-6lt_@0;cX1 z)VU!MG{mt0hwa;5&ij_rU7pl^2Qx>*wwmJn)00P|BX|38W1e!Xz^T(NzN*#$4|H&| zv>*?RFGBEmy>`hqM=HW#(rWcR+BPU(G7ekFT0!{Tf>%5jX_25UBuXG%OE)O6U(Wh(?sbjvq_P><5l9s5Xc+2RVIlPLUHm8BCBR5OVFQa8f3^`|onJ!u8vE zSM)a4!^2pJ1S!n+-mM1*NPCxwPiQ8*>@HiUbcHn8vShacKDkwsje7+q0n>Ru2f+j3 zGaGCM$fK^ov##x?Eg^Izfs&Ulv z!Dr*f6N?!Oj_B?H>B5q-M@`Y|CHIWxkAFXgBw%)ZQY$t)KW9}iX5t^w)5iW&pWL0} zuYeUyMdgzkPGCoep2k7}(s}IkRqAA7fJI2X=CHG2V&S@&OOl!eVHWwgHrIz}GtDVB z+T>8QP%ECIM&>7`7wI@B~VaK{9k7EAyAUFszCnV$c1a{Jcx^10jY$8&Y-r2KP_ z+2Qu~b{L*C`9A;&$gEu18BOdRAqXGbN|NlSg{e2NtWRSXnkSHAWs6K@6bIhVYF08S zglbt(@%zA71b5|4Kog-2QXcO(e> z-40;O-?g;)qx#{jTlGfzcUQenCYrsSWn~+|_lZ3QfI2#IT4{+*hr*a9o0~+ zzOhc%=*26d95-jDvi(WQ<0s`&lAv?WK1on99g5ZLZ~L=NJGyhWTH=MbbRVT8*C4lUySS4%hnRiyM&wK3TG@2Y!nC8;zK^~s1*RluD zO|V`-Hr{A?${rq}RpbcZIVo*li>^puJN)II69$8BWI=f7&YvlMF4cQ2sB+G)$ zs)8jUOICvhBYQND(_1?&fzCh@63}5St!{B{1GstpFwQHJ0~Wyy8BsB|)H6#7OAk`o zN*Mw7C@HQpY}89{9McXg*Oe_Nivh-SB|uE&G8$3IYvwr!B6cFjTDF~YOE{E&Z`imh z+2A@0`Jf+(Th)W{aU6?tB~I^mwcqz@!f|i$jC<1Q)kcU!``&EkaIpS--AVQibNN~) z5Nw>*LaeKoMx2(^X0M?=kdSp>)#$~6wcOq8vXqdyDqOf3k+WI-!$=#3Qm$pfzenF+ zRM}kk`-}(>SDf86$l2VxaIhI`55#+~XJX?=m#eO$v{=uN?}EGkrAl5OvK*1pUu%3W0TnbOk6 zvnII5$4~Tr9z-@B>ZW}UwVr>6#Xq0`)#cbSCDkvuQv4p+0T+$jwhkTai-vFc6|%3<;4|`)G;!t7_jrN!qBmg)p}{>f!J&;gwYg zd6YcSfm~~}RJuPK+q-Bd{y_f>qb`>{?r%p$2o&Gadd8`p&2d{Rwq^!aP}HE{k&RkHviJT;CgY!uv6dSISH_cq+)&02_=9&I{)4wv5H zFwfXh6v$$NOF7$2y5`A}A5&>KLYZmZdud&ZK_gCL-^B)#-NSm8uq|8sbLaJ0 zi)?;ORUfkk-L&HkZ*H>?zl-7y8D^tIO;5#XN!NYCJNh2*^v4cJl~%%Az%AMFK$5HZ zaNH=4WkSwGH>RCW0k!?mU3{>Luh(5W5Z7MlR zqyS|J5FP=uQSI1x9JEuUdhTPtzN593I`;b%L0UlI1ddN*WU^4`ccA(C;x#UNm?ls> zqb9Q3<#lIf$(dBP(B~5}Wl3wyM2hSq4mluZoKYP}0wT3mVB-?u>CaQKe$JG&lM>{U z#XkL;tN^7Y14+XbDF@v6WFs~snJ1g8=$lKTDT1cyb=fhUg009Kbn07E6yCRx2gp4A zSGF&1wf<;Sy0NPKAmh3DF*ZbKD>tD>8Q3+W{T?iC?;z5U*vdE9_m!Q+W13i=Ra*?1 zR;)ONV2ci%6kCO^9{TZ4WsqN}@v4{u8-fmDWsv}7DrdV57cx&q(%-;EHn8jqMeL2v z-b#E#!9M-gpAi?jIUJ*qIXZfta3@b$pjRheq_Mg)?bySR4^8bS44Q^9EZlir@)vv| zw013lNP_SjZr42#1n0JBZ4Q25UL`3wVFZ`^%_)4rMbwPq(Gv?dyUwI3inFyh`YfM4 zR>XRtQL?15-lN5S^>M00Ha&<9;{H|3SYHFRh@(cNJ8luEikvId9T>mBr@vZc>nvz) zlXVy#ARHgB28r^4xj66OuP1S=ECbi^z#e^Q^L|93C&Elwq4%0Zm?phc1Nqidn6N=d zeo7YRjxDev$uG<>S=ix2D=JNbTKh_}$ll>9QXh4bjgg?0Cu*ix=jTl5>H7offR+WO z%NDMTKu>bJvuQ)47mWSvrss(_xk4#a_qNOaq44wOG@|&7CPEz zMFX#Exdi<3YbRQ`Aelurz2w&38z)K9n$HzL7ldXwFs)@fRW*2Aj3RYC`=x2ir8V5= zLF%`yk~fVuBAU5sb`i$g8GpbOYZr~Evrku3tFz z3AsQ5>aufD9M!~i>*x!kHCN{FQ!7sPsAJ(d;#qt{9V~6wrdpS<(A49pA=Lh77j2RU z9{#)Chb*fJJx&i5*@5!JT}!Ia4-b?U(|ZVIDf}vKX%`UZ=Qvo&4-wf?iL2&AV6t5w zHpaGAip~zm7Iev$lv(<=v(?tr2dGmUvVbU|ogqFBuFX#wNaQ8y2{B+>5J= zbqB|ALQglS6RnJv&n3>7Xx`{$gE|J0LXyuAN<7{w;)>&K z=G{6ACA_2JXtpMB;}4INJ7R4!By+0gBlCT>d$YFsMTo70%GsEpD~s}{8e4vRh$Rm| z$>0TYQT(>~_Wb(F!4=0WHH%njbox-elMocAEPUB*-U#2xC{fW589N(Jtj~Bkrr(6s@`O;4auzzk?yH@0tk2Ulg`u^ z_)XlwNkM$b_UCGdHZa|jVsSj6+emWd2u<>DpDz2E1gc-Nqs}s24@X;_VV^UCd*OnA zHbu)ZBw68aq;A~X_R7r~X5|AMs*>e4X+(|JB81;@>Dr`e^JO1eMFrDu<}-g(sKC#( z!4TarK}Ta>(>9^zgjtd{2|pTAS8$dCi9279ZK5TM(IV}A@@W;FL-Tn7HJ(rIO!<2BP1`34&`=|;l z-^L9`t}a9M*eHTBc&^sPrbfhjQX~R6jPEA9%W8l-p^6To1JC)jC|#I0tmHk2NXqHQ zKep|QS^zrId;Wu3b?Ty|fA6{Af&}p7_D^zca*G*PXM7rqICT@z@q>%`?;F_yl~dg9C)_*&xyN4xQ2y3y zKm4A%cON!or{(cQ^SQ|8M2j(VkK5O1djZLrtLUSaZ^8dMwAT>E5qQ8p<+Q6(FRgW)dfwh{z1cY^3};mN3V zIQUQcVV}xjboyr|&G%hIip6@_QgJ7Hiza?`=$CWS9!_Fir2Pn2& zhFgCK(;r1NWKMzcEN(x}^YYw?loN|^uaYZO?PrGUC3wVXo18BS&TyGZ^L9vp=+G!ps#jlsVHi6ma zVa#Qx8$LMl{?$gjQEDr^rUOY81-*d-D-#+;R&*~d0ZF@S2SdU%Wms3J=940mTD&Ht z?Q6Eytc83+*^v^j>%F()w5Mq0^Q1a zV?$44>{!ALeGl<$DH*>Nkq}472wtvThvvgNtzob;+r;)2DLK<}%d23;miFv~k@hPf zOEwVS5LE3hd?Kn{^WEFZJ1rncyt04f__#oijeQetwiW zGHfnE*|gV^MM0~c65T4ALM=M?L!>G<6f4wKXsdu1@uOH+mnDS9^vNj%*uyD402IBe?adh z>$(iywYsMA7jyL>j(#{h-S@*^1-mhn>Fo&X(unEjnWUy(#|Y@%i<1{p`8t9w&Zx?p z=N&&-t8x+3I4;VCf_j-JWh-kAMp}uWMLGM(?D0M65%rOdgQk&8`dR}J&r~eiw@Ld? z+&0Guxn*F9l#05<1`pKZI8xW!7E&hgpGB$-sPLXaj-Alv-LL)$aHQsVA(0)G`PT0x zITWEX59zzUl}1-_F+0k-X4Fe-lUf#Y#}k&LH}iillZ0~Q@%rGZ@~J&qHvtwLevFvv z&ppegldXYCjX#rv&@2L!rLPmHqKD9lGzZS|l=b}xpNqzj$=W(h-}9MdsX6j)c@8zK zNXg*ciD3b2%-9)yCV2jSr^|YH44bL_lv44HOSjVmJ!;oLd&SxX#pF7U+lK;31ONsR zrvG+(`=Tc2YxGe2oh!h#U`0@qeNR81&L8gSxJG)W1Am{$WQRPqXzHrI*|Kj8`?JlC zBQbjFo5F*mUAaMuBI;;gQKd7UGHDy2pQ6Yi7SCtQ(-_ zEq9E)ZOVul*@O4heqnJ7O?C!ez7Q>)w`J38G70bd6H}=^JjF&J{N^xkDN5Xe)adY- zo~N4ilS!1btgR^}b^t6{Ng9cCoy!Ph4il(|_;V|?8_rlM6Rkq>96aequgc^ho07?Rdidkh<*pp(U1vha{+6p+HtZ9Vy84DXcGeBft?+PBM-K%ppt`yT zMJ0n}|99T4=1z;lb})Mg8KxeF)0*6H?~g*mPY?eG3PJV0ZdnTPnJX8L!|g%IBH$s# z70vIokPA(NbSHr0b-T?yRNY3r9QgTP`v9aP%s9x8-sF%o!>%do!3 zn8XFvhiJDN!Qk_ z8PQ{A8fV3C`+Q!R|Nc1D*Kcf$+<>aJSOp~860t}XF<+gwGLj%l`*TEN|1Gm-5gaPc zXs)%bb^^hYR-|wowOilC(s47RkQCg%PV#R9U%%1aYeuy({vCTw-Aoe`c?p7-$p8Zx%>?-@o%>$tu&{T1ypW=z=3>AjC&WQ&NSc z1g>kT%W$qZtCgwarDfW3j$b>fkB-cYUjjh^8)e#?M3^Lu`;BVkbZB4DsYl#<{K6JtZK#fHq;O4Wfzx{dYdCC8Mb8X}kf9%S?c^Q4* z;Q2PwzQ6XGnA_}WIE5jTZM9R?MBP1-ln~nk+E*xtVc*cxd=!_G_j<< zJsxs2|D5i)u@;T+M9hg_AnSo7t_KWVxEXPo(bYYeANNG}n@^xmG1B|C zb_CzvFQcx-sK-m-*Blj^s;Wd~(s*?QK&EW19dOtrQs#)ESF=)6p4vTs&ekp1y@j9k zGbs2eS#+W7MVYuN5W;(N;|WQY<{ZUq*|XUJiTA$LO9K?}U&&?j-0RCWe;9dv*>A7R zeWygd?5`-7y0R>_`|CG87%;QQIP$k3m%%}utKrB*-93~l3Z=nwtf%t@zY#1hdu-{N zV)@>iYvclUQxcw4mc$ySL_GWvPKP$)I3NTbB_MHbW3wcwOv(aT4T z%3o4EDNES4i=S`|eG4T_Q1Zs-Aw|T7i23PDo=o@|3RAgR+o2g_Y5LjuR73-EEyEmr z-fX4^00s7~znc43^W55!xUOZt?~VMolCJZq=q-FB@`0SXU zv=P6Pw<{*^Kb^$b+27CXALesym9WZsG4~4@%LwoovQYikH7Z0G(=7kAb_N|=iK06rzExZef8ykU;FPjKimgmEC;s! zw(rf0zn8RiZT-~~m(fpKX9S4TPgibKvw#z0cB4Lc{5IwY6!;>CG{{fO4o_Pj-&_!1 z5hBgeX2wQWg{)C=u_VxP^R=to?6uAi)@%^_WhQ4?5^Sq|xhVG9GkEJHB=MS(Kqnj{ z00c61cMXu1&eA;qqd4O7>iQO23EXl8IM$Q+SBbKfc_=ce4{R>evLRE@;}|rRLp+gc zr#h|_idws9E7pEnSyYw)Wj+6xAS#X-2doZcHO-5ou5C^8PR4ke;CoyYwF&&?H%-UQO-(3B`FIACv9?Luf>l9Bn1Q<8TZ|Cv|`f9CL2U~`=Q8muC1k|4Qqkp1FAjs zAhtsEAkuMaj~l z07j*kLeI>Liin-hKaO75p4f;S+GYBUKbx*5uShXbgTS#Cn%UH6?(Tj6w;!VK*edIa zc<)B!ziriRi~M!3sW;#`l7 zvb52KvDbnA4>=fZ+H~snH+OE`xjnIvRMCW^5qaxuQn9wV&Vo$#JpiLQKHBCsO9}j( zy%M+rV^~_E1fHiX6LA-#7hx|q$|6<;s2A}!E)4XWg}%Lip-P<+d~D;qr3p(EUo3%M zi(N!3PmMn$@fv!%z}hzxYvd9U9EZN>1#e#|xpMQv8*BU1*Y;fRHJkrk@?X7X_4U3l zcK_{(>pw3#D~Xi6(a+rH)YULyPq=veHX_K(t1R_`Gxx^l<<$7@jaRN-pRM)nNc@Rh zApcJ}=hUq&ew)<@jc|;#A?%>U?i^yxTH*vHiuW3ey>{8gtB19|9e{!nibZ$t+`4t| z-nZX<|J|)q<9*9e?#}1**nd4e*Sp@+g!+)mJzhS=8HelI8YXH(P+&E1fj8nMaED$? zKW+Ht12{6-D}gI!&pI?y3@zQc>Hzlk)`-%~Es$#4PZA*L>z}QBVhbITCg5&T-ez@y z4_Y_%azzYWzKlZChl3xklU?sM4Sp*++<(bs?d%f*57`Ej4!02pPWn!KHe+8zBl zqy&jc@K1|Y6~!JCWTppa?3HQ+)mlWZ>gW)52w1$5RB=SaZ*x0{>=lJra?#k+m)KI6 znB0uqNppSd^+N|q3KWZGoU&rkci;bjpL^p;lXyIDFswm3Ejo-O^?dZvjVo8W2xLOM zsZ?cR&I{m*hQb^Ps5bz4phhjD-~G z{J0GaQZNDcQ$EB8OXuEcBPH%)Vc;xlbgkKOANFI|byJqQZC&cJ)c^D5Z~NbWXKTaz zssBYEg>z=iZVacu8|>2lX+h~va}Q6?6d@h3w?N2OSy$FN9BRc{Ziu~e%h6G7M#eUP zIX*qZ_wNs*e;#~vqZ1%g&-M2*RwIH5ePSWQffzbiVT&86a}+m#m%u@xNeK!~oZukH zdK`k@jF>m;sVA22I}rF1G#QXY0??CMYuvzvt}9sF0P7lETexL^U*BL?+b8`$|BuTh zJrZNy^?oxW;j-6J)b3agh~E~A;|9pNmS#qjk{L_gH4mV#n9twb`9wE4{|*1&@tEBhPBs?5 zEmR47<%Crd)Rw4YZuZtVQsTFTv@w5{K^2az0Bpu5wq0*9rFcC_7Nb$#;oUjw78Hy& z-M&p=(YLHnWI5m8;f)%L4kc-7>RXKZRt$_9^?IXD*I;ZWcb%Frhs)|N5+sq32_;Qe zx&SnFWvmVz=TYWBdvHMZT3)L@>8N^RD}hrBO*0f^-N|P>O-;}~0*+ruQX&>Npd-f( zFq&zk5T*AeEz6!5WTrL^HB8_J@Uk$-*R~$gvLq6Af+gX9v5mKm_MdS?%p#O96oxKj zTR!-uv5hMgogk^@etxPS>t$Z*OmF zsUbfmfh`H*XLK?l37iKHFl@3R(|hlR!s9gb=@1SSfW_3bUBpV@dgn^uRr64x z&jnl>D>RXFEqkeP12*&-Jg;u)rZFT;-8D>Lz#Aog8@5w3;&K34;>Y!7rZETVSO96}KaMg%178IedkNfv31dV>)IqjqCEan3c9yZVF& zpzFqc2ZvH<>Uu9D6!9M8^U(<4fLF}wwdABex5=&k$%js6)PVjbqSbz5H zLt57|?K`Ky2*A(0=rzIv@X>we4vI{}4?gPcv=y30T>>AeB}fc%EwABTOTE!?+yJjwG*juo zYgz8%I|-I+8D2xmwZv9CnM^c;CH2n)dH~SJO@Wt?HDH^IEYUH?*FH;POIhL$;HJLI zcSNz*+FAb4#+i#}`bFiZY*$9)&6*H3?tds~1uqbq6Taw`nBe7Z4oS97nzJGeV9@sj z99hr3Z}@hJQ6OAgQP)BiX}Wd`7GcMTgOLHJO3k&+q(^6q4isCwdmh{$*}+MZ8E?*Y zWvo6q@a$U=fPw%At@V%2*Wc|eN ztxSol<;LiwHR1&$D;OE9NMsS zk!B%AhIS(bij0<*Op;`5P9nE!2oFFPPJMnJDLaS1Hat8+(nKyaQN5O2zn}5yzw?S~ zP+YcnEgh|P+FnJJ!1H90va%}IBNA&(4LIjP3Ebwj#An?m-UC36-yR)HLJ|`>Hm9*C zcylb79YrUN7bRM-GiT}Ga(O=`;x7ir&MScF%vodcuqDHuctryo$U_r1-& zO^7r`CrxKnXckgrppzscfl!8qT1_?ShQU1m?-Cw>t^d(E_n!d141f9h@cq%8;Rl2Z z94mnf?UcaB*AgU#6vc-}=Cw?f$s|%YfFyeY7OZvxxt6+1z-vk5TJ}$*2LOUZr1B_S!BM@n&0LW{xr~Eat>a(X-*l4^$>YUfI$jX->4_#gLpA zL@%s3B8GTl?qmdRho+%VVl#@=qB&XF2P&h>}}^w z4iJ$0APsokGT@b?%{nB^{NlvjF4pjbXoUb!@t}5 zC-k+i9uSId1eK=Y;Rjy<(u9@31y1OdaXj0#&GuJ2@gdjPl15uo<6CkqTdqy)^+{6l zg`;Ol2<%|+mTi$Yi5NL981bLR>(l|sv1u_0If+WOIt7YKSmd?$@qm!<{ksp(oD~&Z zI$L{i9N@WpITW;J#i8UK1qn-%W7CzDDLiQLfn4>8WM1@w%APPRB1+#aZPlb_pXNsFzw4L>VEDDTqko7r zZGG>*9s6(1Ea`@1?)tRO7IF)^u4bmVo5^s5^lsUAdN8gS}~^(eW{8n> zrmIs#%b~?F+1c0D1Vqi^l^sOsN&t^@EwUnDlVk5OU#y+E9D<_q4x}aStQ1A0<;I6) z?W&rV6D@}J#1!Ock1J+F0agAG6jsJ@9||~f>KjZvq34-r_IGxE`f1m#yW@TrXNWW! zrT}9jN{0Z=`SzP{fB62Jd-qmux_3(jeRJnq8wxSX*(8y6`}T|g`tPN_$pD=%IBk{*1yZTNR{d*c4|ySV?JH+=NZ7l-fv zD5=f-Sh7s=?w9BOu<`+lE&KKk)9c#Koo*O%6&xr)+(7l~4b0U}RSzR1P54nxn?9CW z5^w>qbqq4IA=BltyD&1`#1TV zD$Uk&m*eD)xGv_rCe=-t9ZLPVKn`Kd9mG|ElmcSMq^iMwrY{B!G_zDFf3}tR9|DG-q4an**4#B z5xf-i;IQ$RwIz{j2PCV1T>B${q&JQZ|3h+g_>16={<3@D+TnFF$*TK*srl-o2S<-u zkZAa|=bUpiJ?P?%POpqFX-cwqEnAIkbs2u{P)Z6ccQ;6~#&3_3CE@Yg9G*vCfJVaK z{N_LZ^Jo9*OegJ?nPOdQwG2+6=gys|TeJ)^o^}y{y-jJyXNq`XdGX-~Vsd8Ytbq8hRuyMeCZiWqzA1T! z_nfj>3cFRQ01M<{ShTgG#l#x9_2Uzq^NWAUh)M)TRKwyU)46p};h}?wXVOt;>bvfFGq?LwN@lH=wta zz>{1G0Df*4S%JlGBdlrr&e;I)_-z^<0W3ma!?5UO!J(&5ePfTSK*T+Dar$n5Xn$PF zp=8-LR4=7VcKAb2HJ?aUMbA<|`^%1tQH^ypHSaj=7R8&yaG4yC}QQXJd_v9_- zmqnKs##hEH%vCFuMWyArGjpQR3(ndWF4~(jYqnxj`Fwkl8M8!_L|XT!AELYnfDze% z|M~tg^QqxZM|pRXfd|6Sy--><0xWu|>R6TLSkZNtslNUb?b*aw|}^I`_?!2P?~fKeC@a2f5+ZQyLA^3qa#kr7GBj$kfyOw zXP`Fo$zCJ;EgeIo8C&Y>Dm2sVUC{O>pyK!$SB5Rk`}-deuVLEk!9R9N!shDxB-1W+Q17?q*`3r|(_I5bn56cMY9DX3I~a*<-sftfQ8sN=&5a)K03mx~>hdr2Z~ zV^q}fs$(yqSY$a`^xv^tcQ-*Z50vM|7sW2fEs$0&+>;e7EKClnI6NzPV?lKJNx#|R zfI0rqoG698PTDslEb9Ce6=@hRLP4m1$b8vM&07cO^Uhn}jJA`;IUxJpw;0j+_TC*7 zdVcus4gjCqKYV-S-uHLD`Qh8!-`=^4V%WFe{=ftyYbVWNARGTU_FO(~)}pAg`Gsl` zl%#LeS#3rJN>2@lI2?@hc=Z~^B21*!WF$G!(b6<2a1Q`p7utI6{>QNZi@th*$CBKC zfI<`c#`_g-zK&|S*CPJq>n~G}9^EhbFZ8qDl*C>9aoz_vWUonDw#NQp?*H$r`j1h- zVz(;YSWVX}lL$#m71u7>O5ock3jo|MM8}VC z0gM8WEQ7ZMF~WF}H!9L>>ggF&KB0`|vByx-at9lg(u(k4J--*iS3F%1D{B7Nusl>f z&3aNcbN0-fYn9OubUr>MD!cs93--atqH0JYtsL;8V^vie9E<=SRUNN-Y~!6Hil`H1 zIq}Nea|aguw6Ze0C?=&UDk|~ViWi`jY4b_dN4DxUwUgHUsTso}K#Y2a%zXo6g{7LnGBiZr`-a`Fc$9)J(Nlx%zb z4XmkWhSQjk=1*4yxMnxLHBK+Zd=gu=IO3XU;*oMcB9R#?5 zBEy|Kn;YZ5xloiPT~ZXkg;$t7QyO3D7nYR+o}f`t!AXt+6j&$C zLX4sakyiE6u_~5>v821VHt~Z_%uG3cqP#gLIWH$F`K72GY3M^kY_EJBK<}iPFArj1 zbooP*X`t6U&_C4QJ<#1V)OGX1keQOQPUK&iop1qAVz0krnFAr1(s%d1y9WwKcaD5} z>&T`%cTkCT>hAX_FG3;d7WygQe#c(DzKanfzLzs-6yOiNSeC+%QYWM($44Bk={_OfDA08OMrL~CUyt4&-g)ukx&QI;?&0B>KmYdVKepaT{hyB){&(u1I2v%> zJ}%TNU#$f%x1u*Cf9{6J`9IF%N2UfZdTv>%_z-rBE#1w$Cn|h2b@siMkE#a%kKeYB zKWxj1Y}RX^Bp;hdyMvc2Sm9CWNASglLI#9ZGI_p&3s@?((7=w z#@b1%(Ih$X_zv)c__-^1RU*>+ZZ?3Ihj0(T@R#$3kA4w6yszcUCmwA5>%O)BvQM(@ z=KYfOG?e-K2S-6E>8o|SOM?FNS}QX=&Vugit}ZZbQ7N7giiW*%vR{&hM1eup>m;C!luyISNJt-MxLi zC^<5j2Yc2JcICI2))`A=Z6(`E^7C7cl9wD48;S=%8T|YiwusmOdZHS;Lc1qMrP#gi zZr$E<>o)pw_IKYX?%etAhwo0^MU^C|UVrxk8x|3rG$)Bs@(xHl3kp(hQOr?a+pEqx zP`My#^TOk~u`$xe=j4|2_e;~ffs|-&(l^+u*CP;V1mGQ7@k*NiQ$;zmm4~AalAo0g z^&}6#@ZV6%^YgOdufx8$_*%q+zsKG9`O3Nf^yh7nzvk$p4G;g}{zoC_?*Bb9PEzx+ z#1v7zZ}%VE&;tN{i9ybO$&!^@7phWKUoI5S-2kOaWOJWSU*$g=f}UKccx7i?iWfvi z_CiVwp}4rFp72^Wv^8tS51IVjaBT$ly z!g?7zXF6$}-MHQHlfgkuqz#$#TdsBu4fK?}H*kKN`ex5MS^dts8zuSM)IB|$Z+Y0MyNdUhkiOU?Ly>)pBeWA*+2Ui)MIM_b?98bAENVP?|sgW>xnkx%@~$C8qjZs-9>PmKoug~Umo zU!Cyh1z&ANkD0W7qfx46y zBSr_AJcv${v=ltjVqkcSbL|hXJAQMAN{l|oEJgrgK)GnBzqi{ov@i14J?fk1BMN@s zw=cgpE5Br?F{`%sd}Mryv8bn(*v*Gw5vuP@=FZM%o&n!-@gfe9<~TUyyHii!yR{O9 zq;GEB{pQqNlpuY3?^{k{gksUt0elE@rhdKYcvNMMU(5~&%2Y2nutt)uX9D1@|U#X%U>x7E{i!(rj+I^2$?CW44#!7 zr6sR%Yr;}4G*<}Vcx~@c!Gqzs!*l=b%T>ew9d|TR7W=_RTUUMbz=^n|`@=_%-oL-U zDD#2ac>o}2#un>y0Ti`x-4^lIgtWixergRr4ktvrHpTfvU+-EMy;QPf-Mn-O04o00 zEq1s~203nEEQO|WH(Y^QEVZ&E+D1om?6sW*vUi?2MgbxQPT(In2CBXMAnkS=RpBZx ze{+j!F?#7G8!@6%Akt-OsaS+x=0Q|QK6Ze71Mp-t^ z4?Hre*lY0O6tEl3zWpsqmG0g9o*Rp9Z{h)w=GgMcpK~n@6748YUZs6DdVfOn3TV@b z1E$1U! z(x15AKXAUJQ(yh|PThNhf9hPet*!S$Nf)ZpKKtFkX9J%Pe){R4*=)fgY+UTrCIxoa zHsFtD+aL&6+vu_ME7) zmuLx7)b%9PuK$Dk9}S;>Uvfhdnc8=MtcS&xvvftd|DCAJ}8`g4j z<^Z3Q=eur($dKgRTtt=gc2i^7ooHb#iF|#apb}6K?^_rQ&wKlb*mi+tz(Gu!fHZCCQ%yRuGw{p$X8UGJ;a7cO*}20C}{{Znt>)xOUF zG5XYu5u;l+Vnm@Cw{Ly#+;XDt>9HZq&!G?_Fq3BQX`*TtCcFZnJqxy znbMzy>`v1P_9i6XToV-=4JlqgnbNGW#!J08GYy5igp^kzWGPTkLP}KZ;sepp#$5Q? zisWSFj$=_T@RG!0*3o6^dXldysb%b=e~Z{D`Iq6pKX-rZr#s0F^@@$4yu^P+mb!)i zYV6i|{Iy;IZvv0^{&^!b7(u*)l(>OF=OD=q5ebjq7AB2)f$Z&DS~jg_#f{^j4)oZu z$8I^fqwvU`jgMJM$v^_C7i_6x`(T>;MCu(jmR2UH-T~szR2P!|25)><{+@e^SJFR;DaYc~b z?Ntp8;3?X&p5*6}o2KEfFelRRS06q2NAiQB&BMd@$K`ZRcSF5GxenOlt!x*xRFXP( zH{eIFE*#Z2#o`7?g(j`fL+1g&;;{ZyGJ{|mUu-`-zY1}`_)At-L zN~3H{vpcNM<2(I}iHb;rUa5>1RjMn~auaeEL{t+}^|tH(8sXt* zX1y^hdDh~}nB^f0p(DBKl*0HN1$1PFg6D{TDfAQ%z!z)Rzx%g1$<5*W558JfH~img zkN#o!4+Z}+vREW84}h2ZK@vMb*&oZ_4!R-%>Ccbx`}=5{9j|seW9?pmDEs%A{ zYHmfn#B6^7EUMC?7_kxeHr~B++u3jU%`NRQHkT2(a(x`HUSkC#fJJwnxnpH4w>Qxq za(8cC!DrGw2VH&BWs7@g;QY3>uCATNz3aBAd(yYHgmi|;+ImcVo$I#MmgLo*KWFOg z9T>RU4^l@^W`uRptkvsNj;F;o-TIy@_WFB@NVA)$=A8GMbix)YpjYy??BBLrTNoc7 ztKAtLq}&16%G3T3PchyPtdLa&@s-gyM>?kSl2&*OA4 zSP2{ynhY#nOLw#-VJ?6%oq#)cj%jS91&FkRC`#NVun2pSKeg$I^G{2+Z$%xW7K$i< zbi9hFURMFgi?U!5NFh6Qgrg^DAx7lA=cYgYd&$lJIeI=~{n>3@B?bBUH!rE%-j68w zeSd$~`N0nd`UkFlhKn>4rFuTx= zkcxO!v!EH}6U7SlWR*rK%ak!G;waH<&PW%&7tdR8$Vcu?z8buyMDU*_2jJ`A;V+-~ z!_hzg*YN!x*A6}SShDVk;Wt-3*ngwsx!=wGlTE^XHS*#T(*xiRkYtyj6pNOO=Y@$$ zaRcOBOLz1Dpg=j+%`JCtJw|XA(BrZaBakN#uqYs4gbDqpZbdzIoZe=$5Tj!xVq_~T zpE_dy3U+@&IIBrUYx7`#dj5Ys2+4Zy{fPRW3lZwJ&W4`e9`u8kfk*=uBhX2+Rj+TK z+N2mESbxVXU$e5K7`r^XDQ)JTIO= zfNdZ375c&yNJ?tLzUnPV~fx(R3Il zb#aAMNTPZG?hoHsKfFIOt{J66Kdyc5tDWm#QxE^;uRqQk{_nhxBle|MgDUmb-4E_( z)nZz11nJuk+|mQ!Qs1;+#VX?tw$><3^r1k`?hF8PnRKkd6Y z{N@`!&b$AI^e@&%)_wpIm5R3R{==K8lAFVSNI!S~{!su(U)^xbk~$GO9JqmAafj=W z)NJ!wUaNK+WKwJ%qp%JL!eq^DT%?Wt9Jza^m}u8oL|P#c0DxoBNH65nt^J>yX|*K$ z)xo|#6pB9ivHHwR?>o1PbYdJATR5n(u9p@YO_Psk!b<&*X zfp?zy)MU#u0$_w{v`i`WV~%dE4 zkHcyZ%9$Q~lzD&n!Lqo>RX?=||y)=3)|B60WDrywO8gc#u>jnYZ`W~7}o=jqwq zZz-|YeCSb;X()YmEldSG?&Ibv&)X@(fy!TpuWaRbN zBzxyx{4(|G#|0nD9z1YR;vQyt01mqT7IX{Ww7q(k!be-zV)0sDo7~k-fy%K0{&@Ee zyiNhivS_@%o%owupW-47AJ*SU5@{2A)4q5YEBHT31tV%FEeRkGLgGbid)O^A-7xG! z8V(3-!tUkop~7u=*r~}8%Z30{&UKbt8~#UR>fGSh);i8E@pu3@*@zS3EKoyP?KC+I ze~c~w6q4LriQK-o|8r6&?e5+2qF;{AqL;lM6*$5RM)a;el^0p45ebM8())Y_#cz4MnO)+_w%-jAbpb-xcBOh`n4Yp`B+Kvc>3`n$ph)^IPHw}m! z0Q7hZLo?p%0?5>9zVXomCpnX~Ip^?`O`&cG2kzhj7->CAEQZ7ft6y)imB1&e(3Cya zvGBk^cYjcQGw~wrq2!NF5F;N8F%pu95&O~_%E}0uZUfbAZ*m(G_W+QNHyrxzdtKL2 zWa_#y0%UR`2f)V-;lLdlZeu91Q{o0H#vPf$MUOfpx$Mm5J)BtN#V*op*n==B5<6qE zg}S4{jck?FwQxL6VBdE$-s`a-6Iic3JjNUVcZ37CuqBPTrncRgxPeg|ZMFxJCg}J* zWVa0Hq5qR3=e?6+vfm0ob@a*ulR8NOO7kW^wV zaBG@Ie0>#o2|S~#hg1T0SZH$3T>yR$nFnArq{&BH*EZVKPSUY5Sw9aXJw%W+qD~qO zln^Q?A&22P+^ULKdqLEB3JW;=rN_5+t=5#)_-xW9pDFktj5E znsKis3p91ZZU_feQwNd=g6nU~wQOi}7&jma_dwF44M|>nEI0(i6<;A`CXKa|Mh7K? z!~aMsZ6h$-*OLB$fOlKXvEkx4`Na4TAM;w`%{hylBYOaNld4zTK{Gk|sGanB79Wcn zxMqnPxX8_zJT8EV`?b6Jmcct|KIBds%+^UmXn=&UfC|D5NJ2+|gbm%=#%>kHwsHSa zy^+v&->ab@(=dxI$>RZVgL;*}X|NNrjs8xUJ|tpa@=-qKBj9;ktt#7_COYkcC-4o$km)@)gafzOpXTbCnpl60 z`-5X1y!Eu)+<-q?W3QPZMmCs0NaiBgUcH*yIiq0^O9~0>0F>bAC?Z+!CYmPkB>e(> z=yy$bumnv34}cTLj$3xj@!OEcn8XQ5lXA;=k*n8?*lUu-hhdBgc;+s6yqeb zki=St68Z?hVt30GZf=~?aNrjE(_9Tn{!J&jKUn4&yq&NIz=ZzZ@lKi#1&gRE4S~5O z8NGx=`&2~8R$Q`?A_|f@U`YrJqqka2Ekv zueXONV~*eUwA>~htoiKwK$tUW)I@&r$UYrt5VnXB2Y>|AI&Mw@5>RfW>h^?r06dW7 zynuBvBq>^S_C7pj7l4lkk~nUevH#*}Gig>VLfCRcVD@=5JGG?IfD)T=331eMBeSF? z&6L$E(4!emGV){JEjwlxfQKbb2qcjf$O`T4Nn-&Sj>Z{cx3A_TATi%S9I+%=ARui6 zNNRG~jD*;QA4u;`%ygdB zyj{^WrQx9514$6%-DG#2UbtuQcETP4ypds%!v(Ue79*GokR17q*!|h|0SOr?Ac3J< zfw#cR%983@r>KY9jlC+zq*dCSmZuk9|7WkVF0Vnbqq8Dtzm$=)m+ z2PpZFJ8lg(r!*XRJOGfx#4Jzz_Qd__9YWG57RcH+7177?N5YaU)C(C;*#@rAbb+^Z zL5bK?haJ_-p0VObW%d_oFn%W)!|8h6DU%I@e)^O4O$E8kQ!GO$bvyLCj%~?eM zO$T})X$1U{=Tz)96-gXThQJ7CY1%<+pVr&w{Hl?$B&Ke&){?|c#V&h>a05v4Fl7a8@D>yzdFB4tGa4^Zx&fMz70V0D z$|*Z=Y`rYle~xm;$V($l^;@ezY*E@HVo6-}DaN3` zeP0swtwREDn=fgKdjQ-6l3aZS9Jyt!@!R}zF%aA@ZRZ^lEtyf4wm3ODsCfev7_tBg z%dJd#C0?4H8!d`iBlbX&bBFI2=tW8~VqYN3&Wr5jU~@h85mNXg;-J!G2bAo7#Ym)^ z<*n%g(mcr&_W+bntz7`@$EV2wFk4&zyj*1pdYcti?OmnKUXd%EH6vGjB5VT$ZH#_F zd98A0nRLyPO^I`=Mo`6_x?qHN(h@@*#9lKV$OzW}hlAoax9GCp+ULd>_Rm2^3`oG1 z#ItQbZ8J_?y#jeW0NBZJ#FQ=Z+l7^Dmd`0Vk*zJtS+Rac{Cp@XI(c($&T?o^L7BF2 zjo+LV{1H@fr|7|Aucs5k`a+Ecb{KojZ8RD)C?OL8O3wL`Y@dW2^5&^*4@6zdl!gO$ zxDGDQ)^r%+N5pUQlTnVe@qm9}czC!tbBA>1n!?R7;m5;QU^K{{waJqOU?E0_sNQQh zR0BH^d(Cdg9t9u?x$H>n42+8b(Z9*qWSbC{`v|No$!_TKBd%8+tNIyw6n7q**r_U$ed9I4JtpTYAQ9DV6q2kX zO+0&{%M*LtA_u@7Aj#c50FW(yTU0P}#i*|BRI6{ZEs%v-7RbUvjW095h*>e>c-M%f z8_Rb`>{gi^O@nZb$&Em|!QKJ^c|D2Cp1#~72jGx9K$6SXlQ>Mw(puxUM|oYR4kX!G zAWH@$E9KGn!ZaSl++OW0AR!|GB%u>kCVTNmcE{wLm~pejJoyR*0v>5S$u+&};J~w< z#69X+PPk>O#yWT#_~?(6I9?#jx=~1zDCfvDVq2Ofbi|U75r7iH9CmZsbA)h~y&QoO z4o23!mLPT8i`=MfF-~bX@I;e9PIv&uBYyi)b^$nAAZvZNQ=_kOwvo6Rrd5fUD?d0= zvBxIc*ox|0^Ke`%*q9S^j;8)eSOivXd+`{tI7W{Lz}3g)C3a`rvSW_leiZB5)=nDi zc!4avT4T+@57p3jnsJCUyIN>$poGvnbFd?pgmC95u`au)i zu@?}u!u<(~Th!E?am$W5e)|y;y2f{wMSL?%W&9w!!ADw`FqgQN+*fS;GTKS6N^0jqGvEj#A;?MJ7+&4|6W zw?LL1FvvLIi?!UC5{+ZGHU1`g!LS_e;0wmek{IO7eku}GP9k;&-`GT2fHOC*cT>`% zs#lio+@OFQ0J6sefH7q!+_EB1{5A?kNfmYVzAB-wlM7@K$DSd)<;G?UqCeIxu#|*; zX@?3v-60gb8;;1~(E}29Nr`I~4so!bg!H{FDoxH_FycNALYE(Az4BB72ol?)tlYpC zaXsoi>q*cfZmf3vNmD$2+egz}-(u9aHZ?WrH7e4gG)D_$5tzG2M!e93Qoj@yvNghR zvLW<6%~#3as?eN{%DZ_uep&3X|9ne08K8vN^(B$YW>k^p#UJra?I3h{LiNf7!@*Yx z;H4_$+2@xgXp7X+te4$SGr2`Qi`R6_iQm=~jovRpqwp z5D+$hszXw-Gj3VlRC57%C1upLH5l~(i(1c|y>y}Hih1C7SBH-_G-5abvp@_oqDX4X zt60kofmtk-=s&GyI$tH|5Qc^wR^_Tof5XqsSLQXZkEm3}NcZM#ZcgeDjt5IZ?9J10 zej`%#8p9%ZOjtx5N1@9Pv0iy*p%{Xe#x2T9d2%6te=t;r0?||R7VSw$$|+Q*9ZJp) zpAY##d*VPiB6?L;E_p<2Y7URX902S{#|SA8PZj_s(scU9#-_$b{n<-z_jGj+UA_9j z)xIH<`Len1LSu%2HPg)Q0KT1hS`?BHN(o6gU4Xt60F@Sy{>JI3!@pUdw@Lt7L8ZQ} z+!4PwKAIm=CQq;2oL9LwV)vTn{2fX15qI1;shmTX5`F6ljTk}v@woXN4_rAQa^Qfz$wi(S0^u`AWeN{mZILyE8e*;O?)S3{C> zZrROa{e8Lr##`^=inwTG(IN2tjX?gBqPQJlJJqquIZ#wVUc4y%W@%x5#46~g#d6^& zSdy<$C>)V>l2of_6=~!7TbK&#N#@U3&M(@sC?0)vrCJ@lD0~H!zAHTq`YIu34fN$g z1$cL<*Rzk$CV$b4NqYdfe9X?d#4K9;_M=tbPO50OiZlZdXEJL=L>{~I@PZ)Em&20dgflz|LakavvzJ!yq2&qN%89Qpaz};?NN)8ck>I2 zQp7m>TyODNPB=8V+?M2=TlUd(0r+TYuC*8qs7PyS)t_wuBCWR%6KTC>^W|;~ge+hL z{xe3)G z-r?%(?6CDGMVh^79r9l$YgNMODuK`^K!w2r;v^`cm*xYhdTeZ+!d z*hg4J+C+8gHBDky-5Fe>S2mXN_pcHwV`o8OaeEUUPe}9ndKb!)ei{v}3|1^n5cB6O zTfR~)txO3hvp`Y$iV40>uFnCecIs+AS}p)yaRsT9cJ}QHJy%Qsi>?mz;)H0>M1T;1 zN+$em^ML7$kNwv@Ht#bGeQiP7}&s9rldHH|L2Pq@Sqv?nV8g(GmIDyD^R;q6aVuib*a5w$@4 z%=6IE*rhw;=goiSdH#b0Rd!7LiV$Uv|E8=*9g=v?E%NhwR9bFH8O`)gTL0Cn!$L)3x%XF7xELJSN~V>WGp{5cz!_S7BBxNlPB1?^>BCq zAc#Na!CP0i+_nRerUQ1z#>O-4cqa`PX&41UiP2E+KxbRGd2g+`t*7MrfZ4{7%r;BYg=i$GD{k} zWWBVYASW$(&HC5nf=uOM&3Z)OEAJ4fgmRS}CPkf)N9ovxQ1JTrTUr4hRf1I~!?dc9 zyfxDW>(xc-!+X_vMas>4x0TiW24m}@TU4agSwvbZ=%k?{Z2%On2LKoi z^rB$Yi~cuwxvS**c}dHab+Week*oU1MQtlM4Vtd@G*t*J!Px)+WWp?sxVBHjC@h%qJmHJ1&Kv#!V-f2vtwoc&DiV%6?@ge1!`&aLP1EZx@|{V zSVdx}P^kJTEI%!<;7k&AZUteTJHakXE(8~nB%D4YJ%<;zCTabuysT9x^3JJC7p;GN zdj8Fv{JiW)S!r2;^rW0^*x!al@^SB^IeA>?0dUV<017|R&tCm!C}h{lv@f6Ev-~O9 z&z3Hq;NOeOXIh+P%3~h9bpcC4w9RcTG?8W@MrQMn*)(M8?dk3{na{V?zt`E2ug-s4 z{hqmG=PL8uZSVD($hr-Mt=^&Dp@F`mZ#Pw|u;vv`j8r_>H?bNOg9cz_Y62XrNv9GJ zW#JA1*o!0(p5}KT8cj!LK~BZo;Qa~F^3x%)V&#sUuC zu&=NK%NXGFebXCaN%*Dx##;rysO^v=KP`$3j>?n8$JFPo$(60zo|ogb@@Ag0xj>y= zT_js|ItiBhTEE}qbkdwXQ^5mZ=Q@;gWoGbRToI74f9=jy;`FqM7O*acBt?tPxleqk zTmU|rYD}bIoirfQdT^08Fofcdsdv!S+Y4mchxu*iWj8+=IxlNWZz(CsyZ%L6R@eLL ze0@wo$<0B684Us`>K*9o8|dxsxpdahq!XxcktRq=%&4hvFk+X}1TMk+M~ zjhHFh;!-Ix1Om3Fz`G-zJm)7zDQvul~UE26ExzbC)t z?R8Id#n+{uFHyIZ)NrSZ`252xkx1F2-=pjrzmyD>7T|Z6T;War15LkUn|;tY;Q#AX;ooCur{J)%?h`MB)^R2dTS?5hZ3VJ=Ao+};Bz1-26c6H5A+V0 zQ9K&zDY)5Fu&uVlnErPDJO6#@*8{!1U2}i^zO4J)_4D24^PggjsDG#*{AcRAaH;(a ziad>tdSgp%wI<2O+e>2;X(%xQyokV}b_4jUGc?t7$W_Z?UtXCnQx;vzQ!Y7rGk(W4 zY1Ym7@b%5rS+760cMUSV!xu(r(R7snRGF}X5teqsI&Vg9-1$zI3ln`Hl~7P#EJ$n) zD|p?vXlGttUMck4!dbZs=Tt^Rx$1~j+T6Ul;>DPDg!peEzCyWWQwm0l1S$aFf{E|y zkL+YLxhx03E!LCFAYSo;6zCuS^6W~PS~SHV$w?2ucnsc7P_X3o;u=DvHR8ki!0tFa zjM*J851P9BdrkfQ>o4RNT>tDwiMn>^qje?fcg{!T=lwe5{et|i5?R~8jgtKCl2wEK z{R8O1c+tQguhhPM7RRDiV?%vS#z|NpQ1SVEl?rM96}Tu|q_ww`(Wt%M2wrWf_g1~4 zjujP@1*v6zg{vOp?~Mz-R#2G}t_?le@m8o@0BBA}2Uhn+5n{D91rBCQ?8b}QfZE7m z-;?~HYh}&F)oH5C{NOTmj%KH9votrkdgj7K{}Yo}SR{*oOeGJKR;YZ-1;6P)WgToO zkP|(90l*+$lBTA<#$C|JcE@lgboo)$E9g1MxDH-kBDG99nODu_H8o9>v!6M37r;1b z0}y-dUei#oX~5ibxu-3^c3nh7TYi3o`u9Js%hz2f zSl6Ea`uP%6vE2x%9UL_MslQ}B%Ay9qJR2d>02b-m>MB-Gn=as?V5H&+u%48lx=C-r zA_MjhM}BbG%J+_>YVV9X3>F{Rh)I*No$vW$-+4)1Nxr(Iwx-kE+uQqjU;p6HP~S%bePofQYpJc#pu|XpVv!fnRp1mT~%9BE^{Ip!qA%uN>VHMuof-z#$!BeSD z%TMCOqPF59sC>B#`tL=JCdbJrTUsAAtzfC zdM^8zFYtGxP=rj!+Hh9CqgA9;TO$roEJDEu6P*obnkEwfHfgbFvcM{B_L84w17~gBwCm$VTHC{IihBUKuS1o3vaX-YYiiCXX1Q+g7Tc31pe&F@amlN#ap>sPfgy|+ zT{c^1($E)u>)L*|&!E1!F25yT*3#FLckQD~mv(M@=j!>kuEE~UlAG82h6X?|a zK%|AjJ{U3L3vgnTL_iT@vjh3^VSSU%NMMn{Cf{t}q-$*r^%iy@)8%rN3OD|M0elpT zPNTHwG)jzwxT_L34>UIE6Zv?-M>t*Oi^xOeNvHV&1P&_p$_&=z#_cHDRv^vG+Z!C8 z#ux6-+Of0r#NM0nn==d4u|6m8Da6Hr8;5sX!@y?hdF5eFDCI)fL$Fhn)z3{8`{ zGA&BIX@>22*>xTOcYq|jnn|XeoGbCrcmP}y zzinrMEG&fT8+!)2NgivP$$Fq9|FeDDwzXXuEQxGM*SDPO>h0|AHVyRm4fOX84fOV3 zHKQW!tlrv5tI;IE-T;eKRFP(@Ia?m@h){LN*hEydjU*hh6t@iks2Zy~rpvLKw6Bm5 zX&ov75NV;+wHQb=68$<9z|H~zOUWmA5r`Mwt}vbw%)Gw=7E0Gz)(Lap-E?}YFkK>rMe9ik-n)$g$=&Jf(}qELPeUu z7YB(}3l@P-#s0MG^i6e;P?(q|pZ;P|?4tGCV)=qhb;7lx9m<``8R=4GxHKoKs5$0l zg-8nvedNC0f)4p<6Oh7 z6H!4YqN6shSa6^qAq7%|WTl}{06{aXQDqfP?g?5$-xTON0T_sl*b`{+wl); zSs+UmX*M%6LJk$fm(%k+vEWX?k3w z>Gc+lV)YN80;-LVOb?O$Y-!Q9gs{AVRWEmB?p4RP{Vey{yd7$7h&m@NF_WLE#UccJ z@lINj&{izCNK@PcVE;O(Cq=orT)_G?IsfD^=J;*<#w5Ix zhR~KaA~b-o1stl1TidUiZK+0-ERjF<_o1w)AF~*lx^11bb|BJxeF%#YwO|C3sS(1O zn2%p@GibRPY+X0JJaa~Gfdjox1EJ&y4#iChtxZ;uMi3(%xlM<@XlhU)s`PoK`zzC= z5j%bvt5JmnXXS1FKZW6$MX#U!pUfmV+yS5F%Sl~*j2K}e&AT|G<{U+&5fvlw-SLB6 zim}}Wq?qCa^lZE~%kp?H`QwkO?bFJtXXd3v#pfxLH!tU}fBaN>T5`^!7jseJHZ3nD*!8ltJLqlh$8^_ntE4wUw`QoxAs$|&?<;@kD33)qG zX3h*cw*?A{4~~jiRSZFgs=#h82UJAYGNmEOF6JoXr$$Y!c?2PTYrnGst)Ho}(J$S-bfY``A* zSbZE2BfSAgL5(l$`z{CtAczrw2uz?^z{o&jM@9k~8e2o5^|I`nl`;9ds|# zJEZD(QI2QDSy+)pr15=drLTX>Ra*iZ#`V4)huH!g4Xh=jF-{oOmfHVpaBuS_D-wfMN3_m6BXuQyU3W7LD8Btyh2-MvR0k z6(d^QD#vmUU`~SC8oT;2Eb6sj(SWI|$J$A2Z>g`=oP@nqJex?Px6&9%_=ug&N5nrq zY;0<^h%|$-AKDwW$V5l*{4M9S|S35hJqQ5w?mnERMh? z(kx(fw!zR=i@x60Tyb9aPxDtSPW;7s{ci&WwU0xcXZ1!KAQIjw@W()7Nr7;2Mh$u~ zdP~BAo@Vf#f!iH|ai?u5t#VF=y zogTP+1oa9=Q2evi0F>0yGMNYp#5e$oL{;JOvPql0eTX~&=q)w|7XUVs1{cF}giWL| zlYlt3kx@!JP<7L#qgVT}IS_&vVKZq-K9rd>CNtuS!KWdSkZXSjEI=}VNL!7fM1z5d z1UN(Mq~Tn|KplZ=C%tMleS?}#J%4(KrCwx7ceIGK42wvkcG7T>rpI&|%8Y*f)VX6` z=k>-7OEVHHw5ywoe)Cx7xnn>1g-^!0!+R}P4i}LajNweH*do%BG=vtkCLFZu8gysd z3D83EWk&XLs4UhWnvt9r9Tagu8&g=6y-^W#KrB8K5~GZLDJ4od^QGK)*%tJ31Gq59 z{)R9oLzf>(y#nFcX}nqL$h`9K&GC`j5+o7vYIQ_}EJ9s2dAG|$du^skfHM+pPxg zaukhb6eKJUlf^E9_8-VOP@WzUeIjXnS@MpgtYClWNN)Blg+jp-Ls4Z~uF6y**iY4} zud#C{a-|2r9UuuKDB{f`h*zdgh$t`DhKsc22PgHKxxA+4H=@L>kqzF`EJpaoGMKYE zG;&aa1*;nxjXG4RBqA@WaAG8JlGX(1Bfv~Me;$ht9oFx(y#nyHmJ#MAF zy%7`}qv9Utp|b3RRC^!|TDdAdEjcGE=fKlp8={mi|5EF(u*Hi6u&8xg^f`K?H8tAV z(dEJ%0C%t@SqVycq`Dm1<`QslIV6oNF)O>uNi4z&Mm|itqb3w~Vk;49E0^?bHJ2{> zU(kc*zcrh{VvPc2@9N?}v907>^D8`t?yQv@a?tG_227 z#DNn-xpuOWi3`ie5%vPN5VmyEd`WAA>@XvHyJwvTCBAQKV*{mNWGx$$Qvs+=Ht@$n zbx@MiO2|HguC2CabpWrpxxP)OZ)MJ;;Vm?b?wm2Sv|MV=@Hzb0PflumV4w5)*Wr`Z z#}a?>*2#u77uqT=>Ds{Ox3)E(Z6}K~P>XM=Z`SyU8PAC~n;M8IT)MTJP?dUM@Xm@) z2#yiu#V0Eh(jX`~OO_TOw)2z(L>k_(vm}xmZRp+9!2K+!zc!U2iB3?|Q?jNuGPkUq z_-*D)8p-lwr7NL{%*|m8NMLM~Mz~f=3uzT23o$|*0utf~kPvP_5(-t*@xfaoMVpb^ zXcP@+Xt(voELhY8BAM!&Gm;3mjC?K-#wBwb!p z8yQoslCsfrFCM@mmQEVe_T#Iu!;)y6$X+dp@|_W;v65xeEGJ7sM$VGF1;pU3tzbkB zE3viGu%a?eq%~shfeK&B9ge5_6=8SOks5a3TNvJe5|6E{*Z98W^<49`68%4AHa0KW z&~>up9fy{EPZz%5p!xSTDHj420F25-H*=yM>9ratYT z+*jj^P*fPp1E0HuLl32f5o%kX%XZE77oi)U5H?uk=(x#wZB3N68l#V9sTeUuTD1no z%579Ha}wqUrwr>`9>W)3Jp0#|#Xkv6JRCYd;6lrWm91?VhbuDL4J{1@gYlh=YMp_C zMOgQdO{B4&>L!Dc9{EJVCXgd;KfQ+MQ(SYd8=b%)te}M0@g>nF(C7|qn1yO_cHFpYNeD;B z4Hl~Enn({btI8qxhNU+~7iqrSBNc%(9 zm%s`XtdWL&Vgv9dS#%PxWtETUKBWN(nFfn#if)`Tf{|byr%21NhIj+KB{EP*Ld{4k z`-2-w*UD{$b3SzW(bFq#()4q=fE}q@R$2~uVzrD655q9>LJ=bI)&zabW z%Nax4;o7r$5X6KNBW5Q}JBB?AK6s&?1Vl!QWy*3X848j}t3GE*I3SC(c4~~@ zVsdecvwqp4bJ-)orFx~Uq32SAp%s0$X=&EDmMXcto>e_Erpyly=Tkdr)E*bDrNtZ@ zljAM`X6p;#a8ujwxFJI3&NEo(98qEp(b)wgYRkq!BKNs%g^e z4Ae)o(U}(tH-PP68)_^__p!cA<3KuQ?b@|HQ zk-BBIdm*Nmi$;r|$0pK1zrC&^ zRNzz$2mNF;HtNX9j~3x$bB0^0*C_ouS5v%woVG$@g?fXH7+E)pV+}h^u^;--sGwzq z(+ftly0~pq3#0uAE~BAI&o$`g?BeA|O|R&?K)??A0_+{^?(VvNp+Tp|!nZ1tCi$vN zbG-*(WaWp0Qiv&|U@kwAkm)y>%i3=RKk;93q(RcuoHGW&r@+* z`yg4`VqCJGgF*VcZas-hqZAbwB$?Hh@qEqZFJ1vpDCFpeG0I6SJgnO5hZ^EhTj;| zYHA7OtZcfh;pWm3idSnlibOZ&^_zzVdQB$FW(%`vXsFlR-PKe3wgKGN&}WL`3740y z&jA>zTUI$uKz@uP3`xWM2$e;V2XDCn2`1tJ#(^avP686*R4vK6v{4|et*aiTNMi;2 zh9*J~VZ^A>YIm%!NerCOyGgSVcoeSHWEA_cUJ$RP$vTQl%2=^-A_F;g#b6^wxM3Z1 z1+nN&+zN57IfMIQHIjtW@h+jbQm-7;n^6F|F|W_`e&oeolew?onkR3*48l?eYIz5% zUvDsiTT!oTo5&Klt08IRiCNMr6&GuP9r}`BZ19$Iwx4FUX01oLNV>s7asVa_%LU%! z{kv#G?`$-YrcIiZ`$wRre7n61s%vVuR)y*@& zNVZ9?TbPo`L^YQxARldWn^BJ=)4B01fxFxTF!DuyqB6c6leC=&Hu1^w#MNBd2w?#Y zgu^k!*>Q7}j5H!pBJZ_?rwe#IzSl%PDq3!$BF%>fxeXZcAb!<+^ofgD5oMsmk*%?B zNjR{Gv_@Q{RTPitk?uMVfNRM?Lp@+gC96zxuMhrh-ny3FW$)~Kr}vB00n65%?g}n` z+uVjFEH@e&>Z`}2(B$%&mJu^$e${4(%vumT<7wbu65}&0E&x_%5Swy?M?z=DO}0_6 z$eZWI<3m&GJiQ#^XDbheWmTp@fxzHxEg6yBN0d$)*$PpeIGVe5WAoI6Bx4U)v{RC5 zUUu={xBhk6_1{VUE#i9r`P9#dWvQkvyPZfeuXs)UMGTqrs6Z|rOHIM$b2TGp%6>|| z-GL9v<2*^&A;)Ig1h&t>T5c@kWvtM_>Qb7(jvGaz!7zqJ&}4y8pud~Ikyg4TAUC!& zEICUWTToC6@r_N)UYn62(i%~bcCK2J6fpW`i$?6CAKA6*6!kq=lda^l8*vi#XJ4q- zt?iHdbl{75{g!QDJx&3I;$Zc)i+Bm#*w(BWRiVlC>q**1su6ffu~c)oxmUC`#fIxEND;B8h_}i znAmvHa}jw5vQOmZ?WkG~i5r@9M0wk2tr!^$XKbA`%nDH)I7Y!ave4!6g(O#&P!xLL z0WgEETi?K->GOQ`=l?EAUG}SATempZj;LVZS5enyErDl@tkC3g55OqgvPxfp-8p^i zZ-+oAKtbpv9JWSPy+$4uv*TZJqJ&_Bw?d)Qpyc4+xPTJ1lLm;9Ys76Up;Z0kYr?`%j0@nT0%)` zyinWIW$Nu6#C4kabJLB~!E?Xwwd`;1y)c?@yB#YufnSrc;aYXl!vRUWQMhF{Yx%zH zQHyv-3jGVip(o{uCp*^XtvR)@8hviEMuOw@(Bd4rlx|GHSNKBRHLM$Rq z!1hVLd~EUKoMo|(h3r0XB01*3g35U-7A#zJJ69?_kzA>aN{)zK@l={Wq^N6ZZ?K89 zMr_;{Otomn)ufH7%Y_Uw525U!sn<^mh zs+zWo7&7S_>T4X7z#l>n00fnVK~@MNqXI0K3t&VJcL;oog$2QyGUeg@>ci_d?|uBM z{NR7h-61F7z}9ke$dXuQ%SPF8qt&Mnm|nehiyDsKCw=pbXhi}5-s=7Rc4DJ1u9=PSOTv#ZKb|Bvv?vN!fmcwPvTM!z&X6h z1hk`%rlPs_oeMo(moa1_d`Z3IF#0DhuCBl6&}-@X9Dt^ge~l;`A}~mhL=Ynw27aCC z0$)TGcI{YZLGYUN;9rKttg5*7v!J4)*9(g_|DVEZR@7LX=u|BUVFcwOV_`{FGl2z* z5clh(1x~`_BA`mEU9$*!W#_7LX>fWev_JSrNM5WcNOT}5_ejd|+#TqrY@CS~+Ml-8 z+pjf(K|UbTG!t0vah(UiwR#0_GLZ>NU@?YFwO!q~oU0k13j+7`q>5{}*AnHqbs6;E z<{?)@(rDbWRbcQI>HxKC-;-f`uf>;Y3SyMX9qV6DKK#?{z3~-AIoGl? za`O%+o+QQKTI07JvLx=*NBcu??6_nBBchWQ;03wcnHWeCuOOs zH%?0uR!V1D1f7qzuEmHKnp&>eyq10sp9cVfyp??H5uUhr$Kj5SVx%Ke+Po&Quvu9Y zy#8Fls^+kw(#+;u<>sP-_+y!S(?SJr!5tl7&Alb}5rrgVgtE+asXTl zNqCcqTQl*->Dhq4ZeB2oM!8F@l_tV#iI>2E*V5%lyQ5;t1wL~0(XGnOD~L}E%iEDz zu%kLhv~lx}%pHlHH-n{`u;|R1)n(0^jAD3t2Pk)wyZ8W%Eb-eD3raAH-4Sx{Gwv-n zey;k&0>6#w$HSHB()eh&tRN;jB`W%<9sdgLiHY_rECshnpu7C|NmJAVK+L{RJVD_v zdmQ{X_n(>fyyBWRY^b+Uf3tpUUdwTT=Mf%k@HR$^iYj~h{xJ;Q&m-+ z&ncVFE6NMs8!J*Q%}OiGo_XTL`q-H}Q%j>~9m!1=txzb$5agCOOPvcn0Iq~24W1G; z@je9AT=0CgG;Yayi84~WGbC~g<(?q23Rp_qz@#Sb1~!f2H^C1NhfqLJW!{uZOV?)w z|9>kBN_{gm)8!~F0;Gk$P>q%^2@B<#MD`p3*zOWs+O9U5ii2sx`VR{+qCHuU8j}3| zAXVA1ry|~1pO6)uyDFyOW{McvlNBB#O__P1AXuBMR;MVSfIxTt>0RgnaH%bcNQs(o z9|C`A>U;=NteiJLJq3~mZhe0L+Lv!HlSK1Hf--Q&Q=*7)ko*PPHFcIk)A+^>j5kxp zn;K6s?+7SP(q3AZ_IiZSu1@#}@BhgFYihDb?XCjvR?vzNs*#OziGI{m2$C zkLz)%2cX`dn4IhIB!DDn)O+oGpA_rZoI%p5nxTu;>MI7KA^x;)U6J zL@OwnOJaAvWvm}I9&^=obMbl-EdQRf={J5Ah>+djGB$1rh(lG{Gtcvn&RZ%$-|^!- zyp&WG6?g0v$%e1vWdFM-B1;BJ;eoHFE~0WKvCV7Qs%snfTuWWcXzr_g5Wmf`ON2JE zk8l)|gt!X;X6>EXk!^HhB*2N$BXyizce*k!(Vo5vMT&f`BjFL%Rh_G`A)WdTri)lsIio z0f4y5(X}UgEi1;n+Nnu9sxK=O@yUBVNLYi|vo*q`jR3ISh+Rq6;?L{4CwGGf=0 zyA@HWz_WbhnO)<1JroM4T$-ccr%UE7`Es5(eeHa!-`lwpfW-}5yEq1~4Do4gfK7$*9=AUxp=az{nCe z;1Hfi&aSZdZN}&wk>~hF96f_<`f}f?Pwr&e?XOaAD zEWFDnqpr<360hZG-LhUv0c>}<2;IPKeJAeUMl8l8o1>dqi&zzR(bZOt0Chq`{W;(fE0FXRR! z>Y@@_x6P6Tz??~&s>Fz@ttQiD?OsA|h2CXPM=s3)5aTIPfy#KbEJ7VG&DPqfYz6oN zJAh)HblI*aW1$((mcAaK+V;x?2zquyglIYV$QG}e^ZDiD1W6O~17luGVzpBpHKnw1 zwDFnN_-#fUEld9lVaPe(w=^1|wR+8mygX23d&1_83($z2`h&mVfU3y`tPH)&Zgf9a za?_-y?cl$1@QhrpEtAHpBV_74X|~AD819iZRXd(cRY&HC6QJ~kD`O!j>*Z}2pGn`f zG}imgSXoMdbp9S(eenzM|6g!;*P2`tyI%$=ZUCPp;x~=<8fdd2tW1rtuq1@#4TNUB zmWLLDu0GGhi^dU>9N>%{=wTq0<@=Dn>BMua<_6b6k}Jyv6?otKAPIo{wBehTp!uJt z%ns*5CcXkfv8*s+;fg(}r9WS|XC4MgPsWNiggnn%nYuKAw-I*L@9~kHXANJ$#PAo~xz&pyccl176|#$uP<<}O_ngg2R-(M#}+ZvEx=h zdINuUMSu`*wvma_2x70NPBCeOk4&+D0NWQbG2>BVNl7}ftA0f;9lC|^CeuiK2pBZY z28E_d6qzcO*`z`fgJoQ)K&tw11F;F=4wHSry{C!737 z{T-5&d|&dgK5wK8WO;s&=Qt!rj|5AiV5l8Ps&UzE?owOQHT^gd6hH^WRIeqE`!iYZ z7p{Y(v3daT_-(dM+6W-YQ{Q$#v?h)vMP)sX0@D6UF8CUMmgEFgYOZkEtzPcRUwMmh z0tgE5S{}fVNom&w?luAz&$q1`i-BJ`ZERy8yg&~mu{@S1g(dMHENaRV-_sS)wxxO^MsDHDzH zN^JME+(-}JNo7gUp^cK#6<s1Qk(dEYfzrImIc3kyUAX+~waX{|lByUii3^m9 zN439ed?GV%I^EE6bYa#>)dR>PK?b8m!P1nHo{% zvRh&79su+x$9Nm^wolQP8!Jl!6iFILOaq814{ea5*ILczjou`SBgMEo0j)nynqU`g4s2(1{RJyIVnmL!H|1MxPYEJ-|;JE9BkB?LbxcZ26=7uK`z9k)JBNn`r~ z#_R&{b6+qSzwaToUrWNONYqF6B(NmvV|&6`5@hSVO$bYJ#K@< zZDLuHm~&jkJ@pD?wJle_)%s_ zR@>yHu_Py9$sIfZ?qN%!Jsv~5hVS3MKRkT@!ACbRWV+t<-s+R^1R#?o2cUM0--mDk z@OkL39-v#`?692W5Wh^hqA>n|vM32!Sqg>4NVU?!x|hRei63>AM2Zt}h9zaowuvAz zNtgmGiRipd9!qk{CE(Kjd!QS805Y!J$IkUvKTii~HJ46*OGX{_#R zKimZnP__p0nzLs6;sdinVrM}C1v!aXrD+@E)0RJXplrc{pyVAqKOXCvfJY;KTMTis z7H*aVDAH^i;yn5+37l*&aX!f`N$kFmq;Xje0Q2EU7mx3C-e;T#I5Gj!bR8=+d5=e- z2`?gTZ$ifUBM^hP$vebQSk{ih*k5R)Q6(}X_oj45^t8-^1O7px74}%(Lk~%$2ZMM- zED5Jb(9~l|AcAF^EZnVFl1p;{h$fReG~5`F)OF)N$3ZF6{rex?Amkj1Oi9zn^aJ2K zZZ%C~UQr{(AjPY2hd&gQ9KR+^S|*+84?P_d9T1l756x!Taz{O050?u-46$Y?j+iAu zS!2xRSE27ZU^WJ-_PmXejHNN9^ z%pL#;+I$@QuP}c3E7H9&DY@}0!lcWg8P5NTAD%1#_NV62v81vHlp-mhsmhYjA03D{ zvD>gDmo~fbCX;)30BDfJ>v{0tz7ywxr3BvDg%z4I-aQGAu+W6>xE-?xz!JaBPt42P z5uP1hZYO4(3zq{Q7C;(5mQ9zquoq}@JBsu<|D7{sxVW6UhcLXpH%mnDHe zv-7Ot&DAW4SMJJtT4OV-W^%=$&$OKE879=($PR%_=1xnY3323TBJynw_2M!92wqhu z#;RWZ+!T%`iX{Px_Su?h-hjZ!2yb`?}+?$8Wo97Qh6tBoalM;w%Y>w}^;v+U+_TmJ~Qv zmNeUyR6VH)yYzB5fFu?Vz#jmz99<`gYr%?2!(TlZ1u|LXTn|=gS{=$PffMoLP2(V6 z#~i=yZji+Jm>45V!ajgfq&zD{n({0O68q!gZM3P9_{YlQwa(R&IC05uYOW`73`rIb zK-Ql=Ui;C}f2@3Pe_geeE)9=}I6Zh^bAjVt%XdRbC2)K_$-$;^a9=)R@!R4FWl1PS znrVB~cvuo9-tf-b=vh*Ed|sZGHzt-%}vy6c{E&)H|!d7i!R z=v%(L)Oh$Xvv{h&vv_K9^*x$MUc;)=joI&A*5w7S!U=`UR6a;(dM;y zzVWc512~Ea9Gs)HgAXg=nCPcZ7NZxI_C>GCWW32);3N2=IOVqA`D|C7WZ}KhiKIe+ zzeJ^zH6#+=Au1G5{WiKXbLEamUOMHm1t#ZF=6lz!&}VVo^_kd`F{-z<)4x8Mm9Q7H z%jguE^q!^kvEx;GF3R@is*f zr5106u&sM)xp>Pol^ez}XNfDe4_D|$bscXfqrcsM2&m^HdzyNj%1s~YBsNJa>4wgD zcLFYvvLEt&^uYH-hfUGn60wPkv#VH%*5F_4;bua?5TO&$@L&BFN{Be+J+H^xbyCT) zyR3lx2gl1JUH9)JmkZD7{7=!>1TDwr?MH(_9uo?!{^nP|j*eJOcJQBaMjU~bkHjXk zR##${tXfZFxc;+h)wo4rQ2l$;jJlBuNTA}eP$)fX>3Kf-fkGj^z6uu<7F|BMl?T}# z7`Oa>FL=1!QonVubja?*-Q;mT!W9%_b?3D2ORsdl_4lEQ(>(yrY24WzXS?yx+I$&f zx7&BwT1Vn|DEnvZ%Yf`LZ_y8zd^RjRjskq@WPZU~a{+RtiZ9AZU5F7F@Z*$rQ?O3Q z{cceG<}6A|6rWG5e@jBgkjjI6nmQ7nIYB#1lY99xrIsSja=+33yfv8KKK*>Jc?j;N z>L%l#5sZ~d09k>=x~o<$d4G_&X_gcPe!cqUPWQ5hD-hR&JaLIU6L_4RO%f5y8j%ES z$JIHGXo5=>Rg>(Wx+Ae0AdG+)w3s7{&Z06>9Y7)^dRBwP;M=|?9R)uPc?V_&Z6+3yPbxfvusJv9F zo&-KVKcI*OP-jv!FEo&k5oYp>xdo8tH3aIM)7^gQWLQu*9jNeSD65Lh#FbT}h6hn=`7V&zTRU@eH!y{)mR+9Dal)JLkK}YTeQt z8N%LZk7Y9@76bj0=gw)lx3#}d=dhRZv46qfDIXKHAP_`qBrqHjMCBcY0%93Usk6Bu zuEH=o1Rw^w#n?+P^DkjKcXZknl*93gb(wwaf1c$UQ{8MJtTUb|B<)#W3}5RrTw;13 z=vryBQU7hN{z7X|YH(m*yQ#R~p72)djJoc#SkKJn5o+nnp)7-$sqAX5H)iCE{C42H@jc5X5yuy4rpHdAvy$Ai={8$urg`=Ax z1l9TZzUo=;5L^=pIF+5(aj?vp*xUUcQn1TUoBYGuEEe(RDL^K?+&zww{Y^5J{afC* zmtmC)4R;oEE*cSOjdFH#bMytod>VV|gfP-(Td^>tC7{4O_BDc*$)fNW9N_6I;loyV zD@@zcl|?$%Z-ruj#sCbADVP?jx%n^{9>{9YP#9r$qF5H#P4_-c1dXM}zd-TVR%Z&2 z%+5}}Ga0IG4%-@CTQoDy3}##0(-N4p79{-3qJ$f%^Cf<2eq3=RFDb_UFPodwz9f>!w*b)dZbfXWV;HZ*L|0(+ELBCC#;ui6`r)K>c5k36*Q}^iJ6je|4kV z&}XvA@4SMJXZ7M8EUb2{14fO~H4XLKG((D;6l8Cs;pr~9>E{9&-wt2cx6e+$VQ>tm-^xr2VGmEork~d zcl#LwT&S5H+{p}|h1Yzf0u2#(lW$Veh~nsv6WLA0K#uI*Us@;F*6t~W?CZ$5{4KOc zX0adH!wVoGi*LxXw7$Fwb#xolfhGw9fO&NU)xc%l~eoa8I2TTG096DLQ71ulCv+#?k{>CQu)g92QuSvYj$^f7`+Yo?W8mt8P`Q{*_)a(V5jz6u2I~z|M4uTo z`1~v9U*+=QVn_xSxjiMul8^S8yJQ<2j`V(yb9U5NQqu?zQ{ts)iCb|48%v9JztuHv zzuo1lNy#$XS_`!9P1%Jq$z{ed)_ptn{E3^Vv5*m+NqyoYfa18USk%;Q#h}1{ys>QM z3!;2dM-2awjIL&?j|_M)Ul=ny=Hj}u+F|ORcoJ1Nh>tLP0m#CCsDm{f0eX9x^|&DP z@@N8osCPdw&5ez|BYZg)M$ccfmy#BES@>lW%hd~n3E5HjjBA27v#I|eN4qAU`{*Bx zUQD`p=lzs({%-I5mxw>5S6|W#SJSkzcIlmV)tLm8%Y>R*R%E)V_$fkIaPF@^ZKu?Z zz#$*SKtB?fj59CGxeD%FpK-{Pua|m3%=@dlysKU$S@8TLfp?-Hbu;6Lf&u1B@n$d9 z2!Sn*qlx9KxO7ut7$YLpfRI6Y=Ysw!_Z%C+|KUp7P^qCJf|y0lgQ zjh>N~5TLK+%Inp(f4QB~7ejJ?q!LaZ^@L&L!Ox(|C@roTvlTA@8Q084!(KAe=+LbR zFh)fyGUh|BICN9hq4NJ|?vqh&aT;L0Ee=Zi!rx5CE~BU}E5CBR{7*(F;IGO7IixDl zxWO9CRQn`k1-Q#k9hKa^uop7B8}9ZtuI}f52%dkl;W~we8Xm0C|0oWl?z?-{C{c3< zC>1~h;0>?|1yT!I0Y4|-3?&bJ4~uYiJUW+-?cNgCmnd9@$&U-BDydRNzvESo#hF93SVSB zs69;lIT#%zx;t#8w$or&X-=V?wE}ZY{$oVio+zsZN%2+YHvKYyQ{fV!b9uWO(kfW~ zx>X$2COy2a0hWgZQ3T6M!?7zYy^n3C%8Y0P)8}jK!*mk_XJzH!Ed`j%s-$rnabCA@ z5_Kedywi$8k(rv(m`aHc<-GmVos3)y`6lz098d zoFG{9Q#(yNL`y}LhVDqRE5%So&Hwu+k(vcPWWXpo%Fnm+mCuV>N<_Jpr4TM*izZU` zJ3m~uf*G`NfnzgB1mG7A(Ln%X7-@yy+&?FT?;MsGglP9cC`h3za*Z{1)7R0=_uh_! zio!55D9N!R`0vu*tNC|>SvHY^IE!c2P4s4zF1~!+(`cnNPXD|8XM#ukY;W55_T`$K z4gZ5@8J696^S?+@xhbWgoR7k86Ht6x;>n`9d*H#TZzq5LoU8u9*|9JMUjuh}XgYEH zh(+eBd4%ige!E4+Ux)@E6a_Ir04cTBz&{+{qbv!?mLfeX;VDBwjt_ow|LoS-|DOSMB%1YKC^uJ$lWV( zkVs>T<5*Y_ZIlNSvA5DAsI+V!vcflTnicQT#$7ug+<5+Nh$7q>Eq^1m@KPQ7NU<2Q z_8!_3EWK$F&vR54~T2ak~D6O}Ge%*C%>z)4hG8 z>&%QIzf%(|1Bv3yj*kolmh1imk=g1>;zH{kO(?+7sBl)iay`Olc&5l;?|fnjC*qS1 zmI<~i8dY39*wGRCek`EBJ2>TOZfrgS5ojX~(QdFv{xeE!B1Pe#x-m>Jk13PWzYofRNLage8#2z5THUwbkkLOk?2bob6U~2*tak5JA zVCs$7*$xZSS&cHoUS$7H5d?AyKTPF zT^YA{D)n>-7{QneNuhfQ2r`|Bfy-k=(dISDKVVH$n1e~6wuEMKG7Xp8WU%CT8Fg?Lr1_0TaqrxTS!4Fd8=I%AYenNH ziG@VTvZSByz{W6!aRX2$t;c!8T|tQXH`U5LhK-zErK)bb*}u9P^RtTTiIes;gbV4A zasu5i-t*%D_hhT179$1swIjLTJSSisQijulkP(jFxKEWc2Qd9AV)@}pzjJIxQ*i(F<%G-To5IHe?94>% z*~8M*FXm3?3e#A&y*+u7pE5d2pV}plLe6Q5bEX*;_z2NMnF$MT`-?uQ_VS0994L4+X31mbD0-YgOC&}igSmAm5g!eh=zVS_*PE7nnw_3cWU zdc!{|q`%>Qmefk~`VH^tVt+%_`PxsRZ64|xN>;q+`;M<1`1R8`M15@32u!aBa}&s7 zBS@N_zlkm|VYc9LRBgFG?8C~xzRxlhM>}0}#(JL*W?r846ga58HteL7{Zq%y{Haye zhBy2TfT`N)H;c7QW#>Xvppg>&`Wpt8syb1@1i{AS0zAv^mm*QKh!pKc%KXGGou(!5 zMTLeFd!X^|wn*>xi+Dttli(Ao(8#9S+RM8l!eOTSOM&Y z@;!ULfmhd58$#-+|=U>>j>Xei35aha&qePTk@x$>du5 zhyj&y$}I@B^}{S=?u=F9we`x)EKapH!BusQ`UI40KkeyOe51+7v-uRwC+;J(2uQVZ^Ji-ed5!TGx180mrV440Xvt z3ZLIw*erPoI?rUZe#z&`$ooDd513w?Af!o^;&BvG`dXIghhcjeb=Qmp1@;gkW^o zWbF|2al#|ROndAGf68>c^O-wcmerxAhFL&8xhgO^D}UWy^Vdr%@BZq;l46Lwf8sIW zSL5cUllQoB#OoY$%~vct{r!mtoJu#B1m81F8!smduKwjbcEmDGV);lpPWI~20GI9A zvv-lx_EhT_+xR@$-AOMafAG+O&>lc9kMz$bl`~T3Lp4NuY<_Vh^~+dN(8Y*t5d?!W zq6=>CO-qmcbbdWH5fu!#$Ecz9_&R&b%|Cb63B0vg8hPeiJhGXC?S%+w;5B@h@2j*F zh@wa6pDQyrcMi_oY`5xFic}K)`K_aTVmAD?-8`0X`<>J=xpig+y9iNRdKH$YGy^5Vam!mpI04vn=wWP!{l1PXuF$mCDoDb+_}^92KfU(EXyVdrizH>KtJ_$pyxg z_y6!KQrO!7QQYlwH-@dhUGDyJ`L{zXnL`sLa{Bp2H7_Hpe*K;44}HI@lWHOx_EO-% z!Wt1hS&vy_Kw%+L zm*4}5tjv?|?}PpcNuis!+!<7y9HS&}NtcXHhjhm>z2u$#-j4dr&W=;e-xBG!NyM0fF&%+WBF|P zhoFqm*3vsA&qDUz`?{nh#fDQ|c_31k3(Na(&%elPD{8isDn?-!BfR*Un>F{FQhj#( zkOc#p#3OL2Ajz?_9XvWdbAK(>s=#fUE3%}Vj4O4<3F3mL910Iv@ZQlfBe1KEJ_Z+uf9SX*8Ip(4vw(ozH zJxjaC)7fl}uX|@<{h^Vt+hfEBWM=E@|M%@ItZ8br-FR$SoVcaT5?`y3kCq@drO~fX zwhIQ=d(_(21@UM{zs%Vx{u2gAr%o;3X~HoJ8)5NMaPm@}es-76>miNF*v|>^;jD|Y zg7s-s#3GKY56qC@`N+Yq89rrwP*~#Y}RpQtx{Rb2*TQ?_HUXxZ3J%? zSu`t84CF$ z_;io)(x7kgHYw|dR3%dntYZEdH#_=S3*J_x0##l_(i~F*bGzJd=`#%~Q;2+C6v!q1F2k!{7AlERwC_tb>wVn(8bJT2~pS^-y zFF>bkW(#1(X)tI6I$!D~5o#$_uHFARRXvKXx2+Yd<~*Y9pr1mZBaxn}1wS!U_kJx) zdB#jgcS>~i_+_pD0TOB9{sHDfHYnGn{Fx)dcumKI2qbpRmrEX)1(*ah;ruL&YE;UM zQjKGlClD`_n35IfJw2c|!<#2-$bU6#=;l`ywZsaPQc-#K1qR|0GTSHr~-ZTg$tvlW)JjOgxe0`*K`N}Astz(K* zQyr|cz@)JmzY2!l4kk^sKbB5|VHFy*RAT-PYCfCk`PCmf0aF^qJ_dDii-i@Y^Q+ZV zld^P4pp#(amJJ^ph;EzGe-KnFq}rG{!0TH|Rfk6*XC_tkMxb8}`4J=hEPg{V-v>2V zb776f3!BgTLO*!AjajQs4f~9m+&{fos`Whk<@+MOX@_83erNH?O~jahLlgB5@+)Y|s#*?#Aq(LZZ@xxW^G znxdrViY?c#x!O_Y^*vAj?FN76XC`3p7Y|pDDTFibkH&7E$huD9oP?6@Up3Gv!o^i} zRS5NGHV%(P`8VYl+}?sQBDF*JIF6FFf)mH>D}_qrWakJ$f6onn$5EtH!(%|2C}0 z^B^d)2`{FgaRTpc*B;#z1bd~u{IweZ%9ZVbgObPF5^b@i%GZt3xN!m%YIlRtEB;jF z`BO7pqt#yP9kP)U+hy&-ti-inuS9Spp!^#9Ufw{%8F;-q#84fSf>#5Y{y2BVagx5U z6K&Hs8E-L5X@w&z@)|PpR1VLdH6G%PZS1so5Pjs*)8^%Yec?7*PlqG3ecaPqjpi5( zb(y-u17l-Gg?}tNQr2t7=l@b{|NRItO8xAM%W%z$ee0v8XPdFMFNY^_^414Uf$>-S2kVqlzO{E|w|%mE!sI*VO(O!(hLrb&-FP$<+pBtR&L@`7eBmn4Lzreuq8F z&%teG_HrI^%??noYE!3f0oL(YE5+B2uzGxxw-fg864b!*vA3OA8*=8D`Ua#Gsq757 z;mS@bJ_>D=oiHJWDHT&*8(Xu@nGeHcGoz}N*M}Lf3{O@2LY5DDO4$Ys>M!K{;O>E+?Mnm1vE7wHd0wufk+0p8hv#8Zv^sYEBGXi-D0mgm?c|H8@#FBD`DmH`=TwKRqpd#+u+98kcW-!*6XmjH{xV zNTVpNBuab5*jJEY;eHx$pjn8a7MK^Y+qs(lh;)ySr(_0zvmy*9bUvt*zH{k`~6$cuy9Vq@iAxkHtC}pWmirpE>fgeWdPow^Krjfp}!y zzs|R*9O5SttTZRG$4g(434^N|h#1SE$ihJkkr7!OA5bkVsUM8IOZjVZCzWf*Uk_!S z*I(&Nn}XYe`udF#GQ}^(ordXaKR@QV<+h`IPD7K{BoUB34Tx%vEKiW)Xha0Zd9+EuscmI&Maq1pA{4&< zOD3uN+2VgVHNFkO(-^&3bVsUxI+M70_0BJf8=7-VrN!vw8~3I~EFY4y`hK78Ap2LG zgjb)!a)f7e;rXjL@JbSX#v$Ij=fZQ?0UvQE!s6#Ya&R1WMEiD?$*cT)jSgpLZ`}SB+S8=?osFYk_Dev2SPsLz za?7%}7YQx&$7j8GNU(JJrs~gN7@k7jQVz$yOUKmvUbTNCBX2I4(*@CaH{$#ItEGa_ znxmb7Tk{6LUrbz%uK1M#4 zSD?h~Li48^Gg5aw)hP znH1w}1h?6%2!GQ9FC%R{dhOR`p^^zdf1hP>$Vkb_j(fSm)%7)aZOtgbIGwnU6+e{W zS@i_8y&&AJ>-hTJcWjPl9U!0Q6}yZ@hb;7-3N1#dI?F{6FaBg;G=MpPKC&E7$enw3 zrLUGO3Ekue98+)l?;{W_sUc4wsf@}zRT`BoHjNE>A21sxVYTcm?$wDY@Ag4eXTFff z&_b3M7LjI((U#vs<&tL10T7)oH$Cah?*7g57_2kaP^|n&dgOWR9sSTKJRclz#k}WT z`zO!h}ryRDQ?{6zQ^-meZm zz+qb7RHe+Crz~e46AA0(-y+tZ+3^66F*)7NeA4(d;x$}vyY%Cd1K@}5by+{DbR4$Lqf*}hG0(XF@yL8Yp%zOk(9;A_XN5X z--qkg9;YFCYcEVkw{BbyMw1;y7$ccmEvNtK5TsoEdCBIs@E7g&P-M#QIJzAhD9Ym) zBmSMc^4=vp7h9Fbj;^=mQ;y8Gn_DEQ)8JnXb(akf`(69d^hA`RP@Eo`(7x6nMfCfb zXHHJt3pe+hwihSP67st}OitK59H>qxsYyRC1`aHg=#+SDPneRdY+fpI%3_&Ah*-l& zi8C0BPvFFe!q8GaFlD4qEg?jpM~jE|qNl6JrZZ^S>jy zNsq5Pa%AaGB3nof@x%6}O3Y^Q&Xc+qlW5;sw<$_uLdg6P!lXYE6e}5E>mdIZqx?pC zR^H19^!zQjr3I_J85NvPbF_3R%!1JWIOnxv#p)T38eT|?A`mz4SbPJFCCyFhS$u5y zZ0jJ%^Deyt=BYCQ4VGTn{goiwRIPc<;~;r;6os9=q?`x2x^Qr&-|kT4li&^ws*$h` zXbsC;5f~<_`_e$Uc=-2_{z*EUnlxDEwfj3}&l36&_XF3y-g9V3o5egnK3!$sMiluA zJegK$j(^Xrfw`cp=?e<7D>{xk&Ty|$VZOwCp0rmH3-=#+e2_Hr+DT|8^D7sTV~vZ7 z&Fvf{2s?c9dp1bT&G(O0$4yh4*)`9+^)=@A_Ybywi6c6{a3<&ua>#i?iN&U5oec|D+)_=l=XX>LPX>G(ZJ(MOJ(zZiVi)G z{QrKwfXJW&MKkO=$!{alc3AUYm|cPYq&E-p=3?>2xZn+GK|<0R$MK&(rj|E=muPu< zD+i!3%!tA*k1#Z+b3ZvSzG?)BS#nhrl|5t^=eTp{7{gW;NS`#IEVQr;V!ecIzcI4K zB^Vt004{WRAQBBgo97b*=JQnMde2Qqx~PrJYb zqyZq!%OZbpnkURWw-!D zVB6=SK|+rVkz!+eHcum~cfqP3t5hBZbl2vGO76(E`7`F_V{0d*%P^S#i+mGg>+*3# z_w$Xj{EVYa8&}3*YDSLGH8#woFJ(A=eQ!yQ4_pL1KdlyQ&@QdkU-Ns?n)vgqW>m;( zS)qa3oy)@4|3=PzT}f2mK)vB3kp>UkXe=y3nB9K&Pho!N_~I8eJu?bEXDFGL?;O=@ z#Gi>W9_tn<7>?7NcRzIu)h9}T{qz4<$wpgJtYxoTKA->L6N?pzuod`yWOMfX zTMyX$sOnh>*tPww4390fowJ${G{=b+-Hwynsfu|w0mR@1`)GmyqvG}a^NZc#BI*0u zX=k`OytL!aT86n^Z_ED}3T_qb%@WKA%si<1w0)?HzS^abBsZ;tTa1Qq3I&2y0tokO zl!MW9iYZb_sO^C$0#kpa+_Rs3EfEI|bC7+E0Dp-mX0qM>A?T05cXC%(F5ur8karB# zh}Wixdv?{;WN9*GP~*RKlk)KibZ58f*yDo_7$oQCZ6Z^Hwv?7g)fCL~AuN-L zMzXKGLskw1^@kJhj*y!)>cBm&^(hn1*pd*CJT$sNf1&ou7G`=@e@lsRFyu*(1XnWu z*lduSW_|pO+3X(-PN}-ejm$@NI#n0P>o7axr?=iqe(syJ;bXHDog_T0a_K7cvHq|) zH_K5@p5m@s;%CqrG}H7qdgqX0EOw}`u0pro;dbmpv4TzK{(V0bgCQ)VQM`|*&a=AA zV%0eOHw;ev-w06wpUYhbP35_Nv(=PWe!))PZlRLS^ zRz5&0v5GQq3N@Azk+Dc7YB0NVKhBg2#Om1qXVAzuUNPLa>eB*Bm~f| z0rWUzLQq%UWhpD|)XH0!i+*^;;r`Qo)rHU{c6i$RBfN#eXXW`V>7^Zofv5$;d!wJ0 zDsfiFQ8S?1FiuO6#!zjHd_jT+$54Q>M)8cupW0O&7;OBcnFnFl$v$>_`GOn~8518w z2@40XualGZFPT&M{~6GgZ^+!HYe(reCE`kTi!xV)(gk3h@+R&Iir1l&8B4bsH-q0p zU|eJ}DLw^)4b$9M%*KCojASPEEdJ~%GA`2BTrA(JUlwFLzY$f#Mg?0p+N#R)-IxD> zTzG^>0;{X}4Dw*79l?89&He7BWisLNDZo>yMP@uG=WJ;K9+rIWe^Hr$OR>LL$!+w* zSI*YJuFDQ&JTw=V$oAdGhxQ7Ntd_Bg?=&?qjaW9cU`?d=n31**zqu7x!bZuOh<%>U z(6a1)79xwr2DyWYn4p2c6<9^0ydYx9zE}yzo}2ht5JeS*UDnm1gZi6lk9fL{F{Z?Y zzs5RuydGhKr22UGpKgj^_;A2V`$+!k`o$o9d*MLEN0=;LcnI(~eRWY_^D}!)J`Xfi zCoexg`Bg+%oE{35YV!zw?#*%j%eWu4Fof|&^Q5L!Rwd3mjdegmOxyfUU8t7CE_L7>nWi6F7T*@lQ$bkL} zUpl8~o+4T|PYXvRp$CI70jIScFqdw7+mnK}B=0d{Y_jAK!Pt{k)yJy+>f#tj28-=m z?}K&`Dxsbnp#CvU&+?aLB?AfeNkIxv+S)%qYnM+0AOqwG%;5H~+Cz^Kj4peHwngnX zar}L#&PjvMA%NK`#8}>}8PQ8;z3RhZ>BmEwNzvL{4|Cti2ndqQ|6AeK9P9rRyk5$X z*kt-9wQ>iq0^*xe0YH+*O>5P`7RFUN;-sv294|ic+v+}$g^x#P%b1%oeYRnR`KaRm zQoP@aRUv&|(N8eW=I!BHY}xfa0H@rN)3}EE{=zNPb)o!JCvepoKdCvf)DUQvF)2og zfvUoQWtLLow60yP)dC13j(cbW+jwx@J)4E`uptHr4Pdh0|HW%j9-baA!wo#7SdQ5b zpC-_7hq4PXXi9t`NO%?%k;JEaYZku~e$eG$v?z*s7_p9#tb)Q$Gya~1hr$+sTeW)@ z$M1_NQC4SlI+Ct2L6&6cWI)_4i!3vyaPrIeeO-x?tXca8n@f@G?;}>6 z{*e85u0D~=Yvuq%C5r(qbuPs^cezwj@NI-sdwX8-u0<6x!1~$#0e`PPivl|e`}+6K z@Cc3*Kcu4kiR39GiQ=e#2p7%)myk)Ni|nf9{@NeTq9(1!(1>~1o`fP@;EX&RTit$O z&I$xw5m0i_w<_Fuzc13TvR-B+%71p4%1-m^AKwpkV4!s{O=8s#NQx^I`{YK_hN0y9 zZjtOtUPa2NU+ch}yZ`|}G)7S27YEm8$0KKs2R12_f3ezQ8deiWNZ4a2@wfsYj{MC3xg!hio(`9q1omw6^r zg31^ED)8NPzI&b`G+xg;A4c@LC7k7_#b|$^?OJX=9H|TrZ%SP!K&%xGj_V7sDONTbMA+h65Nbc@dRezFTF%T1Z+^ z&}8w3-R2Ku?$B`7*4#o#)Yb4C1YVT@EZ4xlFEMKXv8a4?pZG(&i1D}21D5Gp(o-fb)5X)jU0NaA=`-y2`nPq)J24?aw8(v3A0mLFzOgJl+70!)7 zCff?*i`){YcUFaDhu@r(rx*oBo8cbiViTtCe!7(w`VY|Z95xpRN?C!R4Pv&J2 z!Q6|*od%0I(n&?J!YL7>_R;wF9b0Sp%jkIsyN|qla>`{vW67Xo9_`_xs+)1qdN1mn zQns3*TNUk$afEK0DL-w?7^U8T;cTRo_6EqmNdRsWn4t)8Fn~#cNU8J(9~wYjXtEw( z$QmX-Pd-m~@USRlZkABNJy~q1IxJ|i3>dcJd}N>LO-XjB)VT^NuC*>Sn8l0wi9Yue zs7|f_<^@9JhIPu&`7^K_m&&a+YZxPundPxRtdm)TgRtV|oyJ}=`Cp~E>sYm>5=wQC ziUwpPUCPYhSJI+(b2V~4*| zyTk#3A@jsy@pP(?F&-K&Vxb#TSlI#>A8$=o==Gfm!Vcm9h_V|o#E zQc0dYDNa`e<+NUT9j2|*Gv~)F3N$n{gkrEI<}{{Tl9yFvZ5EikgYyk_Q-h|`5tP*U%5GmeL>A721lqp}1gTezdkGhdj~hT@ za`E$)4hfq>33SQGMO^1O+9{vs3lyS5{(kqj*M)gu{imeh!H>~CAbx}tpJt@6-xz?q zERloOhKaQETpCCRv^ugu9Um%&pD)Oa$EIJ7H{%|fl8f9);4cgcKcZy~bQgYZ%|JV| z|LM~Ghpt`N&+0iLBFOg)$&EBx~(p?3uzQHG#MBsus|OM z7&#&+HJ<@(OaH)M>^k&sW=MQEJo}^`tGeV%`~z4^UBh{d;PQL)BYYCl`h4c+57rSO zTHQtse%zGe{rE&c{FJm!8D9jeOsgLX2dEV>p*e_n`Nq-w>}38Mm~EQzubGF6Fz1Dw z6>|ucMgExD-M_^e++!)4r?bO0bHMvnR|m;mo5Oe0L+{pN2TZN&jF+Idu5Vn=JUuhy z`on?WCwm7wRgRA=+y)Vm* z%yR{qO@-HG3W=UE(iphYYV*yme4w&(=%$>YpxC zsLaa`gTNbOSn)i$(33|gp{WTd19Q7~DC{*c8S*Pd%IbkM7GHd}(NAgvHv+s+qfbBP zYA$H?t;;O#oA0cYhKl2f<2WxF)Efo2qnD@6EG`!Ur@n07=7S52|{l7-*G z+i~-u>kVVa(2KvCuPonjM)bN}&d%74|NR;IcHlIgim%sxqU{?`7k9Cc0US-?$wlVN zYJyk3^TRd(H1IJkRrERa3+Tr{cag*5BLC>;bF2};;JHs<_&g~aU$wwE9mZNjv+u&1 zSDm}d%RS%x{_y_JDop6t{<1of>+h5M$r<)~;owV9ThX|ov|}QNYahfLbijuQT9O#c zmxXI;f~kprxAn)$s=%=?(;0gNpN<_g6HROv+5CBU>ZvI5e1DeS=bKQSb=J<{e$&jD z`?b18_rPbcuay7KDI%qo`hmp>>I;+*y130WldkMu&FAOpWNn2%KC)|K2E(ac(o}NE zNd6Nm49nkW#*{QXm}(<#wJ_hCcRj{0YtXtQdB8Qg*HQEl*9I-~h>H|d63c46F9nK|A~;l#M5!ufB)%| zh{o3H%XjZ`ss;TN)z>$}nBVOP2MGVs7zhJoas8?t+kRaboHVwrMW;BBn+RBA5Xa=f z4W5|jggC_^!MrMoGic^lD&Sy=TZdun9TN$Voo*e%B)qfL0~)tBYTg}iEpTy8RbB_7WpNsv zw&)sV=WF{fQgecD*EfaS-V3!-Yar%@mcRP8{I8y z){$tIhnqC#$h4s+%k-}1c;j80F5=BAV*Rph|J)_{a%45jC2{=QfMho;yJiAbbZGqt z?Pz{Lz>kE!NW*g>oKVLx3^PIu?7aLyLERS$edCip_iI%~MijJ!&VK~A&7uE7C5s0x zAf`l8^*MKW*81`4L8Xc8kN2Ft|eu3CEb>qjv~+AP?Hv>r{Z(J{5RR zWS*DrQlual5CAtfw0A%4Q5f>{FqTcB>#6zW;!5*xV|S*|g{7%9DnTB9GS8The?@QD zwO~%PxDGFYMlq1L_oBZ9eFOcZA++8?30%ww{RG6?j+UT_lws)IRyJDpVueNei#(Jj z%CoCHP8Hdyt`ncm=mdW~s9F&NWjDm9$>WF5VQv+1vv&o%8(Zc!C$?v~rBRRDq1wnF zs{ptro^i-`s9^kgCKdFa9u+5Xpu1D87UkQ_J?H0tUtLNC8`F5KqMlNAq8Z&R)P!ro zSqpVln4f+q6beWA%zzbNj&1#ikeBx0utY#(X)N37y7SR)YZMC2v;?6n<am z%OJLcS!KcO$^MVpmCylBWMnE3cp%xw>i~wjUiEa#R=FYpP@l!C`Nt_cSYMT`e{x=| z+6;yX58QOzUSsetPxc>!j?iJlx8~DTZPi^i?yb)8n!SCqrbL2>VtYLGkIcn$LujGS z1eUkrHSFV9BhJZcc}wBAh4BEUS=#MMM|60KOKyY)^G#Pp0o-6vbh_P~sFLI=f9Ee6 zw6M4>*J|YO@EJ!3qh{^s(X4$$LNN^EQb*%*TMVzD2n+K_KaR%Crx#2WTy$s)G z@v6P=i;=aNFQq@Z__fKZRlTGz1|URjCEx-*R=kB_`*SdK}{(;9nLr*Ft+@*sW)??2H%9 zY2ql0mtzKck(4i?5jg{nEz@)TnQPrhDkrzzd+&oOk2*HV`jfZob#g)yEK7I1tn_pa za@k7zn@Rv=1S!KBVV>HQ1?w%DAgu}p)(0eHcL_4Tv@g1xb9(cIHI?m)YM)tZ#H^{m zFznuY;efR*;#X{>&!_3cFxr@i7T@mQ8bL5Ts0Yzt%!e(jCs0Q|S5K%Q0t^?O@&1wK z%0Kg|Xunc$y4>^NZrNTzj`{k4___n<9L6MNNmyc4Ia zE2g;T=Fc04`h@ihzrAHL8N9bsNFbjo41t#i;UD84BLC|@@CaeXR@r=Rsi%x06rUD~?Dm$OP?8`I9eimX%!K>mc%S5@l1Gg6XIF+iMnHzy)(!4bf1 zTM(Oy!GR&dpqBOZ_bemSy3#xIa%i5i5yd_~9}eLOu9ns6_iI|>o>zlH!QPvRWsBJX z-CFbL_*zlXNU1nN7PXq2uSbADFZSaa2^-zqA_$4lOiZTO^81hPFGLz?#RxG(oi_qO zpGcc|Zux(ziTGlT?nBWk7pHIe3?DX!pRe*~9o4s(&5mn5Yh}8}K$6`j}W)yGdkY*|@!Z zp_Z{mnwkA|AZyiWk?&lS!{O()(p#L)4||b6Timb|hztoKg=GcfR?JWg2lde>ig3H= zZih|34*GwE-K}zYcz#dcW8EZ%)Abhd_5=1hLWx?*QWq{3B>jp0vJ`7^A+D(@l+ z+t^UQ4jh+gDLTAC7F$2}Ul64JudXwVhpPSm_{bJzX=qhS%`gaKC!~a&VPuA~WY1u1 zW5$-9xGlE|XT~;kSGKZE-OMnI?bk+ytl7p|vM(u0#P9Tf_J8nubUitr@AZ0}>pJJb z`}%yom!tRrl=gEMRa<Z<=l zj=ZxO-iOzBx62tbEiM5I`a#n^St5Zw9TpOOKe>&4Bz|0+e3N7+)>`{bvpKG-%td~kNUxL9`-#y%}CZsce(AQ$K zyc%wjJf!2+(>c6@bFX7{3ZnVP;(FZI`t?3$JXGP|Rdonv^wcq_{iU|yg>a+{3J|0b z1pRT#$h{nXHBj-m2nDattLbw~!PaTzDn{6wv?5Q`9T{1w@(te*P9Ic@DjQ3xDd5)H zk|UB7BN@)ME=@s<{Fi3&x{5cDv;b0JnY>$wQc1Qr9v%m}_6;)$wLj&7D%FP;NoT{g zayu7>4gpmIboMmmv^D-xKBuKPp22?~T2NuGp!rnJC?OJNM;@(97Jjy*^s9WfJM+E4 z?p#&AR}A_p^xvKjdNx=slQ@X?f&7RvD4}ar=r8t#L-)j^$Na`KBrzkdA79~Cf#nZ= zZ6-jCecn3mwUca5|M1&>)P`^ay+vald^N|)8KOC{MC?uShf!r zMYGW>78A~I_$>!ne*V4=XWquKO&~O4ly*&u<->!LPX#6QWbJomFF~v((Nr=I0dtJ$3(73;x;qc9D``d>FymU?Ww!3r}{(jI_@%9N$hktxb z>SOX57V!x3F_bd7Y~uG>6ad~*5kU~lV$8g=?4SitFeMupNSjiX7X~&{POt)MqQZdZ zjm`4=&h5(`^*t5KBctTred*>1Gwa~TQQ>NslkSv)90b5EM4UwSWXTdT4SqwH0GK|2 z_vQ7efAfOKO4(P<5ngdel2CesQ{%{RD4})DMNTN9q98;v2t#iyTr_XZ;Pt(F)Vf}B_WEcZ? zw70@PvzD6Q$!EUjk@oDt1P`;C789evoiA26(%^N@?-m=wsNsBalNWnEpl5>O@B^&> zoT(V^n^Hs!4J!GjFL4ZW2J`pxUXOO=)gr_bU-$m*PYXd<8|u{;Xm~cllzyN6tAGJy zO)Wl3#uX8x$zQ|dy|^(C;z+{P+T79*0-mFl)GzzrSN<=YF@=$!xVS>k?-T=V?3 zU12do(>_L*;k(6C!MzkHBOBoDxjJ9#!d%t-V&l9dV)sG_TjQJ2wGeFzToS~0x+!4S zt>8YM5^_1lVh?4yao3IH^HA6;;43Tq2r_3;8D7w$`&A?f%-uAAngZ_zq+r7`9kKnv zt%l?`s?$kwnXq^i;Df8xm_}+ zTX66gzwF_Yc21%1PMd-nm+OmFQJ1LYL1tkX#bFv>0-6pwGQP?LC=(kcf!;7%0Re%C z$Q2Nk&>tXHj6eZ8&Ue4#J9{3_p;9x@z>slYNBo*uz+kHGNv^ zC5YLFgV(JJ?1=BwBP7|72`MGzd4~m8Eh-@(N>HBIJ%7T4W-~9sZB7t7K}cuoetl?J zuApMQBD4N$zwmOdBYu*3a}z(3=?EPNC=;gpS&i*9sr~kqQhUK#=Cl3+rh)sc;1xvz zLhy-et`Vd2B?yH2iW?;;lJoac+*xM5Z>|RpTs*Snv>iB^GWv813Sz9?KT!PG%gCg5 zfcC<$p5VPWWywL>aisr)l(A6;K-A^@rK?L6UN)m-OqxA?lFHwr5DxQnydW=6liW$* zlYivgi!wU5)V@N#Uc~Ia8qG-6LlB1!@Ov}Y)gBD|qhoni3U(EA4C~I2l2qvJzPvGz z^Fj(M?Q!(yKUaVYsi3EI(R-1f64)_rRs<0XaVn_2gc5oXDcW3b z%j^#gaCN{aBYVUil*3_%BQSuA-v(Ih*js6-(PTT`S}C)uY9rf-Cn4T1W3V*3hChwQ zHLB|~0`TU}=3iy$^d|YhZNai$VqRXkF$CojpXDHCz?CP)5)bx~`hZ#YQn@S;0OSGX z;QT<0@L!Mc`K7W#y&dV}pat;dv$9}@9R{TLLme*9AL_d>t)(6W@Yy~omenj1D#O&M z=XhAAr~p2Asso;aNrZ?G4-&xo;LRDz$aoN}hSgOF-(w5qn*S-GB|@hKLYbisJ@Bzv z*QpaV*kk`!S}VGc=8ZY4aU$sY(1sab9O9lmFW)gT^^fGiAIUzS8q=CjpOaqIQuR7K z?}6fXz+zdJ_voIOMlrsON3?AP27@7kP3(d_+=2-gZczx(08>M&>MEhNl+Zdhs+t!x zH7;oCDx%RB(CE{;1@-?=;7{@(dWQdRL4XH>9}*n@GlMnBGdRqRLV#WNAh{FH0RC=X Z1U$jbBb@w}pbtF+157N98Ah&m{tH}yzQq6l literal 70627 zcmaI7byyV8voK7DgfvSi%d(_&r;^Jq4T3aEvml)U(%lVG5=%&TBhn4B(k0T3bSmF^ zfA_xc_s4g?eKyZ?X6DS9JTqq_HPjS|p3pu)Lqj8iLFKj3(6Exw(9louFi|7uc2<6< z4;nWGJ-646R&JiAE|zFA7LI0?K$yL$wWXG&sl^B9VM|FgG)ypDThC2TRYly~(VpA% z-yCi)dnXh$8k*!QFDFxTJ4-j9nWZ({K?-!z-UR}}Eu=uYLaMx~PI8tuaHzM7 zZF6rsb1@6htCv7YFL4wCdrLP{pqKr72Ul?~DbRo66-RylH_QV9{?`;YJ1NkA7Nw`E z0hDueu>=Zn3vik9^6>$Mg}M0zg@lFqID!1UeEdATsHZR&pP;yqusFX6@V_4*6g3wM zD{(D($bZv9{gMLNxVbrr^YD0jdUAUTa67tK^YDp@iT%UD&(DRL!R7kF!Ohf*%fXfD ze=x{fx|+Mdo!sD#4#0mHP0bwL-K0RMmHvkXd#C?{*1`3^w+XdjJYJ?wJbc`||5*B; ziK?pq|5NSl|Ich!H!aKmyWam##ID*OoGf{?EL|PlUCdE}vts&3%1K<##nRNx(M8+Q z@%{hoqK1v5o1?3ZqZ3f>wJ?xP)zlpB@Na<5Lin;T7f;lMxjZfba|Q%ZT#-53IbSxx2lkgWLbWTKr#Fng12` zpEB4xp(x8+y1+dwEg&wA_Q3yQS{(kruSMj4#rNN^7XSNNME_S<9@JuZ{)zVgCF=hf zLg~-Hum4AJQ9u5V>RURX^xXxe*hUslL{avFrlF#(fCfWvoC?4BdknSAHT;wU4HVT1 zQ$!x!+Nat+exJy!o%=ps(^wy!PzPTsHhPSTL{3MUo10xs!|x9xc;B-={%I^7@_J-M zTfQnzchMPH92)R(oIl7K9UXbJv_|L>sH&;TdI_2*Xh(;+>|Cu*t^R(jt}$RBY-wp* zXsZ(77a-=fVp6wm9czVnKpKaqKQ*QA-IvWY#y)oTHcXv_eF>X8DvnNXiZ5%~xqbY5 zbl~t_xwr(8k&#i8=wR__oY9Q>aH^&{BQ`8NtiI0a!w2uHA2CNKH|~XReDXZ!mq*$X z)yw-!VYZHsS%pO%g-|Ug40O!d?TMk~6$fqA_*g9^h}g(w*5jXn)uZO)^03F-h25*6 zlZS@KmG#DZUZSqP?}Wef#Fm{;&`}W_oD`r7lVHZu!vI z>fikWA5Y5e2428?oaDMVaYAO{F>|&F$%B5u;b7L?CV(eM@d8D*v$D z$DP*pvO>}DhR4Up@$I3No8}Ml#5o~BA?eve4llf{&Ed9=!`We>^)$)avpXj{lbgvWe|J`Qer{jwJYHX3JU-5@&OScm z+*}r}9RFP1o|)N3;n}(UQ?+$+(zBXyef>DIx_bQg_s-7h&1J>JVba;o&c^Kb&DE*( zowMtQ{NKl`{fAl8v+DyJIghBxJHO60S067w|D0Q!IiCH!^ZWPlkJAn0%HP}F?b(gL z+bdTa{fEh$*XQ4lH~b}K*RLZ(O`cEa=klYW6Tx8eGTL5?hn)mQuRSwg66edyv+rYt z5Y}Q9%7&nEP*ak~L;*2m5NdzeO(3S_X6*F`*!t1N&&p#pe6rUg`aRsjr!*JaHvUdN z?x+y9IvJWp9X>|{UB0ZW%kg_}Z6&d^cj7zAES7!(!w52ydP^zW(w`tHIeGu`F?nND;D7j9`2t&Qad&xt|CZDc1WEiMCqdN5?`8WEZXE4Y-v6WnbND3#} z%P}GW{QOjsolRB+i^^0Ka0&RvAQ$dc{a?d`e+W}&8qjz#^epmfA|$1(PPr-np`Z~5 zH4>2}8*s8HArku{MA=TCKJd9kU4OxYt&>iEXWWAnFM)_CVw`v}j3OXRDfrM$?9-S3 z0o6>KMq+=%V-}*7L)6v|Nt;Obr)B*IPTjCxzzVBom%JbuCn6CuiY;{jsOVu~OM3E} zG^y|0Eq7_jnDT5ck=GYcN!M{!I;p}U5tMlp#F1D>5~|>jDxTCo{+a5Su}v=3E@}}X%;{Xmw5^s zD4XP!TlXVguPNO`=9p^6rZcx=gs;&ZsNEf**$H{Z%mfet@tE=+v9zK6+ua{7DtSMj zC+6~6ZPh+pw`bBG%rO7R-8^FCgybv;Q`VdH9U=1R3qoqE2Q?&gL2s`kxY1DD2<(4I z#IFtcSwFpX45kY*YO z^l(6e6u`u6Vuwi=cC}k9C?+9apjn<}f6@4>YEI4Is^%_<9urFfwuuc%J(XWyu(HVS z+TO>fvr3wng)DYQut0Dcq$djHGf0&Ao!H0*cpRe>!2ht!(MY%T46cEW(D+X>njq=C zYKAWM)<3ksmCh3*w~8mT;0nUaI&GfRiW%<8DHg&QQHrVFyN6GLWN)8r)~pL{f1_6; zja+irXk-45BB1mW2@ynQ4Z~}Bo=&pLXF4q2xcuxA{NhQ?CG9cscJa}r@ML5yEY#rV zsgS@z|ivkTUzv7ukV((p_3awOyIvG=OJai^ljw}YfI~w}^?<;~&C|Ugz{>}S` zs%{I}*>JTB?9`RZ)UEruG?c5K3SwR?B0p$$59gNN#(pb*tUY_h^VELnN2%Ip?-P$} zsBB_rA872>mlK;=>g@S6a46s=lgOMZX}%sjZ5n{evw}#mKji3J3)rG?eRU{OXjUb& zusq&H!h+bG)KA7FFX%VpjsjS1GM4@HzcoCD*8UOMIy9Zsx^eEAu~@}8)Z*&u3@w9K zbUt66M>cw}5NmXXCJyyv?*6?sA!xj1ptsxo+;#E1?)S9NW;yvErqU?`6{{eC%wgR3 zPl9cFA+!-`bPS%^w@E|ln|`o60fqmV()$E$PiK|6Uzl9oi$j}jL#;0e+;39PwPX{k zXqY1`vx)T>;>SCh3tZ62=s$23z$(iXj$=w0kgKrzrw4NRc$C?&*Ot}@#RMEGN;foCM%LuHYF}Uf?IrP z{=QLatuESQxl2=2Od<}o=4owu$u6+DGb)t&QA|sIr%kvTy%DGthzA3KBds$gJBmYmijQzrpqX#V zv(D>;Uwv`jmQvQvY09@;$FSJ)BrsrssI>>tS7(cb$=8@)UUPOby_qdCtJc&z6l(tR zG;4VfQ0*lE=jg#kyL~UJEKBp2QZ41bbtvTr?RXW9evk5FQ%#*Dzjvj>b#>$AFV)0* zy8^Cm<{wsjaX9J^uI`(FQP0~y>;}fY%c*uuM|pg*eWe6$NO99{M&7m{{K3d~rQcL& zozTBYV#rnsWBT8O-0S*kL?(c989yKG`_@@ZhXTXNPZ-aG8W$IT7Y`IRGfht^(|Q62 zm5D1=2i|hbPROUFoB*oF759~@Dzd%VPDgq&7fIWVW3cP6-42Ct>H!Od(Y$_FOgLY# zoE7LHEoj-8WcLgMk9VAe6dTP7DF6HY^R4P_yLtvr!sS%+4_UfK+d*@-h<`B7B%rHh%Xi zd=GlRzv3Ytif<=OA@0<3XGd;~_D?7g*6&O$|7Nt)xZ)H;Ozb$Gs%x_P;Wo@mD-8oI z%$<6Blz6~;&4>4un4YtD9@y%V?>fdSM4vqu=-`O`2@9SKbg~oIAO^oC#)g|&s&TPGVw1u6Rw0U;lcU!NPYI6wPzw@YqSYNoM_&gu`9WSd_?9w&pBxV z3U~VyGf`pq*X#T@khAdN5TK{h4rKbhs`P-)epEx-?>}uKzdhZs(=Gh;8`eg2_eHEy zIT-)RLo9!LQtw-EoBZ2h0x zzCc`DzI+R`fopPHN0bgcO(%*iAE!@0QSO{cP4RNO&WRMV?axgraCuwkA){Nfc$Qwd z_NSOZByP_!^9yw9j+^uI523I5Z(T(9UcyWvVKic4m#sO1CO-*+^OBXNd$K=bRRlwt zmLt>$aE#@H>cD({hA7J?(JobW&S}fgerf&DPtZj~DxYX?1@j@UzCqbjbv;iEk;R!j+v9>yhnTCrxF3IgqVZQ=4Vw z5Rmj|^!f0>?&Q|6U~n{u3UyMcy_+`en_a>_sF=&YxF|NKr9QZQDO{|p83Y*ZA z=S%Tc4S41|5F%ZS(!ZAEcY$BIzOigzo_;~zu&h)-YGDLl!dq>l%EzudL?(Qzf;eEq zND_Fd>r}nOkD$UML6Rk(fep1Gzl2a(Q3%31gGT7*N?P_yz6OLvxdC0K$rIq07YZd@ z*Tx0Lzdt0Ib(>>_#_Du}li7Re<-nv|;}*cOhd)YodiUzyr=v8mO6 zmm~rOi&l)Q_jZ>oj=DATHt;!{Yg&BV?aWb)6a{aU%%v!vT+`N{*4SI@&kFMKf7(^c z{K$Yu&7*-X%?}6x)#SHNXS*+Boi&L4Oe5`ztvgE#Lxc8pm7|O|;o>m+uT_A!XD{jI zc>z|RONS<@DWL<}Nn#2(L8_@yfGZ7D-TFFxah7{rl1i+`sNAIO{=AVWg1O+g*`A_E zrs8`r5v|WSi{gX~zMR-c9xiNr*4Mo@l)iaP88SSM615bWoEoGBD2NRpWE{ zQHv*dmDw(xCSv=P?)TbaZBCq13kI0*4SCNE2T?dU*CWJVeT)VeIRHlOVPn1DK)<;V zK1((p+-?WdZE!^QqDxsiVMC!0bYOnF8KCI&0mR?sJN7Gjid|^`?qb*RD*jW^C9PO2 z3&3amZEVDyS)ogZXxyed86v5`L~l41eq|e z4t-sTZFup0gkM-NZIc*?E}`Xt9Ed0|FIn&qhJHyJ zu!X`U_&qNgmaAM-w}iv-rX@L7vxC^2cYw^k<^+0VmO5#eR@1ejYcY?beY>_lz_hMvz>}@6USIo}tSo4I{HTeNuKw=On z_-e5V$*X2gfTIL>n!@X$7$eeovibS`D|q0#?`Bp-Vn0zIEq)}4zS>)R-Bm9HQS!(4 zYb={4)1yX;KXz+YelAUJK`wcIr&om)Tz;HbnLL88O~RZdD8t{#Ay>12x7fx`nat^p zPUfC4KzF)rUo-kJo??14y6~HeOoX61j+826%7Noo794Im& z8?z=EV`54$rv^B@5)FPST!%)D#`4`c*k=fqXvIGiJ!cWhj?Q-mtbrC^T%{@XT0CD_ zum7h+cNG=-36&pN3y{|%OG1ugWk%k4#lDLbLvUE5E7!o^!~H%A`vOZWVB{gfJqcFd zfn5if^ow<_+Db{}_4I`W8`uyLiMs52t{cIfo-qaRuQ%t^f$QE)o8~KI#*4%%e5oT) zVvbX|Ila1iqr~GCF@o}$C7o@RFNuRf!IYMPs6mcH%v|VyT6~9?%u{NSR(nD?q)=)SW&Q>}Am;j$R3tol`>R zh{%5&+tiNHuD7BC1v)E4 zm%|ltg%pPR0TrHNqgGT=z2V9RRG2B#f58acWiA;=yLV26XXyzBoK zbKv%s)c#B6s2e_^`~r?`hxWTYoF_kZxxh`lFXQrpF~O`0v9e)KU$L`2XLC8~Gk`Rw0mGo+a>)27 z(Mr9j)slmjkj*q0huP*Y?m)U-wpmLuHZuV1q&1Th3k!h0rj$pICN)Cv5kSzqBGT84 zX>kofJTOb0C#RZhs49dWfyKg%-So@Rt@q&#$)$FF*mw{{paUbd`Qvh;|6Bl8KhR5a zmFTnR6in{r0eix^0&O%vvm>Gf9E)El6Y1Su%K9r^jYI0J54R8xHhE>L9|NqN(>BKs zbzlsx0gJql&L|&`E#=i;_Za4B~Uz)A_R)&L5l`Cy<&MGGdQYFXlNrLyGW{1J#p z1-c^~VM-_~kC7bKhV>HT0bdza`}(gGi;sGUzif_8M2=R#!dlMzZOnu?%X=<2C2hh9 zra7bj4rNyvh6_K`UaR5PSNq~J&yM;!D#ZL#%fVe)pKJnbFF zm-v(xEm|rTW(xY#1too*8OM}$`A8H8Kt7D#yBy9$9Mv~&9oz}!ScT6*mn`RbgOds) ztuRGsfg$oP3vT*nkt6T7BV`Cz{Wea%xi^KAxkd;^_xm<-TF0sbrjK{go);BnQj!UDFo8HA0If+IQQo10K4VE zGH;Utd1K1Q(w%wt6QE-@GTP6paxGp;kuhE;yekMGkOtk~S(y>{IfanG55-6vznle) zWy!>(sBmqwG4ds#vc9Z>+96C|7=84*SwU5%D%ZNXHi{;~n<%n#8x4Q@M9x$pe)(4P zi^MY#LieP{UuM3sJ)jgYA*%XJ6NHD2ox1q`~-n74aTs@>e&`w(@4A6AjR^qLe#&&IyQwL0jLAFe=%iOdW{s z#2Lb3lq;2~d03X~XFY?B0gdCPvop!J23|X1@yNo=LV^=%tU2xK5QuBs9qK;9&gP1; zF+#(v?U%p>SM7j)JjTN~jYP<|7%leXxL2RvIeJ2gmR)3KkF$Sc*;qOCK05n=H2$7|UQ8fuLtW9H*GK2uizPh_c~cEf zEar#+O_Tr0enSR|xMA&FOEiaI7iFQbnU1xQmzt302ogpJGQ={8_N~G&h4u)jQ>at; zw?e0P{+j2g$4zE9^QScq9gDl9v=&JwQl(Ln&#WvVXFz03DCTp5NPPl1eOXj_;Snb* z=o>{wOC&gv_$~wqyw+P_Tt5CRXDzo|fnjSaIej&HDTR~7%rb59+#`f&5{J|}m>UhB z{IE80#xC*}?=?baxHO2gsNuJW(^PTFcIEli@Dm?LBNgqX>erT^In!&i;2xI{-{&`l z2>fRxa61>LM5{U=2!Kkd-rERvW7lB_zyWiIOlvDL_4T#gp3BQj%7E(1Y7D)LPkVKJ zF=QZBxmP8y#DPB0J_9lAB~_{&9oo(lTVe!exMV_U+6WM`Mi4wK_*)CYs0H}TILYX# zHr(##Gt=;hIf}LL%AL#lSAt0YGTSROgboLRs=AU|D3nd`vb^LMVXFc;K^G z71+Q*?xe*OhnkzY%$rDl(ej5iS#nt(Crca?a%iV*X zq_pN)nG9)$br|>A z7$-+Cc$pDdHncBP=&p8AFBr2=WFJ-2Wx=V51QyMl+PWmkvvpB9UU3iNPh_# z=)bw`=u%1Y#Qt-FPi^sdu^#?dn9$Ky;okn40&(-Y@x7xGqNsRL!N5pO*veK${^Xyl zj8bx~m8NnPOCGRGCHUY;_zhdycQ4;#8EE2wY3bP)h&N~RIT6IAA}3V>=S)I{u2J;9 zQa0tz*Ou5loRNq7{<8DWoQGV&Wku`n5Ecjt{^i-sXGtAGVx#AT*OKJaxxW4rSmVpp zg%2rpoH`!P6E`g_yv%X0*4`)yS#(E~xdrYEaU;DI5?OMsv68}?q^UO0iE)gHLEkxc zxHajO28lNGV(`o?1|I#8uhRw(5yop&)v(e0U~2YGefh|5B>FljG*>I1K;vJtBI4F` zU4A@EjXNp!-8eAovK%$v99{LTV#QhF`_&WPgz<_#+}DY>K>23~)K$AW5PConJ-7Y= z0vxWDo?UYZtSGl39{YlgRy+kLFAiUJuAf9KNWjmsgJaYdv6(BsBRXXG(vB4O#$7Pj zBh!{LN7)=TX?;Wzr4NO63^l0~7s8WHN1iQhSu#8*rabJoRB&n-Vlemy-VttL)4+Di z@Df=RRarCbym-Y>aJCZwD0Nw(PHjsO2GcN(x zQtTYcVu8>~*qeSME$>#~&q-cYp$=fu%nd)fIQ%MUqar%NX6MBoDJD`ULl>7j9r&ek9w`eP@k)stRAAf z;#xEgG=70p^OCp6X)|>B&m>Z6&Jsmd=#n{{zk<$7Ig&~C;+~P+JAh)7=j}X7Y1>WI zjGRp!$6z#SF&5MSkm{!qGPo!oSvOR25(`W;h@qb^+!AQ(LP~%Iwn}xX!2MyU4^+gR zb9TiFhdRYtVStXLyjWxPdCl7MQpc`sGHB$cGicOIw7$S=0R()wTGIU{KGJ5@&ot{* z^vp35ky)C}N$f?a)QntQ3*p|-@SSmCe0-f;T{0-)0`vRX19si+8ubuu-tdifGQn8# zy1Ge2dxa?Xi;`YKY;X)+GRvURK$Vyh)?FCRY$Pvr!o=M8}v6B zl65mqD{FLGMK#bp<5DZRRDH@oAb$~lxp$B8XO@e&H-l@T<{hl16=}2 zpYi7jp}NsG#(X;j7BDlg44zp?bVCMbP|ez;;7RfU#$Y zEuk-h3NBwjD^_vRO+U-Zs@t76AF9nO|Cn#J1}FnbCW~9K07zsC^%Wm0qH(D%*R%-Ve%SJb_X(7<}5R$E;-+$2F@0HEp zcs!ii&m08bmCa^oum;GR1CKEB905|e7-TUolZ|jZ6nzS4Z`6pxNsF2~QhlB(r6PGx zDmskM+Beij08_FR;!Q}+&acwsOtw+aso`7!fP8?bVpDg}NSRkZJ9Drz-;4PR&otX1 zeG)6yack96(&_2-uPe0&r+Dli^g5o?KMYzm?mJr`uRq{u4N;`)&aSWzaL1}aX}9>7 zf-(%~CFp2qRlW2WtcnMKcEh|9DkM1#sAJhVP{AOt(QKwnM}`qCvedj0XRq9sI~Ybt zxSH*n_k*--YgSIDde8J@&Dm;rPAMe1fk4SAK=m$Y;6CWk93g7A;2+cb*X1{+MUV>1 z)}fD1k2rjjqEik*+J`6H_kvGZ3Xwhikq9@Neuing<|W({3&f@FunXwH+&!IcE~L^; z=u)Tvb0<3X4TkGU!NsW4sb}oT2~-Q5Ty=|3DR++qoFoWDFFUS8V(NwjfGVS?;HLoq z9TGsFuk?n05QhbAr2eCd}gx(w2T)|I0MRQ7TE>24~}mHV#I&j-8)CdRYE6Fl4};F-syx`;$$ zsVz;AYN%NiCU5s!ST?S`y;*gtrFO#?(~nh9ANl5ujX;EGm&ZQq?#-z)+7pUQhf8c6 zvLUP|s%Hmg_z%N!$lV^Wvh|6z_GP9J@I?z}uwfMy;j?|`hz9QOuu(Ca6GRT-Il*Bx z?#uy6=Z2pCQ_H)ygsA>6IFTekKIAjz?dSD0snlJAk)2moy`)}uZ|5bh=WypL7Vf)W z`PTi4#Wyui<689Dn$z^-KiQoerO@oRn+<_W%QDF!hHVmY#Nque28eF!9W0M(n2Tge zoHL2lpUkRi0dcr#3$*?h$X>5v?o)g}_8NIgKZHwF7mkW#5s8qAfj^u&85}Dn^&g20KxDtf5Qp#hdq?YnMuh~nhPm=hr zWc+k2pWz(;74SH`w6;np-NuaXyh`I|xxhDYF+F+o%cZ_{pU3S=J-J=U5%OQ+lev{? z@~zeS5=n5LwjLBmYh-BUXuii{x0hsD?akIa#1~3I=%@k&&c|E?Hm zjd2NA-8KC~%yDIastpq*g^GS;xNcOlfF zn?b~jW|C8|e~U7j`S&0JEZ*1g=`DetcRS^haDTX5Wf3eeAiM{wwF6Y*K2`wQmIPNlUT3tx(>1bcqcQxP`ThLeRV45P)U(HR;#HZ;-3Rz}4fB|T5E zuJfopdTu!u_$~!{uo>C#HDO-;Rct>4+#4fWc3m#W?8V|`?oWmbqu1zD_E)$SsWnY& z&?Z}*fX{<6(ScL2dqOTRq4=LL^NGQ_=)sCp9e&&0jZ;xi3_EHbHl74*)>#$W49vu9 zD7XO{tU6(;c6HJtY7vi+yQ4EB4q1S`I6h8^@jblU2tbtfpL$Cn()#SW_>{xr)N5Yh zEy5I&KQkC(=o(RWrZJ5sEk0)je-e)kfo3U12_^wnZ0zhh9l(=&$3OO9>82@o{I4dT z&Eop>M`(qrK39kmgs^g@?IIdq$9Dj~uV0_<5sW>_CfQG}W1X(g(RBv$1V+o$e#=8# zUl@8K4Y%_(^@r9-W*tBf)>w4Nn0?iu7~g=3RDy$&Bgk|p3(kkJzt@RMU??N_wZ267 zV3I3&ufMs;H%iifypvDbA%Q!$Kru1v;&)81MS<*&#&{(WU);1nN4jN~Fh?21n z`LCs(9#)O^bS>R-4iC`Jc1;;WA{w;gIg}7N@g?%KK*-%qLW1<9o>6VitDC&_RH-(i z=%^-cj;M3HyYa9a4=eqwo&qoF7_-YA%sH;BuhMl~s&AfxYDsJ7f^r0zU4u-_dFbHt zZjq#Bo2rIQG`)8%THjDtejs=(f=`o~mUy91^bxY&H4_19v* zDArU9n9&BN#yTXtUyCGdL`nPHiZUj}$gLVL0EuyjgS_^*c{JXLENL=zOVhtve zg!IwI5d}K)M{-)Qaz$lhGDeUtz%XsrGceINeS7+dYIk<37k=zE`}*a-ozJZtEtk^m z)Nk2U$zL4gX%PP|zM5QPYq+!#2#sz`0>w&;775zvsx8cz)EUGTveQGeAVvoY*Z_@4F*O2drh@I}g~2n@xy2;LMs)U68xt+7wB(vK*MdgPG=L z2LXcteC$7{lcU^z9@{-M!`dpE)3Uo6uxo3_UOo#EoO;Uz9%BIwL8Z0oPc`*Ln`tfK z4muR9M+IebOK5x`1zMRHin-WdH_8uhTh`T#&5T#33oD6dth5_at%i8&3BVX0uU@OK z(lXfUJqBIF3=p9;(dd10@EK60`a|yRPwuyO$qLcwbJ_aZo88kH-x z%~;aULdp5Ru<52C^4lr~sZ5&V?~2Rk0FoZ*g8>@BJ^`q+AOIEv8SSm|-#l1a zF=do=rBR8{5mdOFzB&AXeJNCl|MA6U<(ymYsQX86VKkX%s@{{lbMp22F?0Y~F4$>l zLdav44V+2dKwQ6*MIrMPk`>DdU=Ofpci<#)H2h4z>d{hc5eN3#K0Y)TBD((}FzaA1 z`rXPJc7w}-Oa|lJK$xghKJ}K(q9OF*;_WcUCuUN9W99aA0Th_1JC6!G4Cs$ z`aO4f{`)R3Ab=9R*1HKRk@0#~E?RJL-Qr!Jm-1L92gD>itXcET#*vHO=e)Pr9Q>kK z{ds~U8>G*tnc1dz?Bg^o0~89mgZwuchpFCle*j8LINaeI`s zSG_5j{Tmgi_@>ka^AW>%Hc5rgtZGXGxJPP)))!Dw=Hqk5URVCvNGYme+k`ASX65GK z*oQ!%U@3`M{{48@XRVaCIf;I3wFfnGe@???4+bf>=0fL~zf++(IRFHbz&QD7Nx}TS zW>w;?9B(GCJM_hlK^onJoKKcL2OMwDz8dCMhoP0jzDH4_x+U14?LfCTY0%)9M!;AS z@6!Z{(Q^G4tz%HzpSVdQah)t=Gu-7G^ZsPC0mGwaq;Ay`PavfW5Ap;Mb*dzsbqwbx z^bAi;VT3P4pjoy1{?7sY{=JB^W)2~{pFSe|!cLm)lvPW5I;9?6qPilW7aAvf@OV0s z&NPR5M7KFvt8`Ox#iz0}CtePBy%?t>>>=VW$e7B3i@u{7+#WgB*>DyI-8prx5e-6PTT~5DU`x!$`9My>}KroBDQdKD`<}`)#!~%F+4&<)H9cF=vs0 z$2>m4nf$$dv>Y0L^;#rq1xAZ&!(+u~b&$R=XbS>w0Ha{j7z=9RSBqA>rG$IK zq8SaO_J4ke0&<$3alg;-kaPay;4;uEhl`9#QxuKnJ2=gMGNPDfER7}dn$)(}_S z&v%I9gbC;>s9~dLdzEc(uUnfP03b}z2rgsh)M2o&d{fI{U(lUyM+}al)X%NmSZo8~K}?xwY4bQ?qL4#MuMDY=ZS-657%zLAieK)>Jm<+jq5W5Ve&vpHxPLmHiZ2h9%l7kddoVvQ8XL4g zWfJWxcKAIOeJ$uRzqa4-MaFbOZV4=St}Rklc^8#sAcb577VCi$ua)B*vbq{-t~4$K z?^TuKpO3yG$$g`h^=7_C0`!N;sC1?MW6ruJM8OMwrjG{MD@jr=q>%bt8bUqJpBtA{ zQTA1jJIgAzl++y9M?X|jzJ3H652oLU8ezfus!-4~4?VCl8j zw0RNZ)+5(ytoc2-OnZAYT}L(;e8~P9mK$zOax#~(@`1>uPDc0DkP<4=_;jtHN|_o~ zr_X@9N%Eq!*)htdB?5L|+Mu^KRt=>Bg^pPD1hQR$*qP|3Ktpr@%RCmXD z&gYb&1s^l;<4Z6y>sH2{VYm0E3s~H>bB9XJb?I!@kuAbUman%^S z#I)R8KMuH0N(b&EN7-mPPnHe`1V*#P46cph`kbP3+rO_b#PmXpp`7(74&`PshmAh> z%G3VX=~cw_OZY0UfU_r{V8Ag0BZwaL5z3;URn%+%8d?UZZpy6ZEMqY@_3!Q(Tm9)1 zUNun3aY;CZQD;^hQJ!`jN9a^jmpMwOCW~pr$_WS+c3P&e| zSo}W5BImivO!gV~y~k~moBsx=+iHuu;o$qd z!?=+TJkk0XjyqJfx7;FDlp~F}z=`-5gr?^lZ}=Soh8m5m-yTh`JaEcsdA~>jIGa^} zQdfHusY98X&&wY+9n;hsnvZ)74&87o9iLCD-2F;iHuvin%o=7UA0>zxs9^Q|39ATK zo#8Q#A9|!5lk{jMC;|j|N4)u33GpF$3Yr4N`~pj(QbH`~frvI#C!P16gwfvEC5|Ok z{L~%>)Xq&i6in&~z^4Zc36tJ^GlKzaNp?F;WB3wE5Xn~*GGrg+s?xUlEJ#CHUMc3| z_hfp-v3N?NEvL|3SrEK{2lytpE)MTVX<&#*MJJ?GNE^@-ScuKo;Q^h+Us-(!>lxaH z<^91SL|aiwOzWnC3-Ya#QQ@WslqAjnv`(|(#==HbQW*&oSx~3-64%7AZX%ovnU(~3 z_4Z5xU&))=IZ4^j!n_V#1wK}6J64$6`)JL(;yN~53RDBs1Xsbm7zM@4kCST*7@cjxRvvMrrLm8;`<)Zs&<%b5TL4$50 ze$$0RGB00fdoJcPirhY)I2Y{pF+K?sn&Bt<{=J`u%vq0LGL`4xLA4GQpOn5G3?i@y z^(4DA5=O8#@^=rFYNW96iNhE2l2QFn7%fhy)SD*Z6EcfT0--H!ol^zcDVS@;$6isn zGFd}bu}2vdw3nq{vuL!dKMZ3%_@7~<{IvzdN1eWasu%X#L?j6ALpWn%=&&$g=j(Mn z2rz%5iSk5Dmfce{|1sh^s~``YUF%8cp%^7M39n(29b5;h1Bl%Vr6N-qJ)6-uUO04U&}@bs+1;&xpa{U=97^D z3E-V#Mwnx9fDxK+tW{{rEgzy{{9V0r8mbr`czVMN-#1~1e_TbiP0;;8gORYP=gvvC6)qpi)5AON6>1GXUs|;Lt9dn9b-W=fGBydYGmALxs~> z6qoxkklyku(F+=sbDdNf&ijz^r+|8FxBHW=VlyfTK2eq5Sly4q1@?Uy9QPZiu7=aO z(|zm5C71l*fjR5PS}-BcdaShMmxppl%e=iY`~Y0KHG&*I?Nrs@ARw{;FVTwS8{QTP zlL<4fkf@>Qi!mdB;GjyhV2hGmsBFjWtn$Eh4=@g_c0gp_g=;R6N&oh^%&3O*viA@n z)tRs3LlJI;A?@3=WK+EiH3gqH(kYjs@e{8ia{vpb82uRyitpZG2;p%?3QL!C>YYUz zrv~x#Y*9J#=Fif;FPQj{9P`veMdc__?%iqlGR();(81n;JT7hGxU{2%bIx4vqRlw{ znMipfyPNt(HPy_nU(wqvOCnPa5x)TXUICIWy}zgxAdaYlUH7)JQojAf2!0j~jV86_ zZ4qh3HZDas<#zg`kp4bfCNm33l=%iryf>*zSI#Z;4*iiM#lE9aNl=5c@|CzUwF0O;fow{si37~mvRMC!rA)X z6EQ@ayJ2rFgiTTUaLFd2fr;+NTd4+~Oq8kkD+;aElncEE8^71?i{TjvC!}ZL{sg* z+t$~-@4e9`B*y`px@;A6gz#Mj0=(mfbP8Ww8B{p-k|IS9-y)NCa9z0MF4QC(NWJj6v%Ls9Amea~sg-17t;}@Nq0aJiVoMU0 zrtnT&@)|-hQX@b*vuOuaMph$uo+3v^PhZ^G!xi}~5Gvr_q%VKrOqUe(@ocl0;R%>= zNM=C85sDYW!FROyuEeGN?}P7Uzx2RnR%#<%wxP0%nAMzW#e@A|*GCB^2cWg!AW;I! zx*9TD>9mL(+?MIp-=e{M3CTHF^J_{(w~OBk5JH+-RTO%Sh(EWYL)n&0`{-v+s0CD4 z!Vwc?{iaI#Wm+5LO#WlnhOP$@z6%q_{NfJpp2evgc~Fb`$CHQhH*=V^COZZ_6G=Ds zNMn1&QcBvI7I;DIY)0%hEsJCi?L({X&8w2ZH%g%XCNgtwr@>ZjbZCP6{ze9$lJIA^ zK?$%q?dxHmnFX2WYdl%9lU(*6B*DLP?H+nMEZ>rQW+VVqG_ICQ9QekJ!bjqQwIPiRgQxp{mHdf zj9C2kzYSG@ul0;hBdSw7ySrbGMhheco)l{~yJdWZ;r=$Tnv(0R;dClDnN*km1sBc~ zZ>6uV@B1Jw9PW(NtwaOpx26>qVyVd_foMo`oqMxu!Dl%fbz1{dGJp#E6Kye5xq}wd z4#%~Mw2LldJr)T38j)l5XA|ZBQ39H~DyLP09tR0HyFM1k+F# zK1y8L6f5$_>zO+bEf@5XU`8>}q-?s0H|!B~L-p<7hWm_PfN8$zf6VF_n90atA00Wj z*}u&0{4~}QSi{=27#Rd!!w85iZogp8M|J!)uoBU&ZmHt-0J4MQsXW8@6lNIB>UrbB zyV!N(W_>Tw!Mt}JS0Z_x!qCDDc&L^&z@wEMSWzqPPWV*Y-Z{jD#Mn7fu_ zvpF~=p-ew{_RB8!%0qEWdL2jf9uK(02RCxrL$@)Z$MAga^o6EY2orpab0@VoqecN1 zvWA8fB2j-c+YQuK93^TZH^|H0#9@>2=E4sSwJDShWnyDX91`urt^ zL8{|px45#=#d{SsJ4O{T*Cj18Da-NgCx$Wxyv?r55{|T918_3i%C*< zY+zr`8YJ-(=^Dr>HZ#p7aSDd=o~N|jdje=Dig4E!*S%&<*p54RvLrM^i=#+ z-l+SMGJo>c$7xrpgIK)Y>|Ro;%Rn^0DYK0LByB7i zWAcCJ<&xy2;03=N^P*SF%NH{m@8R$G?hT}A4)Gzg5{8j70%Xc7wkPh=xt83#H&%nr z^}1c#;&@hdn^th`R!Ci)O`e|EY9|Vkko0UxkMkq|r~98VRNi9{GHS!+6ehH(?U6wV zgWP6JsCZ;>!jc@s=n;nXO%FxzakJ&tlG=wq8z$+3-qe2lX3e4+9GCXZU!LW7qIhPp zKcQ0|lO>gb2y~54T-2i=6VC&%vk@mm3l`4Ae}G8v+~*gZn6U#%dB=iSzKf0s9n*5S zwgs6w$NteP!-wPkAZ`O4H^9oZh`)k7mr9eGakjkl3sePBnVt2t9IP6JEnE& z39NRaAt^b^VsKGQarvD&!=n)=4A&kvndD#B`@d1=&qB9K-r1adDu)$>c&( zs|^?U8dFYSrkr`1$$us=}(A*^5k|3dPdtTO~M$-?4tx`%Rqx4~>l z5p$4WbxE!1yUgGP8)wc%f*0UWRT8T98d%aWHQy2(srIEla-r8S+#jqg0u$C9mG_OIR9b53 z5ex<)U)l@;)oo%+N%j#N3ZL_U?YHMFz z*1ep2rWow2ZvUz77w_&33f!apH~n(iqR5~{Ve~Vk-7nAC*X!>tj@wHXnxt8I@NB=29vj}>-%ktJZ zRy%=UNjp-wj@pg$gmm1jI3zVx?9u)#=!NI{LaewpCck2czK?HWVlF|jQmdW(s6x}4 zoU-d3BL+!|{fOZFs0t-|-ID*XK}|_SK0aEI4bLrs?4o4uOykQbY&bh^!mU4EBHds+ zX^&7c5f3G4Id^gv2!?I<)NWX!v%Xuc{Z+-H)~6>aS_OXWxIQ|ut$qxGbRAbKj$O2=k=G+7C5Q#^CU8=8^AB0RIkxm~ zU5_BsoelmrUsdF+ad<7sLenibJOJ!i6bf$Mn(@2ub&ItB_HKF2#h-i5Kl1>;u6lak((GAfs2k-Zcs%4# z{<+<8gBFd*M9h(2AS*(W&=ZC$+%%-j@a$`!-*~a_-HZ4y^6!0a?eV0aBO&V)gZT1o zWidV)8Ce3~<*LwRG=?Xo*M}AXWJ*>z0f%|v8MXb$j|+9aJ0s`bnK6fWv{(xNj5O?2 zCmdFPuI@KBBV=!GI3bB{&au3ffu~%M_>RRP96$lDmOrpoZfH7nt7b#f@6K1gw>-4z z_c)h2-=yn%;ki$PtPmN;{1VJEIH+@lofsiVGG$0ul!nZ){={PbAM@R$_g5b1R_#A? zKxKxTlE|zw8#GLbdirC64sFbJKnOZSKoZ=>MklE}mIbmRB)NOfXx4d>qx066f@1ai z{LcJrUy-)vVugJth|i!a*aOHlc^+K?4~r`n@>ncl;e>plC}>SwYp zYJ?yO$+$sqARBs_+zIp_I2@@yR~)HJ&r6n%4?UWkk&!OHY=Bv}c^k`Ei^+KI9}IOB zxc`Wtgt?m6f4s5Rq6@%XNUHLQ%ko*AZ@oVYVe zAm=m?uO$}_9x6(cGXOFj%1ACX3jP2sh@}J&q7^d{WZQ8s%S!c_A8$=>I7Z01qv4SQ z!Syp1SY{==W&O?^{=r|{;&^6~00kr=fd|{$CuntR-VA;4_wv7=xwQnuSO(4bUF^Gi zf2Gaxobj8B5AYA$qXCFh!BuW-vw$08c0-0FGJczI1e$xWUOD!4(g!!j*XLE&N2R3K zD#qm}7*h^Ngjf=2x%D_zZq8a~7&IHid6~&wmV`QLUr#9ZS{%G}6Ov3GHqZ$t2mpml zeV###rL$ZQzz|M9qXbUh0D<)+na1$sjEOihg`PW=q<|sQ`Zow@YDG-plC`0Y ziAY5Gl^I0)ZQ<0U5~T2*_sxa*)rp|oG!3yh3QeZ%(_j!m3_o{jHI(5 z5O~z1`{g9esdVFY(jIT@b^i|nlDfK14Et_5PBH1KhXbNI+Hhn#nC0V>MYO=l0oA~` zVfu-H5;)Uq+14z?V~EFz>3aCC^ogN3GC3=O;~#g=f-Fo#z8eGHc-ObrYoO=~5}}Tc z02mdVh`c;Aq9}i^~OTRL+`_vxaq!6eNWwA%Nz5wy>xH zv)nDrC@Va=y}Eu`&-VJn<4I-J4c+pq|6mh{0U+bIvr(8)+r>y5d}|RW*P5&9F!y?F ztfh@lF!s7R^C<_TdGl6}ot^8SJ9cCtDT;hBb}+Zj+PW2aF*Gtc_W%s#bSm<)=o0ur zXC?3ff?+AB68OZ7q;TP4^cCXeadpwsuFxx%<6g~eyYaVYc}YTj8i%v%g>*=wXeJ)xIAz}h}HUc?LUWDLpQ{} z7WvbQ8@``41a}TWvz7!wiRHZ}Vy~ar#;d2bzTJg`5spREbN&6N zOxe6;(-!~L!+p=N9?l14#H+x-4W6&c3pyF)o|ew;vJYai!bWOCP;)VGfme|waF<@o zHbv>Fb0ji3D}fI@+}*paA6dC}={e%<8AXZX<{*--e_?=!M_^a&OS0`HgSw0~n=eo4nnK+8sJ1 z^=5#?B=qa4OQ+^9Gmi^yDBGVdHy0}~mE`he!(}tXE6El|RQ$HEgUDG?2$G8iPhWzi zF!8w=vy=AZW3Qh&NE*Pg==N$m7H!!ynLJa5lO~x=9bj04aeSl%NeX=Bm3`;Wds4`R zb+D<*$egdh4e2*^=fz1up{dFpuVphRfgb{eri|oLg)qf2g&!aQK4m5n@lMOE{Dt|* zK(M882lwNQBk(x2AQrH6?!7EV;w}*e4q2mX&yKrQL15PzwQlPkU6bx#-~C<1oA1pC zdsFw%+)+4p#_Wa;Nl0}E*rok-b>i1)AAB+{9J`Emm<<+*ePyl7p;n^hhB-^gcJ>eB zQ6Zra5hsIh++qFEu`cE*YPofFoxq9F^yvVL05RG`qY-g7Palpuw8dm<#zN6NMt zX|e$3bOr`ox)gx_x%tYz2>_V_H@sSQ1T&B5FBT>o^dr}!9B~6NuHpvB5;!O{Wq?AH zAUK!{-$0Oei)QZLd2!m3bItdW#{o$U0KKZP#|`*-o+si4plfs;;g%J#vF)B&UsQbm zFAtUnYBdu#R9JZlmm#jAb{_?jK>W5r)uXs~B+&;z(|_&TM<7!mj!d>sM&x-5w*+-6VzS(h8!)woC#Tm_CGc>53H+NHFS4+X z3>*%vPncDn>DFx+X3hk>mc=n~_P7CNuBDY1rDP>icdbGA1?!?SYcKXO^WVtVuE*>i z0g{r5_-%v4+@qqblAyN49&>ZH#*r1jZQzXgLk3j@wgSM6Pq1BYD64q=m@Gy^e87+9 ztXohpnm2YVg+-g8P(+_ixuzjwQLjy&6X&Cmr4nFNC6j5S(lAXPv+LwRI9!f+G9Zb8 zOgL#e?+KvEv+PL0Fpn}fJA(tJ*K$|!Raey;M+ux=Xu3VX)SVXIuc;B*M(g|xouAqiKm7GQ2P7qJM|vFVA?YQNs2ePa{7Y=Sb+!LYAYv9{ zg`x0tA#C~N)3iW#bh-ejP8u%K{BbPeiZm!B`44({z|_&vhClkVq#6o~Qe{eSsZ{DM z_4fA8^2uR7CxI;qv6M~VLlQVQZxYz#K&DrJTYwJJ(5Fi{7yv9LCu=WJ0++d00=IiD z!xion6Wg8umnI5L%v{S5cHDpiecBg=`t)%a5~1#f-2=dYBv$-3>ZE2QkEF3@(gYXCjvgGi);!9vh}}tZ2}L*0bNlo|qzyfxm` zIhe=n>Qf#7&wZC%99E&p^VPBftm6@X9}NNyOx;kgr6Bz}07~FnOF}bFIV*t!de!^n z9udv>Pb!8kfd`Ut0~~v0dqstwyS0Gu0JMx8By|(<+nCT~E#?A{h?bknEwRk?vVv|U z;RJ8@hxH#m>{Sr&zY%_ILKn#a=6RXClY9-QCs}G2i!EM$yFGBcjGLd)MDHH6wRQuY7Z?VcIB% zBu6LBU6BSbXcGlT_A_O+#VIjrM!Tb8e3&9l>P=%2aWo_tDM_l7wVoOKh z%}awjBx$me%{kAqBUcAsXc{sc40M*okY39w7hX#XSprWYOW+gJlbI!OaLG6dSbcLh zS!iPBTJ~8vC2;1p0=-|HW#k|U$>>E^`o9s+UsO84%q*ajxBRd!=?MS3#T;Uy4#_YIhhzT~--f+7a;65x7 zb*6wz|3wv=Hh8{z++38Aut9dxZm<6;6Iow6cYW=DM@&5M zQNmY9L|SWFdcy9PgBubQ{lofGLy&PLwO1s`wc*M8Lw(a4&_gBDzCQJ5=PkDR7@sL6XVXigfL7*nMYyNdwZQIOm&II<7E3eS7}7ZC~$ln%ULzSX*wSNSjSy z5m~)<4~#akFo+9IlX0=P$zk87L>jM?CbcUxniMIyBuPUdlrn6MyqIyvkRE{FQXYUA z|1zQS-vPb^JpW<9rJ55?41Ata`&IZ?_fGU9rbq5%G+#q*;J?IfPYn&fQ{c z*N(2R!^}d`2{6by6Xmr8F7O_h*K(vRL9EqIQNqY%I<)JwsdW@Uk{jaDWRvGmUdwfU zo}NCY5riZQ=>ixsOJWY*y2X<0ekV3Da)L$Vf8UZhaJn}79@3hwK#*?^)vm9u-T33u zv}q^Ko!g(3Sa+!YK*Tm`kNcwzMKxcyg->ffmJvNQ|2i`7aAAFT+KJllYLiOFAOq)o z*MAjp0RJ&MMWYjduT1~)%E%L=v0zvq5F=hEZPR8Txib=p}t5&$(5Gl#D|LO!%!4%orbJGaId%SXm!b$y8PgbL%t^D z?zyzkvvsC~kLv1cGm&v6z5~vzPhA9G!9jvJUyiIuo1P1uNux*8W^bCjdE@5UFHiq+ ztpCQb1OBY~&}2uCpGAxS76C9C`y~J)>L+7U{)QB38YVGP5;#K_ujxt=qm-nyvnK+J zsM5DjRx#tZPhJ)AY6IZ`2zaq^#UE<)GhY4A#@ME;C0ZPbp4Y0Af295i&UH}1Tx{I$&>5Aehii%u-Yj*FDp#YYuP#qj3R>;up=@m!GI)FwS>F(bx6oA&A3V0Chc#ZKlq1*H*suPvOj=Z*LLsp zp~#bhg8>jXQ2b#Sf3=hGX@n$XgdqvZxbexO)RKS;0M7=zgRw zJ?+p(X`x5Yoj_7T(=#$`!0LoZ*5B*zav{=aVg#_L@4>h2?JvFb#Y-=}oIBja$k9oI z)~@}hd64$VkIH`pAnCak z0e{l22zagGm0w0KDG%7A)-JvD%beF=xw&EmjYI)2{@Oi9(@js)(Dcgik|rDNwM^Ay z#gw&;hEh^<>u7@{d;IngSrQq)E#P_V0cd3Spa1#mU;q49cRFd`Z0kqvoSoL2l=x*` z{hgG;M8xv;hiA{8IJX!+$ql&0Ng=NJQm)SV1V1TqG zVWchT=IaxtW(5Q+(boLSB;AVVD~m4$Owz3i_&#REPa`MI{6ph|KWYE(F9R#nC(O{j z3iuHYOaXg#xvAegpCCD~L}VObT|vYR$mkNd?TLcHsHkVLAc=_I#-M5Y?%4py_-zgz z0W88V5m@v$bMKd{XFKC62=z$48yuO5%xd)QtyAy9^-{3*XeP2V?`)kUVfO$sE9rDU zju94N2-(oKpJnhO4Be16H}yl zkiT)?w08VWX3bkr$G!6ElhiBUtKT7t5J_yqf9nVCtacjV(>m%P ziHhGIGE4fO>};0Bhy){?82$OLf9~kL{pHx%vq>reM2hi78W^Nu0w_-d+aqW(qJkL2Ok`9#`;g0x6ps`=GFd_bH`4eGS+|g6r3il z2A{im(-wFq&3`%|Mkm~qEhgiAL|#=TRkEA;Os^67mXs&bG(K@LQSuwkzR@)gpyDiL z=L6{G{iRo^ON2JN`KPto?Uny`#cM}@>Gdbwic9bQ;$7{l0lzFS!_n%}gn$`)e>7vO z_F%xD)}FdaxS1}!_*-`&>2c~6%XeUb6k-sLj&#{^b7TRKScDP8sH3;{%drmi1W+P^8kJ%Ji%Bx|4P;xottek{tol$W zC>ITEJhyGzxzPIU)wSyfzHIGxRqkbowBr#Gr;W?*<5)x=1^#cD|MYptwsWm%^;7dd zN~=ykyB3^v|ep{*xz+06S)&H;H;B2n}J0WzQsiv!HaMZs))Bf zu(I>k!Fg$d|Lmc5(gX)&w`?Ye&gLn(IP^^3k_*6R?BvZSrfkZcJ$duk&AHQY4BNbU zG9QfWoivw$Y?jl+@A4bFuS6uxJscX2*kn~wyUj?+>Zt({M}m=ztX|_-M2NJUGMgJ6 zExE@4=>Z_?LNg9tnv@T)==GaqEXk#tI5gpJyczZGhq#t|vFIl+Jg-}^VwU!w@sEC2 z+qm~fGe6y@eo^Z)BmWPT|KICzlW@R-Tb1@5;p&yg2uUj&$Ke0Z*Jk#&yse!}K=e1e zIhqN7ZuDP|+O^kF0>Ac{Zk*9H+90Woasdnhkm$i%iWm{Rr~?;i4)ydhE}wA5^8Wic zX~`uU zs*kYhHM^76_pOz{B0!8n;;pek`uLDOdz=h&8t4o6AxS9q8bXe~nKEVi^eO$*r<~Zi znGkGKHgBA~$$#hUTwKF(2S`|*wACjp?kR(ak~u4n&iUq8?f8j>6Q|ai5R;~g(QI?D zB&JBKqD5LBF4CMn$eHhCc>q3rUc2?fN#%Qd0w&D=#R`@IDIj3Qrxi9W7^Kzl{37+-Ee~5vg-gBaAe5MorfT4p|#h(OphMepMNa0w(f9vVfvV< z^>a*z>$auWC$?=btOdWIaZw>ij=BbjP8v;&A}En&yuZu{IRs0Z?my46{_Hm2(`Q@r zYU?J}M%3MpI2w&VHTs>Eue-RNH0y(Q0*oHq((8jltU(p=6@5W{f$^Sa{Nk;wlyxfq z%Iby-fE9ba1u_RhF{Le2woCzqqudjl{ZGux&BZ0!>gk(sUW7xEKmH+`x4^5{(+Of^ zX>kXQx-yZ^lYA`^p(W9E^+o3jcNZQ~6z~5hs^zA1&>}k)$*L%kmZ}Mh%PW@KTs^vt zt?U|3mWFr;Qqd%nbOD#1*Tq!sYMQtr`1vCJB}%@rpy|@SaltjeUvVj5?cPb1|1v2u zAmG?P{%*yeX6)1bpGjW-sr!XM1Fo<03F?*C%fZVT_+4qK+)*?4M>8!ox`r#iZc6O$ zCGN46k^D#EK&L#$x!3ZC{eXj8C>frR`v+4QaU3EvVjl=nqvos`@NF%_AfFb}o z4*XHD|AMnD!hbb#=iJ$Z-P`W}!}gNedq^kZ-0ryAUY7#I=zQO|?d@;9_3anmf>h84 zA*+J)?GJ(~tZM?R{YtT+wj@;(P^Si4Jv83HI8N(UZoe2Xkdr1#K z!1FT$R=m~_u*B#2i#KQdeo6UHmT0%0xwL#d2W9^2(-okU^!lF2av=qW8!-@Sz5iIm6!F!) z6FB=aB|G_&_;%0vKKebH_*mS%o(^7x@&)E;kiQ}MV#_FotA$r{f#?mt(IBo(H%faTuYqsYHu|<8Ok_XIiXrUp&WWSEmSI_W^5H|K(cuALLlPCg z?Ic8!w-1DEF`7PwU@Y(d_q1gWKse1p2?aq`##+`N@-=Ngm!6(*ToE;Gb;R04lhan3 z-5*FKGN>^MSD9T(&DZ2eO7tK z2L&#FHE7Y+&@+L1)NyNL_AQ^kH8e2rR6Uj3K*ACZM!=f%#jS6D<f3(cZMigy_2Pe#V$he^n0Y0U$BwN80)NqHzIDA!|=f3cd87K02`9*@!LWy$wlmSmw)b#_j$yK z2NK59{sYX?LOZ*tWoN|-Yq6_Cu_C3%85rVFUEMOJqE3IG`#bZ^786bm zw*nEFIp}CqM$5D{)9v4BXWP!~{?8?sb571l0tuW597T{z5|W%J&-=X3`@H`a|7>!2 zadOG_nBwyA%ww98n8=WF^KL#Ii_rS6cQh#Ig%_}k{NxHtk>)%&h#v@o|(O{loYFft47cSoFm>3;?d^*PGstYHk_qXa|4*$%URKd2#cX=t%Z0SP^5)J1ZBb(K z8aE!Eav}QA3>;54ZfKYa-XFaGpB~8#{%zNmV~YIWzw$)xD^o7SC0z>MvgOjHb&&y6 zUgrS-fII80uLVHVvV-f5PgKVKeC=yZa2G*{p4!xv1^nQtgNa)UmLFUbR)7H&{KR?( z+@_iwH{g!YjBPs_+z={s)vQegFGEV#lI~H$hmD=G^iK->r)Ub{esx{68ZFYUIVcyfh|fNhS>0U?d=k46y)uoUS<_P7aHhE9 zz}>vh6A!%5(5X=#c%K3VH+k6k0PnV}Cz-;*CHSMjsYiZw>CrupDw2Dj4*K2x-L4PW ze#C-auT*pB0iYiE%LXK0VLI6L6d%{UO&u$u(9-V5zdpBo{Mho!jli>Ou@^G?)wp&C zd9_nQ^u&Yf0iZ$>WQpG^<=C z-Kdn$X$e!*^(54;|J0>df-~PNI9zb-X#6F24+dM37t|||9w64=zIv3uf8PrQ%a1{D zL4Vg3;Du#I%sH^pH3tcLL86?5ZmBtLAa6zzIMiqKK1c#o*JMncG?y31KDmlT$f4G6 zc+1U|V|>-BzZPLleVWBcOeaIsx{!b(lo+AB2&HW(7CnA~Kpw&#WU?>PhK8PhD->fl zL*b*L@x8r1H$o4G{3Ja7;IUu4d2yFOq5e>?`@@5h9oyC&^m$VvS-H}uH#BH_<4?om zx5dAO5u_TNJxM%YZ6qnC-k19;)319o1x{$gqV zNSmT^1rVV8I&E#NSl?LL*4-49p9q+~M48e7cjKi#-5ZO-UFC|eN);=BipmvH`JeP8 z0w*%Sy6LtyReMp?myp3|WE@?lt|xiDnJQy%`TNrC1%DU(yZ0`+f7~#5VZCA_D4)Y$ zDUPm(AIpDY4ZNp+{AZZQd)=BD8jJwwCM9k_=NcpdUIjkn8uM#uWYF6BM zAJc(O7M)z>;*P?1pF45VB9ZqoRcrPTh5ad-z#W+w7DZVU@y8#3^2Ha?2mVD`k#-L+ z(muO46dL3+6d&4KvmyS&ke_CrJA{^K$^R5wBKgDi?vjR;$=%7_J|#y(wgtVpd&8SM zdc!x|d+WoHA(R;1`*t+QMvO2mXPlAl%>av-VngViv^(Q2b<#2!S-fX3o-wVo}li zC`zD&<@+v=fFg2~rILq7>ciP5)1e;BIi zr4?!HzsVQhceW^vvN6r!us#I4{J=z&#sXh8Yvj$6=GctNmJ5j$l9q~%z<5UU`n&BH zbmC!${;wGxa6s`x2igvN(%i8+Z5i-xhGa#nro{xjd&dMh<6kBr#RKr_p1=?OzN?@+ z_|nwt=i-8YyJyQs!5=mJ-OOT<*gOFJ-Ums{1Z7=5d>!kGjEBAB=H-uw^PI1Cy5^OT zR8<9ojuyx|Wi_j!KDTdwVOZ2BMls?9;ca~Uxrbf7z$aIUimyk@B0= zpCUW}M4k5YWxRbHxgF7AHliQdAu)j8XFYtdTBoKQyerHX<7)-wcSC zjlHwv0Q{gc_>tdywB^VD5`5{=JsYOJS8(t*!9UBLT6ehQy+7{%sjY;2edgkly$8S> zAju&?nUF8{(5h-OVkJuR3YwELe}rN{p~Pc?^rj$7h((|Kh5s zlkd~pY!+fvL?T8uS^33x9pAtkpP8N2B%}4{P)%6!zf7eS?|!p1A!KE#L>&|n5*~tn z@g7#BVHP8-lV($|AAWI@X@+3^kM{C4Q<+9B((aGD7jF!;RW_u`PhR=7N)BwgJ;%?b zomD!(0Nu`FBSug^q}SuyM<=zDAO(^PJp8A26LH$X&lV&H?f-v|6#Vc~@b|j5Tq;pc z9s9dyk52vUXtCl^#g<1Rr|_A#;7iYTel*jDo1F*18zdA?2#V<@$!nP>8u604jRr}O z%Dq=m2!*7-7WKVvE7E38jA-@F3q@2d+eVDu7h5}N&zZYVfYVJNPp%4j-ik=1edjen zrIHABLr8d9a(TGVhc!dn;@=9zyw~5}qg#x|0Y`yNY<%VMf23(g_PmJNN$Ypb?&#!d zH*Kz(p0DQ;D|+I@=rRbBy0}^@BvCy8mx2!m2CqBTm50)yNB6w<`u4!5CBZ-c&qvn; z|5ot5(r1sBVJh_#Yo{(1m*chE4AQr!ywU@}sc(9)x=xKr;PrUifWgZk2~fIu-#ol( z)d`Z4^CHHJ+&MNq_uM|4!>EtQHX(=+MZI%|7n+?IVpZ_iR*RG#F+a3I~haO#X>7%e$_Z%z#J(j2x`NZ0fes;8=JNTopBbP31 z!2s#?!_HY!5JHCoFQ`|%;WilZY+lQ{GK053lIe__h4pv^Ue-KJ6lv}s?>_$Agt=X3 zDbiZa0RRLR&GbrMT($1`QJR)Sd^i*zk3!LBpM8dck+qZd9CkIfew{mD{eAn+K0Wrj zA6PI)KL$o1VlmrVp$NeCk-We{o@M*iY&y4hD8=2vTd%>Qx;;!_+$T$gg6*sL(%4N@asW8 z{(r$w{OZ!Bk0e`O&He4sEx|vlJpcQTx?U;xVeqrh7IYm7cIp8zExQ{{C|=b<$kc^qza++g@9q5e7zRjrLjZXfM_7_^zk#=uNAb zb`wDW1S}LRVi1gMU}U!@fMkVdJUl4#q^*;y8bc*RpPoS3A)lNvCob@IBo-=zkHTELS{ramFWCeM=N+#IXJeQjs>d z5BaB$$rSX`rP>qwR=5$bdw9L$rE5xoKd|0YHyoZDI9p9}Jm-Mi0L-75V;C&_V7Jc>6q$TJoB=YqkOMH{g>c{v4L3I= zc1qkp^oXY+sY<@kA&Il&KJ;K>Q9pB$X2TxDo+2?bCR?aGTDXy|l79Xy=LtCZLG|ts z3o>ErwS(Qv0q{mR@CsX!+nU;SSK2n}7C_*T}<4iTOYr7$oA4c?8Qi)aI7V&0$drgD{UhNY? zlE9q`P2RZ+VDJI+0L+FojfmsaF0OX6don29WwL`ykn{jS(u_K3G*CjQpoG|q+^nA+ z(O)L9q?~#;s5ve)`IyVOSAOSMXzIO6uUD=uxSGkE^(?B_@+RyOBrSXw0C%s3-UZg! zu)eiOvv$%D8h9`Q5~5|W8ZlxIb1x2CG(mzSwbWf)MbD{g+HAAX6f{bBEg7Kc2Iz%w z(6@LX$xLvwY`K;ZYI@v&9VE%CmLO?iLsCDC2Z!LeGO4A^q%n5V=%9qK_#a8qHUcvJ zEa?pkc(-Ye5r;hF6N3R5_gWIoIZHW5_5eWhTCaFR&E(=)JMVfHjK>YsS>gr`!K{$9 zBZVLA&Y>Vv zFoP{=$phd8dX{mpy3Su1!3s%(OD=$g2T9b}Yf2}Lsg-7?LI?}6*qUurT%z~d*g*-w zmvUKO7whxpOen)8aEs71<(=zEyut&(^;sL?&k9M9+k?0Fm-KD#fh2p25#vl6=t9{> z|0GBs5^-GeQNA{!hlZ_ImFv8@j#Y*9lZ7}k?e;=AxV8XoNi%0k!a7z+a)0o4spaMc z{LvbFZ69J}g9(IWE&?6t)zr=z4TBg`NI)l`1YSlF$@(-A@#bk6Jv2gpY7Q<%lX!`q zWpm5gL6Y0?+rW}Bi4~IO<(}y$tJik1*CdOP`9I9oA!e5&Xg5wvF;3bGNsKy_c0`XY zcDLN%y!u5A2VSv1jcZ8C;$3BDNhwQ%w{vy^%<1D!bkasBSVXPT5Rknjqf1D%Z$-3B z;*yONQIO0DOF}>pt=sh0J0n4ATFh|pfad^s=9u6??2zPs{Pq$gv0%nrscg7lq#t3L zNwWe4LpPtEYh*VT!o;8KUD`BDH{!Hx!#i#^DQWyr#G;0S#pwZ{9XU3pY!69&OD=%9 zI<9;Ao*`nd89QnA=)ww0HumE@W`w0jNBzjDz>S#zY$u{r&D8_4XVR#N{N#~+I?y0Y5hG3j38Z!0TmmGlawDnRbLIh9f+W`qSdJmd zl0sixJ2MNY4C5%>Hc0fP~Bxkg%a! z{jk2@%97&J7jL}+EO`L%L&WQM1W8MSw{v!kxOmUdVy_)8kYz#?kYYn(fEmPtpyX&4 zjs=uP$Q`$c?nMm;OCA7#nwZ4^NlWqDbNA3Yg``<5kacV-qL1azge6(17vjmX4ZA^? z^~2T$B}Qq&Vuk~+Xt;5%sgXPYOpxTd3t(sTYV7-sc966rCe0L*XtCFmjx9!veKq#H zG%c+c<~VMR(M!p;jfCw#hyzf<&_EXciUwsX z_W^f`^P$?}mXw~NKt*TPT~+(cC6h&4xj}%nlQzP%Ko)cyRfO1uKQa#WTU8*YDD4@s zBsP7@ZqVPcFNylUYx-fEFKLl`0K5Z|xV`~ow=C21!5Y5}4;Zn6`}6D2HTm*8DY2il zC069^19WK@fZB}a6<=wTsTqm#jwa(0B)N9LgSviFiV^byS!Q13C`>$czCAvn4^c?WgLP#apicOCA9Hs3yY@6C_#Uw_BT=R^N?0n<|cMnGS5%Yy_eb z+s4C>yUp5cxYegc^Y3wz-(a3F3LgoULT=ON_z6rTD z4DoFzqM!ewh68W74V-6dQbPQgAjurR4Y#2j=|oRfYgJX1F`!+!x2g3^N7egP(>M)s zl)AN)1z;gY*QnlWuuufL5PQvR$DRcsY1!;Z%nXc;0nsnSy|PUU%0~27mP86&UUc;e zuoO+gz?2!aMPl$4ZcDlXoH)BNDoLzLEnEFXTk4+%`i$t4$oc)esIzVvW3SDp<)ny} zZaBy&(#{x^oTh0zxkfqzLckdgys?840^%kB+cPkls|PA;DF?ty^eoEOEJjEo25@HGBvM!L-GAxkAILV}liEhyN3hh$}3n1Awwh(r89CS%# za%{Xt*vI5t1thb&jY5)jqzU3(<^f=aB=_UD7qSb$ z*#cSX=}wKlCfG*yage4G*{}RyNyT=rY-1AD+2-NcRCt(q`a=YKgj;zY& zk_Uk6gL8?U>Xv18^Sd3ty%6w1!3q|yuW-LXT!&=BaP(tXPInWtP zLfCVZ7?v>( z%^f7o@fG}UlJ^r7Zzy0*RJSZMB)J{Gy>RqxyVz?-3uKuAgNy@{c+1VcL}S@)P5c+V zVo(N-!FqRDk{vm7oQgy(ClLpOZ%jqnxGQ(>Fwd}1>y@qB_n81EfV|`Zz?pKLb4Zde z#c!ivWQdMSnB;3GU0fiGIQI+@EjK1x5dB=Yz>)#|(J?-FYfP*EpbC+Jvj-%0Nr`P1 z4so)dgml@KDow^L7_lGZ(B%bIue?@?1&QrcHSdGvY-jz_dJ^<7)|WYlq(vUTJtE3W z@Q)Fu^LRX=h)-IS=4^p10RfAsXq#8nHpgP+0ahjg88zKqeZu(1l^}J=kkmG z`(y2VfD+=+mqe1ys6|>oJmb5X9J)N;^~xN>!RwXSzx=eny|cAa94S#2f9HKQlUL|j z5UP9)!31o-*_fg<^e#`vh8eR^&C;D69O`H(%@O%Ns^o zj1a@3^oysTSsC)-Xy_le1#gL{$8iE=fEZ*(k<^wC@s=9`GFU3nH?in4%-4@;3u{mD zGbBmhz!}LZL0({Kv#LYcC^(a67}I)!B_WRH=~yp_q+a7#1iFPq=7Su%yuj*}7nT_T zU~AWv;uUW%gV%KeDJT%Vw&u#tN<&MlB=%ZcYSl(y5ZKv;g(IRjW%Kd{s;N0WC^-OZ zkmPdwHY+4OFj)Y2k>)3?ujkd*3r|1uQi#uu4coT;ep~#8-qCxb@hj`A^^BQj4hQfZ z%+sQfgis_T?PWdsuO6$?#={=E6?N*HKtZlV)vjsOB*JMavaseeg6783wM}`+?FQM5 zJ8rC0&Z$d@zV(Dgi~!gZcRyv|a-Jb+u3zSGk3nN)>59M>Q%Mq_L{EvW=aRzKzAQJL zc<0rppmq71C8}neOC7#@mY zQRs%z-W$E6y}iAoqwyj2d1H)rAl4lopri0?(Ch-R5f1d-<*_mS>rQG-F3ko0JR#H0f+bCAwb~h3CrMg8W0B^`M`1CnC)s#s zH5|GAiU$2~vqaK)rD_@odnzmzc)hZv33z0g3Hx+X|KHxYPyV4h^L7GpK4wQt%wmBg zTKx9H(zgxKdDbFLiWO--qctcNnTgTpC=N%x*t^kfKK1H;&;cNUjLFvy=2a)LmK)(P z8iQe2ue}x|Ilr|bH|f^aMnR)yS9g?3Rkf~mpi(0doaAT!ELX%Y>>JzMa7HA%HRg&1 zfb5*sB6_{H9|k`*Fti2PT}srMH0vA)vGU5kClX@ASKgO5oMJaia ziQfQ$$IhSVPT9VGYs2}kigN|0%2HEn1Fyp+XjAi)nD}=+h-p!pcwuY#v*O5I`tx+k*g;IC-usSBzRq}QI&rHsO@U3e4{e9 z{|8T@Ea}gQz~)ZV)=DFM_uT5u5@qv>@e~Ubg-y@#ZQ?!$pv)CW>RVVY0B9nb)JZ%2 z(#ntzdoe8978*_vqM=?h2$@l-m-zo^Xz#@sm~m!;B(N~%8qq%au@;d{h!B{Mf4Vv) zPu2c%!!Cg)xe3_pfAZOuyW3;821*3E#~W3rvM00%f);aQ*tT07$R-gPXkEa~fI(JE zC3a)R&{A!992|RDUc|2zbe;;6i#uOVG~ZN)(Q; zJJoc%YCW{>sASK2^gmG-j4!+cY{}ocU9)E63-7>FmHgBW&2*ZoC2LdhLWd-Xw#bhK zk_Hz_%gs=oNAIN7Y}*!$7iqnt8{$WM!)u0y;zxsq2u!m5!T)a9a9Vg-hS>MdP_#hL z+z~wtz;v2H1q_)%hPBBMI9r)h_19X_t=dvST(LSJS#iE4MOBq~{?^CJ+>|iEL!eAn zTUX83XKQ6LP=?3|sJLvsLV98_&Xv8PZ-dSn?~2|V^|)7$y* z(aw$I$JX~}z1=p)#w~C20I)$4?DpU-*Dbf}Sdr$3*&XZaFZvRlG@?kuDG*AGHiU-; zsc(!nmXE4KN_K>f+8ENP4W2@usV|gK(P$F04(a*mDGNiN8bl(!9yBm-8=6E=c;SOr z^`LgFLa^&>U3T%Vq%c*nGJkoXvZ0|Rwyi1fyi6aUIwcB3^pmnNJzp#1%Ro}p33-%` zX$XbT$3GV9VYCwLyIL#erwN)a>jNc`l2eTmL8R(T84&yDfwl zt+xbcV*nt7V3Zj_dT>&dQ||94t*`f+;9FH;&@35EqRfR4-h%bnkxjLgo&Pf8##ICp|ymrRRYi9vh$PFM?6 z+hhpL6%^;56&#TyT?ssYIk~$fS&({6k(AP)yeeZF_P1e?%;TLj7Z2_{0N%L^z%(fT z`muio(w^EJ`^Y;xSHGtCdh6;req1=8X`wS^Hb`=N@RkFXgoyLh{^LX1X7H;ndf z=nW6K5#BqRsZQ7(6p<`Reo3->v}Akk=>A>1!+Xhf8wy+D8^Sk)#&3CvSH{PiR|GNQ zL*Qg~8CncVF)I@f<6t~LzTPYgkLj_!NP6upcnlGV#sV5zqW5>Mt4x&LO3OE@+FRN* z$@xdlt!+R1&C3}ng(xjSOEhp&JBDWru=>8~4KV|8ZQl&@!B53wGUU&Z$2y|~3Qb3X zpeaLGXKzx;@)- zjbX8KUBGe-NhW_k*C6SEasiBp%J3o$@1$WxS_o03g>FFcr#F14H#{6G)BcdG&Qx@N zwjooY4)ZT55$t$XUF`FwBw5(eP|`hQW=2C86orSz$A^aB2zlnTl;@}C6GfWdkX@aV z5D|l44-dO4sjnY;)C(v1liFJ{Ey%BJ>ffqK;>%DhD(jG(3R5MwhsAEyyrGBJ6{jld z68Cl_C)IWw%N-e$p;em9(uC7G$wo3$8w1YLKos!!kW6+tp!xjeNJ-r{{b`!WmeTGc zksa@q|GT`nIav@3yq7GAggNV3Imdov`Ni!_25`QpR~w>zTDsJHjVy&AMiyI0dY zG#VHZ?vvc@b57z@s;;RCN%nu~;BS01abcMy5_L)P%Eo^SA2ov!N{r$++z45D+7~x; zr>FZ*_UmsKipt8>e$sR^F-n(8Q7H2D^TiKgy+{wrI zYMKJ;BF_{xmL}cew>ET&3&*s5a7Cm_H1@GUMi#9dhqZxvqLap#_4CKB>Bq90%2ekO zV4b49Ha|s^1a~B5H!B*FD$)Y;PKo6Kji<)Gdry55)()fWO%L-4y=hWgILl%Exokf0 zM!33aZ-@mMkq_Pnru)R=KKU5|3Qwgf`TXMp=bBo2oNJKOcgEz^kTh7GmtgIr`Ju$< z!_f`feoxGSpcv%ib0ai7bQHy-4IvHPAq~6AOJc%aO8&)fpZQg2c(~90U%jcgab!p4 zjnT|+aYj_Lp$2=`>$CD1--{^n)Yl7R{L9NkhLPcZk*!EWi4n$&%vj_r#s2z9c{yV; z{<-|`HYY1ok#z#q@-5w(_Bv&8x27sEudMj|dyP%V<*`W+rA3$ddQ4@)1tUD|gmK=C z+_;;(EYoI>0DP@}U_zgrSKDxYGIF~>AV>nGRHIUk@kjNJqB+)$ptdQjX z;O!g*OJ1MIF&Am|#IQbQcMJ~3?T+_`dT-Q(_tw+|u1s#&@z&uIN%@9X4wguMky)B7 z_*L4Q4aq(w3U%n=lH?mDxkEKIq3D70qR^jwSpL#!0*lgPA`)_{uY!6#ABJH*AMyPq zc2z`?=IcvFBVXSb>_c9{F#jt_zPur&LZTRK%{>V>c6HV@G`CcV3$KoSTqx6HG-qrK z*S%4MIBrdW1DO)L2~iuPHZpMXDqK;Qk~dKn%MVEIOp&yRwkyskGuq1bF1zx>4nb?A zLUWQYt5rtxCkOQ3jG<*6Xc5TGJ$*ffL6AX|laS*rXk>e0P(zpJ7Y@9@ICs;B4UJ!mb7Gl zjX<Mr%|NY&RPzT)Uf=;Rx(G>b$8USc1z?W7)`BvBymGS4q**&@qoYHa z$=&7g;US*|mFzfNoSRu1k@-^c5ufb^ewiUZiO(z$lq5?^%5#E7!^6X$kFOcpup$1H z(0Fo@=I39YBSMK0AH|}6thTZRY{O+J8M8nU{$|D`shKXJkmT17h2`gUG$?l|Cj#61 zWU>z$G^hCdF`135$S^SC5A*pbOcl}+X07@8*!#=ypQ~2$WqR>VexOPOyxdTltn7?F zBFS$PoT=?8Iw5J$B-RE*8${S9Yd#3`%@}0EA{nN}1Nw<-JckY|IZ?PpOU`;;4rf?2 zjlQ)ux7>_sXpy&8Sf3d&35yw$SP2RWO7r&W!THKxJGU$=Byk=M%wiOd56BW7`+M;RB?n9YsS%|`yUI(tL)Yypd-NGWDKEt4> zW&>WNVe0iWR$>&9kXJnkUeiNZk%qzrZS@GEg^$;#``NH4#>|iiP$F=uUfRF2QO@6d zRV$X=lIh2^;N&F8Cz@LzPK?GNKL3{NDxrV*Qy-k|tCZtx8 zTqo)LhJQkHJFUGCCQ9!;j}6Q?f!b8+VZ018WL>k$WPQ~oq*s?8j1I~-?jap~Y(0}3&s{i<`RMLGg**{s~A0Hy9d*zvD zw(t7IwoJ9pP z+=BH8STWHb&?(C3YLDF2pcDuiJ2kPec3pA%_N23o-I_B24U+s3lo$ah`vT2SWJV(p zSFig=vTYFuI5E0N2w*s(O8um~`COS6C0YJe%D%e|8jYsCCvn}fX;YXks-sP=`uvXV zb(uR4fHy#r!(G+qx1Qa#Oa0+c z$ua*hq5lz|@SqzvdP8gCLu(?V+}Ek|SkhcPVTQ;Rg4=4?6N5iS2( z49~1;$B=NyB5q4DpsFt$yDY;s=}E1*NE_qpu_CRotQ-f4dUL-H1+ddt0X3-|LutsnvYvl=+jAdy#G zkQ?uOV)GpiaZ#!8ai~S4a@Lt+R9`+cuB2!If zX>w`#o4Xo(O4Q*#fuo@{y`dXw2x5d5X($-s#7K%2X@w|x!PRU1r&?N(#yn-OACBPp z*;H){NwTQhSVbh{eISKSFys;ZPNQIUBa-O+L}s2!0_4(rEcxA@qi6229TNJW}8;=od* z`7){T*vIL@xzz7h3Uq8klgT}BT?Kobf35g<2D70`CtA7A3pwuvOIZg5P*2rCzwStD+ z@5TZeB^veD8GjSBOT=lCme}k7I6#a?2uu>4G=tVA7!gHUVKg>9lWr~22nI&ADVPb8 z8I=6e>*r`^8U#SCb*Y+IBM{ap3X6SAb>->KeJ3<3RcyuH_bUchXMNds1qLcE&`n5- z+ymhFHb~~Ba^t*!9pMeS3Q6wAZ#y<75uG%IwzLtU0fa5!kUx>`yKU5#YDCEr`AJPY z%8F`mi&5_lTPMvIE7B%M%oZc6U<8t>5yF_5Ph4>x)^d~Dx^9F#b5Ur41EHS?K*gwaf2rtrxC#rLfP>M9OVuW2fap2by<7)#_yyC>@nWr|(LeS?~#94Lyc1qb^ zL2Q&pplUm_8V-Ep#jx16mMfoTpoQD*j4C{O!+hAgBGpSC0QU1kF)yX1j%!E~+aZtx zNOJeaG7sL8h!LF^u}@cE1=L8)#rWP{yHq3dd@N=$x)JiyX{p8Ts78yl+m<3t50dLa z`UYA`){)IQZT<+QXF|Mkiy^QGCq_6N2=RVhwiY~2D$?rl+Q|k*zT}DzhX=oU>Fwby z4H8YarmwqF)1Zh20vftgMB1w|nI8W58$b_Q`}zh_k%oxM;wVKLNxe277lpnTrT!%R zBq?7~6p}pE;7U!YTK!4Na(LUcKv(!ydNh+ygTw0qT068XSwlEm#!V z>l0$_r1|l_!+gkAq|sYxc1ie%gUv_gHyDiJrCW+LX^j6b&{EK#B|-tx>&Zo$ zFO?TbDNH5CD)0E!*GB^xs*QI8M6F`}#}F)=)LxcZ<4GoMMVkI9dM)H4?V{8|jBrYX zUOf646d?WMLeziSxiSZM?Z_#9NxH9<9>v(^UeFuIi(o9U4cXP^?Y_TBVBb~&8C!b} zv~{fq#xpc6s>H;*k%FGceEEgMcf;~krw-iz5`vh^GY86MG*>4=mKQ)$mRxa6p->z< z+6PogXs1r8W}a9a_Z|R$*CEO6_-#mMq;}G*v!@|n}=yc{4~CIfGc0WfGIMr6AqXf4w4I09RdW&xwq5mI$I`ms7MI@9kzHco$% z{ii_T|JCWs-vEM63uA16X!cHFf21^)qys0abI_|1S`rR~G=ujY!tMy&iOm{s%)ij4 zD9Tv25%{Wj#dObwo;E>qVp?Tq;sM|j@ibtX#r&+@z~%fM-r)hrN|j)sBvGa)fQz(F8o@=R)Dbve(uY>lH>T+% zz?a7?dXXjF(Nd&UTZ%MlCygl5gm|5XGNWI;cBH63Qy8;vYjt+C_;_CAHzxy*6#eB- zBh^PvHCk>QQAFY}Mlh`jOOa*}nQK97!hx?}gx_gjGiagsawl~)kdmJT+-VaeR+RRL zJ6a=CPnartjK*te9jg4#S464yex9LGtVh3hoDFjvZwRA@F3&3*c!89J-UjG^Wt>tuF8T^jYLvfswkDD%-{XueI5V@kOa+c@D}Q~w)Ig`!2m@FUAT4tNM!8dPsZ@9 z!66X|LXV&74XVNx}%Nb{w1(n!TojIXUkBN@I)TnR%6o87VPFjR7R-U1MvFnuz(NCx&B2K+r8?7&I`t)>q%)d?qRB!ws;dsOGxa#a9JIYbe zyeP$PSPXFsrB>BF#$P=FKv%P)bMPX~9EmBkO60y)gZBW6Mt2%2SJx`?mjmm1T6zY; zN)yi-0#n-B4aJ>Vz`Gf#2TUdtWCWs8#B9n`HnyKCU6|wGNyMcGz#AY5Cn&}JVWxLJs8E1(MC!s&!iTdin02b%zQ{Y+FllOV1az`=V6ey)4c$+2TdU8LD+#^f`K`@#@RipE4Zg0C_2^cHKJ*yI{Fzu zHTM1K>b%pw?2rpIZK}#x0B9># z#Ev`INeg2|8qu(`B$CJ2(3=;*u6qmX7BeK#35sMtaA+OqCcI$}KaeyK^X_f(5qP)uyeQ-KG!aw3ydENi|m$H51NB*Ozy5tSO^g;AX zLf?~@1ER|?UjXh$vdCKK2j*+REuwgl#(Wk;@N9)z4BexEDeo6~(ZE-gu~BWUO3ms! z;?L0^3Q#q%01`AzF4F3)gM6fG@U54!r)zWP0q}|(0NQQf1SC1v)EJnu14!yqGSTyX z2*V#XHw*VCDAyMBQ1$?$%wtNl3~*{HA$6)RFWXNwF>*#RW!D1*2C{q#8yyQV(vO*Sc-L?~4l z!->x>;m|{=L4?}YXR}>1{YB`;Cxi(WSvqbqNX?_P)$ICc7RAWENGlV8xZFndG8=F| zIAvJhatU} zGi#M&<{OsY7`;fFWFM)}`JuE+>PwE!HFK?t|G7L!faUsGkQ*mu!Kyh#WY1XPQ_p&!G5eoTD3LA8^c?31`4TAi=oN>*d67U z&K?|T7rMNN>J=|(`f*;sGPz|PL6UL+7{-e~k6zcKa!aRg9J)V60bfNjNauC#Bt3X%FcPlunvi zy|ywVs(HYst5HX1%phAI!*=?|sJS{3jGRJ}-^$Pp8+vc}_=Kn<(ANR<859@I(b8Ye zSN<}&WgW33aU)<~STV>i3{o_KUWFnp=)80TnVVtMt6}^vGxT_*bR%B@|I-+YpT}0D zVg2^F=t8|qF&y-xy1w3zocw4hd~D8ei+YXHuOm4V*FCfq5*O;FHezJmD2_MmL=%JP zsS!=f3a1N3G+o@bsl~4Sh+RhnPsldtMqj+VSn3s_4;HY4{)6ouym7;4$I1vlAs)UJ zZJ6hqa+`Y(fN4gMbW;h~mr)>_pGa%(J0e^F&H#xG9N3Y=1=YwCfMku|*8BfbcyYEx z8e<8aj%zwnO83r>)JfwJowVvf55Jt(@ua71MVh5y7d>IP4p|lOUt*JQG2~7f1$<&` zC0`6xIKsb3E^ToxnZUvzv$$JN!fBME35TRn$vq+;_1YFYYWc5)JfJcB~gBt!Ew9?(0hG8c zH5X8p=~xVm(#b`dVQ!u*A}sBMm|wxKMs#z8W;^o#rI{4@`H~m0P{w4e>JgnOnI(TI zj^8-b;`!@Xl}*kXZk$Re{pmMQBs#pNW^_YncyF&|v&Crdh7IAPH+(|MUy@?aHT0EY zV$RD;?sEX5X9h`t>b9PIjw5y@jr~`sEQ&mM%MM7OIUc|RED3QDkPw%&Bfy|z5A zY?ehDBiKjq%moonjOwj+$Ap}0-JCv6@?tQLLS0Vv#317pLH<1JC@v{u#mb4Kw`O$k= zSZZiFbhGSyL=1K>3jNe`DS>khNsNhE4k1a|$7f?Lpi^HGh!5Vf&i2#H){J@-N2MF6 zB?n-FpiDpP>BmBiKG|qRn%FQe&kvnw;JTwLisSiO)gjVWUj~*$m>2v=MVd`zLu)~2 zitS?c0Oa_g+-T^--)wtzPx-l+p@Rj7YJ656`LNfz4J^EzDDVKl5FO_qgSk@EWBlX9 zo|nMA(gWZalIrB}B%5o<0U(iDZWDHyZOpJi>e?Z0X-SA1fJE9KOW4yJN*ow4tB9i>JYtYK22Y^dRN_YmPM&X&cHRm1* z&pi6(uAqX1l7d|YJ1k78x0h-zH31{yJavqaK&B&}l)yRn05C4{a|lWD6xe}D+QEr! z{$^SBakknBVE_$;#WBR%adVc8G$T+V@3jOk>mdm4pUbntzZ)&mMj*gzzz721zK!S$ zmw82$lnzI>#=a%tz*3~u6Gd9|#Ei~#?mPh8l7ol@j3t%i_U_*?^!IBH`iGzU#r9u> zzj`#(vUTT1G#kIoQ{xHC_0ouhGEWFioX@l{GG#}Q1oxc*$gBl%FrJ3J8SK8p;sRiF z1~FA`;7sU@$I3Pe77auF5DYA;!XX@)glK_0 z;f|)j`CJVnQ+CLb234@bfe*@gZqSa&@R>Hf?K|+68^d@RBXlsjl;*JGMyb(25XT~5 zzQ9PA_GqNcQc&#H}BY&?{(35&LL(ty08Zbui{LJ!pj8!p`N-x?vX}A?)Lg!|| z$q>3cZ;-^Lgkln69)MA->lPn6)cbt0oYTkuj_I{}6ojsVwN3o8CRuGq`(Fv7gy4g>TCK~VRa^*wUbBO6^c30-M9Gw>IyMY;M`U=2Wff>}sqT=<7@Eq*46p z*&ad?hS25tIyjY34D~C^LwtI}!-t4EZS?ux!$*gX{9CwXe{=ZC*<9>(Txh}`rkIGj zGQ)!bNf4u3)-fcV5yO+rQHw-J3jGU$g;!AREx-?CIwR-hwDkWtXHCWK>whq>_`HJOrt~L;k~0l zd!8R1wOA&5hstMtpPGQ-z8v)-9GQd>2{}$AaPRa0IDw>;TEGfHWK;lUGChdMz%l*g zgtnnml%hJdPI4;nOye7`CwKleqg`f(16#|@DNACQEt_S>jiyf_AYHxo3Jqs){vc^* zYdi3XASny@q@!7-l$`15soH!3_*-R5SR$|~Opyxk<*TzYRH;V5gqE)&Jb~Amwvvz+ zFfkXWu$sH|B%FExjtB`@MBhe4(Rt;+SQ+AT4@V}mFDcvuqkqPUvV=oUy_VeP05GDD zV@Q&x0%i=-8_dKA1TnwPW&I?=udOQzXy|MT>wLMkBR9J4>x#(8^R1C*{=K!%iWeyP#ae9hPJ@6Iiea@xD%)ZXV8y@jkJ*=?d`G_S^wwXIK)juJheALB6~~-cynB z?uz#_+R<-0v6m3qzp(1k-3vL-Vb=&F*lGz zG_fE6s_3h2f&z-W1szGIO=)lZMetovC-9y?S=!X9N*a9s-D^e@QOmt(-}e&Dhm(BK zdI0by6T@wQu2$#8m80dHhn6I4R_?VFbR*(8{}@7O@~^XbEeE~Q1K}^d8)|Hz#|R0d9{&A0eKm!Gm#CNqJYNOLjA|!*ci6v-je%>LJ~5= zvdw{0$$9*UT_+9pJ}{ayND>zvSbci{fZLSfI)OMt(Q=_Pqb1EC5$1 zQ?CHxKBE`>{@mpNa0^L9lZm}%f;{wU03Te_iK0=)a;ws0_F57WIOetFJZYDiDLaNF zpkYLYp56QmL4zi?R?r^M&|cOeKXIl#pglXNyHhEuO$^96o{}f3o&Yb8VRARQi;sbk zC4PHuK?!8AI|AN)c)aBXXGqRo7(5|)qe>N~)Fgr_4IPOqq7q+g|0}SwBXO`b3A;yh z-ty}k7O4loJo`TP1O-0#2KH|MKifa^CUVsHP;b4kJHb7#rAOd-hLD60-WvEv&cLl5 zs*t*iauRJ1Cuuuu!i#`H27HB!wsze>b!y9P)IQ!KX);}9l5!h*rI zg_KTOKky(No`9ske2pmr)4-;bSfD>jP?_4ZzT#khTgzE_%lfaH8w80fDlU9Fu@Nxs z900rwqN{nFT{WlmijIfZO>^&?hL7#TA!*-h2U0(`FYt|kaUd>XUg8EEz;pF1ASpE( za{=(zbruDbc4h~5C{yG1b_n9cqQ1gOP(OzG0H_XYnpFVIE_Be)XJJVQvsP_?=_HHM zFbYNw)EJ1--Ig1_uP?JDWg`?RsA|lYo3<9mwx;eqdp0nC@Ajifi3i@zXp>KyOhy3k z%DW|wLk|F#kR&2fqUPR*z~7I(UTy7K9$26{X55~3Y(3?fAh#BO;P2AP-24@aQ za8(t60s=pvTd7P6EbjdOHa8?q28b@pP+EkM7WzUpTD~Nxm5H*Ma|A$#OK@qs+GtfA zNE_CFP>2!j#d_9|lr;$OQ;J?IeJHT9I58u)qoI3+5!hK=)uCLmx2K^~+$NE%FahH_ zZ~pB$^Z;;bOERZK&AAT&-g;*b`5MBEn7b z4_p_;S%fCf#tqDvDLY|FMEth?(*XDpA%v4z+D>w)#haYe-Hnd zqM+bUU01MY$z3@d)>Y5~z)?xo=h@~;)fJ1X08QkPg{HZYz*(5G6G(zod;%A2=m2Wz zn*r#yYQ&}h(X(#Z_lPj}$<(;BMI3*w(g|^)M8mtoi~n zo$aYjym0qI)ye5E@9&gPQ!&Ls$ zD(!`L;4N#m7NDPabPXXT^+k0ReO0jU2VII^?<_4=U{bj5v7=Y0oXKeOTBiG{J)Udn z=Wm<^B*9qxHp4Cv+Q>e_A|`1G7XZlEJ9ALB(TS0sAVv%7aCP13X2FVgTT|{{SOLi| z02LXjsO{(-Hx=$}?AVLb1&H@mEj2VS0NF z{I@k3`<^B~n+l~Z`@;C+H}(Lp@7dDz#$yF&mDj)dH&<95tr2k^Ndotj(8RJe%ULg0 zDdHPgruFILW{mH#_-#kn1v0JVHc%}_3o}p+(z%4OaFp`A{KE7XJuNAzD@8| ze@++h^qNa3ae86}28g-NZavv+89m`PJd0-qNhxxeyw`(-HHafyBS_i^06I*5BNurK zqLbz_QE*N2+0@w5s!2rQNUW@yMuF^0-9kX+8qpAkD( z*WXW6uf`M0w(jrz*_u!Hn8KD}#OaCk=w}Z;<%$Z3c`fs7xt6n+z}XVBoIw&1zfDIG zdJRYSHQK%|%g$y&EvK3M}DUH)k$%8P+klrufM!t<|)ge~a`kf!KTti}NG z*z#Gi{lRKW+&~ON+<;Sfo-s=z;Ns`GOuUwCZdqrL)UVQm4wsA24cyjG68>$(Vob6*y6G09 zMTbQemZSp~?IEn@>|W0`40|TYeK||~HfT4K1_6uuSj3P72|3f4x%B{;Q=(KU;sN#(yYI{jBd}R+syu*| zQ>A};?5S<}CLpXuxp8yXSmoEi&wssrZIatJgH2{ao$^jpGs+(1IN6c?Hz)OjMN zQ(c%aOGr8+hPCW~L|s%u>$X|40PJVd7ArBL)>iZBvi7b*Zd%CM%MqtJ07fDuN~h9D z6r~c4GF9wA*&3h3>;R^N%5zV>oe$jkThjS){;roR0pM@@O69AuudMIiyAdAn5G2jb zFN}LF&8wZ_s41oOIkSW$Yy7rd94$lt46!TcCO;O5v{v;R2Ktwv$o7H_c?4*TF8v|? zVS%do2CQl!XLtG_m)z9AyNT7@dsN`6Su@VSd zwmBaFioe^1^O>-xw&oB2EMKu=T)A;4QGLM;#QQIuKDFl8#6DO}iW?wiiC|veEFnpp z3g9v|!oZRchW{Wm>$R+K0_*BSOT5T~kmLks96*m9QdusCbfI(4vGO9ggCs8Hf@tD& zyGa6|L2=a?71sP0s8XxgkO?*cD3-OBE}PzYH0ghr?OcOH(%bp+eQEDNn~!d-gia7H z0e&g|6@K$_?}8-rfvt9m5fatwP2TVEf&~x;b0;&TjUOsh&eyAMQaw2 z1gNk`ZM$V^6k=p>v_KZR4=te&^YbrjW`N{XEXgf!^5ZU=gwuwbFadjcre>!x-%4C) zLXkr*m$4{TOwXJgC=}yVl{co?`D!IP-{E1z4UF%KoW6aID z+nmY#5N`s14)~j93rWgszJVn@+irm@qj){C1W7E9%{8M-fJEjq-p7(=gG(_JoZaV~ zE(#)=Os>>S#OXR9t~#SJ3r%(s_*W9ErF$^?0*X#sk7~NsKk)_}_R!{KK;MC%|1%_uT8t5QiqlO4<0BtHPWrYK!Iosk5~b${Cjgsp$A^E+=V zV9V<9N5B5mtRV@D-zIhTC#}TD)tR&*WJ$U~;+R7%Y3ATm#GSg$sV&Le zWSZ4J0<-|h>XWAuLQ~I~6fx_Cn2bQhYGALvaycyd`pJ|l-Udm;j$3p2HY-TN4m6tVZNHVD4N%F8hG}8sL&>*mMI3-34f+bNf)Bz;raCV<_YD=mUdWfK4 zbihdUT0-pK$@skB4w9UB09=41EPk7*lQsiLTGF?j5UsgmNm0dbpn$ZlnGL=?&yrlA zN_o+o-Rqn--27wafS_Pr%N`t=R1RI>UQ@sl`L=Pw*+UYby6xT=2&7wrB!+W&URV;m zxnS+!;O!q2u%Q%GEa}r9@7Xu_-u|`o%aV+a@3)u%fTKZRZgT*HadUnfpqmy6Tyw@j+yIA~ znmK-)DBorYNhxwSZ^ZSbmK*8homZ9wTsu*aH2p}yujiX3SuU07=4C|;bM-iI8wf+# zmgmDa4GqZm5<-(knIdP9z`1Lof}0eRh^)v=xZJ!~}Pc#HFlxM96W?r0Z+K zg{EUiOH(+z7o2$jT!AD&<>q||U0`aUqlq}d|>@yc{PFa#?B2H%W;>c;kjo=5ILlOkRT*~~!j$3vQfJ=~+ zDt4DJW-Tr_a=?=Mno){GKWklKNlbjm=$s|#1_$qq-~%PjSd!6QmW1LTTD<8Tvn09^ z!dVEDaREV6`rLZ}TrOZalXuNKZrMEmEGC=HEQYuc7XnbgHS(16i zZSGkTc3{Pu(HTnuSVMK0MKlkJDV)N={CNPJLlS3aq=;vcV14M&LeHyv->~GP?6bzRf{EuY!{}H`!c`>dnLQ6IiF$6&IZFa;owqq*Nv>Gd9ei*GNr1}vy*NH_9otk6Gk)iSjo&r`G|vz_OG>pg+UA!f0dzc> zYnFt*CpvF)%aYi~RlKua0j##=J})>I>@+oK-kgKNI#T&Idq_It3{>w7ekxymO}-k+ z&@?fn*ezINlF>z$gr21h*J%@F3za3AJ8yH$l8p2_-W9garLqiL){}U_)0VDh>B~cW zc2^%quFX9%5%J^d7&jqlubB0wVp!8Rks%Q8Eo$vaZB@$KioC6cpGyVFMV6GRD3u#c zb~v;^S(1_Hyv++snvv$swJiy=yJmRoEWV))KI|iX6@@*py zjk^U&u-xA3i5KO4#ycrZy4KFvwA@cpBG1An!jd+&#V%|}GBUCjhb*bDS)s|Ioxuy4 zC0T8g^Tv`~ge7nA0O-8Y15oG_eCg7q;NVMBuN=maX@}45<5$5sKqgBLK)IVN$?O7v zA@rfg&`o#0wq-Q{r>Le|H9e|G1F$&>sO?aSm925#RUI%cbe2Sl6LEzlr7CvG0WwKg z1T4wid7D3$d97xMQ0E{=ZWEUsJp3uauey=Cx!i9>qc4!b{TobS`;v5 zX_x%_&Vz&Ku`~=A;_@|5_y!ppn7^@sD^`SJ`eNBV?^Pcr_TB^%aZ0z0g-Fz1GwHGfBG9lJ;O*ou~$qSB%mB5TUf}|;H;_-IeyMyX#M4Gg-uv4H*&`1cMr}A zBZT5)-nmYC#5n2A%ja1x(E@v+mn~YGy2V068 z>FwA$bV9rezewS+E1A;}g>2$)@OSTS2hWiCcnGuX&M)?^X)E|6cjIUo4ib?COE`6u zxnVO0(Y2e2Dd*C6OZdVZu=nS&9Wxi%Kh^%pcvClb!Rj9|s`)b1xkN5o)_mLZ2+9~o zS!BSnzGvyQ40mXL!&}T%=;Pzvp5bClHYYRR%~0a(-6_zJ&5DT3amIlQtOy^<1&&Uz zYx65WZ!QT#3zz96?a$s+sjSGimRCx4J0xS8PSw?0VhvEJFlwO{hJbHtcqsqHsx1uWD!~s@Nn5g%D-xX}Bf|?Mp&9zg;@4XI4Q_ zj0d%!U#f5raW6#-&F|}v1u8y&DCbxSQI`N&&Q}Tff{dkJYsMdsk~bnCZDP}@4S3rU z+8q_ysp+8u=9{WrJDJ0dj0};ff1*7iM7d=DYXEjZL#oorIu_`@+znP?Yz=Z>S{MNW zhiSiAxV*)H$@xOEKuQ@)$1bLhBuvhE#QSzv&VXLxUsDi+lMbI0wyx z$xu@32-4)o8tI%WYjvxNUZCd~9A-tD@}@`5z~A8EL@o4k)@s_GXz8AvO6@M-d`ap{ z3H$PW@|t$TYkgcFz4mwo{CR~3#XUgHC;9HT(!?CX<;b#stmVllslXid0QC5Y5?+~t z{i3#5`c&HaiNWEd)ec=z>A1ciJTW3t%F9b9bzU*fWL({>wLWdNDf2vTo2z1Y={gg# z4Pn`shAXew_mHcDUDbixq2GUIk8Wp!i(+eU8>}*Y-H2Ews2N)X@^0!Qd%TF%1geKR zBx4AQ3=f6n;pr}$_3z~20*o%cUzFj0Bk8@PSyMu&Y)pPJ5^bSZ8X#;~P}oOtQ0rCM zeLJuL8N0T<9=5WnSKT^feQ~~5*WqAAxOPe4px{>hCNkOYy8b2205lVq;v>iB>t_;_ z>sUFPA_#ao)@J>c)J-Q6Jj8hQUOfR=U=cs1CW5|D81tl5uVu-mB7&;9*#PqAppmLd z&ki<1neJ=+-=0)L(_|m)`7AhG!3u4ThoY0sX0r2Xa7WlB!!-lj{3Y(^uEHc62i9OW z`98eYp8^o%(#3$ldY==C2Aqm#JVHJa)ujUe+cQ6S42ygX3Gd(u6M=;of*&E8!PA1W z8Bp2!GMy^f#R^Y;OK8+VrW%jPC-Q|(Q@=h?jR*}bS^ z$KU6Zx#4PTbz$+>%*e7O2w1`3J7%z@W}lM=CwyE5u9KtD7Knlr5zMhB0N9#f{!?l$ z=xT9!22Z=-)+(Bi75*2*W5g?M1I`=ZACI+WCcIH{H?m~cg3gy>Fxm4= zrC^uBDtOh98KYwDpuA!j4F-{X1B}tj<2afO@{+uO7v&H3s}(`CTyh}Q>Aj4RD5`j1 zB~GU!ra4p*o>fdr1az!!qD@iqcpAA~wa|Ei=kc5+4%sGzTOngQo0$vKb%&c@eYAc2 zUWL0os%(f}z=m1}NL|6q82O@!K6BJBX(f*~B@+rmgr*{+IXTtd^}5vn0t#0LxWi7` z9}>a1MG$YwH^>Aq%!UmiYh`J ztLrkIHcXe}9#bgeKlZnJCW^mVXKfg(%rh>UKQ3TZm9-8gHV&;vxd$%>TfIIzEli#h zJ<%SuTi`o=Rsb>DfVI&rl2B+!M~OgXf)@?QH3;!-o#gAAc zw{cq1L>vb-D>WOIy?K1{QzTO8oriA~& z?lGq=yh=9+ZEGJG!3$k{#cuAg{BM{Miid^-IwT6o7q! z@>A?M5iKola{2>l=#@ubv^3v*&ug$aR-J5pfF0^~hl`t3lF=iopt`jrmEH6? zwG&74pIeG+1@Wum0`YLe#X3Xo^C967Wqp_rrMvDptdw_5q_9l^qOL{|0)YJP~ z4z7>(y-96CRqQxOHw#pro~{k6L>du*`Xg2ksI*_T2@di&3%0Z(rfXJf#y9rgAReau zEX>1e{L|ofBszX=!gOh?x)wsYTFj<0+Cnjdvy%546f@Ak76Va`IH3+Ca5b=CFXNo^ z=A~j{YemU3fuTrbDr%!dPy`R^{YUvzU}l#$e<8h#T(s|}8lefQJJ+F15h;^5+H?Ld z{YB%I-9aCqHdeGW-cwJrIENX8UV`u5Ria=2+s9=;lYjx+VbO6$ zXs7}_E1|v})s?8U*2@yA3~yh@lFt3{%Eo4JEWDDhfXNefi8(hr& z-8Ey}{JE`(All9>Ct1C&RYEVT(yZd}y5;s4BT`0iPS_WHU4o@@51g;?_^7J z352B^ryb=IZ47KY(%QJ()#Ma%FD`SL-AasWu*8RYKZK*v7(*cPp*@O`?pN`B}AE6BSV!Lp$f8a)mpfJ84+ed{VbuXa4ZKn>P%7YN~TPe zTuN`rdENDaWCm9{Irs<83KKlQOdM3&`*izmI{k?dcyv+GYlR4*mQk`Nprt_e{?j?b zPoW3N+gUG|G5&+%LM4*Rwe5TzFFbuHuYpw@cI;-7XVnO2NeJ=+$)=!t`kc5OZ!cJ) z?)?GkT+cV#63aDf9~Y+5;#GjY<_J_f%Di4rz_sD$+Y52OHBGSHP{vVH#|e{2kTX&l zB~bfJI>>d=`1H*j5@qdk*^wS5Zbqp_glQkDRw<=0jrDvi+IRjFdyl}|qhHm`d8K4e zAh}=)3x^m!ksQrhkqnJz@1+Mt{oB6hENNkmfz4-8`Yv)NfVsZ4u0o`xtzz@rec=4^ z2><3_Zu4pe2%yrsI>^2MBXP^7puH}B^Ww%%WxZF?xqN@;3|$0qgVH8|F&?PG=&Nkf z<6RRkWbXlyB77iID4;BjF|G?^AE`4=n&0J;dCbn|^4(^t3nXz-D5jOwDDk|I09n}> z08F=32`@)96$H1xGRE$1Tp1UYc!#I+(A~$VNyu-tSB!2pzA_*c#k->Il;4r0g=R#4 z4K7V5ZQN{ZNHcG`52RJpu#BC5P9MkvfmNN(FOy=b$fV_q!NhGimagUXcv=4D>pA6f%g>=F{vPMQJ z0($pbzv@ndm*lm-!;Vk0*KUeBr4|#5?O` zs&MQHENSK-3Jqd$jtYxaq&?qv%uV0O7;a2E_**tD*f6N??iypyNL$sT=Bp-OSeI6e z6t4Dh_bYX+RUg+&Lwo*-^soAbnit;{5OB!-+5PR!E_L?%Ckac_14mfSqh}8N4Ae1z zeUVI1y_Y6f9*yAdK1ei0h4|K>>p7*l9e*pJ(RENTbhHj0Dw|6z5l7YDO?OP9HzNu< zKOd_pP|Yh5K*^6I=gc+rC}|UAgmD~iFr}`HN)AuBHR|G(=n6+a4z=uptt=}XF?l8* zuQqqF$bpaadH1znW0C=EWaVHWyXJY@p|_V~KzBdZ9!PKZr6UPBF*95%WjPBA74i_i zce;xvl7k;lvnfQ?6vqaG7p7VWBLRVrtV9)hWRHl(u$MM1p0XxRJng;Fmi}qwF-kUVk9dKp|Pc z>YP*h<##*x+l_4T+T|Q+5zOgZ7u8zsZNfVNbaB5Eixjkh0%it_9LsrzRE+0P#qV?P z*S8h9MVTwcgi7t2Y8^yo{TqicNikLZdthEvk{^Xp-i&i{j^~%t*f|m)q3s00{ylWyp>-ARaEz zF~hx;gpFN}x3Vy8_;Td6j#Qz_3$afR)$_g-yOwd}??F1sV{t8P+VT$X(l}hTb$e6C z&^4wH7Ery;qJnOA{2`N>{WjFFj%talaJP2!*Ztbg#nH+W(-v>C7Y_#rSJAUW{)HQWEE{!2r!A$#_aHozb=u(hJ9`Y7__lN{@>R=u|e!@sbDr zj6t_JZ-|nLVb|I^HGCup_Tel^a2T+sHs_1~^&Ia|Y;Y)DBFrM+zUf7^aCJpPgJ}nd zi>Io7GOfg&it3{7q{1?~YVkYa#hriE2dB}r0E@N$eUcIL|WbNF`f5V)x;Q%MR z&&jTtl67JGgA{nlKt!lgJ zD+o-h-$Fa{Uj4~dZmDZSm(Uyf9!(5}tLGXB65qPpv}oy4^5JXg7R2nO5=-;yc<(Bs;6ct=8w+cCrH;otJj*M6OHL|(wr?h5&W^c|KOWpc;Ppe zi&?%==OFP&t|2O7R(Pbb|NQOM_~i~oz#leBPdgBW+wzx-ra1ZaaGP-%xMgvA^e^Vl zp7wU*GC`IHm~4Qo-JB>R7@FM(y300d9bJ2|NZf_s+q-@F3g`anpyi6QtykjsZk^md z_5QTt?YEpyXJ5JT@!YV#so_^RG*OU{gQ~@ehQPHHuhekd@r{&%u{fX1J_sNo0}q+@ z+xfD7nZ0_L@HM{nitM|^${56Cu!CLtrpB<{5a8LYUzdirF63`tpYegMO37v6!k+K6 zfh8u>r)(6ia5f2z3I11Z9!Ec5hg~@kTAxs+cMvWXt!Ala0N2MLz_8Ri=TYY6pS_7C zrZbJ4FCq;LODc4Ie)cZfzps)^tHbEF^(&h_dl?(vZwQv6Q( z_ZelIvWAiO=&Q*Hh)s?;wAkklOPnrEnRnCfM7ua>YN$IA-hO8icu(5i9j8dldcMQc zSyzMv9X2;$?wV1^FFI+8M}9@=oIqs^mOy)zR+)%s)L14s)jCI1+EFah?_++`uBF zikI2)7W?x;`+aOOr19pm=UH_;04WFc2Ew04`gh1x>EKFXLF4@?&e7$sWAWFJxDrAs3xcLcflL!jQIs4b5 z9iV2kP!`sXB9*4<=C;2Fyh`kw``)I1J+FG^6)16Z9=kT?|UpuFRqS=GX7b9Mcuc@ES;w z4l%5F#14CMD?E2LOiA}%^(3F&Qz0$y5wt!04Fnpyrz_}b$SrnuFw!e@y$kj57gm&d zdv-I@$|GmM+Z!t*MgB>KYsD4o&v>S{$JDVnh=#@^-@;BU1m-b#fK~i1)JYaTX5s`6gh_}KHdFlYDJ z8FPPv)2xK7`do2Z=|Of@2oDdBzJ^1`BG}45#?hCI!6%@Q*96bS;f;DW)G*i!SPA3% z`MNkWBzH-wF@o6hFhKqaBI(pVqHx(*GAO-hj^opFf0upmqJMImg2<@U2CWgs>`qhBw}eu_WwIe z(Wvu0G)I*T$`f*`VJfpV+&LM6GLy=~#og{hx6v@AqoX(FNj@Md;_ANwo}lfDFMTfJQ;H2-cSUw*>A91!_g8!C zaxDHG%E-f;-#KU9zEWFXy$xJyb}Ka{KnV@$j^Fx7amyP+NJPC=@y|6+^;7Oob$qRe zQH7`&w?zl_j*v*@D^U(|X)ge^!UYn7!Yyf`vt|p_MB456V&6VTNkHL`4rkdV?`Ns+ z7VcNbG}}HPA8O^9$Up8cdDUJRFXL17hs@LHdRE0vD$A)Q9J0G~ndeP=_du}zZl;mX zPwmwgl3(ttJ|IRLA<4g72UH7oFpCPC<41(X)2@VUxiqU-f#%=`56imWGysEF03C z2K)(ahAI7gj_ud)o3sB7|B9~tGd}&DIyMX$c7>#$B(jX z1XWCerVWG3(cG=eUVClS)A#2aQP~3wK5Hke7}*MN;m4|ePOVzLCl>mk-&rhnSv6`-M zPvWTURpYC?!_=a1A3;8$m}}3qHwWV$ZH%niNbr7;I%RdXz5@FExN#j_*BwX|QGFp+ zbM&vIRGynC8YmX?jbgY>_AKhZg!HPw^-%V$?wu0eXjSAqqumooFL&Kj;;4G{lO@D*jI(*H9HB9Zp6-(h;{p;24hYCs7$&fL4@!(CqqMIOx9Oi%p=3U z$-WskweInmO~h7OHPjpEngMoRI?5e`LRjEaeH(d@8HS7YuQty;;t76eqernFKACm$ zyiqy*@Q+^~TS$Rxm*FDX+c~J^M1fk;d#=8APPY>cVP$tzd@Lc8%psIRci*}4n`ToJ zFeuH*3{6zQ{@S+4zO}qts_RWQeK-Vd$nb<>XJcgbp@ijG7{}-H@=+KoQR(3V&mXu} zB=~N_fZa4CXQv+f6`qMcmU)NqRr|Y@R|hw_lRq(e7{n98Pi)o*S`ET zpg3byE%@Px$NZ3`7C17yFYlE$X%7F_%YP_c9(dUDEnE0OqETb30CbP!q2$npIT=8= z`6;IXLX15s9G1i2x;@{IG+C+`A8Lyd`YJJd$-2;57rL)<+b`U#DSqzho3>x+ay^$= zwDg;WcH86uXNr6`i(upue;V$Ybvh)f-f}M`Zp)H^(Nk>X6T`qq6l$FZMG8P?m+0Fx zxEn}hFQ8h_b&DJfvEty}HRE;xZ3C_UcKU<;V*6KIQfk@M9j;UonVpx{X&qk)i%@`uTWY1ED|5hw{?@1F&zc(d7#k__wkMk|GfJ}@FTGFWE+i;DOa zM~X=1OVWkDzdH2vnfcl)+Om`hA5&NwRJmo;4Zeq>AZmOQ*ro)IiM~C-is52;yE7WV z&v&Vh9`2e0<}awAmj$Z8hM||gf09_|4?3LnNyC|b_^dw_VeT~pOLV{Tsfh;OAQY?5 zSbDwdGlS{MYZc(l6Cx&BR=AzJaHmYl+}d(SfUcA>^{|}55mmfhqcZYD_)#V>!YnHB zZq#?X-onRwgovE#P)r&|g*02wtX=3(8PllUIMzA}_-|Gbv{>;8-1 z7ac!3#adFuO@p~NuVj$dO-{P&>riqYsMjOnudG`B{%BR7BE^dlr=B02XhDJ&7B8n! zmz)44!4A!*t%(~*)+&+2W0G#a)Sb@*L?{igVtjKK&Za^Ib`tTUZzbsG=!gOO036a^ z&(#~Sn(T-ZW#mNohYveWN0L3NjBoesn^^EZp(4Z6GPl1$`0N%W4cTfSaLW1AF8;N! z#KNi{SFEK1G@p~~f0luuy_LZ?gbuR~tk1VUjT$kk=8Wtu&;L7yB%qQpb{b(<#%wcyC>!d@a$ebYid*8w}LU^S)N`=lcjD zqO)Yag88%1WqG0c;X3w`PJ&|JlqYiFW;m`_(=rg7xz<7b$A3+)P@DK+BV+0+#w2bw zEWbAsOngx#^SkTTjL2_|p^f738NghF81Z%!`1K(1_c;@C#%3np$T2l_BFXf1J4#@7 zYU;B~_Cjm|q5q4b8h5J$v$ZU2pPO(FW63Y$#z8_mQPokJ1U+x!*ArEccsoswh^n@7 zv2*uwkI==thu-@`E|(hjs#ZpaowOM8eyv^>7t{2NlDahD^V3l=ZSCRa$KEHt0yC?Y zq|EN9M7+4^m06eXSj27y2Cq{t2+33+dM?=x)$?&^-Q$N_QeDZ%3i@t zrq@*nnmh5(wrQ8!Kr!U8KkLYOOl+*h!Hea<9GU3x5Z|2cZ~*(vnjGpE&Po(TipqY; zv}5y$_s7mo7+)b1J#BpjwD;wt_3_^5$v1h~U!taQkb;zaoX-<}Ywb)rlmij-WEyQ3 zwzghC25>u}YVG@Y12IwRRe-`}YZoXpMzIuRPv~fcQcm z6;Hk{H4!(12LfeOeNUHWs73J`^zc3hr9D`v_`5lrEvnMguB}PDFe^fpMey7Zj@U0) z_`pgOkS^tJRZ0>ys*EBda1?+Zys!%!t>?O{3N@^0qOE&Cz@8G)mKa^5SVI>yMssXp zX<=`n1-$!c42}SP>7znMw};*;!|~?GFTNA>uafH0B$jv|5A|o&%{S#dzZ>%3_Vc2q zhgQbu=|e(fGPk&vqF_Wy`6fA>Pn>@ki1m=qjf`@5vSd<+sK6iI-Q963%vl`o2Ar`s z-46ZH5J-SJ7iHf)+Xhy6Gjbv23f-6PrU>L^xngI;E<|4RChVaeuycYWRCIfS-GvH? zQxftF>Vj2WOnm`sF=}(dOLjpx0BBC2wj{$lD^Snjj zESF5_1~m8?%f8@~2fmM$RI%>-6w;4pY%hung_!Hdb)7=8ho>^ zx8U23h2zSvxJ#umndBPK=$?t?MFnYv&~`vuuv zy-{&#)A&5a25`7P+Im{~eJAybh1?jfY?G*~1_Z*j(g!EZ7UHQ{Iv~u0(%A5 z5fAMl_77V^I00^}J+<2d?j}3^AczYr=KJ=X##}@6

;K?PPVQIlT!3oVk@*hKt%S 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 diff --git a/docs/site/images/logo.png b/docs/site/images/logo.png index d622fdd4ee0930b52835401fdd0b3f8f142d1b86..5a24af196c3f329d04f14eb6252190746c694a3b 100644 GIT binary patch delta 1193 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 From f6377e6125bd081c8d0170384c4822c2a9b8ded8 Mon Sep 17 00:00:00 2001 From: Eduardas Michelsonas Date: Wed, 28 Aug 2019 20:09:45 +0200 Subject: [PATCH 002/200] #755 --- src/diagrams/sequence/sequenceRenderer.js | 27 +++++++++++++++-------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/src/diagrams/sequence/sequenceRenderer.js b/src/diagrams/sequence/sequenceRenderer.js index 4e4b0f74d..b1282fbea 100644 --- a/src/diagrams/sequence/sequenceRenderer.js +++ b/src/diagrams/sequence/sequenceRenderer.js @@ -211,35 +211,44 @@ const drawMessage = function (elem, startx, stopx, verticalPos, msg, sequenceInd const g = elem.append('g') const txtCenter = startx + (stopx - startx) / 2 - const textElem = g.append('text') // text label for the x axis + let textElem + let counterBreaklines = 0 + let breaklineOffset = 17 + const breaklines = msg.message.split(//ig) + for (const breakline of breaklines) { + textElem = g.append('text') // text label for the x axis .attr('x', txtCenter) - .attr('y', verticalPos - 7) + .attr('y', verticalPos - 7 + counterBreaklines * breaklineOffset) .style('text-anchor', 'middle') .attr('class', 'messageText') - .text(msg.message) + .text(breakline.trim()) + counterBreaklines++ + } + const offsetLineCounter = counterBreaklines-1 + const totalOffset = offsetLineCounter * breaklineOffset let textWidth = (textElem._groups || textElem)[0][0].getBBox().width let line if (startx === stopx) { if (conf.rightAngles) { - line = g.append('path').attr('d', `M ${startx},${verticalPos} H ${startx + (conf.width / 2)} V ${verticalPos + 25} H ${startx}`) + line = g.append('path').attr('d', `M ${startx},${verticalPos + totalOffset} H ${startx + (conf.width / 2)} V ${verticalPos + 25 + totalOffset} H ${startx}`) } else { line = g.append('path') - .attr('d', 'M ' + startx + ',' + verticalPos + ' C ' + (startx + 60) + ',' + (verticalPos - 10) + ' ' + (startx + 60) + ',' + - (verticalPos + 30) + ' ' + startx + ',' + (verticalPos + 20)) + .attr('d', 'M ' + startx + ',' + (verticalPos + totalOffset) + ' C ' + (startx + 60) + ',' + (verticalPos - 10 + totalOffset) + ' ' + (startx + 60) + ',' + + (verticalPos + 30 + totalOffset) + ' ' + startx + ',' + (verticalPos + 20 + totalOffset)) } - bounds.bumpVerticalPos(30) + bounds.bumpVerticalPos(30+totalOffset) const dx = Math.max(textWidth / 2, 100) - bounds.insert(startx - dx, bounds.getVerticalPos() - 10, stopx + dx, bounds.getVerticalPos()) + bounds.insert(startx - dx, bounds.getVerticalPos() - 10 + totalOffset, stopx + dx, bounds.getVerticalPos() + totalOffset) } else { line = g.append('line') line.attr('x1', startx) line.attr('y1', verticalPos) line.attr('x2', stopx) line.attr('y2', verticalPos) - bounds.insert(startx, bounds.getVerticalPos() - 10, stopx, bounds.getVerticalPos()) + bounds.insert(startx, bounds.getVerticalPos() - 10 + totalOffset, stopx, bounds.getVerticalPos()) + totalOffset } // Make an SVG Container // Draw the line From c6efddee87135f7451d2dacafe585300165915a5 Mon Sep 17 00:00:00 2001 From: Eduardas Michelsonas Date: Wed, 28 Aug 2019 20:13:37 +0200 Subject: [PATCH 003/200] #755 lint fixes --- src/diagrams/sequence/sequenceRenderer.js | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/diagrams/sequence/sequenceRenderer.js b/src/diagrams/sequence/sequenceRenderer.js index b1282fbea..7c18d314f 100644 --- a/src/diagrams/sequence/sequenceRenderer.js +++ b/src/diagrams/sequence/sequenceRenderer.js @@ -217,14 +217,14 @@ const drawMessage = function (elem, startx, stopx, verticalPos, msg, sequenceInd const breaklines = msg.message.split(//ig) for (const breakline of breaklines) { textElem = g.append('text') // text label for the x axis - .attr('x', txtCenter) - .attr('y', verticalPos - 7 + counterBreaklines * breaklineOffset) - .style('text-anchor', 'middle') - .attr('class', 'messageText') - .text(breakline.trim()) + .attr('x', txtCenter) + .attr('y', verticalPos - 7 + counterBreaklines * breaklineOffset) + .style('text-anchor', 'middle') + .attr('class', 'messageText') + .text(breakline.trim()) counterBreaklines++ } - const offsetLineCounter = counterBreaklines-1 + const offsetLineCounter = counterBreaklines - 1 const totalOffset = offsetLineCounter * breaklineOffset let textWidth = (textElem._groups || textElem)[0][0].getBBox().width @@ -239,7 +239,7 @@ const drawMessage = function (elem, startx, stopx, verticalPos, msg, sequenceInd (verticalPos + 30 + totalOffset) + ' ' + startx + ',' + (verticalPos + 20 + totalOffset)) } - bounds.bumpVerticalPos(30+totalOffset) + bounds.bumpVerticalPos(30 + totalOffset) const dx = Math.max(textWidth / 2, 100) bounds.insert(startx - dx, bounds.getVerticalPos() - 10 + totalOffset, stopx + dx, bounds.getVerticalPos() + totalOffset) } else { @@ -248,7 +248,7 @@ const drawMessage = function (elem, startx, stopx, verticalPos, msg, sequenceInd line.attr('y1', verticalPos) line.attr('x2', stopx) line.attr('y2', verticalPos) - bounds.insert(startx, bounds.getVerticalPos() - 10 + totalOffset, stopx, bounds.getVerticalPos()) + totalOffset + bounds.insert(startx, bounds.getVerticalPos() - 10 + totalOffset, stopx, bounds.getVerticalPos() + totalOffset) } // Make an SVG Container // Draw the line From 51bf4a4c5c91c4a396272829d8451834fc9d4333 Mon Sep 17 00:00:00 2001 From: knsv Date: Sat, 21 Sep 2019 08:19:55 -0700 Subject: [PATCH 004/200] #945 Parsing happy case and scale/hide statements --- src/diagrams/state/parser/stateDiagram.jison | 212 ++++++++++++++++++ src/diagrams/state/stateDb.js | 95 ++++++++ src/diagrams/state/stateDiagram.spec.js | 214 +++++++++++++++++++ src/diagrams/state/stateRenderer.js | 101 +++++++++ 4 files changed, 622 insertions(+) create mode 100644 src/diagrams/state/parser/stateDiagram.jison create mode 100644 src/diagrams/state/stateDb.js create mode 100644 src/diagrams/state/stateDiagram.spec.js create mode 100644 src/diagrams/state/stateRenderer.js diff --git a/src/diagrams/state/parser/stateDiagram.jison b/src/diagrams/state/parser/stateDiagram.jison new file mode 100644 index 000000000..cfdb61158 --- /dev/null +++ b/src/diagrams/state/parser/stateDiagram.jison @@ -0,0 +1,212 @@ +/** mermaid + * https://mermaidjs.github.io/ + * (c) 2014-2015 Knut Sveidqvist + * MIT license. + * + * Based on js sequence diagrams jison grammr + * http://bramp.github.io/js-sequence-diagrams/ + * (c) 2012-2013 Andrew Brampton (bramp.net) + * Simplified BSD license. + */ +%lex + +%options case-insensitive + +// Special states for recognizing aliases +%x ID +%x ALIAS +%x SCALE + +// A special state for grabbing text up to the first comment/newline +%x LINE + +%% + +[\n]+ return 'NL'; +\s+ /* skip all whitespace */ +((?!\n)\s)+ /* skip same-line whitespace */ +\#[^\n]* /* skip comments */ +\%%[^\n]* /* skip comments */ + +"scale"\s+ { this.pushState('SCALE'); console.log('Got scale', yytext);return 'scale'; } +\d+ return 'WIDTH'; +\s+"width" {this.popState();} + +"state"\s+ { this.begin('LINE'); return 'state'; } +"note"\s+ { this.begin('LINE'); return 'note'; } +"stateDiagram"\s+ { console.log('Got state diagram', yytext,'#');return 'SD'; } +"hide empty description" { console.log('HIDE_EMPTY', yytext,'#');return 'HIDE_EMPTY'; } +// "participant" { this.begin('ID'); return 'participant'; } +// [^\->:\n,;]+?(?=((?!\n)\s)+"as"(?!\n)\s|[#\n;]|$) { yytext = yytext.trim(); this.begin('ALIAS'); return 'ACTOR'; } +// "as" { this.popState(); this.popState(); this.begin('LINE'); return 'AS'; } +// (?:) { this.popState(); this.popState(); return 'NL'; } +// "<>" { this.begin('LINE'); return 'else'; } +// "<>" { this.begin('LINE'); return 'par'; } +// "and" { this.begin('LINE'); return 'and'; } +// [^#\n;]* { this.popState(); return 'restOfLine'; } +// "end" return 'end'; +"[*]" { console.log('EDGE_STATE=',yytext); return 'EDGE_STATE';} +[^:\n\s\-]+ { console.log('ID=',yytext); return 'ID';} +\s*":"[^\+\->:\n,;]+ { yytext = yytext.trim(); console.log('Descr = ', yytext); return 'DESCR'; } +"left of" return 'left_of'; +"right of" return 'right_of'; +// "over" return 'over'; +// "note" return 'note'; +// "activate" { this.begin('ID'); return 'activate'; } +// "deactivate" { this.begin('ID'); return 'deactivate'; } +// "title" return 'title'; +// "stateDiagram" return 'SD'; +// "," return ','; +// ";" return 'NL'; +// [^\+\->:\n,;]+ { yytext = yytext.trim(); return 'ACTOR'; } +"-->" return '-->'; +// "--" return '--'; +// ":"[^#\n;]+ return 'TXT'; +<> return 'NL'; +. return 'INVALID'; + +/lex + +%left '^' + +%start start + +%% /* language grammar */ + +start + : SPACE start + | NL start + | SD document { return $2; } + ; + +document + : /* empty */ { $$ = [] } + | document line {$1.push($2);$$ = $1} + ; + +line + : SPACE statement { console.log('here');$$ = $2 } + | statement {console.log('there'); $$ = $1 } + | NL { $$=[];} + ; + +statement + : idStatement DESCR + | idStatement '-->' idStatement + | HIDE_EMPTY + | scale WIDTH + ; + +idStatement + : ID + | EDGE_STATE + ; +// statement +// : 'participant' actor 'AS' restOfLine 'NL' {$2.description=$4; $$=$2;} +// | 'participant' actor 'NL' {$$=$2;} +// | signal 'NL' +// | 'activate' actor 'NL' {$$={type: 'activeStart', signalType: yy.LINETYPE.ACTIVE_START, actor: $2};} +// | 'deactivate' actor 'NL' {$$={type: 'activeEnd', signalType: yy.LINETYPE.ACTIVE_END, actor: $2};} +// | note_statement 'NL' +// | title text2 'NL' {$$=[{type:'setTitle', text:$2}]} +// | 'loop' restOfLine document end +// { +// $3.unshift({type: 'loopStart', loopText:$2, signalType: yy.LINETYPE.LOOP_START}); +// $3.push({type: 'loopEnd', loopText:$2, signalType: yy.LINETYPE.LOOP_END}); +// $$=$3;} +// | 'rect' restOfLine document end +// { +// $3.unshift({type: 'rectStart', color:$2, signalType: yy.LINETYPE.RECT_START }); +// $3.push({type: 'rectEnd', color:$2, signalType: yy.LINETYPE.RECT_END }); +// $$=$3;} +// | opt restOfLine document end +// { +// $3.unshift({type: 'optStart', optText:$2, signalType: yy.LINETYPE.OPT_START}); +// $3.push({type: 'optEnd', optText:$2, signalType: yy.LINETYPE.OPT_END}); +// $$=$3;} +// | alt restOfLine else_sections end +// { +// // Alt start +// $3.unshift({type: 'altStart', altText:$2, signalType: yy.LINETYPE.ALT_START}); +// // Content in alt is already in $3 +// // End +// $3.push({type: 'altEnd', signalType: yy.LINETYPE.ALT_END}); +// $$=$3;} +// | par restOfLine par_sections end +// { +// // Parallel start +// $3.unshift({type: 'parStart', parText:$2, signalType: yy.LINETYPE.PAR_START}); +// // Content in par is already in $3 +// // End +// $3.push({type: 'parEnd', signalType: yy.LINETYPE.PAR_END}); +// $$=$3;} +// ; + +// par_sections +// : document +// | document and restOfLine par_sections +// { $$ = $1.concat([{type: 'and', parText:$3, signalType: yy.LINETYPE.PAR_AND}, $4]); } +// ; + +// else_sections +// : document +// | document else restOfLine else_sections +// { $$ = $1.concat([{type: 'else', altText:$3, signalType: yy.LINETYPE.ALT_ELSE}, $4]); } +// ; + +// note_statement +// : 'note' placement actor text2 +// { +// $$ = [$3, {type:'addNote', placement:$2, actor:$3.actor, text:$4}];} +// | 'note' 'over' actor_pair text2 +// { +// // Coerce actor_pair into a [to, from, ...] array +// $2 = [].concat($3, $3).slice(0, 2); +// $2[0] = $2[0].actor; +// $2[1] = $2[1].actor; +// $$ = [$3, {type:'addNote', placement:yy.PLACEMENT.OVER, actor:$2.slice(0, 2), text:$4}];} +// ; + +// spaceList +// : SPACE spaceList +// | SPACE +// ; +// actor_pair +// : actor ',' actor { $$ = [$1, $3]; } +// | actor { $$ = $1; } +// ; + +// placement +// : 'left_of' { $$ = yy.PLACEMENT.LEFTOF; } +// | 'right_of' { $$ = yy.PLACEMENT.RIGHTOF; } +// ; + +// signal +// : actor signaltype '+' actor text2 +// { $$ = [$1,$4,{type: 'addMessage', from:$1.actor, to:$4.actor, signalType:$2, msg:$5}, +// {type: 'activeStart', signalType: yy.LINETYPE.ACTIVE_START, actor: $4} +// ]} +// | actor signaltype '-' actor text2 +// { $$ = [$1,$4,{type: 'addMessage', from:$1.actor, to:$4.actor, signalType:$2, msg:$5}, +// {type: 'activeEnd', signalType: yy.LINETYPE.ACTIVE_END, actor: $1} +// ]} +// | actor signaltype actor text2 +// { $$ = [$1,$3,{type: 'addMessage', from:$1.actor, to:$3.actor, signalType:$2, msg:$4}]} +// ; + +// actor +// : ACTOR {$$={type: 'addActor', actor:$1}} +// ; + +// signaltype +// : SOLID_OPEN_ARROW { $$ = yy.LINETYPE.SOLID_OPEN; } +// | DOTTED_OPEN_ARROW { $$ = yy.LINETYPE.DOTTED_OPEN; } +// | SOLID_ARROW { $$ = yy.LINETYPE.SOLID; } +// | DOTTED_ARROW { $$ = yy.LINETYPE.DOTTED; } +// | SOLID_CROSS { $$ = yy.LINETYPE.SOLID_CROSS; } +// | DOTTED_CROSS { $$ = yy.LINETYPE.DOTTED_CROSS; } +// ; + +// text2: TXT {$$ = $1.substring(1).trim().replace(/\\n/gm, "\n");} ; + +%% diff --git a/src/diagrams/state/stateDb.js b/src/diagrams/state/stateDb.js new file mode 100644 index 000000000..94ec0e21e --- /dev/null +++ b/src/diagrams/state/stateDb.js @@ -0,0 +1,95 @@ +import { logger } from '../../logger'; + +let relations = []; +let classes = {}; + +/** + * Function called by parser when a node definition has been found. + * @param id + * @param text + * @param type + * @param style + */ +export const addClass = function(id) { + if (typeof classes[id] === 'undefined') { + classes[id] = { + id: id, + methods: [], + members: [] + }; + } +}; + +export const clear = function() { + relations = []; + classes = {}; +}; + +export const getClass = function(id) { + return classes[id]; +}; +export const getClasses = function() { + return classes; +}; + +export const getRelations = function() { + return relations; +}; + +export const addRelation = function(relation) { + logger.debug('Adding relation: ' + JSON.stringify(relation)); + addClass(relation.id1); + addClass(relation.id2); + relations.push(relation); +}; + +export const addMember = function(className, member) { + const theClass = classes[className]; + if (typeof member === 'string') { + if (member.substr(-1) === ')') { + theClass.methods.push(member); + } else { + theClass.members.push(member); + } + } +}; + +export const addMembers = function(className, MembersArr) { + if (Array.isArray(MembersArr)) { + MembersArr.forEach(member => addMember(className, member)); + } +}; + +export const cleanupLabel = function(label) { + if (label.substring(0, 1) === ':') { + return label.substr(2).trim(); + } else { + return label.trim(); + } +}; + +export const lineType = { + LINE: 0, + DOTTED_LINE: 1 +}; + +export const relationType = { + AGGREGATION: 0, + EXTENSION: 1, + COMPOSITION: 2, + DEPENDENCY: 3 +}; + +export default { + addClass, + clear, + getClass, + getClasses, + getRelations, + addRelation, + addMember, + addMembers, + cleanupLabel, + lineType, + relationType +}; diff --git a/src/diagrams/state/stateDiagram.spec.js b/src/diagrams/state/stateDiagram.spec.js new file mode 100644 index 000000000..e17cb3dee --- /dev/null +++ b/src/diagrams/state/stateDiagram.spec.js @@ -0,0 +1,214 @@ +/* eslint-env jasmine */ +import { parser } from './parser/stateDiagram'; +import stateDb from './stateDb'; + +describe('state diagram, ', function() { + describe('when parsing an info graph it', function() { + beforeEach(function() { + parser.yy = stateDb; + }); + + it('simple', function() { + const str = `stateDiagram\n + State1 : this is another string + [*] --> State1 + State1 --> [*] + `; + + parser.parse(str); + }); + it('should handle relation definitions', function() { + const str = `stateDiagram\n + [*] --> State1 + State1 --> [*] + State1 : this is a string + State1 : this is another string + + State1 --> State2 + State2 --> [*] + `; + + parser.parse(str); + }); + it('hide empty description', function() { + const str = `stateDiagram\n + hide empty description + [*] --> State1 + State1 --> [*] + State1 : this is a string + State1 : this is another string + + State1 --> State2 + State2 --> [*] + `; + + parser.parse(str); + }); + it('scale', function() { + const str = `stateDiagram\n + scale 350 width + [*] --> State1 + State1 --> [*] + State1 : this is a string + State1 : this is another string + + State1 --> State2 + State2 --> [*] + `; + + parser.parse(str); + }); + + xit('should handle relation definitions', function() { + const str = `stateDiagram\n + state Configuring { + [*] --> NewValueSelection + NewValueSelection --> NewValuePreview : EvNewValue + NewValuePreview --> NewValueSelection : EvNewValueRejected + NewValuePreview --> NewValueSelection : EvNewValueSaved + + state NewValuePreview { + State1 -> State2 + } + } + `; + + parser.parse(str); + }); + xit('should handle relation definitions', function() { + const str = `stateDiagram\n + scale 350 width + [*] --> NotShooting + + state NotShooting { + [*] --> Idle + Idle --> Configuring : EvConfig + Configuring --> Idle : EvConfig + } + + state Configuring { + [*] --> NewValueSelection + NewValueSelection --> NewValuePreview : EvNewValue + NewValuePreview --> NewValueSelection : EvNewValueRejected + NewValuePreview --> NewValueSelection : EvNewValueSaved + + state NewValuePreview { + State1 -> State2 + } + } + `; + + parser.parse(str); + }); + // it('should handle relation definitions', function() { + // const str = `stateDiagram\n + // scale 600 width + + // [*] --> State1 + // State1 --> State2 : Succeeded + // State1 --> [*] : Aborted + // State2 --> State3 : Succeeded + // State2 --> [*] : Aborted + // state State3 { + // state "Accumulate Enough Data\nLong State Name" as long1 + // long1 : Just a test + // [*] --> long1 + // long1 --> long1 : New Data + // long1 --> ProcessData : Enough Data + // } + // State3 --> State3 : Failed + // State3 --> [*] : Succeeded / Save Result + // State3 --> [*] : Aborted + // `; + + // parser.parse(str); + // }); + // it('should handle relation definitions', function() { + // const str = `stateDiagram\n + // state fork_state <> + // [*] --> fork_state + // fork_state --> State2 + // fork_state --> State3 + + // state join_state <> + // State2 --> join_state + // State3 --> join_state + // join_state --> State4 + // State4 --> [*] + // `; + + // parser.parse(str); + // }); + // it('should handle relation definitions', function() { + // const str = `stateDiagram\n + // [*] --> Active + + // state Active { + // [*] -> NumLockOff + // NumLockOff --> NumLockOn : EvNumLockPressed + // NumLockOn --> NumLockOff : EvNumLockPressed + // -- + // [*] -> CapsLockOff + // CapsLockOff --> CapsLockOn : EvCapsLockPressed + // CapsLockOn --> CapsLockOff : EvCapsLockPressed + // -- + // [*] -> ScrollLockOff + // ScrollLockOff --> ScrollLockOn : EvCapsLockPressed + // ScrollLockOn --> ScrollLockOff : EvCapsLockPressed + // `; + + // parser.parse(str); + // }); + // it('should handle relation definitions', function() { + // const str = `stateDiagram\n + // [*] -up-> First + // First -right-> Second + // Second --> Third + // Third -left-> Last + // `; + + // parser.parse(str); + // }); + // it('should handle relation definitions', function() { + // const str = `stateDiagram\n + // [*] --> Active + // Active --> Inactive + + // note left of Active : this is a short\nnote + + // note right of Inactive + // A note can also + // be defined on + // several lines + // end note + // `; + + // parser.parse(str); + // }); + // it('should handle relation definitions', function() { + // const str = `stateDiagram\n + // state foo + // note "This is a floating note" as N1 + // `; + + // parser.parse(str); + // }); + // it('should handle relation definitions', function() { + // const str = `stateDiagram\n + // [*] --> NotShooting + + // state "Not Shooting State" as NotShooting { + // state "Idle mode" as Idle + // state "Configuring mode" as Configuring + // [*] --> Idle + // Idle --> Configuring : EvConfig + // Configuring --> Idle : EvConfig + // } + + // note right of NotShooting : This is a note on a composite state + // `; + + // parser.parse(str); + // }); + }); +}); diff --git a/src/diagrams/state/stateRenderer.js b/src/diagrams/state/stateRenderer.js new file mode 100644 index 000000000..6c6646ec5 --- /dev/null +++ b/src/diagrams/state/stateRenderer.js @@ -0,0 +1,101 @@ +import * as d3 from 'd3'; +import dagre from 'dagre-layout'; +import graphlib from 'graphlibrary'; +import { logger } from '../../logger'; +import stateDb from './stateDb'; +import { parser } from './parser/stateDiagram'; + +parser.yy = stateDb; + +const idCache = {}; + +let stateCnt = 0; +const conf = { + dividerMargin: 10, + padding: 5, + textHeight: 10 +}; + +export const setConf = function(cnf) {}; +/** + * Draws a flowchart in the tag with id: id based on the graph definition in text. + * @param text + * @param id + */ +export const draw = function(text, id) { + parser.yy.clear(); + parser.parse(text); + + logger.info('Rendering diagram ' + text); + + // /// / Fetch the default direction, use TD if none was found + // const diagram = d3.select(`[id='${id}']`); + // insertMarkers(diagram); + + // // Layout graph, Create a new directed graph + // const g = new graphlib.Graph({ + // multigraph: true + // }); + + // // Set an object for the graph label + // g.setGraph({ + // isMultiGraph: true + // }); + + // // Default to assigning a new object as a label for each new edge. + // g.setDefaultEdgeLabel(function() { + // return {}; + // }); + + // const classes = classDb.getClasses(); + // const keys = Object.keys(classes); + // total = keys.length; + // for (let i = 0; i < keys.length; i++) { + // const classDef = classes[keys[i]]; + // const node = drawClass(diagram, classDef); + // // Add nodes to the graph. The first argument is the node id. The second is + // // metadata about the node. In this case we're going to add labels to each of + // // our nodes. + // g.setNode(node.id, node); + // logger.info('Org height: ' + node.height); + // } + + // const relations = classDb.getRelations(); + // relations.forEach(function(relation) { + // logger.info( + // 'tjoho' + getGraphId(relation.id1) + getGraphId(relation.id2) + JSON.stringify(relation) + // ); + // g.setEdge(getGraphId(relation.id1), getGraphId(relation.id2), { + // relation: relation + // }); + // }); + // dagre.layout(g); + // g.nodes().forEach(function(v) { + // if (typeof v !== 'undefined' && typeof g.node(v) !== 'undefined') { + // logger.debug('Node ' + v + ': ' + JSON.stringify(g.node(v))); + // d3.select('#' + v).attr( + // 'transform', + // 'translate(' + + // (g.node(v).x - g.node(v).width / 2) + + // ',' + + // (g.node(v).y - g.node(v).height / 2) + + // ' )' + // ); + // } + // }); + // g.edges().forEach(function(e) { + // if (typeof e !== 'undefined' && typeof g.edge(e) !== 'undefined') { + // logger.debug('Edge ' + e.v + ' -> ' + e.w + ': ' + JSON.stringify(g.edge(e))); + // drawEdge(diagram, g.edge(e), g.edge(e).relation); + // } + // }); + + // diagram.attr('height', '100%'); + // diagram.attr('width', '100%'); + // diagram.attr('viewBox', '0 0 ' + (g.graph().width + 20) + ' ' + (g.graph().height + 20)); +}; + +export default { + setConf, + draw +}; From 6f054519e7c4eb81f9223df9e7bd4da4d425d6a4 Mon Sep 17 00:00:00 2001 From: knsv Date: Sat, 21 Sep 2019 08:50:32 -0700 Subject: [PATCH 005/200] #945 Handling simple state statements --- src/diagrams/state/parser/stateDiagram.jison | 33 +++++++++++++------- src/diagrams/state/stateDiagram.spec.js | 21 +++++++++++++ 2 files changed, 43 insertions(+), 11 deletions(-) diff --git a/src/diagrams/state/parser/stateDiagram.jison b/src/diagrams/state/parser/stateDiagram.jison index cfdb61158..880c274a1 100644 --- a/src/diagrams/state/parser/stateDiagram.jison +++ b/src/diagrams/state/parser/stateDiagram.jison @@ -14,8 +14,10 @@ // Special states for recognizing aliases %x ID +%x STATE %x ALIAS %x SCALE +%x struct // A special state for grabbing text up to the first comment/newline %x LINE @@ -24,16 +26,23 @@ [\n]+ return 'NL'; \s+ /* skip all whitespace */ -((?!\n)\s)+ /* skip same-line whitespace */ -\#[^\n]* /* skip comments */ +((?!\n)\s)+ /* skip same-line whitespace */ +\#[^\n]* /* skip comments */ \%%[^\n]* /* skip comments */ "scale"\s+ { this.pushState('SCALE'); console.log('Got scale', yytext);return 'scale'; } \d+ return 'WIDTH'; \s+"width" {this.popState();} -"state"\s+ { this.begin('LINE'); return 'state'; } -"note"\s+ { this.begin('LINE'); return 'note'; } +"state"\s+ { this.pushState('STATE'); } +[^\n\s\{]+ {console.log('COMPOSIT_STATE', yytext);return 'COMPOSIT_STATE';} +\{ {this.popState();this.pushState('struct'); console.log('begin struct', yytext);return 'STRUCT_START';} +\} { console.log('Ending struct'); this.popState(); return 'STRUCT_STOP';}} +[\n] /* nothing */ +// [^\{\}\n]* { /*console.log('lex-member: ' + yytext);*/ return "MEMBER";} + + +"note"\s+ { this.begin('LINE'); return 'note'; } "stateDiagram"\s+ { console.log('Got state diagram', yytext,'#');return 'SD'; } "hide empty description" { console.log('HIDE_EMPTY', yytext,'#');return 'HIDE_EMPTY'; } // "participant" { this.begin('ID'); return 'participant'; } @@ -45,11 +54,11 @@ // "and" { this.begin('LINE'); return 'and'; } // [^#\n;]* { this.popState(); return 'restOfLine'; } // "end" return 'end'; -"[*]" { console.log('EDGE_STATE=',yytext); return 'EDGE_STATE';} -[^:\n\s\-]+ { console.log('ID=',yytext); return 'ID';} -\s*":"[^\+\->:\n,;]+ { yytext = yytext.trim(); console.log('Descr = ', yytext); return 'DESCR'; } -"left of" return 'left_of'; -"right of" return 'right_of'; +"[*]" { console.log('EDGE_STATE=',yytext); return 'EDGE_STATE';} +[^:\n\s\-]+ { console.log('ID=',yytext); return 'ID';} +\s*":"[^\+\->:\n,;]+ { yytext = yytext.trim(); console.log('Descr = ', yytext); return 'DESCR'; } +"left of" return 'left_of'; +"right of" return 'right_of'; // "over" return 'over'; // "note" return 'note'; // "activate" { this.begin('ID'); return 'activate'; } @@ -59,7 +68,7 @@ // "," return ','; // ";" return 'NL'; // [^\+\->:\n,;]+ { yytext = yytext.trim(); return 'ACTOR'; } -"-->" return '-->'; +"-->" return '-->'; // "--" return '--'; // ":"[^#\n;]+ return 'TXT'; <> return 'NL'; @@ -86,15 +95,17 @@ document line : SPACE statement { console.log('here');$$ = $2 } - | statement {console.log('there'); $$ = $1 } + | statement {console.log('line', $1); $$ = $1 } | NL { $$=[];} ; statement : idStatement DESCR | idStatement '-->' idStatement + | idStatement '-->' idStatement DESCR | HIDE_EMPTY | scale WIDTH + | COMPOSIT_STATE STRUCT_START document STRUCT_STOP ; idStatement diff --git a/src/diagrams/state/stateDiagram.spec.js b/src/diagrams/state/stateDiagram.spec.js index e17cb3dee..1a0b92a31 100644 --- a/src/diagrams/state/stateDiagram.spec.js +++ b/src/diagrams/state/stateDiagram.spec.js @@ -59,6 +59,27 @@ describe('state diagram, ', function() { parser.parse(str); }); + it('description after second state', function() { + const str = `stateDiagram\n + scale 350 width + [*] --> State1 : This is the description + State1 --> [*] + `; + + parser.parse(str); + }); + it('should handle state statements', function() { + const str = `stateDiagram\n + state Configuring { + [*] --> NewValueSelection + NewValueSelection --> NewValuePreview : EvNewValue + NewValuePreview --> NewValueSelection : EvNewValueRejected + NewValuePreview --> NewValueSelection : EvNewValueSaved1 + } + `; + + parser.parse(str); + }); xit('should handle relation definitions', function() { const str = `stateDiagram\n state Configuring { From 9993b90a2062163d5fad130bdb040165fa4ddcb3 Mon Sep 17 00:00:00 2001 From: knsv Date: Sat, 21 Sep 2019 08:54:18 -0700 Subject: [PATCH 006/200] #945 Handling recursive state statements --- src/diagrams/state/parser/stateDiagram.jison | 2 +- src/diagrams/state/stateDiagram.spec.js | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/diagrams/state/parser/stateDiagram.jison b/src/diagrams/state/parser/stateDiagram.jison index 880c274a1..b880355ed 100644 --- a/src/diagrams/state/parser/stateDiagram.jison +++ b/src/diagrams/state/parser/stateDiagram.jison @@ -34,7 +34,7 @@ \d+ return 'WIDTH'; \s+"width" {this.popState();} -"state"\s+ { this.pushState('STATE'); } +"state"\s+ { this.pushState('STATE'); } [^\n\s\{]+ {console.log('COMPOSIT_STATE', yytext);return 'COMPOSIT_STATE';} \{ {this.popState();this.pushState('struct'); console.log('begin struct', yytext);return 'STRUCT_START';} \} { console.log('Ending struct'); this.popState(); return 'STRUCT_STOP';}} diff --git a/src/diagrams/state/stateDiagram.spec.js b/src/diagrams/state/stateDiagram.spec.js index 1a0b92a31..61d97e44c 100644 --- a/src/diagrams/state/stateDiagram.spec.js +++ b/src/diagrams/state/stateDiagram.spec.js @@ -80,7 +80,7 @@ describe('state diagram, ', function() { parser.parse(str); }); - xit('should handle relation definitions', function() { + it('should handle recursive state definitions', function() { const str = `stateDiagram\n state Configuring { [*] --> NewValueSelection @@ -89,14 +89,14 @@ describe('state diagram, ', function() { NewValuePreview --> NewValueSelection : EvNewValueSaved state NewValuePreview { - State1 -> State2 + State1 --> State2 } } `; parser.parse(str); }); - xit('should handle relation definitions', function() { + it('should handle multiple recursive state definitions', function() { const str = `stateDiagram\n scale 350 width [*] --> NotShooting @@ -114,7 +114,7 @@ describe('state diagram, ', function() { NewValuePreview --> NewValueSelection : EvNewValueSaved state NewValuePreview { - State1 -> State2 + State1 --> State2 } } `; From 921d5464a1c12bbeb8854acdca894458f19dc372 Mon Sep 17 00:00:00 2001 From: knsv Date: Sat, 21 Sep 2019 09:12:02 -0700 Subject: [PATCH 007/200] #945 Handling recursive logn descriptions for states with quotes --- src/diagrams/state/parser/stateDiagram.jison | 8 ++++ src/diagrams/state/stateDiagram.spec.js | 49 +++++++++++--------- 2 files changed, 36 insertions(+), 21 deletions(-) diff --git a/src/diagrams/state/parser/stateDiagram.jison b/src/diagrams/state/parser/stateDiagram.jison index b880355ed..23a2c8c12 100644 --- a/src/diagrams/state/parser/stateDiagram.jison +++ b/src/diagrams/state/parser/stateDiagram.jison @@ -15,6 +15,8 @@ // Special states for recognizing aliases %x ID %x STATE +%x STATE_STRING +%x STATE_ID %x ALIAS %x SCALE %x struct @@ -35,6 +37,11 @@ \s+"width" {this.popState();} "state"\s+ { this.pushState('STATE'); } +["] this.begin("STATE_STRING"); +"as"\s* {this.popState('STATE_ID');return "AS";} +[^\n] {this.popState('STATE_ID');return "ID";} +["] this.popState(); +[^"]* { console.log('Long description:', yytext);return "STATE_DESCR";} [^\n\s\{]+ {console.log('COMPOSIT_STATE', yytext);return 'COMPOSIT_STATE';} \{ {this.popState();this.pushState('struct'); console.log('begin struct', yytext);return 'STRUCT_START';} \} { console.log('Ending struct'); this.popState(); return 'STRUCT_STOP';}} @@ -106,6 +113,7 @@ statement | HIDE_EMPTY | scale WIDTH | COMPOSIT_STATE STRUCT_START document STRUCT_STOP + | STATE_DESCR AS ID ; idStatement diff --git a/src/diagrams/state/stateDiagram.spec.js b/src/diagrams/state/stateDiagram.spec.js index 61d97e44c..664d1051b 100644 --- a/src/diagrams/state/stateDiagram.spec.js +++ b/src/diagrams/state/stateDiagram.spec.js @@ -121,29 +121,36 @@ describe('state diagram, ', function() { parser.parse(str); }); - // it('should handle relation definitions', function() { - // const str = `stateDiagram\n - // scale 600 width + it('should handle state deifintions with separation of id', function() { + const str = `stateDiagram\n + state "Long state description" as state1 + `; - // [*] --> State1 - // State1 --> State2 : Succeeded - // State1 --> [*] : Aborted - // State2 --> State3 : Succeeded - // State2 --> [*] : Aborted - // state State3 { - // state "Accumulate Enough Data\nLong State Name" as long1 - // long1 : Just a test - // [*] --> long1 - // long1 --> long1 : New Data - // long1 --> ProcessData : Enough Data - // } - // State3 --> State3 : Failed - // State3 --> [*] : Succeeded / Save Result - // State3 --> [*] : Aborted - // `; + parser.parse(str); + }); + it('should State definition with quotes', function() { + const str = `stateDiagram\n + scale 600 width - // parser.parse(str); - // }); + [*] --> State1 + State1 --> State2 : Succeeded + State1 --> [*] : Aborted + State2 --> State3 : Succeeded + State2 --> [*] : Aborted + state State3 { + state "Accumulate Enough Data\nLong State Name" as long1 + long1 : Just a test + [*] --> long1 + long1 --> long1 : New Data + long1 --> ProcessData : Enough Data + } + State3 --> State3 : Failed + State3 --> [*] : Succeeded / Save Result + State3 --> [*] : Aborted + `; + + parser.parse(str); + }); // it('should handle relation definitions', function() { // const str = `stateDiagram\n // state fork_state <> From 1aa8b9b8042a514557c2b8a17f434461ba513fbf Mon Sep 17 00:00:00 2001 From: knsv Date: Sat, 21 Sep 2019 11:31:09 -0700 Subject: [PATCH 008/200] #945 Handling recursive logn descriptions for states with quotes --- src/diagrams/state/parser/stateDiagram.jison | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/diagrams/state/parser/stateDiagram.jison b/src/diagrams/state/parser/stateDiagram.jison index 23a2c8c12..ad2897657 100644 --- a/src/diagrams/state/parser/stateDiagram.jison +++ b/src/diagrams/state/parser/stateDiagram.jison @@ -38,8 +38,8 @@ "state"\s+ { this.pushState('STATE'); } ["] this.begin("STATE_STRING"); -"as"\s* {this.popState('STATE_ID');return "AS";} -[^\n] {this.popState('STATE_ID');return "ID";} +"as"\s* {this.popState();this.pushState('STATE_ID');return "AS";} +[^\n]* {this.popState();console.log('ID');return "ID";} ["] this.popState(); [^"]* { console.log('Long description:', yytext);return "STATE_DESCR";} [^\n\s\{]+ {console.log('COMPOSIT_STATE', yytext);return 'COMPOSIT_STATE';} From 3a8564de92a01f95a069ac0ea6e16ea08721cf13 Mon Sep 17 00:00:00 2001 From: knsv Date: Sat, 21 Sep 2019 23:19:03 -0700 Subject: [PATCH 009/200] #945 Handling of fork statements --- src/diagrams/state/parser/stateDiagram.jison | 5 ++++ src/diagrams/state/stateDiagram.spec.js | 30 ++++++++++---------- 2 files changed, 20 insertions(+), 15 deletions(-) diff --git a/src/diagrams/state/parser/stateDiagram.jison b/src/diagrams/state/parser/stateDiagram.jison index ad2897657..e845da13b 100644 --- a/src/diagrams/state/parser/stateDiagram.jison +++ b/src/diagrams/state/parser/stateDiagram.jison @@ -15,6 +15,7 @@ // Special states for recognizing aliases %x ID %x STATE +%x FORK_STATE %x STATE_STRING %x STATE_ID %x ALIAS @@ -37,6 +38,8 @@ \s+"width" {this.popState();} "state"\s+ { this.pushState('STATE'); } +.*"<>" {this.popState();console.log('Fork: ',yytext);return 'FORK';} +.*"<>" {this.popState();console.log('Join: ',yytext);return 'JOIN';} ["] this.begin("STATE_STRING"); "as"\s* {this.popState();this.pushState('STATE_ID');return "AS";} [^\n]* {this.popState();console.log('ID');return "ID";} @@ -114,6 +117,8 @@ statement | scale WIDTH | COMPOSIT_STATE STRUCT_START document STRUCT_STOP | STATE_DESCR AS ID + | FORK + | JOIN ; idStatement diff --git a/src/diagrams/state/stateDiagram.spec.js b/src/diagrams/state/stateDiagram.spec.js index 664d1051b..03e047eb4 100644 --- a/src/diagrams/state/stateDiagram.spec.js +++ b/src/diagrams/state/stateDiagram.spec.js @@ -151,23 +151,23 @@ describe('state diagram, ', function() { parser.parse(str); }); - // it('should handle relation definitions', function() { - // const str = `stateDiagram\n - // state fork_state <> - // [*] --> fork_state - // fork_state --> State2 - // fork_state --> State3 + it('should handle fork statements', function() { + const str = `stateDiagram\n + state fork_state <> + [*] --> fork_state + fork_state --> State2 + fork_state --> State3 - // state join_state <> - // State2 --> join_state - // State3 --> join_state - // join_state --> State4 - // State4 --> [*] - // `; + state join_state <> + State2 --> join_state + State3 --> join_state + join_state --> State4 + State4 --> [*] + `; - // parser.parse(str); - // }); - // it('should handle relation definitions', function() { + parser.parse(str); + }); + // it('should handle concurrent state', function() { // const str = `stateDiagram\n // [*] --> Active From 2f0248e6d5553f6faf703d79dbf3db87540f0ce6 Mon Sep 17 00:00:00 2001 From: knsv Date: Sun, 22 Sep 2019 02:38:04 -0700 Subject: [PATCH 010/200] #945 Handling of note statements --- src/diagrams/state/parser/stateDiagram.jison | 23 ++++-- src/diagrams/state/stateDiagram.spec.js | 80 ++++++++++++-------- 2 files changed, 66 insertions(+), 37 deletions(-) diff --git a/src/diagrams/state/parser/stateDiagram.jison b/src/diagrams/state/parser/stateDiagram.jison index e845da13b..e2cd40946 100644 --- a/src/diagrams/state/parser/stateDiagram.jison +++ b/src/diagrams/state/parser/stateDiagram.jison @@ -20,6 +20,9 @@ %x STATE_ID %x ALIAS %x SCALE +%x NOTE +%x NOTE_ID +%x NOTE_TEXT %x struct // A special state for grabbing text up to the first comment/newline @@ -49,11 +52,15 @@ \{ {this.popState();this.pushState('struct'); console.log('begin struct', yytext);return 'STRUCT_START';} \} { console.log('Ending struct'); this.popState(); return 'STRUCT_STOP';}} [\n] /* nothing */ -// [^\{\}\n]* { /*console.log('lex-member: ' + yytext);*/ return "MEMBER";} +"note"\s+ { this.begin('NOTE'); return 'note'; } +"left of" { this.popState();this.pushState('NOTE_ID');console.log('Got dir');return 'left_of';} +"right of" { this.popState();this.pushState('NOTE_ID');return 'right_of';} +\s*[^:\n\s\-]+ { this.popState();this.pushState('NOTE_TEXT');console.log('Got ID for note', yytext);return 'ID';} +\s*":"[^\+\-:\n,;]+ { this.popState();console.log('Got NOTE_TEXT for note',yytext);return 'NOTE_TEXT';} +\s*[^\+\-:,;]+"end note" { this.popState();console.log('Got NOTE_TEXT for note',yytext);return 'NOTE_TEXT';} -"note"\s+ { this.begin('LINE'); return 'note'; } -"stateDiagram"\s+ { console.log('Got state diagram', yytext,'#');return 'SD'; } +"stateDiagram"\s+ { console.log('Got state diagram', yytext,'#');return 'SD'; } "hide empty description" { console.log('HIDE_EMPTY', yytext,'#');return 'HIDE_EMPTY'; } // "participant" { this.begin('ID'); return 'participant'; } // [^\->:\n,;]+?(?=((?!\n)\s)+"as"(?!\n)\s|[#\n;]|$) { yytext = yytext.trim(); this.begin('ALIAS'); return 'ACTOR'; } @@ -67,8 +74,6 @@ "[*]" { console.log('EDGE_STATE=',yytext); return 'EDGE_STATE';} [^:\n\s\-]+ { console.log('ID=',yytext); return 'ID';} \s*":"[^\+\->:\n,;]+ { yytext = yytext.trim(); console.log('Descr = ', yytext); return 'DESCR'; } -"left of" return 'left_of'; -"right of" return 'right_of'; // "over" return 'over'; // "note" return 'note'; // "activate" { this.begin('ID'); return 'activate'; } @@ -79,6 +84,7 @@ // ";" return 'NL'; // [^\+\->:\n,;]+ { yytext = yytext.trim(); return 'ACTOR'; } "-->" return '-->'; +"--" return 'CONCURRENT'; // "--" return '--'; // ":"[^#\n;]+ return 'TXT'; <> return 'NL'; @@ -119,12 +125,19 @@ statement | STATE_DESCR AS ID | FORK | JOIN + | CONCURRENT + | note notePosition ID NOTE_TEXT ; idStatement : ID | EDGE_STATE ; + +notePosition + : left_of + | right_of + ; // statement // : 'participant' actor 'AS' restOfLine 'NL' {$2.description=$4; $$=$2;} // | 'participant' actor 'NL' {$$=$2;} diff --git a/src/diagrams/state/stateDiagram.spec.js b/src/diagrams/state/stateDiagram.spec.js index 03e047eb4..0b0ef4244 100644 --- a/src/diagrams/state/stateDiagram.spec.js +++ b/src/diagrams/state/stateDiagram.spec.js @@ -167,27 +167,43 @@ describe('state diagram, ', function() { parser.parse(str); }); - // it('should handle concurrent state', function() { - // const str = `stateDiagram\n - // [*] --> Active + it('should handle concurrent state', function() { + const str = `stateDiagram\n + [*] --> Active - // state Active { - // [*] -> NumLockOff - // NumLockOff --> NumLockOn : EvNumLockPressed - // NumLockOn --> NumLockOff : EvNumLockPressed - // -- - // [*] -> CapsLockOff - // CapsLockOff --> CapsLockOn : EvCapsLockPressed - // CapsLockOn --> CapsLockOff : EvCapsLockPressed - // -- - // [*] -> ScrollLockOff - // ScrollLockOff --> ScrollLockOn : EvCapsLockPressed - // ScrollLockOn --> ScrollLockOff : EvCapsLockPressed - // `; + state Active { + [*] --> NumLockOff + NumLockOff --> NumLockOn : EvNumLockPressed + NumLockOn --> NumLockOff : EvNumLockPressed + -- + [*] --> CapsLockOff + CapsLockOff --> CapsLockOn : EvCapsLockPressed + CapsLockOn --> CapsLockOff : EvCapsLockPressed + -- + [*] --> ScrollLockOff + ScrollLockOff --> ScrollLockOn : EvCapsLockPressed + ScrollLockOn --> ScrollLockOff : EvCapsLockPressed + } + `; - // parser.parse(str); - // }); - // it('should handle relation definitions', function() { + parser.parse(str); + }); + it('should handle concurrent state', function() { + const str = `stateDiagram\n + [*] --> Active + + state Active { + [*] --> NumLockOff + -- + [*] --> CapsLockOff + -- + [*] --> ScrollLockOff + } + `; + + parser.parse(str); + }); + // it('should handle arrow directions definitions', function() { // const str = `stateDiagram\n // [*] -up-> First // First -right-> Second @@ -197,22 +213,22 @@ describe('state diagram, ', function() { // parser.parse(str); // }); - // it('should handle relation definitions', function() { - // const str = `stateDiagram\n - // [*] --> Active - // Active --> Inactive + it('should handle note statements', function() { + const str = `stateDiagram\n + [*] --> Active + Active --> Inactive - // note left of Active : this is a short\nnote + note left of Active : this is a short
note - // note right of Inactive - // A note can also - // be defined on - // several lines - // end note - // `; + note right of Inactive + A note can also + be defined on + several lines + end note + `; - // parser.parse(str); - // }); + parser.parse(str); + }); // it('should handle relation definitions', function() { // const str = `stateDiagram\n // state foo From 2306534248e771487d8205a4633d8981fe616ac3 Mon Sep 17 00:00:00 2001 From: knsv Date: Sun, 22 Sep 2019 03:30:36 -0700 Subject: [PATCH 011/200] #945 Handling of dimples state definitions --- src/diagrams/state/parser/stateDiagram.jison | 17 +++++- src/diagrams/state/stateDiagram.spec.js | 64 +++++++++++++------- 2 files changed, 57 insertions(+), 24 deletions(-) diff --git a/src/diagrams/state/parser/stateDiagram.jison b/src/diagrams/state/parser/stateDiagram.jison index e2cd40946..0e73cee4a 100644 --- a/src/diagrams/state/parser/stateDiagram.jison +++ b/src/diagrams/state/parser/stateDiagram.jison @@ -23,6 +23,8 @@ %x NOTE %x NOTE_ID %x NOTE_TEXT +%x FLOATING_NOTE +%x FLOATING_NOTE_ID %x struct // A special state for grabbing text up to the first comment/newline @@ -45,17 +47,23 @@ .*"<>" {this.popState();console.log('Join: ',yytext);return 'JOIN';} ["] this.begin("STATE_STRING"); "as"\s* {this.popState();this.pushState('STATE_ID');return "AS";} -[^\n]* {this.popState();console.log('ID');return "ID";} +[^\n\{]* {this.popState();console.log('STATE_ID', yytext);return "ID";} ["] this.popState(); [^"]* { console.log('Long description:', yytext);return "STATE_DESCR";} [^\n\s\{]+ {console.log('COMPOSIT_STATE', yytext);return 'COMPOSIT_STATE';} -\{ {this.popState();this.pushState('struct'); console.log('begin struct', yytext);return 'STRUCT_START';} +\n {this.popState();} +\{ {this.popState();this.pushState('struct'); console.log('begin struct', yytext);return 'STRUCT_START';} \} { console.log('Ending struct'); this.popState(); return 'STRUCT_STOP';}} [\n] /* nothing */ "note"\s+ { this.begin('NOTE'); return 'note'; } "left of" { this.popState();this.pushState('NOTE_ID');console.log('Got dir');return 'left_of';} "right of" { this.popState();this.pushState('NOTE_ID');return 'right_of';} +\" { this.popState();this.pushState('FLOATING_NOTE');} +\s*"as"\s* {this.popState();this.pushState('FLOATING_NOTE_ID');return "AS";} +["] /**/ +[^"]* { console.log('Floating note text: ', yytext);return "NOTE_TEXT";} +[^\n]* {this.popState();console.log('Floating note ID', yytext);return "ID";} \s*[^:\n\s\-]+ { this.popState();this.pushState('NOTE_TEXT');console.log('Got ID for note', yytext);return 'ID';} \s*":"[^\+\-:\n,;]+ { this.popState();console.log('Got NOTE_TEXT for note',yytext);return 'NOTE_TEXT';} \s*[^\+\-:,;]+"end note" { this.popState();console.log('Got NOTE_TEXT for note',yytext);return 'NOTE_TEXT';} @@ -72,7 +80,7 @@ // [^#\n;]* { this.popState(); return 'restOfLine'; } // "end" return 'end'; "[*]" { console.log('EDGE_STATE=',yytext); return 'EDGE_STATE';} -[^:\n\s\-]+ { console.log('ID=',yytext); return 'ID';} +[^:\n\s\-\{]+ { console.log('=>ID=',yytext); return 'ID';} \s*":"[^\+\->:\n,;]+ { yytext = yytext.trim(); console.log('Descr = ', yytext); return 'DESCR'; } // "over" return 'over'; // "note" return 'note'; @@ -121,12 +129,15 @@ statement | idStatement '-->' idStatement DESCR | HIDE_EMPTY | scale WIDTH + | COMPOSIT_STATE | COMPOSIT_STATE STRUCT_START document STRUCT_STOP | STATE_DESCR AS ID + | STATE_DESCR AS ID STRUCT_START document STRUCT_STOP | FORK | JOIN | CONCURRENT | note notePosition ID NOTE_TEXT + | note NOTE_TEXT AS ID ; idStatement diff --git a/src/diagrams/state/stateDiagram.spec.js b/src/diagrams/state/stateDiagram.spec.js index 0b0ef4244..58399bfdf 100644 --- a/src/diagrams/state/stateDiagram.spec.js +++ b/src/diagrams/state/stateDiagram.spec.js @@ -128,6 +128,20 @@ describe('state diagram, ', function() { parser.parse(str); }); + it('should handle state deifintions with separation of id', function() { + const str = `stateDiagram + state "Not Shooting State" as NotShooting { + state "Idle mode" as Idle + state "Configuring mode" as Configuring + [*] --> Idle + Idle --> Configuring : EvConfig + Configuring --> Idle : EvConfig + } + `; + + parser.parse(str); + }); + it('should State definition with quotes', function() { const str = `stateDiagram\n scale 600 width @@ -229,30 +243,38 @@ describe('state diagram, ', function() { parser.parse(str); }); - // it('should handle relation definitions', function() { - // const str = `stateDiagram\n - // state foo - // note "This is a floating note" as N1 - // `; + it('should handle floating notes', function() { + const str = `stateDiagram + foo: bar + note "This is a floating note" as N1 + `; - // parser.parse(str); - // }); - // it('should handle relation definitions', function() { - // const str = `stateDiagram\n - // [*] --> NotShooting + parser.parse(str); + }); + it('should handle floating notes', function() { + const str = `stateDiagram\n + state foo + note "This is a floating note" as N1 + `; - // state "Not Shooting State" as NotShooting { - // state "Idle mode" as Idle - // state "Configuring mode" as Configuring - // [*] --> Idle - // Idle --> Configuring : EvConfig - // Configuring --> Idle : EvConfig - // } + parser.parse(str); + }); + it('should handle notes for composit states', function() { + const str = `stateDiagram\n + [*] --> NotShooting - // note right of NotShooting : This is a note on a composite state - // `; + state "Not Shooting State" as NotShooting { + state "Idle mode" as Idle + state "Configuring mode" as Configuring + [*] --> Idle + Idle --> Configuring : EvConfig + Configuring --> Idle : EvConfig + } - // parser.parse(str); - // }); + note right of NotShooting : This is a note on a composite state + `; + + parser.parse(str); + }); }); }); From fad76ad534fafb9a518a6e2fd098ead5d6272b66 Mon Sep 17 00:00:00 2001 From: Knut Sveidqvist Date: Wed, 25 Sep 2019 21:01:21 +0200 Subject: [PATCH 012/200] #945 Rendering of start & end node --- .../rendering/stateDiagram.spec.js | 16 + src/diagrams/state/stateDb.js | 37 +- src/diagrams/state/stateRenderer.js | 486 ++++++++++++++++-- src/mermaidAPI.js | 12 + src/utils.js | 4 + 5 files changed, 480 insertions(+), 75 deletions(-) create mode 100644 cypress/integration/rendering/stateDiagram.spec.js diff --git a/cypress/integration/rendering/stateDiagram.spec.js b/cypress/integration/rendering/stateDiagram.spec.js new file mode 100644 index 000000000..a696be5de --- /dev/null +++ b/cypress/integration/rendering/stateDiagram.spec.js @@ -0,0 +1,16 @@ +/* eslint-env jest */ +import { imgSnapshotTest } from '../../helpers/util'; + +describe('State diagram', () => { + it('should render a simple state diagrams', () => { + imgSnapshotTest( + ` + stateDiagram + [*] --> State1 + State1 --> [*] + `, + { logLevel: 0 } + ); + cy.get('svg'); + }); +}); diff --git a/src/diagrams/state/stateDb.js b/src/diagrams/state/stateDb.js index 94ec0e21e..8eb1a30e1 100644 --- a/src/diagrams/state/stateDb.js +++ b/src/diagrams/state/stateDb.js @@ -1,7 +1,7 @@ import { logger } from '../../logger'; let relations = []; -let classes = {}; +let states = {}; /** * Function called by parser when a node definition has been found. @@ -10,26 +10,25 @@ let classes = {}; * @param type * @param style */ -export const addClass = function(id) { - if (typeof classes[id] === 'undefined') { - classes[id] = { +export const addState = function(id) { + if (typeof states[id] === 'undefined') { + states[id] = { id: id, - methods: [], - members: [] + descriptions: [] }; } }; export const clear = function() { relations = []; - classes = {}; + states = {}; }; -export const getClass = function(id) { - return classes[id]; +export const getState = function(id) { + return states[id]; }; -export const getClasses = function() { - return classes; +export const getstates = function() { + return states; }; export const getRelations = function() { @@ -38,18 +37,18 @@ export const getRelations = function() { export const addRelation = function(relation) { logger.debug('Adding relation: ' + JSON.stringify(relation)); - addClass(relation.id1); - addClass(relation.id2); + addState(relation.id1); + addState(relation.id2); relations.push(relation); }; export const addMember = function(className, member) { - const theClass = classes[className]; + const theState = states[className]; if (typeof member === 'string') { if (member.substr(-1) === ')') { - theClass.methods.push(member); + theState.methods.push(member); } else { - theClass.members.push(member); + theState.members.push(member); } } }; @@ -81,10 +80,10 @@ export const relationType = { }; export default { - addClass, + addState, clear, - getClass, - getClasses, + getState, + getstates, getRelations, addRelation, addMember, diff --git a/src/diagrams/state/stateRenderer.js b/src/diagrams/state/stateRenderer.js index 6c6646ec5..c40e902f8 100644 --- a/src/diagrams/state/stateRenderer.js +++ b/src/diagrams/state/stateRenderer.js @@ -10,6 +10,9 @@ parser.yy = stateDb; const idCache = {}; let stateCnt = 0; +let total = 0; +let edgeCount = 0; + const conf = { dividerMargin: 10, padding: 5, @@ -17,6 +20,363 @@ const conf = { }; export const setConf = function(cnf) {}; + +// Todo optimize +const getGraphId = function(label) { + const keys = Object.keys(idCache); + + for (let i = 0; i < keys.length; i++) { + if (idCache[keys[i]].label === label) { + return keys[i]; + } + } + + return undefined; +}; + +/** + * Setup arrow head and define the marker. The result is appended to the svg. + */ +const insertMarkers = function(elem) { + elem + .append('defs') + .append('marker') + .attr('id', 'extensionStart') + .attr('class', 'extension') + .attr('refX', 0) + .attr('refY', 7) + .attr('markerWidth', 190) + .attr('markerHeight', 240) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 1,7 L18,13 V 1 Z'); + + elem + .append('defs') + .append('marker') + .attr('id', 'extensionEnd') + .attr('refX', 19) + .attr('refY', 7) + .attr('markerWidth', 20) + .attr('markerHeight', 28) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 1,1 V 13 L18,7 Z'); // this is actual shape for arrowhead + + elem + .append('defs') + .append('marker') + .attr('id', 'compositionStart') + .attr('class', 'extension') + .attr('refX', 0) + .attr('refY', 7) + .attr('markerWidth', 190) + .attr('markerHeight', 240) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z'); + + elem + .append('defs') + .append('marker') + .attr('id', 'compositionEnd') + .attr('refX', 19) + .attr('refY', 7) + .attr('markerWidth', 20) + .attr('markerHeight', 28) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z'); + + elem + .append('defs') + .append('marker') + .attr('id', 'aggregationStart') + .attr('class', 'extension') + .attr('refX', 0) + .attr('refY', 7) + .attr('markerWidth', 190) + .attr('markerHeight', 240) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z'); + + elem + .append('defs') + .append('marker') + .attr('id', 'aggregationEnd') + .attr('refX', 19) + .attr('refY', 7) + .attr('markerWidth', 20) + .attr('markerHeight', 28) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z'); + + elem + .append('defs') + .append('marker') + .attr('id', 'dependencyStart') + .attr('class', 'extension') + .attr('refX', 0) + .attr('refY', 7) + .attr('markerWidth', 190) + .attr('markerHeight', 240) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 5,7 L9,13 L1,7 L9,1 Z'); + + elem + .append('defs') + .append('marker') + .attr('id', 'dependencyEnd') + .attr('refX', 19) + .attr('refY', 7) + .attr('markerWidth', 20) + .attr('markerHeight', 28) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 18,7 L9,13 L14,7 L9,1 Z'); +}; +const drawStart = function(elem, stateDef) { + logger.info('Rendering class ' + stateDef); + + const addTspan = function(textEl, txt, isFirst) { + const tSpan = textEl + .append('tspan') + .attr('x', conf.padding) + .text(txt); + if (!isFirst) { + tSpan.attr('dy', conf.textHeight); + } + }; + + const id = 'classId' + (stateCnt % total); + const stateInfo = { + id: id, + label: stateDef.id, + width: 0, + height: 0 + }; + + const g = elem + .append('g') + .attr('id', id) + .attr('class', 'classGroup'); + const title = g + .append('text') + .attr('x', conf.padding) + .attr('y', conf.textHeight + conf.padding) + .text(stateDef.id); + + const titleHeight = title.node().getBBox().height; + + const stateBox = g.node().getBBox(); + g.insert('rect', ':first-child') + .attr('x', 0) + .attr('y', 0) + .attr('width', stateBox.width + 2 * conf.padding) + .attr('height', stateBox.height + conf.padding + 0.5 * conf.dividerMargin); + + membersLine.attr('x2', stateBox.width + 2 * conf.padding); + methodsLine.attr('x2', stateBox.width + 2 * conf.padding); + + stateInfo.width = stateBox.width + 2 * conf.padding; + stateInfo.height = stateBox.height + conf.padding + 0.5 * conf.dividerMargin; + + idCache[id] = stateInfo; + stateCnt++; + return stateInfo; +}; + +/** + * Draws a start state as a black circle + */ +const drawStartState = g => + g + .append('circle') + .style('stroke', 'black') + .style('fill', 'black') + .attr('r', 5) + .attr('cx', conf.padding + 5) + .attr('cy', conf.padding + 5); +/** + * Draws a an end state as a black circle + */ +const drawSimpleState = (g, stateDef) => { + const state = g + .append('text') + .attr('x', 2 * conf.padding) + .attr('y', conf.textHeight + 2 * conf.padding) + .attr('font-size', 24) + .text(stateDef.id); + + const classBox = state.node().getBBox(); + g.insert('rect', ':first-child') + .attr('x', conf.padding) + .attr('y', conf.padding) + .attr('width', classBox.width + 2 * conf.padding) + .attr('height', classBox.height + 2 * conf.padding) + .attr('rx', '5'); + + return state; +}; +const drawEndState = g => { + g.append('circle') + .style('stroke', 'black') + .style('fill', 'white') + .attr('r', 7) + .attr('cx', conf.padding + 7) + .attr('cy', conf.padding + 7); + + return g + .append('circle') + .style('stroke', 'black') + .style('fill', 'black') + .attr('r', 5) + .attr('cx', conf.padding + 7) + .attr('cy', conf.padding + 7); +}; + +const drawEdge = function(elem, path, relation) { + const getRelationType = function(type) { + switch (type) { + case stateDb.relationType.AGGREGATION: + return 'aggregation'; + case stateDb.relationType.EXTENSION: + return 'extension'; + case stateDb.relationType.COMPOSITION: + return 'composition'; + case stateDb.relationType.DEPENDENCY: + return 'dependency'; + } + }; + + path.points = path.points.filter(p => !Number.isNaN(p.y)); + + // The data for our line + const lineData = path.points; + + // This is the accessor function we talked about above + const lineFunction = d3 + .line() + .x(function(d) { + return d.x; + }) + .y(function(d) { + return d.y; + }) + .curve(d3.curveBasis); + + const svgPath = elem + .append('path') + .attr('d', lineFunction(lineData)) + .attr('id', 'edge' + edgeCount) + .attr('class', 'relation'); + let url = ''; + if (conf.arrowMarkerAbsolute) { + url = + window.location.protocol + + '//' + + window.location.host + + window.location.pathname + + window.location.search; + url = url.replace(/\(/g, '\\('); + url = url.replace(/\)/g, '\\)'); + } + + svgPath.attr( + 'marker-start', + 'url(' + url + '#' + getRelationType(stateDb.relationType.DEPENDENCY) + 'Start' + ')' + ); + svgPath.attr( + 'marker-end', + 'url(' + url + '#' + getRelationType(stateDb.relationType.DEPENDENCY) + 'End' + ')' + ); + + let x, y; + const l = path.points.length; + if (l % 2 !== 0 && l > 1) { + const p1 = path.points[Math.floor(l / 2)]; + const p2 = path.points[Math.ceil(l / 2)]; + x = (p1.x + p2.x) / 2; + y = (p1.y + p2.y) / 2; + } else { + const p = path.points[Math.floor(l / 2)]; + x = p.x; + y = p.y; + } + + if (typeof relation.title !== 'undefined') { + const g = elem.append('g').attr('class', 'classLabel'); + const label = g + .append('text') + .attr('class', 'label') + .attr('x', x) + .attr('y', y) + .attr('fill', 'red') + .attr('text-anchor', 'middle') + .text(relation.title); + + window.label = label; + const bounds = label.node().getBBox(); + + g.insert('rect', ':first-child') + .attr('class', 'box') + .attr('x', bounds.x - conf.padding / 2) + .attr('y', bounds.y - conf.padding / 2) + .attr('width', bounds.width + conf.padding) + .attr('height', bounds.height + conf.padding); + } + + edgeCount++; +}; + +/** + * Draws a state + * @param {*} elem + * @param {*} stateDef + */ +const drawState = function(elem, stateDef) { + logger.info('Rendering class ' + stateDef); + + const addTspan = function(textEl, txt, isFirst) { + const tSpan = textEl + .append('tspan') + .attr('x', conf.padding) + .text(txt); + if (!isFirst) { + tSpan.attr('dy', conf.textHeight); + } + }; + + const id = stateDef.id; + const stateInfo = { + id: id, + label: stateDef.id, + width: 0, + height: 0 + }; + + const g = elem + .append('g') + .attr('id', id) + .attr('class', 'classGroup'); + + if (stateDef.type === 'start') drawStartState(g); + if (stateDef.type === 'end') drawEndState(g); + if (stateDef.type === 'default') drawSimpleState(g, stateDef); + + const stateBox = g.node().getBBox(); + + stateInfo.width = stateBox.width + 2 * conf.padding; + stateInfo.height = stateBox.height + 2 * conf.padding; + + idCache[id] = stateInfo; + stateCnt++; + return stateInfo; +}; + /** * Draws a flowchart in the tag with id: id based on the graph definition in text. * @param text @@ -25,74 +385,88 @@ export const setConf = function(cnf) {}; export const draw = function(text, id) { parser.yy.clear(); parser.parse(text); - logger.info('Rendering diagram ' + text); // /// / Fetch the default direction, use TD if none was found - // const diagram = d3.select(`[id='${id}']`); - // insertMarkers(diagram); + const diagram = d3.select(`[id='${id}']`); + insertMarkers(diagram); // // Layout graph, Create a new directed graph - // const g = new graphlib.Graph({ - // multigraph: true - // }); + const graph = new graphlib.Graph({ + multigraph: false + }); // // Set an object for the graph label - // g.setGraph({ - // isMultiGraph: true - // }); + graph.setGraph({ + isMultiGraph: false + }); // // Default to assigning a new object as a label for each new edge. - // g.setDefaultEdgeLabel(function() { - // return {}; - // }); + graph.setDefaultEdgeLabel(function() { + return {}; + }); - // const classes = classDb.getClasses(); - // const keys = Object.keys(classes); - // total = keys.length; - // for (let i = 0; i < keys.length; i++) { - // const classDef = classes[keys[i]]; - // const node = drawClass(diagram, classDef); - // // Add nodes to the graph. The first argument is the node id. The second is - // // metadata about the node. In this case we're going to add labels to each of - // // our nodes. - // g.setNode(node.id, node); - // logger.info('Org height: ' + node.height); - // } + // const states = stateDb.getStates(); + const states = { + start1: { + id: 'start1', + type: 'start' + }, + state1: { + id: 'state1', + type: 'default' + }, + exit: { + id: 'exit1', + type: 'end' + } + }; + const keys = Object.keys(states); + total = keys.length; + for (let i = 0; i < keys.length; i++) { + const stateDef = states[keys[i]]; + const node = drawState(diagram, stateDef); + // Add nodes to the graph. The first argument is the node id. The second is + // metadata about the node. In this case we're going to add labels to each of + // our nodes. + graph.setNode(node.id, node); + logger.info('Org height: ' + node.height); + } - // const relations = classDb.getRelations(); - // relations.forEach(function(relation) { - // logger.info( - // 'tjoho' + getGraphId(relation.id1) + getGraphId(relation.id2) + JSON.stringify(relation) - // ); - // g.setEdge(getGraphId(relation.id1), getGraphId(relation.id2), { - // relation: relation - // }); - // }); - // dagre.layout(g); - // g.nodes().forEach(function(v) { - // if (typeof v !== 'undefined' && typeof g.node(v) !== 'undefined') { - // logger.debug('Node ' + v + ': ' + JSON.stringify(g.node(v))); - // d3.select('#' + v).attr( - // 'transform', - // 'translate(' + - // (g.node(v).x - g.node(v).width / 2) + - // ',' + - // (g.node(v).y - g.node(v).height / 2) + - // ' )' - // ); - // } - // }); - // g.edges().forEach(function(e) { - // if (typeof e !== 'undefined' && typeof g.edge(e) !== 'undefined') { - // logger.debug('Edge ' + e.v + ' -> ' + e.w + ': ' + JSON.stringify(g.edge(e))); - // drawEdge(diagram, g.edge(e), g.edge(e).relation); - // } - // }); + // const relations = stateDb.getRelations(); + const relations = [{ id1: 'start1', id2: 'state1' }, { id1: 'state1', id2: 'exit1' }]; + relations.forEach(function(relation) { + logger.info( + 'tjoho' + getGraphId(relation.id1) + getGraphId(relation.id2) + JSON.stringify(relation) + ); + graph.setEdge(getGraphId(relation.id1), getGraphId(relation.id2), { + relation: relation + }); + }); + dagre.layout(graph); + graph.nodes().forEach(function(v) { + if (typeof v !== 'undefined' && typeof graph.node(v) !== 'undefined') { + logger.debug('Node ' + v + ': ' + JSON.stringify(graph.node(v))); + d3.select('#' + v).attr( + 'transform', + 'translate(' + + (graph.node(v).x - graph.node(v).width / 2) + + ',' + + (graph.node(v).y - graph.node(v).height / 2) + + ' )' + ); + } + }); + graph.edges().forEach(function(e) { + if (typeof e !== 'undefined' && typeof graph.edge(e) !== 'undefined') { + logger.debug('Edge ' + e.v + ' -> ' + e.w + ': ' + JSON.stringify(graph.edge(e))); + drawEdge(diagram, graph.edge(e), graph.edge(e).relation); + } + }); - // diagram.attr('height', '100%'); - // diagram.attr('width', '100%'); - // diagram.attr('viewBox', '0 0 ' + (g.graph().width + 20) + ' ' + (g.graph().height + 20)); + diagram.attr('height', '100%'); + diagram.attr('width', '100%'); + diagram.attr('viewBox', '0 0 ' + (graph.graph().width + 20) + ' ' + (graph.graph().height + 20)); }; export default { diff --git a/src/mermaidAPI.js b/src/mermaidAPI.js index e6305d727..9fa0901a4 100644 --- a/src/mermaidAPI.js +++ b/src/mermaidAPI.js @@ -28,6 +28,9 @@ import ganttDb from './diagrams/gantt/ganttDb'; import classRenderer from './diagrams/class/classRenderer'; import classParser from './diagrams/class/parser/classDiagram'; import classDb from './diagrams/class/classDb'; +import stateRenderer from './diagrams/state/stateRenderer'; +import stateParser from './diagrams/state/parser/stateDiagram'; +import stateDb from './diagrams/state/stateDb'; import gitGraphRenderer from './diagrams/git/gitGraphRenderer'; import gitGraphParser from './diagrams/git/parser/gitGraph'; import gitGraphAst from './diagrams/git/gitGraphAst'; @@ -332,6 +335,10 @@ function parse(text) { parser = classParser; parser.parser.yy = classDb; break; + case 'state': + parser = stateParser; + parser.parser.yy = stateDb; + break; case 'info': logger.debug('info info info'); console.warn('In API', pkg.version); @@ -522,6 +529,11 @@ const render = function(id, txt, cb, container) { classRenderer.setConf(config.class); classRenderer.draw(txt, id); break; + case 'state': + // config.class.arrowMarkerAbsolute = config.arrowMarkerAbsolute; + stateRenderer.setConf(config.state); + stateRenderer.draw(txt, id); + break; case 'info': config.class.arrowMarkerAbsolute = config.arrowMarkerAbsolute; infoRenderer.setConf(config.class); diff --git a/src/utils.js b/src/utils.js index 357865fbf..080c54c96 100644 --- a/src/utils.js +++ b/src/utils.js @@ -33,6 +33,10 @@ export const detectType = function(text) { return 'class'; } + if (text.match(/^\s*stateDiagram/)) { + return 'state'; + } + if (text.match(/^\s*gitGraph/)) { return 'git'; } From 13baa43081d9c664dc57b1eae18e8eb34d95ec82 Mon Sep 17 00:00:00 2001 From: Knut Sveidqvist Date: Wed, 25 Sep 2019 21:29:32 +0200 Subject: [PATCH 013/200] #945 Rendering from diagram data --- src/diagrams/state/parser/stateDiagram.jison | 26 ++------------ src/diagrams/state/stateDb.js | 38 +++++++++++++++----- src/diagrams/state/stateDiagram.spec.js | 30 ++++++++++++++++ src/diagrams/state/stateRenderer.js | 19 ++-------- 4 files changed, 64 insertions(+), 49 deletions(-) diff --git a/src/diagrams/state/parser/stateDiagram.jison b/src/diagrams/state/parser/stateDiagram.jison index 0e73cee4a..d48c2ed66 100644 --- a/src/diagrams/state/parser/stateDiagram.jison +++ b/src/diagrams/state/parser/stateDiagram.jison @@ -70,31 +70,11 @@ "stateDiagram"\s+ { console.log('Got state diagram', yytext,'#');return 'SD'; } "hide empty description" { console.log('HIDE_EMPTY', yytext,'#');return 'HIDE_EMPTY'; } -// "participant" { this.begin('ID'); return 'participant'; } -// [^\->:\n,;]+?(?=((?!\n)\s)+"as"(?!\n)\s|[#\n;]|$) { yytext = yytext.trim(); this.begin('ALIAS'); return 'ACTOR'; } -// "as" { this.popState(); this.popState(); this.begin('LINE'); return 'AS'; } -// (?:) { this.popState(); this.popState(); return 'NL'; } -// "<>" { this.begin('LINE'); return 'else'; } -// "<>" { this.begin('LINE'); return 'par'; } -// "and" { this.begin('LINE'); return 'and'; } -// [^#\n;]* { this.popState(); return 'restOfLine'; } -// "end" return 'end'; "[*]" { console.log('EDGE_STATE=',yytext); return 'EDGE_STATE';} [^:\n\s\-\{]+ { console.log('=>ID=',yytext); return 'ID';} \s*":"[^\+\->:\n,;]+ { yytext = yytext.trim(); console.log('Descr = ', yytext); return 'DESCR'; } -// "over" return 'over'; -// "note" return 'note'; -// "activate" { this.begin('ID'); return 'activate'; } -// "deactivate" { this.begin('ID'); return 'deactivate'; } -// "title" return 'title'; -// "stateDiagram" return 'SD'; -// "," return ','; -// ";" return 'NL'; -// [^\+\->:\n,;]+ { yytext = yytext.trim(); return 'ACTOR'; } "-->" return '-->'; "--" return 'CONCURRENT'; -// "--" return '--'; -// ":"[^#\n;]+ return 'TXT'; <> return 'NL'; . return 'INVALID'; @@ -125,7 +105,7 @@ line statement : idStatement DESCR - | idStatement '-->' idStatement + | idStatement '-->' idStatement {yy.addRelation($1, $3);} | idStatement '-->' idStatement DESCR | HIDE_EMPTY | scale WIDTH @@ -141,8 +121,8 @@ statement ; idStatement - : ID - | EDGE_STATE + : ID {$$=$1;} + | EDGE_STATE {$$=$1;} ; notePosition diff --git a/src/diagrams/state/stateDb.js b/src/diagrams/state/stateDb.js index 8eb1a30e1..08928bfbb 100644 --- a/src/diagrams/state/stateDb.js +++ b/src/diagrams/state/stateDb.js @@ -3,6 +3,9 @@ import { logger } from '../../logger'; let relations = []; let states = {}; +let startCnt = 0; +let endCnt = 0; + /** * Function called by parser when a node definition has been found. * @param id @@ -10,11 +13,12 @@ let states = {}; * @param type * @param style */ -export const addState = function(id) { +export const addState = function(id, type) { if (typeof states[id] === 'undefined') { states[id] = { id: id, - descriptions: [] + descriptions: [], + type }; } }; @@ -27,19 +31,35 @@ export const clear = function() { export const getState = function(id) { return states[id]; }; -export const getstates = function() { +export const getStates = function() { return states; }; export const getRelations = function() { + // const relations1 = [{ id1: 'start1', id2: 'state1' }, { id1: 'state1', id2: 'exit1' }]; + // return relations; return relations; }; -export const addRelation = function(relation) { - logger.debug('Adding relation: ' + JSON.stringify(relation)); - addState(relation.id1); - addState(relation.id2); - relations.push(relation); +export const addRelation = function(_id1, _id2) { + let id1 = _id1; + let id2 = _id2; + let type1 = 'default'; + let type2 = 'default'; + if (_id1 === '[*]') { + startCnt++; + id1 = 'start' + startCnt; + type1 = 'start'; + } + if (_id2 === '[*]') { + endCnt++; + id2 = 'end' + startCnt; + type2 = 'end'; + } + console.log(id1, id2); + addState(id1, type1); + addState(id2, type2); + relations.push({ id1, id2 }); }; export const addMember = function(className, member) { @@ -83,7 +103,7 @@ export default { addState, clear, getState, - getstates, + getStates, getRelations, addRelation, addMember, diff --git a/src/diagrams/state/stateDiagram.spec.js b/src/diagrams/state/stateDiagram.spec.js index 58399bfdf..45555d4b4 100644 --- a/src/diagrams/state/stateDiagram.spec.js +++ b/src/diagrams/state/stateDiagram.spec.js @@ -8,6 +8,36 @@ describe('state diagram, ', function() { parser.yy = stateDb; }); + fit('super simple', function() { + const str = ` + stateDiagram + [*] --> State1 + State1 --> [*] + `; + + parser.parse(str); + expect(stateDb.getRelations()).toEqual([ + { id1: 'start1', id2: 'State1' }, + { id1: 'State1', id2: 'end1' } + ]); + expect(stateDb.getStates()).toEqual({ + State1: { + id: 'State1', + type: 'default', + descriptions: [] + }, + end1: { + id: 'end1', + type: 'end', + descriptions: [] + }, + start1: { + id: 'start1', + type: 'start', + descriptions: [] + } + }); + }); it('simple', function() { const str = `stateDiagram\n State1 : this is another string diff --git a/src/diagrams/state/stateRenderer.js b/src/diagrams/state/stateRenderer.js index c40e902f8..e6c1d2426 100644 --- a/src/diagrams/state/stateRenderer.js +++ b/src/diagrams/state/stateRenderer.js @@ -406,21 +406,7 @@ export const draw = function(text, id) { return {}; }); - // const states = stateDb.getStates(); - const states = { - start1: { - id: 'start1', - type: 'start' - }, - state1: { - id: 'state1', - type: 'default' - }, - exit: { - id: 'exit1', - type: 'end' - } - }; + const states = stateDb.getStates(); const keys = Object.keys(states); total = keys.length; for (let i = 0; i < keys.length; i++) { @@ -433,8 +419,7 @@ export const draw = function(text, id) { logger.info('Org height: ' + node.height); } - // const relations = stateDb.getRelations(); - const relations = [{ id1: 'start1', id2: 'state1' }, { id1: 'state1', id2: 'exit1' }]; + const relations = stateDb.getRelations(); relations.forEach(function(relation) { logger.info( 'tjoho' + getGraphId(relation.id1) + getGraphId(relation.id2) + JSON.stringify(relation) From 11d2db08fa22ca0ed2029084b8ee58895a9e706e Mon Sep 17 00:00:00 2001 From: Nacho Date: Thu, 26 Sep 2019 11:42:33 -0400 Subject: [PATCH 014/200] Created issue template for questions --- .github/ISSUE_TEMPLATE/question.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/question.md diff --git a/.github/ISSUE_TEMPLATE/question.md b/.github/ISSUE_TEMPLATE/question.md new file mode 100644 index 000000000..4f7444aa8 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/question.md @@ -0,0 +1,15 @@ +--- +name: Question +about: Get some help from the community. +title: '' +labels: 'Help wanted!, Type: Other' +assignees: '' + +--- + +## Help us help you! +You want an answer. Here are some ways to get it quicker: +* Use a clear and concise title. +* Try to pose a clear and concise question. +* Include as much, or as little, code as necessary. +* Don't be shy to give us some screenshots, if it helps! From 095233e6cf67920fafa5f8cf2afdc44fde210fce Mon Sep 17 00:00:00 2001 From: Marc Faber Date: Fri, 27 Sep 2019 01:05:25 +0200 Subject: [PATCH 015/200] Flowchart parsing issue with CRLF #894 --- dist/index.html | 13 +++++++++++++ src/diagrams/flowchart/parser/flow.jison | 2 +- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/dist/index.html b/dist/index.html index f94119e13..027b17213 100644 --- a/dist/index.html +++ b/dist/index.html @@ -439,5 +439,18 @@ Class08 <--> C2: Cool label }, 100) } + diff --git a/src/diagrams/flowchart/parser/flow.jison b/src/diagrams/flowchart/parser/flow.jison index 91a9b044b..bdc8d2869 100644 --- a/src/diagrams/flowchart/parser/flow.jison +++ b/src/diagrams/flowchart/parser/flow.jison @@ -169,7 +169,7 @@ "{" return 'DIAMOND_START' "}" return 'DIAMOND_STOP' "\"" return 'QUOTE'; -\n+ return 'NEWLINE'; +(\r|\n|\r\n)+ return 'NEWLINE'; \s return 'SPACE'; <> return 'EOF'; From 3bf873b99f21d252f199dcfaa24a2f02f277eedd Mon Sep 17 00:00:00 2001 From: lilisha100 Date: Fri, 27 Sep 2019 09:27:53 -0700 Subject: [PATCH 016/200] Update gantt.md --- docs/gantt.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/gantt.md b/docs/gantt.md index 9d498a684..db50a8f2a 100755 --- a/docs/gantt.md +++ b/docs/gantt.md @@ -106,7 +106,7 @@ Tbd ### Date format -Tbd +The default date format is YYYY-MM-DD ### Diagram definition From e7161fcca61d395ccac4357ab87d55cc59c24d6c Mon Sep 17 00:00:00 2001 From: lilisha100 Date: Fri, 27 Sep 2019 09:52:22 -0700 Subject: [PATCH 017/200] Update gantt.md --- docs/gantt.md | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/docs/gantt.md b/docs/gantt.md index db50a8f2a..eb3dfff29 100755 --- a/docs/gantt.md +++ b/docs/gantt.md @@ -15,18 +15,6 @@ gantt Task in sec :2014-01-12 , 12d another task : 24d ``` -```mermaid -gantt - title A Gantt Diagram - dateFormat YYYY-MM-DD - section Section - A task :a1, 2014-01-01, 30d - Another task :after a1 , 20d - section Another - Task in sec :2014-01-12 , 12d - another task : 24d -``` - ## Syntax @@ -106,7 +94,11 @@ Tbd ### Date format -The default date format is YYYY-MM-DD +The default date format is YYYY-MM-DD. You can define your ``dateFormat``. For example: + +``` +dateFormat YYYY MM DD +``` ### Diagram definition From dffe20b76cf526d4a0997c375d0be36d15f132c7 Mon Sep 17 00:00:00 2001 From: lilisha100 Date: Fri, 27 Sep 2019 10:15:03 -0700 Subject: [PATCH 018/200] Update gantt.md --- docs/gantt.md | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/docs/gantt.md b/docs/gantt.md index eb3dfff29..6363011d7 100755 --- a/docs/gantt.md +++ b/docs/gantt.md @@ -15,7 +15,17 @@ gantt Task in sec :2014-01-12 , 12d another task : 24d ``` - +```mermaid +gantt + title A Gantt Diagram + dateFormat YYYY-MM-DD + section Section + A task :a1, 2014-01-01, 30d + Another task :after a1 , 20d + section Another + Task in sec :2014-01-12 , 12d + another task : 24d +``` ## Syntax ``` From 3cffd1e3ed9dc9f7d737f0d388c6b8ca5bbc8d4e Mon Sep 17 00:00:00 2001 From: Knut Sveidqvist Date: Sat, 28 Sep 2019 13:31:10 +0200 Subject: [PATCH 019/200] #945 Rendering of labels and new label positioning algorithm --- .../rendering/stateDiagram.spec.js | 29 ++++++++ src/diagrams/state/parser/stateDiagram.jison | 2 +- src/diagrams/state/stateDb.js | 6 +- src/diagrams/state/stateDiagram.spec.js | 18 +++++ src/diagrams/state/stateRenderer.js | 69 ++++++++++++------- src/utils.js | 50 +++++++++++++- 6 files changed, 143 insertions(+), 31 deletions(-) diff --git a/cypress/integration/rendering/stateDiagram.spec.js b/cypress/integration/rendering/stateDiagram.spec.js index a696be5de..6733c4ca4 100644 --- a/cypress/integration/rendering/stateDiagram.spec.js +++ b/cypress/integration/rendering/stateDiagram.spec.js @@ -13,4 +13,33 @@ describe('State diagram', () => { ); cy.get('svg'); }); + it('should render a simple state diagrams', () => { + imgSnapshotTest( + ` + stateDiagram + [*] --> State1 + State1 --> State2 + State1 --> State3 + State1 --> [*] + `, + { logLevel: 0 } + ); + cy.get('svg'); + }); + it('should render a simple state diagrams with labels', () => { + imgSnapshotTest( + ` + stateDiagram + [*] --> State1 + State1 --> State2 : Transition 1 + State1 --> State3 : Transition 2 + State1 --> State4 : Transition 3 + State1 --> State5 : Transition 4 + State2 --> State3 : Transition 5 + State1 --> [*] + `, + { logLevel: 0 } + ); + cy.get('svg'); + }); }); diff --git a/src/diagrams/state/parser/stateDiagram.jison b/src/diagrams/state/parser/stateDiagram.jison index d48c2ed66..0659258c6 100644 --- a/src/diagrams/state/parser/stateDiagram.jison +++ b/src/diagrams/state/parser/stateDiagram.jison @@ -106,7 +106,7 @@ line statement : idStatement DESCR | idStatement '-->' idStatement {yy.addRelation($1, $3);} - | idStatement '-->' idStatement DESCR + | idStatement '-->' idStatement DESCR {yy.addRelation($1, $3, $4.substr(1).trim());} | HIDE_EMPTY | scale WIDTH | COMPOSIT_STATE diff --git a/src/diagrams/state/stateDb.js b/src/diagrams/state/stateDb.js index 08928bfbb..d3db25e20 100644 --- a/src/diagrams/state/stateDb.js +++ b/src/diagrams/state/stateDb.js @@ -41,7 +41,7 @@ export const getRelations = function() { return relations; }; -export const addRelation = function(_id1, _id2) { +export const addRelation = function(_id1, _id2, title) { let id1 = _id1; let id2 = _id2; let type1 = 'default'; @@ -56,10 +56,10 @@ export const addRelation = function(_id1, _id2) { id2 = 'end' + startCnt; type2 = 'end'; } - console.log(id1, id2); + console.log(id1, id2, title); addState(id1, type1); addState(id2, type2); - relations.push({ id1, id2 }); + relations.push({ id1, id2, title }); }; export const addMember = function(className, member) { diff --git a/src/diagrams/state/stateDiagram.spec.js b/src/diagrams/state/stateDiagram.spec.js index 45555d4b4..d8918edd7 100644 --- a/src/diagrams/state/stateDiagram.spec.js +++ b/src/diagrams/state/stateDiagram.spec.js @@ -304,6 +304,24 @@ describe('state diagram, ', function() { note right of NotShooting : This is a note on a composite state `; + parser.parse(str); + }); + xit('should handle if statements', function() { + const str = `stateDiagram\n + [*] --> "Order Submitted" + if "Payment Accepted" then + -->[yes] "Pack products" + --> "Send parcel" + -right-> (*) + else + ->[no] "Send error message" + -->[Cancel Order] [*] + endif + } + + note right of NotShooting : This is a note on a composite state + `; + parser.parse(str); }); }); diff --git a/src/diagrams/state/stateRenderer.js b/src/diagrams/state/stateRenderer.js index e6c1d2426..be5dd1ea8 100644 --- a/src/diagrams/state/stateRenderer.js +++ b/src/diagrams/state/stateRenderer.js @@ -4,6 +4,7 @@ import graphlib from 'graphlibrary'; import { logger } from '../../logger'; import stateDb from './stateDb'; import { parser } from './parser/stateDiagram'; +import utils from '../../utils'; parser.yy = stateDb; @@ -136,7 +137,7 @@ const insertMarkers = function(elem) { .attr('markerHeight', 28) .attr('orient', 'auto') .append('path') - .attr('d', 'M 18,7 L9,13 L14,7 L9,1 Z'); + .attr('d', 'M 19,7 L9,13 L14,7 L9,1 Z'); }; const drawStart = function(elem, stateDef) { logger.info('Rendering class ' + stateDef); @@ -285,48 +286,67 @@ const drawEdge = function(elem, path, relation) { url = url.replace(/\)/g, '\\)'); } - svgPath.attr( - 'marker-start', - 'url(' + url + '#' + getRelationType(stateDb.relationType.DEPENDENCY) + 'Start' + ')' - ); + // svgPath.attr( + // 'marker-start', + // 'url(' + url + '#' + getRelationType(stateDb.relationType.DEPENDENCY) + 'Start' + ')' + // ); svgPath.attr( 'marker-end', 'url(' + url + '#' + getRelationType(stateDb.relationType.DEPENDENCY) + 'End' + ')' ); - let x, y; - const l = path.points.length; - if (l % 2 !== 0 && l > 1) { - const p1 = path.points[Math.floor(l / 2)]; - const p2 = path.points[Math.ceil(l / 2)]; - x = (p1.x + p2.x) / 2; - y = (p1.y + p2.y) / 2; - } else { - const p = path.points[Math.floor(l / 2)]; - x = p.x; - y = p.y; - } + // Figure ou where to put the label given the points + // let x, y; + // const l = path.points.length; + // if (l % 2 !== 0 && l > 1) { + // const p1 = path.points[Math.floor(l / 2)]; + // const p2 = path.points[Math.ceil(l / 2)]; + // x = (p1.x + p2.x) / 2; + // y = (p1.y + p2.y) / 2; + // } else { + // const p = path.points[Math.floor(l / 2)]; + // x = p.x; + // y = p.y; + // } + + // console.log('calcLabelPosition', utils); if (typeof relation.title !== 'undefined') { const g = elem.append('g').attr('class', 'classLabel'); const label = g .append('text') .attr('class', 'label') - .attr('x', x) - .attr('y', y) .attr('fill', 'red') .attr('text-anchor', 'middle') .text(relation.title); - window.label = label; - const bounds = label.node().getBBox(); + const { x, y } = utils.calcLabelPosition(path.points); + label.attr('x', x).attr('y', y); + const bounds = label.node().getBBox(); g.insert('rect', ':first-child') .attr('class', 'box') .attr('x', bounds.x - conf.padding / 2) .attr('y', bounds.y - conf.padding / 2) .attr('width', bounds.width + conf.padding) .attr('height', bounds.height + conf.padding); + + // Debug points + // path.points.forEach(point => { + // g.append('circle') + // .style('stroke', 'red') + // .style('fill', 'red') + // .attr('r', 1) + // .attr('cx', point.x) + // .attr('cy', point.y); + // }); + + // g.append('circle') + // .style('stroke', 'blue') + // .style('fill', 'blue') + // .attr('r', 1) + // .attr('cx', x) + // .attr('cy', y); } edgeCount++; @@ -338,7 +358,7 @@ const drawEdge = function(elem, path, relation) { * @param {*} stateDef */ const drawState = function(elem, stateDef) { - logger.info('Rendering class ' + stateDef); + // logger.info('Rendering class ' + stateDef); const addTspan = function(textEl, txt, isFirst) { const tSpan = textEl @@ -416,14 +436,11 @@ export const draw = function(text, id) { // metadata about the node. In this case we're going to add labels to each of // our nodes. graph.setNode(node.id, node); - logger.info('Org height: ' + node.height); + // logger.info('Org height: ' + node.height); } const relations = stateDb.getRelations(); relations.forEach(function(relation) { - logger.info( - 'tjoho' + getGraphId(relation.id1) + getGraphId(relation.id2) + JSON.stringify(relation) - ); graph.setEdge(getGraphId(relation.id1), getGraphId(relation.id2), { relation: relation }); diff --git a/src/utils.js b/src/utils.js index 080c54c96..2d11e7ef5 100644 --- a/src/utils.js +++ b/src/utils.js @@ -73,8 +73,56 @@ export const interpolateToCurve = (interpolate, defaultCurve) => { return d3[curveName] || defaultCurve; }; +const distance = (p1, p2) => + p1 && p2 ? Math.sqrt(Math.pow(p2.x - p1.x, 2) + Math.pow(p2.y - p1.y, 2)) : 0; + +const traverseEdge = points => { + let prevPoint; + let totalDistance = 0; + + points.forEach(point => { + totalDistance += distance(point, prevPoint); + prevPoint = point; + }); + + // Traverse half of total distance along points + const distanceToLabel = totalDistance / 2; + + let remainingDistance = distanceToLabel; + let center; + prevPoint = undefined; + points.forEach(point => { + if (prevPoint && !center) { + const vectorDistance = distance(point, prevPoint); + if (vectorDistance < remainingDistance) { + remainingDistance -= vectorDistance; + } else { + // The point is remainingDistance from prevPoint in the vector between prevPoint and point + // Calculate the coordinates + const distanceRatio = remainingDistance / vectorDistance; + if (distanceRatio <= 0) center = prevPoint; + if (distanceRatio >= 1) center = { x: point.x, y: point.y }; + if (distanceRatio > 0 && distanceRatio < 1) { + center = { + x: (1 - distanceRatio) * prevPoint.x + distanceRatio * point.x, + y: (1 - distanceRatio) * prevPoint.y + distanceRatio * point.y + }; + } + } + } + prevPoint = point; + }); + return center; +}; + +const calcLabelPosition = points => { + const p = traverseEdge(points); + return p; +}; + export default { detectType, isSubstringInArray, - interpolateToCurve + interpolateToCurve, + calcLabelPosition }; From 682faa4f9d4970c5151b2005f951e0f374cf4bc0 Mon Sep 17 00:00:00 2001 From: Volkan Unsal Date: Sun, 29 Sep 2019 09:31:06 -0400 Subject: [PATCH 020/200] Add useMaxWidth to flowRenderer --- src/diagrams/flowchart/flowRenderer.js | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/diagrams/flowchart/flowRenderer.js b/src/diagrams/flowchart/flowRenderer.js index ef696a8f7..ef0bbbf61 100644 --- a/src/diagrams/flowchart/flowRenderer.js +++ b/src/diagrams/flowchart/flowRenderer.js @@ -571,11 +571,20 @@ export const draw = function(text, id) { return flowDb.getTooltip(this.id); }); + const conf = getConfig().flowchart; + const padding = 8; const width = g.maxX - g.minX + padding * 2; const height = g.maxY - g.minY + padding * 2; - svg.attr('width', '100%'); - svg.attr('style', `max-width: ${width}px;`); + + if (conf.useMaxWidth) { + svg.attr('width', '100%'); + svg.attr('style', `max-width: ${width}px;`); + } else { + svg.attr('height', height); + svg.attr('width', width); + } + svg.attr('viewBox', `0 0 ${width} ${height}`); svg.select('g').attr('transform', `translate(${padding - g.minX}, ${padding - g.minY})`); @@ -601,7 +610,7 @@ export const draw = function(text, id) { } // Add label rects for non html labels - if (!getConfig().flowchart.htmlLabels) { + if (!conf.htmlLabels) { const labels = document.querySelectorAll('#' + id + ' .edgeLabel .label'); for (let k = 0; k < labels.length; k++) { const label = labels[k]; From 94afcfb6f954cf77fa9cf0ac1a8834d3baed2d14 Mon Sep 17 00:00:00 2001 From: Knut Sveidqvist Date: Sun, 29 Sep 2019 15:50:43 +0200 Subject: [PATCH 021/200] #945 Rendering of state descriptions --- .../rendering/stateDiagram.spec.js | 12 +++ src/diagrams/state/parser/stateDiagram.jison | 4 +- src/diagrams/state/stateDb.js | 17 ++-- src/diagrams/state/stateRenderer.js | 91 ++++++++++++------- 4 files changed, 82 insertions(+), 42 deletions(-) diff --git a/cypress/integration/rendering/stateDiagram.spec.js b/cypress/integration/rendering/stateDiagram.spec.js index 6733c4ca4..6ae7cbe4e 100644 --- a/cypress/integration/rendering/stateDiagram.spec.js +++ b/cypress/integration/rendering/stateDiagram.spec.js @@ -42,4 +42,16 @@ describe('State diagram', () => { ); cy.get('svg'); }); + it('should render state descriptions', () => { + imgSnapshotTest( + ` + stateDiagram + state "Long state description" as XState1 + state "Another Long state description" as XState2 + XState2 : New line + `, + { logLevel: 0 } + ); + cy.get('svg'); + }); }); diff --git a/src/diagrams/state/parser/stateDiagram.jison b/src/diagrams/state/parser/stateDiagram.jison index 0659258c6..c54ccd357 100644 --- a/src/diagrams/state/parser/stateDiagram.jison +++ b/src/diagrams/state/parser/stateDiagram.jison @@ -104,14 +104,14 @@ line ; statement - : idStatement DESCR + : idStatement DESCR {yy.addState($1, 'default');yy.addDescription($1, $2.trim());} | idStatement '-->' idStatement {yy.addRelation($1, $3);} | idStatement '-->' idStatement DESCR {yy.addRelation($1, $3, $4.substr(1).trim());} | HIDE_EMPTY | scale WIDTH | COMPOSIT_STATE | COMPOSIT_STATE STRUCT_START document STRUCT_STOP - | STATE_DESCR AS ID + | STATE_DESCR AS ID {yy.addState($3, 'default');yy.addDescription($3, $1);} | STATE_DESCR AS ID STRUCT_START document STRUCT_STOP | FORK | JOIN diff --git a/src/diagrams/state/stateDb.js b/src/diagrams/state/stateDb.js index d3db25e20..5a24f5680 100644 --- a/src/diagrams/state/stateDb.js +++ b/src/diagrams/state/stateDb.js @@ -62,15 +62,14 @@ export const addRelation = function(_id1, _id2, title) { relations.push({ id1, id2, title }); }; -export const addMember = function(className, member) { - const theState = states[className]; - if (typeof member === 'string') { - if (member.substr(-1) === ')') { - theState.methods.push(member); - } else { - theState.members.push(member); - } +export const addDescription = function(id, _descr) { + const theState = states[id]; + let descr = _descr; + if (descr[0] === ':') { + descr = descr.substr(1).trim(); } + + theState.descriptions.push(descr); }; export const addMembers = function(className, MembersArr) { @@ -106,7 +105,7 @@ export default { getStates, getRelations, addRelation, - addMember, + addDescription, addMembers, cleanupLabel, lineType, diff --git a/src/diagrams/state/stateRenderer.js b/src/diagrams/state/stateRenderer.js index be5dd1ea8..800465845 100644 --- a/src/diagrams/state/stateRenderer.js +++ b/src/diagrams/state/stateRenderer.js @@ -222,6 +222,63 @@ const drawSimpleState = (g, stateDef) => { return state; }; +/** + * Draws a state with descriptions + * @param {*} g + * @param {*} stateDef + */ +const drawDescrState = (g, stateDef) => { + const addTspan = function(textEl, txt, isFirst) { + const tSpan = textEl + .append('tspan') + .attr('x', 2 * conf.padding) + .text(txt); + if (!isFirst) { + tSpan.attr('dy', conf.textHeight); + } + }; + const title = g + .append('text') + .attr('x', 2 * conf.padding) + .attr('y', conf.textHeight + 1.5 * conf.padding) + .attr('font-size', 24) + .attr('class', 'state-title') + .text(stateDef.id); + + const titleHeight = title.node().getBBox().height; + + const description = g + .append('text') // text label for the x axis + .attr('x', conf.padding) + .attr('y', titleHeight + conf.padding * 0.2 + conf.dividerMargin + conf.textHeight) + .attr('fill', 'white') + .attr('class', 'state-description'); + + let isFirst = true; + stateDef.descriptions.forEach(function(descr) { + addTspan(description, descr, isFirst); + isFirst = false; + }); + + const descrLine = g + .append('line') // text label for the x axis + .attr('x1', conf.padding) + .attr('y1', conf.padding + titleHeight + conf.dividerMargin / 2) + .attr('y2', conf.padding + titleHeight + conf.dividerMargin / 2) + .attr('class', 'descr-divider'); + const descrBox = description.node().getBBox(); + descrLine.attr('x2', descrBox.width + 3 * conf.padding); + // const classBox = title.node().getBBox(); + + g.insert('rect', ':first-child') + .attr('x', conf.padding) + .attr('y', conf.padding) + .attr('width', descrBox.width + 2 * conf.padding) + .attr('height', descrBox.height + titleHeight + 2 * conf.padding) + .attr('rx', '5'); + + return g; +}; const drawEndState = g => { g.append('circle') .style('stroke', 'black') @@ -286,31 +343,11 @@ const drawEdge = function(elem, path, relation) { url = url.replace(/\)/g, '\\)'); } - // svgPath.attr( - // 'marker-start', - // 'url(' + url + '#' + getRelationType(stateDb.relationType.DEPENDENCY) + 'Start' + ')' - // ); svgPath.attr( 'marker-end', 'url(' + url + '#' + getRelationType(stateDb.relationType.DEPENDENCY) + 'End' + ')' ); - // Figure ou where to put the label given the points - // let x, y; - // const l = path.points.length; - // if (l % 2 !== 0 && l > 1) { - // const p1 = path.points[Math.floor(l / 2)]; - // const p2 = path.points[Math.ceil(l / 2)]; - // x = (p1.x + p2.x) / 2; - // y = (p1.y + p2.y) / 2; - // } else { - // const p = path.points[Math.floor(l / 2)]; - // x = p.x; - // y = p.y; - // } - - // console.log('calcLabelPosition', utils); - if (typeof relation.title !== 'undefined') { const g = elem.append('g').attr('class', 'classLabel'); const label = g @@ -360,16 +397,6 @@ const drawEdge = function(elem, path, relation) { const drawState = function(elem, stateDef) { // logger.info('Rendering class ' + stateDef); - const addTspan = function(textEl, txt, isFirst) { - const tSpan = textEl - .append('tspan') - .attr('x', conf.padding) - .text(txt); - if (!isFirst) { - tSpan.attr('dy', conf.textHeight); - } - }; - const id = stateDef.id; const stateInfo = { id: id, @@ -385,7 +412,9 @@ const drawState = function(elem, stateDef) { if (stateDef.type === 'start') drawStartState(g); if (stateDef.type === 'end') drawEndState(g); - if (stateDef.type === 'default') drawSimpleState(g, stateDef); + if (stateDef.type === 'default' && stateDef.descriptions.length === 0) + drawSimpleState(g, stateDef); + if (stateDef.type === 'default' && stateDef.descriptions.length > 0) drawDescrState(g, stateDef); const stateBox = g.node().getBBox(); From 55f9cba0f98215e2d04e0f10f10059bc3e768afd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gianfranc=C3=B8=20Palumbo?= Date: Mon, 30 Sep 2019 21:59:10 +0300 Subject: [PATCH 022/200] docs: small improvement to flowchart.md --- docs/flowchart.md | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/docs/flowchart.md b/docs/flowchart.md index 3ec4aaed1..ea778697c 100644 --- a/docs/flowchart.md +++ b/docs/flowchart.md @@ -4,7 +4,7 @@ This statement declares a new graph and the direction of the graph layout. -This declares a graph oriented from top to bottom. +This declares a graph oriented from top to bottom (`TD` or `TB`). ``` graph TD @@ -15,7 +15,16 @@ graph TD Start --> Stop ``` -This declares a graph oriented from left to right. +This declares a graph oriented from left to right (`LR`). + +``` +graph LR + Start --> Stop +``` +```mermaid +graph LR + Start --> Stop +``` Possible directions are: @@ -26,14 +35,6 @@ Possible directions are: * TD - same as TB -``` -graph LR - Start --> Stop -``` -```mermaid -graph LR - Start --> Stop -``` ## Nodes & shapes From 5d7dbd701f06bd9b35f6b89bd5d01894e6cfb83f Mon Sep 17 00:00:00 2001 From: Arnaud ZHENG Date: Tue, 1 Oct 2019 10:48:37 +0200 Subject: [PATCH 023/200] remove old files --- dist/www/images/logo.png | Bin 1237 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 dist/www/images/logo.png diff --git a/dist/www/images/logo.png b/dist/www/images/logo.png deleted file mode 100644 index 5a24af196c3f329d04f14eb6252190746c694a3b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1237 zcmeAS@N?(olHy`uVBq!ia0vp^&w<#KgBeKn-r+F=QY`6?zK#qG8~eHcB(ehe3dtTp zz6=aiY77hwEes65fIh7aQYyI2^^oyo7*xoB2P@`QagNR+LMBJ0!o|Oi;w^r&d{F~I3td1F&+C5z3 zdG_v$j?RuGDcPkf=C~hvAagDGz?1cPYZv>Ko_qIhPG#;vFT2Ojr`HwtN97i;`^Tsr zu=A|^$^ym)7nglZ1#UiU0aJ|=iYOvb(Q3m*wib^kw-+o5;jq2a*un5%$-cVD zmrJH!yJ)rfR%A`QzrBykZ{aPGTmDAnKWrUw(+s@&S#PE>Go1X9{D?N}#kWtL%FH)E z{HEc!OGn2On@dxR8@a>Jv1+aIpXvB;TaEti%^7@JIrkrm#F(=EnRI!xcX#x5+1p{p z-@jITFMu zRzB}7o02~#Qatmc<*miVMf>z-7tAof)o+n$*}FdR|D4IkOUq7gKYb-X-S<{qWUW}q z+5B#6h6sJ7w{g1iI$zB#(l>oLXZeqBxwLSMMP-Zaz4udpTCX_ob8w&Ecgg);g=yX2 zEza)?&YAc9`Qfi~o?h9qm0?2d`ujiTS^4gdytsZ|&hMS$lN!{ ze!85DSEQf6dB3#JJezx6|FLY>ouYd_o6o6lp4{=ZOXFXq+@-l~NA_-z+P3%Ulj&Vw z*8Ea3x_^2R+nRai$`-!;i@tlAeOcEs)BnG(x_(XFr}BA;cJ}fo_eFhvI#t_fbL84Z z9dGJGwr@iP^Ir4swlkU~vM*&4Fk`BgxJHzuB$lLFB^RXvDF!10LrYx)GhG9V5JOWd zQxhvwOKk%KD+2?0%Q-tyH00)|WTsW(){vK?0xEJOK{f>Er Date: Tue, 1 Oct 2019 10:49:55 +0200 Subject: [PATCH 024/200] remove old files --- docs/site/images/header.png | Bin 69565 -> 0 bytes docs/site/images/logo.png | Bin 1237 -> 0 bytes 2 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 docs/site/images/header.png delete mode 100644 docs/site/images/logo.png diff --git a/docs/site/images/header.png b/docs/site/images/header.png deleted file mode 100644 index 6db8635c9d03eb8b40b21f72bdefb07217fcf359..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 69565 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 vM;@QFomwEf=Z>KI7 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 Z1U$jbBb@w}pbtF+157N98Ah&m{tH}yzQq6l diff --git a/docs/site/images/logo.png b/docs/site/images/logo.png deleted file mode 100644 index 5a24af196c3f329d04f14eb6252190746c694a3b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1237 zcmeAS@N?(olHy`uVBq!ia0vp^&w<#KgBeKn-r+F=QY`6?zK#qG8~eHcB(ehe3dtTp zz6=aiY77hwEes65fIh7aQYyI2^^oyo7*xoB2P@`QagNR+LMBJ0!o|Oi;w^r&d{F~I3td1F&+C5z3 zdG_v$j?RuGDcPkf=C~hvAagDGz?1cPYZv>Ko_qIhPG#;vFT2Ojr`HwtN97i;`^Tsr zu=A|^$^ym)7nglZ1#UiU0aJ|=iYOvb(Q3m*wib^kw-+o5;jq2a*un5%$-cVD zmrJH!yJ)rfR%A`QzrBykZ{aPGTmDAnKWrUw(+s@&S#PE>Go1X9{D?N}#kWtL%FH)E z{HEc!OGn2On@dxR8@a>Jv1+aIpXvB;TaEti%^7@JIrkrm#F(=EnRI!xcX#x5+1p{p z-@jITFMu zRzB}7o02~#Qatmc<*miVMf>z-7tAof)o+n$*}FdR|D4IkOUq7gKYb-X-S<{qWUW}q z+5B#6h6sJ7w{g1iI$zB#(l>oLXZeqBxwLSMMP-Zaz4udpTCX_ob8w&Ecgg);g=yX2 zEza)?&YAc9`Qfi~o?h9qm0?2d`ujiTS^4gdytsZ|&hMS$lN!{ ze!85DSEQf6dB3#JJezx6|FLY>ouYd_o6o6lp4{=ZOXFXq+@-l~NA_-z+P3%Ulj&Vw z*8Ea3x_^2R+nRai$`-!;i@tlAeOcEs)BnG(x_(XFr}BA;cJ}fo_eFhvI#t_fbL84Z z9dGJGwr@iP^Ir4swlkU~vM*&4Fk`BgxJHzuB$lLFB^RXvDF!10LrYx)GhG9V5JOWd zQxhvwOKk%KD+2?0%Q-tyH00)|WTsW(){vK?0xEJOK{f>Er Date: Tue, 1 Oct 2019 11:02:26 -0400 Subject: [PATCH 025/200] Automatically lock/unlock issues on close/reopen --- .github/workflows/lock-closed-issue.yml | 13 +++++++++++++ .github/workflows/unlock-reopened-issues.yml | 13 +++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 .github/workflows/lock-closed-issue.yml create mode 100644 .github/workflows/unlock-reopened-issues.yml diff --git a/.github/workflows/lock-closed-issue.yml b/.github/workflows/lock-closed-issue.yml new file mode 100644 index 000000000..ae74c03ef --- /dev/null +++ b/.github/workflows/lock-closed-issue.yml @@ -0,0 +1,13 @@ +name: Lock closed issue + +on: + issues: + types: [closed] + +jobs: + triage: + runs-on: ubuntu-latest + steps: + - uses: Dunning-Kruger/lock-issues@v1 + with: + repo-token: "${{ secrets.GITHUB_TOKEN }}" diff --git a/.github/workflows/unlock-reopened-issues.yml b/.github/workflows/unlock-reopened-issues.yml new file mode 100644 index 000000000..09469ed8b --- /dev/null +++ b/.github/workflows/unlock-reopened-issues.yml @@ -0,0 +1,13 @@ +name: Unlock reopened issue + +on: + issues: + types: [reopened] + +jobs: + triage: + runs-on: ubuntu-latest + steps: + - uses: Dunning-Kruger/unlock-issues@v1 + with: + repo-token: "${{ secrets.GITHUB_TOKEN }}" From 054901cb79be7f421caac378d82c9f0a06317f85 Mon Sep 17 00:00:00 2001 From: Brian Mearns Date: Tue, 1 Oct 2019 21:29:42 -0400 Subject: [PATCH 026/200] Fixes #848 - Use more secure PRNG Math.random() is not cryptogaphically secure, but the crypto-random-string package provides what is needed with a cryptographically secure pseudo-random number generator. --- package-lock.json | 18828 ++++++++++++++++++++++++++++++ package.json | 1 + src/diagrams/git/gitGraphAst.js | 15 +- 3 files changed, 18834 insertions(+), 10 deletions(-) create mode 100644 package-lock.json diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 000000000..89e138064 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,18828 @@ +{ + "name": "mermaid", + "version": "8.3.1", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@babel/code-frame": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz", + "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==", + "dev": true, + "requires": { + "@babel/highlight": "^7.0.0" + } + }, + "@babel/core": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.6.2.tgz", + "integrity": "sha512-l8zto/fuoZIbncm+01p8zPSDZu/VuuJhAfA7d/AbzM09WR7iVhavvfNDYCNpo1VvLk6E6xgAoP9P+/EMJHuRkQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.5.5", + "@babel/generator": "^7.6.2", + "@babel/helpers": "^7.6.2", + "@babel/parser": "^7.6.2", + "@babel/template": "^7.6.0", + "@babel/traverse": "^7.6.2", + "@babel/types": "^7.6.0", + "convert-source-map": "^1.1.0", + "debug": "^4.1.0", + "json5": "^2.1.0", + "lodash": "^4.17.13", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" + }, + "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 + } + } + }, + "@babel/generator": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.6.2.tgz", + "integrity": "sha512-j8iHaIW4gGPnViaIHI7e9t/Hl8qLjERI6DcV9kEpAIDJsAOrcnXqRS7t+QbhL76pwbtqP+QCQLL0z1CyVmtjjQ==", + "dev": true, + "requires": { + "@babel/types": "^7.6.0", + "jsesc": "^2.5.1", + "lodash": "^4.17.13", + "source-map": "^0.5.0" + }, + "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 + } + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz", + "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz", + "integrity": "sha512-qNSR4jrmJ8M1VMM9tibvyRAHXQs2PmaksQF7c1CGJNipfe3D8p+wgNwgso/P2A2r2mdgBWAXljNWR0QRZAMW8w==", + "dev": true, + "requires": { + "@babel/helper-explode-assignable-expression": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-builder-react-jsx": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.3.0.tgz", + "integrity": "sha512-MjA9KgwCuPEkQd9ncSXvSyJ5y+j2sICHyrI0M3L+6fnS4wMSNDc1ARXsbTfbb2cXHn17VisSnU/sHFTCxVxSMw==", + "dev": true, + "requires": { + "@babel/types": "^7.3.0", + "esutils": "^2.0.0" + } + }, + "@babel/helper-call-delegate": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.4.4.tgz", + "integrity": "sha512-l79boDFJ8S1c5hvQvG+rc+wHw6IuH7YldmRKsYtpbawsxURu/paVy57FZMomGK22/JckepaikOkY0MoAmdyOlQ==", + "dev": true, + "requires": { + "@babel/helper-hoist-variables": "^7.4.4", + "@babel/traverse": "^7.4.4", + "@babel/types": "^7.4.4" + } + }, + "@babel/helper-create-class-features-plugin": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.6.0.tgz", + "integrity": "sha512-O1QWBko4fzGju6VoVvrZg0RROCVifcLxiApnGP3OWfWzvxRZFCoBD81K5ur5e3bVY2Vf/5rIJm8cqPKn8HUJng==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-member-expression-to-functions": "^7.5.5", + "@babel/helper-optimise-call-expression": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-replace-supers": "^7.5.5", + "@babel/helper-split-export-declaration": "^7.4.4" + } + }, + "@babel/helper-define-map": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.5.5.tgz", + "integrity": "sha512-fTfxx7i0B5NJqvUOBBGREnrqbTxRh7zinBANpZXAVDlsZxYdclDp467G1sQ8VZYMnAURY3RpBUAgOYT9GfzHBg==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.1.0", + "@babel/types": "^7.5.5", + "lodash": "^4.17.13" + } + }, + "@babel/helper-explode-assignable-expression": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz", + "integrity": "sha512-NRQpfHrJ1msCHtKjbzs9YcMmJZOg6mQMmGRB+hbamEdG5PNpaSm95275VD92DvJKuyl0s2sFiDmMZ+EnnvufqA==", + "dev": true, + "requires": { + "@babel/traverse": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-function-name": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", + "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.0.0", + "@babel/template": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", + "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.4.4.tgz", + "integrity": "sha512-VYk2/H/BnYbZDDg39hr3t2kKyifAm1W6zHRfhx8jGjIHpQEBv9dry7oQ2f3+J703TLu69nYdxsovl0XYfcnK4w==", + "dev": true, + "requires": { + "@babel/types": "^7.4.4" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.5.5.tgz", + "integrity": "sha512-5qZ3D1uMclSNqYcXqiHoA0meVdv+xUEex9em2fqMnrk/scphGlGgg66zjMrPJESPwrFJ6sbfFQYUSa0Mz7FabA==", + "dev": true, + "requires": { + "@babel/types": "^7.5.5" + } + }, + "@babel/helper-module-imports": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz", + "integrity": "sha512-aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-module-transforms": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.5.5.tgz", + "integrity": "sha512-jBeCvETKuJqeiaCdyaheF40aXnnU1+wkSiUs/IQg3tB85up1LyL8x77ClY8qJpuRJUcXQo+ZtdNESmZl4j56Pw==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/helper-simple-access": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.4.4", + "@babel/template": "^7.4.4", + "@babel/types": "^7.5.5", + "lodash": "^4.17.13" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz", + "integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz", + "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==", + "dev": true + }, + "@babel/helper-regex": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.5.5.tgz", + "integrity": "sha512-CkCYQLkfkiugbRDO8eZn6lRuR8kzZoGXCg3149iTk5se7g6qykSpy3+hELSwquhu+TgHn8nkLiBwHvNX8Hofcw==", + "dev": true, + "requires": { + "lodash": "^4.17.13" + } + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz", + "integrity": "sha512-3fOK0L+Fdlg8S5al8u/hWE6vhufGSn0bN09xm2LXMy//REAF8kDCrYoOBKYmA8m5Nom+sV9LyLCwrFynA8/slg==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.0.0", + "@babel/helper-wrap-function": "^7.1.0", + "@babel/template": "^7.1.0", + "@babel/traverse": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-replace-supers": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.5.5.tgz", + "integrity": "sha512-XvRFWrNnlsow2u7jXDuH4jDDctkxbS7gXssrP4q2nUD606ukXHRvydj346wmNg+zAgpFx4MWf4+usfC93bElJg==", + "dev": true, + "requires": { + "@babel/helper-member-expression-to-functions": "^7.5.5", + "@babel/helper-optimise-call-expression": "^7.0.0", + "@babel/traverse": "^7.5.5", + "@babel/types": "^7.5.5" + } + }, + "@babel/helper-simple-access": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz", + "integrity": "sha512-Vk+78hNjRbsiu49zAPALxTb+JUQCz1aolpd8osOF16BGnLtseD21nbHgLPGUwrXEurZgiCOUmvs3ExTu4F5x6w==", + "dev": true, + "requires": { + "@babel/template": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz", + "integrity": "sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q==", + "dev": true, + "requires": { + "@babel/types": "^7.4.4" + } + }, + "@babel/helper-wrap-function": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz", + "integrity": "sha512-o9fP1BZLLSrYlxYEYyl2aS+Flun5gtjTIG8iln+XuEzQTs0PLagAGSXUcqruJwD5fM48jzIEggCKpIfWTcR7pQ==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.1.0", + "@babel/template": "^7.1.0", + "@babel/traverse": "^7.1.0", + "@babel/types": "^7.2.0" + } + }, + "@babel/helpers": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.6.2.tgz", + "integrity": "sha512-3/bAUL8zZxYs1cdX2ilEE0WobqbCmKWr/889lf2SS0PpDcpEIY8pb1CCyz0pEcX3pEb+MCbks1jIokz2xLtGTA==", + "dev": true, + "requires": { + "@babel/template": "^7.6.0", + "@babel/traverse": "^7.6.2", + "@babel/types": "^7.6.0" + } + }, + "@babel/highlight": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.5.0.tgz", + "integrity": "sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==", + "dev": true, + "requires": { + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.6.2.tgz", + "integrity": "sha512-mdFqWrSPCmikBoaBYMuBulzTIKuXVPtEISFbRRVNwMWpCms/hmE2kRq0bblUHaNRKrjRlmVbx1sDHmjmRgD2Xg==", + "dev": true + }, + "@babel/plugin-proposal-async-generator-functions": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.2.0.tgz", + "integrity": "sha512-+Dfo/SCQqrwx48ptLVGLdE39YtWRuKc/Y9I5Fy0P1DDBB9lsAHpjcEJQt+4IifuSOSTLBKJObJqMvaO1pIE8LQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-remap-async-to-generator": "^7.1.0", + "@babel/plugin-syntax-async-generators": "^7.2.0" + } + }, + "@babel/plugin-proposal-class-properties": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.5.5.tgz", + "integrity": "sha512-AF79FsnWFxjlaosgdi421vmYG6/jg79bVD0dpD44QdgobzHKuLZ6S3vl8la9qIeSwGi8i1fS0O1mfuDAAdo1/A==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.5.5", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-proposal-decorators": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.6.0.tgz", + "integrity": "sha512-ZSyYw9trQI50sES6YxREXKu+4b7MAg6Qx2cvyDDYjP2Hpzd3FleOUwC9cqn1+za8d0A2ZU8SHujxFao956efUg==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.6.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-decorators": "^7.2.0" + } + }, + "@babel/plugin-proposal-do-expressions": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-do-expressions/-/plugin-proposal-do-expressions-7.6.0.tgz", + "integrity": "sha512-qJDaoBDbLySwU1tG0jbAomOwz8W1PEiiiK0iLQAnHLr4PYIMVX4ltDGkj3uAKx4HDs1WJ0tozGW1zAQjuTIiWg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-do-expressions": "^7.2.0" + } + }, + "@babel/plugin-proposal-dynamic-import": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.5.0.tgz", + "integrity": "sha512-x/iMjggsKTFHYC6g11PL7Qy58IK8H5zqfm9e6hu4z1iH2IRyAp9u9dL80zA6R76yFovETFLKz2VJIC2iIPBuFw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-dynamic-import": "^7.2.0" + } + }, + "@babel/plugin-proposal-export-default-from": { + "version": "7.5.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.5.2.tgz", + "integrity": "sha512-wr9Itk05L1/wyyZKVEmXWCdcsp/e185WUNl6AfYZeEKYaUPPvHXRDqO5K1VH7/UamYqGJowFRuCv30aDYZawsg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-export-default-from": "^7.2.0" + } + }, + "@babel/plugin-proposal-export-namespace-from": { + "version": "7.5.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.5.2.tgz", + "integrity": "sha512-TKUdOL07anjZEbR1iSxb5WFh810KyObdd29XLFLGo1IDsSuGrjH3ouWSbAxHNmrVKzr9X71UYl2dQ7oGGcRp0g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-export-namespace-from": "^7.2.0" + } + }, + "@babel/plugin-proposal-function-bind": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-function-bind/-/plugin-proposal-function-bind-7.2.0.tgz", + "integrity": "sha512-qOFJ/eX1Is78sywwTxDcsntLOdb5ZlHVVqUz5xznq8ldAfOVIyZzp1JE2rzHnaksZIhrqMrwIpQL/qcEprnVbw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-function-bind": "^7.2.0" + } + }, + "@babel/plugin-proposal-function-sent": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-function-sent/-/plugin-proposal-function-sent-7.5.0.tgz", + "integrity": "sha512-JXdfiQpKoC6UgQliZkp3NX7K3MVec1o1nfTWiCCIORE5ag/QZXhL0aSD8/Y2K+hIHonSTxuJF9rh9zsB6hBi2A==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-wrap-function": "^7.2.0", + "@babel/plugin-syntax-function-sent": "^7.2.0" + } + }, + "@babel/plugin-proposal-json-strings": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.2.0.tgz", + "integrity": "sha512-MAFV1CA/YVmYwZG0fBQyXhmj0BHCB5egZHCKWIFVv/XCxAeVGIHfos3SwDck4LvCllENIAg7xMKOG5kH0dzyUg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-json-strings": "^7.2.0" + } + }, + "@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.2.0.tgz", + "integrity": "sha512-0w797xwdPXKk0m3Js74hDi0mCTZplIu93MOSfb1ZLd/XFe3abWypx1QknVk0J+ohnsjYpvjH4Gwfo2i3RicB6Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-logical-assignment-operators": "^7.2.0" + } + }, + "@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.4.4.tgz", + "integrity": "sha512-Amph7Epui1Dh/xxUxS2+K22/MUi6+6JVTvy3P58tja3B6yKTSjwwx0/d83rF7551D6PVSSoplQb8GCwqec7HRw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.2.0" + } + }, + "@babel/plugin-proposal-numeric-separator": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.2.0.tgz", + "integrity": "sha512-DohMOGDrZiMKS7LthjUZNNcWl8TAf5BZDwZAH4wpm55FuJTHgfqPGdibg7rZDmont/8Yg0zA03IgT6XLeP+4sg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-numeric-separator": "^7.2.0" + } + }, + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.6.2.tgz", + "integrity": "sha512-LDBXlmADCsMZV1Y9OQwMc0MyGZ8Ta/zlD9N67BfQT8uYwkRswiu2hU6nJKrjrt/58aH/vqfQlR/9yId/7A2gWw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-object-rest-spread": "^7.2.0" + } + }, + "@babel/plugin-proposal-optional-catch-binding": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.2.0.tgz", + "integrity": "sha512-mgYj3jCcxug6KUcX4OBoOJz3CMrwRfQELPQ5560F70YQUBZB7uac9fqaWamKR1iWUzGiK2t0ygzjTScZnVz75g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.2.0" + } + }, + "@babel/plugin-proposal-optional-chaining": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.6.0.tgz", + "integrity": "sha512-kj4gkZ6qUggkprRq3Uh5KP8XnE1MdIO0J7MhdDX8+rAbB6dJ2UrensGIS+0NPZAaaJ1Vr0PN6oLUgXMU1uMcSg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-optional-chaining": "^7.2.0" + } + }, + "@babel/plugin-proposal-pipeline-operator": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-pipeline-operator/-/plugin-proposal-pipeline-operator-7.5.0.tgz", + "integrity": "sha512-HFYuu/yGnkn69ligXxU0ohOVvQDsMNOUJs/c4PYLUVS6ntCYOyGmRQQaSYJARJ9rvc7/ulZKIzxd4wk91hN63A==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-pipeline-operator": "^7.5.0" + } + }, + "@babel/plugin-proposal-throw-expressions": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-throw-expressions/-/plugin-proposal-throw-expressions-7.2.0.tgz", + "integrity": "sha512-adsydM8DQF4i5DLNO4ySAU5VtHTPewOtNBV3u7F4lNMPADFF9bWQ+iDtUUe8+033cYCUz+bFlQdXQJmJOwoLpw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-throw-expressions": "^7.2.0" + } + }, + "@babel/plugin-proposal-unicode-property-regex": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.6.2.tgz", + "integrity": "sha512-NxHETdmpeSCtiatMRYWVJo7266rrvAC3DTeG5exQBIH/fMIUK7ejDNznBbn3HQl/o9peymRRg7Yqkx6PdUXmMw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-regex": "^7.4.4", + "regexpu-core": "^4.6.0" + } + }, + "@babel/plugin-syntax-async-generators": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.2.0.tgz", + "integrity": "sha512-1ZrIRBv2t0GSlcwVoQ6VgSLpLgiN/FVQUzt9znxo7v2Ov4jJrs8RY8tv0wvDmFN3qIdMKWrmMMW6yZ0G19MfGg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-decorators": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.2.0.tgz", + "integrity": "sha512-38QdqVoXdHUQfTpZo3rQwqQdWtCn5tMv4uV6r2RMfTqNBuv4ZBhz79SfaQWKTVmxHjeFv/DnXVC/+agHCklYWA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-do-expressions": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-do-expressions/-/plugin-syntax-do-expressions-7.2.0.tgz", + "integrity": "sha512-/u4rJ+XEmZkIhspVuKRS+7WLvm7Dky9j9TvGK5IgId8B3FKir9MG+nQxDZ9xLn10QMBvW58dZ6ABe2juSmARjg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-dynamic-import": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.2.0.tgz", + "integrity": "sha512-mVxuJ0YroI/h/tbFTPGZR8cv6ai+STMKNBq0f8hFxsxWjl94qqhsb+wXbpNMDPU3cfR1TIsVFzU3nXyZMqyK4w==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-export-default-from": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.2.0.tgz", + "integrity": "sha512-c7nqUnNST97BWPtoe+Ssi+fJukc9P9/JMZ71IOMNQWza2E+Psrd46N6AEvtw6pqK+gt7ChjXyrw4SPDO79f3Lw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-export-namespace-from": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.2.0.tgz", + "integrity": "sha512-1zGA3UNch6A+A11nIzBVEaE3DDJbjfB+eLIcf0GGOh/BJr/8NxL3546MGhV/r0RhH4xADFIEso39TKCfEMlsGA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-flow": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.2.0.tgz", + "integrity": "sha512-r6YMuZDWLtLlu0kqIim5o/3TNRAlWb073HwT3e2nKf9I8IIvOggPrnILYPsrrKilmn/mYEMCf/Z07w3yQJF6dg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-function-bind": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-function-bind/-/plugin-syntax-function-bind-7.2.0.tgz", + "integrity": "sha512-/WzU1lLU2l0wDfB42Wkg6tahrmtBbiD8C4H6EGSX0M4GAjzN6JiOpq/Uh8G6GSoR6lPMvhjM0MNiV6znj6y/zg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-function-sent": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-function-sent/-/plugin-syntax-function-sent-7.2.0.tgz", + "integrity": "sha512-2MOVuJ6IMAifp2cf0RFkHQaOvHpbBYyWCvgtF/WVqXhTd7Bgtov8iXVCadLXp2FN1BrI2EFl+JXuwXy0qr3KoQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-import-meta": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.2.0.tgz", + "integrity": "sha512-Hq6kFSZD7+PHkmBN8bCpHR6J8QEoCuEV/B38AIQscYjgMZkGlXB7cHNFzP5jR4RCh5545yP1ujHdmO7hAgKtBA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-json-strings": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.2.0.tgz", + "integrity": "sha512-5UGYnMSLRE1dqqZwug+1LISpA403HzlSfsg6P9VXU6TBjcSHeNlw4DxDx7LgpF+iKZoOG/+uzqoRHTdcUpiZNg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-jsx": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.2.0.tgz", + "integrity": "sha512-VyN4QANJkRW6lDBmENzRszvZf3/4AXaj9YR7GwrWeeN9tEBPuXbmDYVU9bYBN0D70zCWVwUy0HWq2553VCb6Hw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.2.0.tgz", + "integrity": "sha512-l/NKSlrnvd73/EL540t9hZhcSo4TULBrIPs9Palju8Oc/A8DXDO+xQf04whfeuZLpi8AuIvCAdpKmmubLN4EfQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.2.0.tgz", + "integrity": "sha512-lRCEaKE+LTxDQtgbYajI04ddt6WW0WJq57xqkAZ+s11h4YgfRHhVA/Y2VhfPzzFD4qeLHWg32DMp9HooY4Kqlg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-numeric-separator": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.2.0.tgz", + "integrity": "sha512-DroeVNkO/BnGpL2R7+ZNZqW+E24aR/4YWxP3Qb15d6lPU8KDzF8HlIUIRCOJRn4X77/oyW4mJY+7FHfY82NLtQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz", + "integrity": "sha512-t0JKGgqk2We+9may3t0xDdmneaXmyxq0xieYcKHxIsrJO64n1OiMWNUtc5gQK1PA0NpdCRrtZp4z+IUaKugrSA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.2.0.tgz", + "integrity": "sha512-bDe4xKNhb0LI7IvZHiA13kff0KEfaGX/Hv4lMA9+7TEc63hMNvfKo6ZFpXhKuEp+II/q35Gc4NoMeDZyaUbj9w==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-optional-chaining": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.2.0.tgz", + "integrity": "sha512-HtGCtvp5Uq/jH/WNUPkK6b7rufnCPLLlDAFN7cmACoIjaOOiXxUt3SswU5loHqrhtqTsa/WoLQ1OQ1AGuZqaWA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-pipeline-operator": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-pipeline-operator/-/plugin-syntax-pipeline-operator-7.5.0.tgz", + "integrity": "sha512-5FVxPiMTMXWk4R7Kq9pt272nDu8VImJdaIzvXFSTcXFbgKWWaOdbic12TvUvl6cK+AE5EgnhwvxuWik4ZYYdzg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-throw-expressions": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-throw-expressions/-/plugin-syntax-throw-expressions-7.2.0.tgz", + "integrity": "sha512-ngwynuqu1Rx0JUS9zxSDuPgW1K8TyVZCi2hHehrL4vyjqE7RGoNHWlZsS7KQT2vw9Yjk4YLa0+KldBXTRdPLRg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz", + "integrity": "sha512-ER77Cax1+8/8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-async-to-generator": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.5.0.tgz", + "integrity": "sha512-mqvkzwIGkq0bEF1zLRRiTdjfomZJDV33AH3oQzHVGkI2VzEmXLpKKOBvEVaFZBJdN0XTyH38s9j/Kiqr68dggg==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-remap-async-to-generator": "^7.1.0" + } + }, + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.2.0.tgz", + "integrity": "sha512-ntQPR6q1/NKuphly49+QiQiTN0O63uOwjdD6dhIjSWBI5xlrbUFh720TIpzBhpnrLfv2tNH/BXvLIab1+BAI0w==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.6.2.tgz", + "integrity": "sha512-zZT8ivau9LOQQaOGC7bQLQOT4XPkPXgN2ERfUgk1X8ql+mVkLc4E8eKk+FO3o0154kxzqenWCorfmEXpEZcrSQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "lodash": "^4.17.13" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.5.5.tgz", + "integrity": "sha512-U2htCNK/6e9K7jGyJ++1p5XRU+LJjrwtoiVn9SzRlDT2KubcZ11OOwy3s24TjHxPgxNwonCYP7U2K51uVYCMDg==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.0.0", + "@babel/helper-define-map": "^7.5.5", + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-optimise-call-expression": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-replace-supers": "^7.5.5", + "@babel/helper-split-export-declaration": "^7.4.4", + "globals": "^11.1.0" + } + }, + "@babel/plugin-transform-computed-properties": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.2.0.tgz", + "integrity": "sha512-kP/drqTxY6Xt3NNpKiMomfgkNn4o7+vKxK2DDKcBG9sHj51vHqMBGy8wbDS/J4lMxnqs153/T3+DmCEAkC5cpA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.6.0.tgz", + "integrity": "sha512-2bGIS5P1v4+sWTCnKNDZDxbGvEqi0ijeqM/YqHtVGrvG2y0ySgnEEhXErvE9dA0bnIzY9bIzdFK0jFA46ASIIQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-dotall-regex": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.6.2.tgz", + "integrity": "sha512-KGKT9aqKV+9YMZSkowzYoYEiHqgaDhGmPNZlZxX6UeHC4z30nC1J9IrZuGqbYFB1jaIGdv91ujpze0exiVK8bA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-regex": "^7.4.4", + "regexpu-core": "^4.6.0" + } + }, + "@babel/plugin-transform-duplicate-keys": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.5.0.tgz", + "integrity": "sha512-igcziksHizyQPlX9gfSjHkE2wmoCH3evvD2qR5w29/Dk0SMKE/eOI7f1HhBdNhR/zxJDqrgpoDTq5YSLH/XMsQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.2.0.tgz", + "integrity": "sha512-umh4hR6N7mu4Elq9GG8TOu9M0bakvlsREEC+ialrQN6ABS4oDQ69qJv1VtR3uxlKMCQMCvzk7vr17RHKcjx68A==", + "dev": true, + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.1.0", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-flow-strip-types": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.4.4.tgz", + "integrity": "sha512-WyVedfeEIILYEaWGAUWzVNyqG4sfsNooMhXWsu/YzOvVGcsnPb5PguysjJqI3t3qiaYj0BR8T2f5njdjTGe44Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-flow": "^7.2.0" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.4.4.tgz", + "integrity": "sha512-9T/5Dlr14Z9TIEXLXkt8T1DU7F24cbhwhMNUziN3hB1AXoZcdzPcTiKGRn/6iOymDqtTKWnr/BtRKN9JwbKtdQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-function-name": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.4.4.tgz", + "integrity": "sha512-iU9pv7U+2jC9ANQkKeNF6DrPy4GBa4NWQtl6dHB4Pb3izX2JOEvDTFarlNsBj/63ZEzNNIAMs3Qw4fNCcSOXJA==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-literals": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.2.0.tgz", + "integrity": "sha512-2ThDhm4lI4oV7fVQ6pNNK+sx+c/GM5/SaML0w/r4ZB7sAneD/piDJtwdKlNckXeyGK7wlwg2E2w33C/Hh+VFCg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-member-expression-literals": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.2.0.tgz", + "integrity": "sha512-HiU3zKkSU6scTidmnFJ0bMX8hz5ixC93b4MHMiYebmk2lUVNGOboPsqQvx5LzooihijUoLR/v7Nc1rbBtnc7FA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-modules-amd": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.5.0.tgz", + "integrity": "sha512-n20UsQMKnWrltocZZm24cRURxQnWIvsABPJlw/fvoy9c6AgHZzoelAIzajDHAQrDpuKFFPPcFGd7ChsYuIUMpg==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.1.0", + "@babel/helper-plugin-utils": "^7.0.0", + "babel-plugin-dynamic-import-node": "^2.3.0" + } + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.6.0.tgz", + "integrity": "sha512-Ma93Ix95PNSEngqomy5LSBMAQvYKVe3dy+JlVJSHEXZR5ASL9lQBedMiCyVtmTLraIDVRE3ZjTZvmXXD2Ozw3g==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.4.4", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-simple-access": "^7.1.0", + "babel-plugin-dynamic-import-node": "^2.3.0" + } + }, + "@babel/plugin-transform-modules-systemjs": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.5.0.tgz", + "integrity": "sha512-Q2m56tyoQWmuNGxEtUyeEkm6qJYFqs4c+XyXH5RAuYxObRNz9Zgj/1g2GMnjYp2EUyEy7YTrxliGCXzecl/vJg==", + "dev": true, + "requires": { + "@babel/helper-hoist-variables": "^7.4.4", + "@babel/helper-plugin-utils": "^7.0.0", + "babel-plugin-dynamic-import-node": "^2.3.0" + } + }, + "@babel/plugin-transform-modules-umd": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.2.0.tgz", + "integrity": "sha512-BV3bw6MyUH1iIsGhXlOK6sXhmSarZjtJ/vMiD9dNmpY8QXFFQTj+6v92pcfy1iqa8DeAfJFwoxcrS/TUZda6sw==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.1.0", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.6.2.tgz", + "integrity": "sha512-xBdB+XOs+lgbZc2/4F5BVDVcDNS4tcSKQc96KmlqLEAwz6tpYPEvPdmDfvVG0Ssn8lAhronaRs6Z6KSexIpK5g==", + "dev": true, + "requires": { + "regexpu-core": "^4.6.0" + } + }, + "@babel/plugin-transform-new-target": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.4.4.tgz", + "integrity": "sha512-r1z3T2DNGQwwe2vPGZMBNjioT2scgWzK9BCnDEh+46z8EEwXBq24uRzd65I7pjtugzPSj921aM15RpESgzsSuA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-object-super": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.5.5.tgz", + "integrity": "sha512-un1zJQAhSosGFBduPgN/YFNvWVpRuHKU7IHBglLoLZsGmruJPOo6pbInneflUdmq7YvSVqhpPs5zdBvLnteltQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-replace-supers": "^7.5.5" + } + }, + "@babel/plugin-transform-parameters": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.4.4.tgz", + "integrity": "sha512-oMh5DUO1V63nZcu/ZVLQFqiihBGo4OpxJxR1otF50GMeCLiRx5nUdtokd+u9SuVJrvvuIh9OosRFPP4pIPnwmw==", + "dev": true, + "requires": { + "@babel/helper-call-delegate": "^7.4.4", + "@babel/helper-get-function-arity": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-property-literals": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.2.0.tgz", + "integrity": "sha512-9q7Dbk4RhgcLp8ebduOpCbtjh7C0itoLYHXd9ueASKAG/is5PQtMR5VJGka9NKqGhYEGn5ITahd4h9QeBMylWQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-react-display-name": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.2.0.tgz", + "integrity": "sha512-Htf/tPa5haZvRMiNSQSFifK12gtr/8vwfr+A9y69uF0QcU77AVu4K7MiHEkTxF7lQoHOL0F9ErqgfNEAKgXj7A==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-react-jsx": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.3.0.tgz", + "integrity": "sha512-a/+aRb7R06WcKvQLOu4/TpjKOdvVEKRLWFpKcNuHhiREPgGRB4TQJxq07+EZLS8LFVYpfq1a5lDUnuMdcCpBKg==", + "dev": true, + "requires": { + "@babel/helper-builder-react-jsx": "^7.3.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.2.0" + } + }, + "@babel/plugin-transform-react-jsx-self": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.2.0.tgz", + "integrity": "sha512-v6S5L/myicZEy+jr6ielB0OR8h+EH/1QFx/YJ7c7Ua+7lqsjj/vW6fD5FR9hB/6y7mGbfT4vAURn3xqBxsUcdg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.2.0" + } + }, + "@babel/plugin-transform-react-jsx-source": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.5.0.tgz", + "integrity": "sha512-58Q+Jsy4IDCZx7kqEZuSDdam/1oW8OdDX8f+Loo6xyxdfg1yF0GE2XNJQSTZCaMol93+FBzpWiPEwtbMloAcPg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.2.0" + } + }, + "@babel/plugin-transform-regenerator": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.4.5.tgz", + "integrity": "sha512-gBKRh5qAaCWntnd09S8QC7r3auLCqq5DI6O0DlfoyDjslSBVqBibrMdsqO+Uhmx3+BlOmE/Kw1HFxmGbv0N9dA==", + "dev": true, + "requires": { + "regenerator-transform": "^0.14.0" + } + }, + "@babel/plugin-transform-reserved-words": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.2.0.tgz", + "integrity": "sha512-fz43fqW8E1tAB3DKF19/vxbpib1fuyCwSPE418ge5ZxILnBhWyhtPgz8eh1RCGGJlwvksHkyxMxh0eenFi+kFw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-shorthand-properties": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.2.0.tgz", + "integrity": "sha512-QP4eUM83ha9zmYtpbnyjTLAGKQritA5XW/iG9cjtuOI8s1RuL/3V6a3DeSHfKutJQ+ayUfeZJPcnCYEQzaPQqg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-spread": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.6.2.tgz", + "integrity": "sha512-DpSvPFryKdK1x+EDJYCy28nmAaIMdxmhot62jAXF/o99iA33Zj2Lmcp3vDmz+MUh0LNYVPvfj5iC3feb3/+PFg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-sticky-regex": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.2.0.tgz", + "integrity": "sha512-KKYCoGaRAf+ckH8gEL3JHUaFVyNHKe3ASNsZ+AlktgHevvxGigoIttrEJb8iKN03Q7Eazlv1s6cx2B2cQ3Jabw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-regex": "^7.0.0" + } + }, + "@babel/plugin-transform-template-literals": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.4.4.tgz", + "integrity": "sha512-mQrEC4TWkhLN0z8ygIvEL9ZEToPhG5K7KDW3pzGqOfIGZ28Jb0POUkeWcoz8HnHvhFy6dwAT1j8OzqN8s804+g==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-typeof-symbol": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.2.0.tgz", + "integrity": "sha512-2LNhETWYxiYysBtrBTqL8+La0jIoQQnIScUJc74OYvUGRmkskNY4EzLCnjHBzdmb38wqtTaixpo1NctEcvMDZw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.6.2.tgz", + "integrity": "sha512-orZI6cWlR3nk2YmYdb0gImrgCUwb5cBUwjf6Ks6dvNVvXERkwtJWOQaEOjPiu0Gu1Tq6Yq/hruCZZOOi9F34Dw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-regex": "^7.4.4", + "regexpu-core": "^4.6.0" + } + }, + "@babel/preset-env": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.6.2.tgz", + "integrity": "sha512-Ru7+mfzy9M1/YTEtlDS8CD45jd22ngb9tXnn64DvQK3ooyqSw9K4K9DUWmYknTTVk4TqygL9dqCrZgm1HMea/Q==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-async-generator-functions": "^7.2.0", + "@babel/plugin-proposal-dynamic-import": "^7.5.0", + "@babel/plugin-proposal-json-strings": "^7.2.0", + "@babel/plugin-proposal-object-rest-spread": "^7.6.2", + "@babel/plugin-proposal-optional-catch-binding": "^7.2.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.6.2", + "@babel/plugin-syntax-async-generators": "^7.2.0", + "@babel/plugin-syntax-dynamic-import": "^7.2.0", + "@babel/plugin-syntax-json-strings": "^7.2.0", + "@babel/plugin-syntax-object-rest-spread": "^7.2.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.2.0", + "@babel/plugin-transform-arrow-functions": "^7.2.0", + "@babel/plugin-transform-async-to-generator": "^7.5.0", + "@babel/plugin-transform-block-scoped-functions": "^7.2.0", + "@babel/plugin-transform-block-scoping": "^7.6.2", + "@babel/plugin-transform-classes": "^7.5.5", + "@babel/plugin-transform-computed-properties": "^7.2.0", + "@babel/plugin-transform-destructuring": "^7.6.0", + "@babel/plugin-transform-dotall-regex": "^7.6.2", + "@babel/plugin-transform-duplicate-keys": "^7.5.0", + "@babel/plugin-transform-exponentiation-operator": "^7.2.0", + "@babel/plugin-transform-for-of": "^7.4.4", + "@babel/plugin-transform-function-name": "^7.4.4", + "@babel/plugin-transform-literals": "^7.2.0", + "@babel/plugin-transform-member-expression-literals": "^7.2.0", + "@babel/plugin-transform-modules-amd": "^7.5.0", + "@babel/plugin-transform-modules-commonjs": "^7.6.0", + "@babel/plugin-transform-modules-systemjs": "^7.5.0", + "@babel/plugin-transform-modules-umd": "^7.2.0", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.6.2", + "@babel/plugin-transform-new-target": "^7.4.4", + "@babel/plugin-transform-object-super": "^7.5.5", + "@babel/plugin-transform-parameters": "^7.4.4", + "@babel/plugin-transform-property-literals": "^7.2.0", + "@babel/plugin-transform-regenerator": "^7.4.5", + "@babel/plugin-transform-reserved-words": "^7.2.0", + "@babel/plugin-transform-shorthand-properties": "^7.2.0", + "@babel/plugin-transform-spread": "^7.6.2", + "@babel/plugin-transform-sticky-regex": "^7.2.0", + "@babel/plugin-transform-template-literals": "^7.4.4", + "@babel/plugin-transform-typeof-symbol": "^7.2.0", + "@babel/plugin-transform-unicode-regex": "^7.6.2", + "@babel/types": "^7.6.0", + "browserslist": "^4.6.0", + "core-js-compat": "^3.1.1", + "invariant": "^2.2.2", + "js-levenshtein": "^1.1.3", + "semver": "^5.5.0" + } + }, + "@babel/preset-flow": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.0.0.tgz", + "integrity": "sha512-bJOHrYOPqJZCkPVbG1Lot2r5OSsB+iUOaxiHdlOeB1yPWS6evswVHwvkDLZ54WTaTRIk89ds0iHmGZSnxlPejQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-transform-flow-strip-types": "^7.0.0" + } + }, + "@babel/preset-react": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.0.0.tgz", + "integrity": "sha512-oayxyPS4Zj+hF6Et11BwuBkmpgT/zMxyuZgFrMeZID6Hdh3dGlk4sHCAhdBCpuCKW2ppBfl2uCCetlrUIJRY3w==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-transform-react-display-name": "^7.0.0", + "@babel/plugin-transform-react-jsx": "^7.0.0", + "@babel/plugin-transform-react-jsx-self": "^7.0.0", + "@babel/plugin-transform-react-jsx-source": "^7.0.0" + } + }, + "@babel/preset-stage-0": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/preset-stage-0/-/preset-stage-0-7.0.0.tgz", + "integrity": "sha512-FBMd0IiARPtH5aaOFUVki6evHiJQiY0pFy7fizyRF7dtwc+el3nwpzvhb9qBNzceG1OIJModG1xpE0DDFjPXwA==", + "dev": true + }, + "@babel/register": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.6.2.tgz", + "integrity": "sha512-xgZk2LRZvt6i2SAUWxc7ellk4+OYRgS3Zpsnr13nMS1Qo25w21Uu8o6vTOAqNaxiqrnv30KTYzh9YWY2k21CeQ==", + "dev": true, + "requires": { + "find-cache-dir": "^2.0.0", + "lodash": "^4.17.13", + "mkdirp": "^0.5.1", + "pirates": "^4.0.0", + "source-map-support": "^0.5.9" + } + }, + "@babel/template": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.6.0.tgz", + "integrity": "sha512-5AEH2EXD8euCk446b7edmgFdub/qfH1SN6Nii3+fyXP807QRx9Q73A2N5hNwRRslC2H9sNzaFhsPubkS4L8oNQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.6.0", + "@babel/types": "^7.6.0" + } + }, + "@babel/traverse": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.6.2.tgz", + "integrity": "sha512-8fRE76xNwNttVEF2TwxJDGBLWthUkHWSldmfuBzVRmEDWOtu4XdINTgN7TDWzuLg4bbeIMLvfMFD9we5YcWkRQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.5.5", + "@babel/generator": "^7.6.2", + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.4.4", + "@babel/parser": "^7.6.2", + "@babel/types": "^7.6.0", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.13" + } + }, + "@babel/types": { + "version": "7.6.1", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.6.1.tgz", + "integrity": "sha512-X7gdiuaCmA0uRjCmRtYJNAVCc/q+5xSgsfKJHqMN4iNLILX39677fJE1O40arPMh0TTtS9ItH67yre6c7k6t0g==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + }, + "@braintree/sanitize-url": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@braintree/sanitize-url/-/sanitize-url-3.1.0.tgz", + "integrity": "sha512-GcIY79elgB+azP74j8vqkiXz8xLFfIzbQJdlwOPisgbKT00tviJQuEghOXSMVxJ00HoYJbGswr4kcllUc4xCcg==" + }, + "@cypress/listr-verbose-renderer": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@cypress/listr-verbose-renderer/-/listr-verbose-renderer-0.4.1.tgz", + "integrity": "sha1-p3SS9LEdzHxEajSz4ochr9M8ZCo=", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "cli-cursor": "^1.0.2", + "date-fns": "^1.27.2", + "figures": "^1.7.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.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" + } + }, + "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 + } + } + }, + "@cypress/xvfb": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@cypress/xvfb/-/xvfb-1.2.4.tgz", + "integrity": "sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q==", + "dev": true, + "requires": { + "debug": "^3.1.0", + "lodash.once": "^4.1.1" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "@hapi/address": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@hapi/address/-/address-2.1.2.tgz", + "integrity": "sha512-O4QDrx+JoGKZc6aN64L04vqa7e41tIiLU+OvKdcYaEMP97UttL0f9GIi9/0A4WAMx0uBd6SidDIhktZhgOcN8Q==", + "dev": true + }, + "@hapi/bourne": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@hapi/bourne/-/bourne-1.3.2.tgz", + "integrity": "sha512-1dVNHT76Uu5N3eJNTYcvxee+jzX4Z9lfciqRRHCU27ihbUcYi+iSc2iml5Ke1LXe1SyJCLA0+14Jh4tXJgOppA==", + "dev": true + }, + "@hapi/hoek": { + "version": "8.2.5", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-8.2.5.tgz", + "integrity": "sha512-rmGFzok1zR3xZKd5m3ihWdqafXFxvPHoQ/78+AG5URKbEbJiwBBfRgzbu+07W5f3+07JRshw6QqGbVmCp8ntig==", + "dev": true + }, + "@hapi/joi": { + "version": "15.1.1", + "resolved": "https://registry.npmjs.org/@hapi/joi/-/joi-15.1.1.tgz", + "integrity": "sha512-entf8ZMOK8sc+8YfeOlM8pCfg3b5+WZIKBfUaaJT8UsjAAPjartzxIYm3TIbjvA4u+u++KbcXD38k682nVHDAQ==", + "dev": true, + "requires": { + "@hapi/address": "2.x.x", + "@hapi/bourne": "1.x.x", + "@hapi/hoek": "8.x.x", + "@hapi/topo": "3.x.x" + } + }, + "@hapi/topo": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-3.1.4.tgz", + "integrity": "sha512-aVWQTOI9wBD6zawmOr6f+tdEIxQC8JXfQVLTjgGe8YEStAWGn/GNNVTobKJhbWKveQj2RyYF3oYbO9SC8/eOCA==", + "dev": true, + "requires": { + "@hapi/hoek": "8.x.x" + } + }, + "@nodelib/fs.scandir": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.2.tgz", + "integrity": "sha512-wrIBsjA5pl13f0RN4Zx4FNWmU71lv03meGKnqRUoCyan17s4V3WL92f3w3AIuWbNnpcrQyFBU5qMavJoB8d27w==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.2", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.2.tgz", + "integrity": "sha512-z8+wGWV2dgUhLqrtRYa03yDx4HWMvXKi1z8g3m2JyxAx8F7xk74asqPk5LAETjqDSGLFML/6CDl0+yFunSYicw==", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.3.tgz", + "integrity": "sha512-l6t8xEhfK9Sa4YO5mIRdau7XSOADfmh3jCr0evNHdY+HNkW6xuQhgMH7D73VV6WpZOagrW0UludvMTiifiwTfA==", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.2", + "fastq": "^1.6.0" + } + }, + "@oclif/color": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/@oclif/color/-/color-0.0.0.tgz", + "integrity": "sha512-KKd3W7eNwfNF061tr663oUNdt8EMnfuyf5Xv55SGWA1a0rjhWqS/32P7OeB7CbXcJUBdfVrPyR//1afaW12AWw==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "supports-color": "^5.4.0", + "tslib": "^1" + } + }, + "@oclif/command": { + "version": "1.5.16", + "resolved": "https://registry.npmjs.org/@oclif/command/-/command-1.5.16.tgz", + "integrity": "sha512-bzqNz9/EblkohokXbico/14r05oRe8aa06S3MLEo4GlmyOce2abIOx1oZfUDl8ekQuKO+Ycw9Jco+hN2aL423A==", + "dev": true, + "requires": { + "@oclif/errors": "^1.2.2", + "@oclif/parser": "^3.7.3", + "debug": "^4.1.1", + "semver": "^5.6.0" + } + }, + "@oclif/config": { + "version": "1.13.3", + "resolved": "https://registry.npmjs.org/@oclif/config/-/config-1.13.3.tgz", + "integrity": "sha512-qs5XvGRw+1M41abOKCjd0uoeHCgsMxa2MurD2g2K8CtQlzlMXl0rW5idVeimIg5208LLuxkfzQo8TKAhhRCWLg==", + "dev": true, + "requires": { + "@oclif/parser": "^3.8.0", + "debug": "^4.1.1", + "tslib": "^1.9.3" + } + }, + "@oclif/errors": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@oclif/errors/-/errors-1.2.2.tgz", + "integrity": "sha512-Eq8BFuJUQcbAPVofDxwdE0bL14inIiwt5EaKRVY9ZDIG11jwdXZqiQEECJx0VfnLyUZdYfRd/znDI/MytdJoKg==", + "dev": true, + "requires": { + "clean-stack": "^1.3.0", + "fs-extra": "^7.0.0", + "indent-string": "^3.2.0", + "strip-ansi": "^5.0.0", + "wrap-ansi": "^4.0.0" + } + }, + "@oclif/linewrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@oclif/linewrap/-/linewrap-1.0.0.tgz", + "integrity": "sha512-Ups2dShK52xXa8w6iBWLgcjPJWjais6KPJQq3gQ/88AY6BXoTX+MIGFPrWQO1KLMiQfoTpcLnUwloN4brrVUHw==", + "dev": true + }, + "@oclif/parser": { + "version": "3.8.4", + "resolved": "https://registry.npmjs.org/@oclif/parser/-/parser-3.8.4.tgz", + "integrity": "sha512-cyP1at3l42kQHZtqDS3KfTeyMvxITGwXwH1qk9ktBYvqgMp5h4vHT+cOD74ld3RqJUOZY/+Zi9lb4Tbza3BtuA==", + "dev": true, + "requires": { + "@oclif/linewrap": "^1.0.0", + "chalk": "^2.4.2", + "tslib": "^1.9.3" + } + }, + "@oclif/plugin-help": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@oclif/plugin-help/-/plugin-help-2.2.1.tgz", + "integrity": "sha512-psEA3t41MSGBErLk6xCaAq2jKrRtx3Br+kHpd43vZeGEeZ7Gos4wgK0JAaHBbvhvUQskCHg8dzoqv4XEeTWeVQ==", + "dev": true, + "requires": { + "@oclif/command": "^1.5.13", + "chalk": "^2.4.1", + "indent-string": "^3.2.0", + "lodash.template": "^4.4.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0", + "widest-line": "^2.0.1", + "wrap-ansi": "^4.0.0" + }, + "dependencies": { + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + } + } + }, + "@oclif/plugin-not-found": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@oclif/plugin-not-found/-/plugin-not-found-1.2.3.tgz", + "integrity": "sha512-Igbw2T4gLrb/f28Llr730FeMXBSI2PXdky2YvQfsZeQGDsyBZmC4gprJJtmrMWQcjz0B51IInRBnZYERvwfIpw==", + "dev": true, + "requires": { + "@oclif/color": "^0.0.0", + "@oclif/command": "^1.5.3", + "cli-ux": "^4.9.0", + "fast-levenshtein": "^2.0.6", + "lodash": "^4.17.13" + } + }, + "@oclif/screen": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@oclif/screen/-/screen-1.0.4.tgz", + "integrity": "sha512-60CHpq+eqnTxLZQ4PGHYNwUX572hgpMHGPtTWMjdTMsAvlm69lZV/4ly6O3sAYkomo4NggGcomrDpBe34rxUqw==", + "dev": true + }, + "@percy/agent": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/@percy/agent/-/agent-0.17.0.tgz", + "integrity": "sha512-C5jr8EQKBctdHazl5DRmLaoy0D0dJhiGzidgyP2kBKIhT5MRRGvjfLUI6u2tVYyo2ZFAfTIJKj438IGue7ns+A==", + "dev": true, + "requires": { + "@oclif/command": "1.5.16", + "@oclif/config": "^1", + "@oclif/plugin-help": "^2", + "@oclif/plugin-not-found": "^1.2", + "axios": "^0.18.1", + "body-parser": "^1.18.3", + "colors": "^1.3.2", + "cors": "^2.8.4", + "cosmiconfig": "^5.2.1", + "cross-spawn": "^6.0.5", + "deepmerge": "^4.0.0", + "express": "^4.16.3", + "follow-redirects": "^1.9.0", + "generic-pool": "^3.7.1", + "globby": "^10.0.1", + "image-size": "^0.8.2", + "js-yaml": "^3.13.1", + "percy-client": "^3.1.0", + "puppeteer": "^1.13.0", + "retry-axios": "^1.0.1", + "winston": "^3.0.0" + }, + "dependencies": { + "axios": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.18.1.tgz", + "integrity": "sha512-0BfJq4NSfQXd+SkFdrvFbG7addhYSBA2mQwISr46pD6E5iqkWg02RAs8vyTT/j0RTnoYmeXauBuSv1qKwR179g==", + "dev": true, + "requires": { + "follow-redirects": "1.5.10", + "is-buffer": "^2.0.2" + }, + "dependencies": { + "follow-redirects": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz", + "integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==", + "dev": true, + "requires": { + "debug": "=3.1.0" + } + } + } + }, + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "@percy/cypress": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@percy/cypress/-/cypress-2.1.1.tgz", + "integrity": "sha512-5e5N5HuStZDwcxBcGC9zL9m8vc1qP++hY5oMBW1jjjMpboYj3QIkUN8WP3RRXXMcK17tWJleOKJOvQKmyr4RNA==", + "dev": true, + "requires": { + "@percy/agent": "~0", + "axios": "^0.19.0" + } + }, + "@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": "12.7.9", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.7.9.tgz", + "integrity": "sha512-P57oKTJ/vYivL2BCfxCC5tQjlS8qW31pbOL6qt99Yrjm95YdHgNZwjrTTjMBh+C2/y6PXIX4oz253+jUzxKKfQ==", + "dev": true + }, + "@types/unist": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.3.tgz", + "integrity": "sha512-FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ==", + "dev": true + }, + "@webassemblyjs/ast": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.8.5.tgz", + "integrity": "sha512-aJMfngIZ65+t71C3y2nBBg5FFG0Okt9m0XEgWZ7Ywgn1oMAT8cNwx00Uv1cQyHtidq0Xn94R4TAywO+LCQ+ZAQ==", + "dev": true, + "requires": { + "@webassemblyjs/helper-module-context": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/wast-parser": "1.8.5" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.8.5.tgz", + "integrity": "sha512-9p+79WHru1oqBh9ewP9zW95E3XAo+90oth7S5Re3eQnECGq59ly1Ri5tsIipKGpiStHsUYmY3zMLqtk3gTcOtQ==", + "dev": true + }, + "@webassemblyjs/helper-api-error": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.8.5.tgz", + "integrity": "sha512-Za/tnzsvnqdaSPOUXHyKJ2XI7PDX64kWtURyGiJJZKVEdFOsdKUCPTNEVFZq3zJ2R0G5wc2PZ5gvdTRFgm81zA==", + "dev": true + }, + "@webassemblyjs/helper-buffer": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.8.5.tgz", + "integrity": "sha512-Ri2R8nOS0U6G49Q86goFIPNgjyl6+oE1abW1pS84BuhP1Qcr5JqMwRFT3Ah3ADDDYGEgGs1iyb1DGX+kAi/c/Q==", + "dev": true + }, + "@webassemblyjs/helper-code-frame": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.8.5.tgz", + "integrity": "sha512-VQAadSubZIhNpH46IR3yWO4kZZjMxN1opDrzePLdVKAZ+DFjkGD/rf4v1jap744uPVU6yjL/smZbRIIJTOUnKQ==", + "dev": true, + "requires": { + "@webassemblyjs/wast-printer": "1.8.5" + } + }, + "@webassemblyjs/helper-fsm": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.8.5.tgz", + "integrity": "sha512-kRuX/saORcg8se/ft6Q2UbRpZwP4y7YrWsLXPbbmtepKr22i8Z4O3V5QE9DbZK908dh5Xya4Un57SDIKwB9eow==", + "dev": true + }, + "@webassemblyjs/helper-module-context": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.8.5.tgz", + "integrity": "sha512-/O1B236mN7UNEU4t9X7Pj38i4VoU8CcMHyy3l2cV/kIF4U5KoHXDVqcDuOs1ltkac90IM4vZdHc52t1x8Yfs3g==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "mamacro": "^0.0.3" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.8.5.tgz", + "integrity": "sha512-Cu4YMYG3Ddl72CbmpjU/wbP6SACcOPVbHN1dI4VJNJVgFwaKf1ppeFJrwydOG3NDHxVGuCfPlLZNyEdIYlQ6QQ==", + "dev": true + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.8.5.tgz", + "integrity": "sha512-VV083zwR+VTrIWWtgIUpqfvVdK4ff38loRmrdDBgBT8ADXYsEZ5mPQ4Nde90N3UYatHdYoDIFb7oHzMncI02tA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-buffer": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/wasm-gen": "1.8.5" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.8.5.tgz", + "integrity": "sha512-aaCvQYrvKbY/n6wKHb/ylAJr27GglahUO89CcGXMItrOBqRarUMxWLJgxm9PJNuKULwN5n1csT9bYoMeZOGF3g==", + "dev": true, + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.8.5.tgz", + "integrity": "sha512-plYUuUwleLIziknvlP8VpTgO4kqNaH57Y3JnNa6DLpu/sGcP6hbVdfdX5aHAV716pQBKrfuU26BJK29qY37J7A==", + "dev": true, + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.8.5.tgz", + "integrity": "sha512-U7zgftmQriw37tfD934UNInokz6yTmn29inT2cAetAsaU9YeVCveWEwhKL1Mg4yS7q//NGdzy79nlXh3bT8Kjw==", + "dev": true + }, + "@webassemblyjs/wasm-edit": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.8.5.tgz", + "integrity": "sha512-A41EMy8MWw5yvqj7MQzkDjU29K7UJq1VrX2vWLzfpRHt3ISftOXqrtojn7nlPsZ9Ijhp5NwuODuycSvfAO/26Q==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-buffer": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/helper-wasm-section": "1.8.5", + "@webassemblyjs/wasm-gen": "1.8.5", + "@webassemblyjs/wasm-opt": "1.8.5", + "@webassemblyjs/wasm-parser": "1.8.5", + "@webassemblyjs/wast-printer": "1.8.5" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.8.5.tgz", + "integrity": "sha512-BCZBT0LURC0CXDzj5FXSc2FPTsxwp3nWcqXQdOZE4U7h7i8FqtFK5Egia6f9raQLpEKT1VL7zr4r3+QX6zArWg==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/ieee754": "1.8.5", + "@webassemblyjs/leb128": "1.8.5", + "@webassemblyjs/utf8": "1.8.5" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.8.5.tgz", + "integrity": "sha512-HKo2mO/Uh9A6ojzu7cjslGaHaUU14LdLbGEKqTR7PBKwT6LdPtLLh9fPY33rmr5wcOMrsWDbbdCHq4hQUdd37Q==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-buffer": "1.8.5", + "@webassemblyjs/wasm-gen": "1.8.5", + "@webassemblyjs/wasm-parser": "1.8.5" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.8.5.tgz", + "integrity": "sha512-pi0SYE9T6tfcMkthwcgCpL0cM9nRYr6/6fjgDtL6q/ZqKHdMWvxitRi5JcZ7RI4SNJJYnYNaWy5UUrHQy998lw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-api-error": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/ieee754": "1.8.5", + "@webassemblyjs/leb128": "1.8.5", + "@webassemblyjs/utf8": "1.8.5" + } + }, + "@webassemblyjs/wast-parser": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.8.5.tgz", + "integrity": "sha512-daXC1FyKWHF1i11obK086QRlsMsY4+tIOKgBqI1lxAnkp9xe9YMcgOxm9kLe+ttjs5aWV2KKE1TWJCN57/Btsg==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/floating-point-hex-parser": "1.8.5", + "@webassemblyjs/helper-api-error": "1.8.5", + "@webassemblyjs/helper-code-frame": "1.8.5", + "@webassemblyjs/helper-fsm": "1.8.5", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.8.5.tgz", + "integrity": "sha512-w0U0pD4EhlnvRyeJzBqaVSJAo9w/ce7/WPogeXLzGkO6hzhr4GnQIZ4W4uUt5b9ooAaXPtnXlj0gzsXEOUNYMg==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/wast-parser": "1.8.5", + "@xtuc/long": "4.2.2" + } + }, + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true + }, + "@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true + }, + "JSONSelect": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/JSONSelect/-/JSONSelect-0.4.0.tgz", + "integrity": "sha1-oI7cxn6z/L6Z7WMIVTRKDPKCu40=", + "dev": true + }, + "JSONStream": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", + "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", + "dev": true, + "requires": { + "jsonparse": "^1.2.0", + "through": ">=2.2.7 <3" + } + }, + "JSV": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/JSV/-/JSV-4.0.2.tgz", + "integrity": "sha1-0Hf2glVx+CEy+d/67Vh7QCn+/1c=", + "dev": true + }, + "abab": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.2.tgz", + "integrity": "sha512-2scffjvioEmNz0OyDSLGWDfKCVwaKc6l9Pm9kOIREU13ClXZvHpg/nRL5xyjSSSLhOnXqft2HpsAzNEEA8cFFg==", + "dev": true + }, + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true + }, + "accepts": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", + "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "dev": true, + "requires": { + "mime-types": "~2.1.24", + "negotiator": "0.6.2" + } + }, + "acorn": { + "version": "5.7.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz", + "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==", + "dev": true + }, + "acorn-globals": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.4.tgz", + "integrity": "sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==", + "dev": true, + "requires": { + "acorn": "^6.0.1", + "acorn-walk": "^6.0.1" + }, + "dependencies": { + "acorn": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.3.0.tgz", + "integrity": "sha512-/czfa8BwS88b9gWQVhc8eknunSA2DoJpJyTQkhheIf5E48u1N0R4q/YxxsAeqRrmK9TQ/uYfgLDfZo91UlANIA==", + "dev": true + } + } + }, + "acorn-jsx": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.0.2.tgz", + "integrity": "sha512-tiNTrP1MP0QrChmD2DdupCr6HWSFeKVw5d/dHTu4Y7rkAkRhU/Dt7dphAfIUyxtHpl/eBVip5uTNSpQJHylpAw==", + "dev": true + }, + "acorn-walk": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz", + "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==", + "dev": true + }, + "agent-base": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", + "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", + "dev": true, + "requires": { + "es6-promisify": "^5.0.0" + } + }, + "ajv": { + "version": "6.10.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz", + "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==", + "dev": true, + "requires": { + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-errors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", + "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", + "dev": true + }, + "ajv-keywords": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.1.tgz", + "integrity": "sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ==", + "dev": true + }, + "amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", + "dev": true + }, + "ansi-colors": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", + "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==", + "dev": true + }, + "ansi-escapes": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", + "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", + "dev": true + }, + "ansi-html": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", + "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", + "dev": true + }, + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "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" + } + }, + "ansicolors": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz", + "integrity": "sha1-ZlWX3oap/+Oqm/vmyuXG6kJrSXk=", + "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" + }, + "dependencies": { + "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 + }, + "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 + }, + "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" + } + } + } + }, + "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" + } + }, + "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" + } + }, + "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-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-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" + } + }, + "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 + } + } + }, + "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" + } + } + } + }, + "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" + } + } + } + }, + "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-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-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" + } + }, + "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" + } + } + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "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" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "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" + } + } + } + }, + "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" + } + }, + "append-transform": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-0.4.0.tgz", + "integrity": "sha1-126/jKlNJ24keja61EpLdKthGZE=", + "dev": true, + "requires": { + "default-require-extensions": "^1.0.0" + } + }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true + }, + "arch": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/arch/-/arch-2.1.1.tgz", + "integrity": "sha512-BLM56aPo9vLLFVa8+/+pJLnrZ7QGGTVHWsCwieAWT9o9K8UeGaQbzZbGoabWLOo2ksBCztoXdqBZBplqLDDCSg==", + "dev": true + }, + "are-we-there-yet": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", + "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", + "dev": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "arr-diff": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", + "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", + "dev": true, + "requires": { + "arr-flatten": "^1.0.1" + } + }, + "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-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-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", + "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=", + "dev": true + }, + "array-find-index": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", + "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", + "dev": true + }, + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", + "dev": true + }, + "array-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-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", + "dev": true + }, + "array-unique": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", + "dev": true + }, + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "dev": true + }, + "asn1": { + "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": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", + "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", + "dev": true, + "requires": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "assert": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", + "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "dev": true, + "requires": { + "object-assign": "^4.1.1", + "util": "0.10.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", + "dev": true + }, + "util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "dev": true, + "requires": { + "inherits": "2.0.1" + } + } + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": 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 + }, + "astral-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", + "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", + "dev": true + }, + "async": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", + "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "dev": true, + "requires": { + "lodash": "^4.17.14" + } + }, + "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-foreach": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz", + "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=", + "dev": true + }, + "async-limiter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", + "dev": true + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": 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 + }, + "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 + }, + "aws4": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", + "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==", + "dev": true + }, + "axios": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.19.0.tgz", + "integrity": "sha512-1uvKqKQta3KBxIz14F2v06AEHZ/dIoeKfbTRkK1E5oqjDnuEerLmYTgJB5AiQZHJcljpg1TuRzdjDR06qNk0DQ==", + "dev": true, + "requires": { + "follow-redirects": "1.5.10", + "is-buffer": "^2.0.2" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "follow-redirects": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz", + "integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==", + "dev": true, + "requires": { + "debug": "=3.1.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "babel-code-frame": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", + "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", + "dev": true + }, + "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" + } + }, + "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 + } + } + }, + "babel-core": { + "version": "7.0.0-bridge.0", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz", + "integrity": "sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==", + "dev": true + }, + "babel-generator": { + "version": "6.26.1", + "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", + "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", + "dev": true, + "requires": { + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "detect-indent": "^4.0.0", + "jsesc": "^1.3.0", + "lodash": "^4.17.4", + "source-map": "^0.5.7", + "trim-right": "^1.0.1" + }, + "dependencies": { + "jsesc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", + "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "babel-helpers": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", + "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-jest": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-23.6.0.tgz", + "integrity": "sha512-lqKGG6LYXYu+DQh/slrQ8nxXQkEkhugdXsU6St7GmhVS7Ilc/22ArwqXNJrf0QaOBjZB0360qZMwXqDYQHXaew==", + "dev": true, + "requires": { + "babel-plugin-istanbul": "^4.1.6", + "babel-preset-jest": "^23.2.0" + } + }, + "babel-loader": { + "version": "8.0.6", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.0.6.tgz", + "integrity": "sha512-4BmWKtBOBm13uoUwd08UwjZlaw3O9GWf456R9j+5YykFZ6LUIjIKLc0zEZf+hauxPOJs96C8k6FvYD09vWzhYw==", + "dev": true, + "requires": { + "find-cache-dir": "^2.0.0", + "loader-utils": "^1.0.2", + "mkdirp": "^0.5.1", + "pify": "^4.0.1" + } + }, + "babel-messages": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", + "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-dynamic-import-node": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz", + "integrity": "sha512-o6qFkpeQEBxcqt0XYlWzAVxNCSCZdUgcR8IRlhD/8DylxjjO4foPcvTW0GGKa/cVt3rvxZ7o5ippJ+/0nvLhlQ==", + "dev": true, + "requires": { + "object.assign": "^4.1.0" + } + }, + "babel-plugin-istanbul": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-4.1.6.tgz", + "integrity": "sha512-PWP9FQ1AhZhS01T/4qLSKoHGY/xvkZdVBGlKM/HuxxS3+sC66HhTNR7+MpbO/so/cz/wY94MeSWJuP1hXIPfwQ==", + "dev": true, + "requires": { + "babel-plugin-syntax-object-rest-spread": "^6.13.0", + "find-up": "^2.1.0", + "istanbul-lib-instrument": "^1.10.1", + "test-exclude": "^4.2.1" + }, + "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" + } + }, + "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" + } + }, + "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-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 + } + } + }, + "babel-plugin-jest-hoist": { + "version": "23.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-23.2.0.tgz", + "integrity": "sha1-5h+uBaHKiAGq3uV6bWa4zvr0QWc=", + "dev": true + }, + "babel-plugin-syntax-object-rest-spread": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", + "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=", + "dev": true + }, + "babel-preset-jest": { + "version": "23.2.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-23.2.0.tgz", + "integrity": "sha1-jsegOhOPABoaj7HoETZSvxpV2kY=", + "dev": true, + "requires": { + "babel-plugin-jest-hoist": "^23.2.0", + "babel-plugin-syntax-object-rest-spread": "^6.13.0" + } + }, + "babel-register": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", + "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", + "dev": true, + "requires": { + "babel-core": "^6.26.0", + "babel-runtime": "^6.26.0", + "core-js": "^2.5.0", + "home-or-tmp": "^2.0.0", + "lodash": "^4.17.4", + "mkdirp": "^0.5.1", + "source-map-support": "^0.4.15" + }, + "dependencies": { + "babel-core": { + "version": "6.26.3", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz", + "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", + "dev": true, + "requires": { + "babel-code-frame": "^6.26.0", + "babel-generator": "^6.26.0", + "babel-helpers": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-register": "^6.26.0", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "convert-source-map": "^1.5.1", + "debug": "^2.6.9", + "json5": "^0.5.1", + "lodash": "^4.17.4", + "minimatch": "^3.0.4", + "path-is-absolute": "^1.0.1", + "private": "^0.1.8", + "slash": "^1.0.0", + "source-map": "^0.5.7" + } + }, + "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" + } + }, + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", + "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 + }, + "source-map-support": { + "version": "0.4.18", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", + "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", + "dev": true, + "requires": { + "source-map": "^0.5.6" + } + } + } + }, + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "dev": true, + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + }, + "dependencies": { + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", + "dev": true + } + } + }, + "babel-template": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", + "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", + "dev": true, + "requires": { + "babel-runtime": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "lodash": "^4.17.4" + } + }, + "babel-traverse": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", + "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", + "dev": true, + "requires": { + "babel-code-frame": "^6.26.0", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "debug": "^2.6.8", + "globals": "^9.18.0", + "invariant": "^2.2.2", + "lodash": "^4.17.4" + }, + "dependencies": { + "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" + } + }, + "globals": { + "version": "9.18.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", + "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", + "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "babel-types": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", + "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", + "dev": true, + "requires": { + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" + }, + "dependencies": { + "to-fast-properties": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", + "dev": true + } + } + }, + "babelify": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/babelify/-/babelify-10.0.0.tgz", + "integrity": "sha512-X40FaxyH7t3X+JFAKvb1H9wooWKLRCi8pg3m8poqtdZaIng+bjzp9RvKQCvRjF9isHiPkXspbbXT/zwXLtwgwg==", + "dev": true + }, + "babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", + "dev": true + }, + "bail": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/bail/-/bail-1.0.4.tgz", + "integrity": "sha512-S8vuDB4w6YpRhICUDET3guPlQpaJl7od94tpZ0Fvnyp+MKW/HyDTcRDck+29C9g+d/qQHnddRH3+94kZdrW0Ww==", + "dev": true + }, + "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" + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + } + } + }, + "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 + }, + "batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", + "dev": true + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "dev": true, + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true + }, + "binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "dev": true + }, + "block-stream": { + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", + "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", + "dev": true, + "requires": { + "inherits": "~2.0.0" + } + }, + "bluebird": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.0.tgz", + "integrity": "sha512-aBQ1FxIa7kSWCcmKHlcHFlT2jt6J/l4FzC7KcPELkOJOsPOb/bccdhmIrKDfXhwFrmc7vDoDrrepFvGqjyXGJg==", + "dev": true + }, + "bluebird-retry": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/bluebird-retry/-/bluebird-retry-0.11.0.tgz", + "integrity": "sha1-EomrIsu8OgJYe6rTVZU1HdDBwEc=", + "dev": true + }, + "bn.js": { + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", + "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", + "dev": true + }, + "body": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/body/-/body-5.1.0.tgz", + "integrity": "sha1-5LoM5BCkaTYyM2dgnstOZVMSUGk=", + "dev": true, + "requires": { + "continuable-cache": "^0.3.1", + "error": "^7.0.0", + "raw-body": "~1.1.0", + "safe-json-parse": "~1.0.1" + }, + "dependencies": { + "bytes": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-1.0.0.tgz", + "integrity": "sha1-NWnt6Lo0MV+rmcPpLLBMciDeH6g=", + "dev": true + }, + "raw-body": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-1.1.7.tgz", + "integrity": "sha1-HQJ8K/oRasxmI7yo8AAWVyqH1CU=", + "dev": true, + "requires": { + "bytes": "1", + "string_decoder": "0.10" + } + }, + "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 + } + } + }, + "body-parser": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", + "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", + "dev": true, + "requires": { + "bytes": "3.1.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.2", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "on-finished": "~2.3.0", + "qs": "6.7.0", + "raw-body": "2.4.0", + "type-is": "~1.6.17" + }, + "dependencies": { + "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" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "bonjour": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", + "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", + "dev": true, + "requires": { + "array-flatten": "^2.1.0", + "deep-equal": "^1.0.1", + "dns-equal": "^1.0.0", + "dns-txt": "^2.0.2", + "multicast-dns": "^6.0.1", + "multicast-dns-service-types": "^1.1.0" + }, + "dependencies": { + "array-flatten": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", + "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", + "dev": true + } + } + }, + "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": "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" + } + }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", + "dev": true + }, + "browser-process-hrtime": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-0.1.3.tgz", + "integrity": "sha512-bRFnI4NnjO6cnyLmOV/7PVoDEMJChlcfN0z4s1YMBY989/SvlfMI1lgCnkFUs53e9gQF+w7qu7XdllSTiSl8Aw==", + "dev": true + }, + "browser-resolve": { + "version": "1.11.3", + "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz", + "integrity": "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==", + "dev": true, + "requires": { + "resolve": "1.1.7" + }, + "dependencies": { + "resolve": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", + "dev": true + } + } + }, + "browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "dev": true, + "requires": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "dev": true, + "requires": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "dev": true, + "requires": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "browserify-rsa": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", + "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "randombytes": "^2.0.1" + } + }, + "browserify-sign": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", + "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", + "dev": true, + "requires": { + "bn.js": "^4.1.1", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.2", + "elliptic": "^6.0.0", + "inherits": "^2.0.1", + "parse-asn1": "^5.0.0" + } + }, + "browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "dev": true, + "requires": { + "pako": "~1.0.5" + } + }, + "browserslist": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.7.0.tgz", + "integrity": "sha512-9rGNDtnj+HaahxiVV38Gn8n8Lr8REKsel68v1sPFfIGEK6uSXTY3h9acgiT1dZVtOOUtifo/Dn8daDQ5dUgVsA==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30000989", + "electron-to-chromium": "^1.3.247", + "node-releases": "^1.1.29" + } + }, + "bser": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.0.tgz", + "integrity": "sha512-8zsjWrQkkBoLK6uxASk1nJ2SKv97ltiGDo6A3wA0/yRPz+CwmEyDo0hUrhIuukG2JHpAl3bvFIixw2/3Hi0DOg==", + "dev": true, + "requires": { + "node-int64": "^0.4.0" + } + }, + "buffer": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", + "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", + "dev": true, + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + } + }, + "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 + }, + "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-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==" + }, + "buffer-indexof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", + "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==", + "dev": true + }, + "buffer-shims": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz", + "integrity": "sha1-mXjOMXOIxkmth5MCjDR37wRKi1E=", + "dev": true + }, + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", + "dev": true + }, + "builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", + "dev": true + }, + "bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", + "dev": true + }, + "cacache": { + "version": "12.0.3", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.3.tgz", + "integrity": "sha512-kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw==", + "dev": true, + "requires": { + "bluebird": "^3.5.5", + "chownr": "^1.1.1", + "figgy-pudding": "^3.5.1", + "glob": "^7.1.4", + "graceful-fs": "^4.1.15", + "infer-owner": "^1.0.3", + "lru-cache": "^5.1.1", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.3", + "ssri": "^6.0.1", + "unique-filename": "^1.1.1", + "y18n": "^4.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "requires": { + "yallist": "^3.0.2" + } + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "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" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + } + } + }, + "cached-path-relative": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.0.2.tgz", + "integrity": "sha512-5r2GqsoEb4qMTTN9J+WzXfjov+hjxT+j3u5K+kIVNIwAd99DLCJE9pBIMP1qVeybV6JiijL385Oz0DcYxfbOIg==", + "dev": true + }, + "cachedir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/cachedir/-/cachedir-1.3.0.tgz", + "integrity": "sha512-O1ji32oyON9laVPJL1IZ5bmwd2cB46VfpxkDequezH+15FDzzVddEyrGEeX4WusDSqKxdyFdDQDEG1yo1GoWkg==", + "dev": true, + "requires": { + "os-homedir": "^1.0.1" + } + }, + "caller-callsite": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", + "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", + "dev": true, + "requires": { + "callsites": "^2.0.0" + } + }, + "caller-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", + "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", + "dev": true, + "requires": { + "caller-callsite": "^2.0.0" + } + }, + "callsites": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", + "dev": true + }, + "camel-case": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", + "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", + "requires": { + "no-case": "^2.2.0", + "upper-case": "^1.1.1" + } + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "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.30000997", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000997.tgz", + "integrity": "sha512-BQLFPIdj2ntgBNWp9Q64LGUIEmvhKkzzHhUHR3CD5A9Lb7ZKF20/+sgadhFap69lk5XmK1fTUleDclaRFvgVUA==", + "dev": true + }, + "capture-exit": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-1.2.0.tgz", + "integrity": "sha1-HF/MSJ/QqwDU8ax64QcuMXP7q28=", + "dev": true, + "requires": { + "rsvp": "^3.3.3" + } + }, + "cardinal": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/cardinal/-/cardinal-2.1.1.tgz", + "integrity": "sha1-fMEFXYItISlU0HsIXeolHMe8VQU=", + "dev": true, + "requires": { + "ansicolors": "~0.3.2", + "redeyed": "~2.1.0" + } + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true + }, + "ccount": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-1.0.4.tgz", + "integrity": "sha512-fpZ81yYfzentuieinmGnphk0pLkOTMm6MZdVqwd77ROvhko6iujLNGrHH5E7utq3ygWklwfmwuG+A7P+NpqT6w==", + "dev": true + }, + "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" + } + }, + "character-entities": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.3.tgz", + "integrity": "sha512-yB4oYSAa9yLcGyTbB4ItFwHw43QHdH129IJ5R+WvxOkWlyFnR5FAaBNnUq4mcxsTVZGh28bHoeTHMKXH1wZf3w==", + "dev": true + }, + "character-entities-html4": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-1.1.3.tgz", + "integrity": "sha512-SwnyZ7jQBCRHELk9zf2CN5AnGEc2nA+uKMZLHvcqhpPprjkYhiLn0DywMHgN5ttFZuITMATbh68M6VIVKwJbcg==", + "dev": true + }, + "character-entities-legacy": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.3.tgz", + "integrity": "sha512-YAxUpPoPwxYFsslbdKkhrGnXAtXoHNgYjlBM3WMXkWGTl5RsY3QmOyhwAgL8Nxm9l5LBThXGawxKPn68y6/fww==", + "dev": true + }, + "character-reference-invalid": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.3.tgz", + "integrity": "sha512-VOq6PRzQBam/8Jm6XBGk2fNEnHXAdGd6go0rtd4weAGECBamHDwwCQSOT12TACIYUZegUXnV6xBXqUssijtxIg==", + "dev": true + }, + "chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true + }, + "check-more-types": { + "version": "2.24.0", + "resolved": "https://registry.npmjs.org/check-more-types/-/check-more-types-2.24.0.tgz", + "integrity": "sha1-FCD/sQ/URNz8ebQ4kbv//TKoRgA=", + "dev": true + }, + "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": { + "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 + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + } + } + }, + "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" + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "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 + }, + "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" + } + } + } + }, + "chownr": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.3.tgz", + "integrity": "sha512-i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw==", + "dev": true + }, + "chrome-trace-event": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", + "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "ci-info": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz", + "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==", + "dev": true + }, + "cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "cjson": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/cjson/-/cjson-0.3.0.tgz", + "integrity": "sha1-5kObkHA9MS/24iJAl76pLOPQKhQ=", + "dev": true, + "requires": { + "jsonlint": "1.6.0" + } + }, + "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" + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + } + } + }, + "clean-css": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.1.tgz", + "integrity": "sha512-4ZxI6dy4lrY6FHzfiy1aEOXgu4LIsW2MhwG0VBKdcoGoH/XLFgaHSdLTGr4O8Be6A8r3MOphEiI8Gc1n0ecf3g==", + "requires": { + "source-map": "~0.6.0" + } + }, + "clean-stack": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-1.3.0.tgz", + "integrity": "sha1-noIVAa6XmYbEax1m0tQy2y/UrjE=", + "dev": true + }, + "cli-cursor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz", + "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=", + "dev": true, + "requires": { + "restore-cursor": "^1.0.1" + } + }, + "cli-spinners": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-0.1.2.tgz", + "integrity": "sha1-u3ZNiOGF+54eaiofGXcjGPYF4xw=", + "dev": true + }, + "cli-truncate": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-0.2.1.tgz", + "integrity": "sha1-nxXPuwcFAFNpIWxiasfQWrkN1XQ=", + "dev": true, + "requires": { + "slice-ansi": "0.0.4", + "string-width": "^1.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "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" + } + }, + "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" + } + }, + "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" + } + } + } + }, + "cli-ux": { + "version": "4.9.3", + "resolved": "https://registry.npmjs.org/cli-ux/-/cli-ux-4.9.3.tgz", + "integrity": "sha512-/1owvF0SZ5Gn54cgrikJ0QskgTzeg30HGjkmjFoaHDJzAqFpuX1DBpFR8aLvsE1J5s9MgeYRENQK4BFwOag5VA==", + "dev": true, + "requires": { + "@oclif/errors": "^1.2.2", + "@oclif/linewrap": "^1.0.0", + "@oclif/screen": "^1.0.3", + "ansi-escapes": "^3.1.0", + "ansi-styles": "^3.2.1", + "cardinal": "^2.1.1", + "chalk": "^2.4.1", + "clean-stack": "^2.0.0", + "extract-stack": "^1.0.0", + "fs-extra": "^7.0.0", + "hyperlinker": "^1.0.0", + "indent-string": "^3.2.0", + "is-wsl": "^1.1.0", + "lodash": "^4.17.11", + "password-prompt": "^1.0.7", + "semver": "^5.6.0", + "strip-ansi": "^5.0.0", + "supports-color": "^5.5.0", + "supports-hyperlinks": "^1.0.1", + "treeify": "^1.1.0", + "tslib": "^1.9.3" + }, + "dependencies": { + "clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true + } + } + }, + "cli-width": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", + "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", + "dev": true + }, + "cliui": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", + "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", + "dev": true, + "requires": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "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" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + }, + "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" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.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" + } + } + } + } + } + }, + "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-deep": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-0.2.4.tgz", + "integrity": "sha1-TnPdCen7lxzDhnDF3O2cGJZIHMY=", + "dev": true, + "requires": { + "for-own": "^0.1.3", + "is-plain-object": "^2.0.1", + "kind-of": "^3.0.2", + "lazy-cache": "^1.0.3", + "shallow-clone": "^0.1.2" + } + }, + "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" + } + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "dev": true + }, + "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 + }, + "collapse-white-space": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.5.tgz", + "integrity": "sha512-703bOOmytCYAX9cXYqoikYIx6twmFCXsnzRQheBcTG3nzKYBR4P/+wkYeH+Mvj7qUz8zZDtdyzbxfnEi/kYzRQ==", + "dev": true + }, + "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": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/color/-/color-3.0.0.tgz", + "integrity": "sha512-jCpd5+s0s0t7p3pHQKpnJ0TpQKKdleP71LWcA0aqiljpiuAkOSUFN/dyH8ZwF0hRmFlrIuRhufds1QyEP9EB+w==", + "dev": true, + "requires": { + "color-convert": "^1.9.1", + "color-string": "^1.5.2" + } + }, + "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-string": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.3.tgz", + "integrity": "sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw==", + "dev": true, + "requires": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "colornames": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/colornames/-/colornames-1.1.1.tgz", + "integrity": "sha1-+IiQMGhcfE/54qVZ9Qd+t2qBb5Y=", + "dev": true + }, + "colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", + "dev": true + }, + "colorspace": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/colorspace/-/colorspace-1.1.2.tgz", + "integrity": "sha512-vt+OoIP2d76xLhjwbBaucYlNSpPsrJWPlBTtwCpQKIu6/CSMutyzX93O/Do0qzpH3YoHEes8YEFXyZ797rEhzQ==", + "dev": true, + "requires": { + "color": "3.0.x", + "text-hex": "1.0.x" + } + }, + "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, + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "comma-separated-tokens": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-1.0.7.tgz", + "integrity": "sha512-Jrx3xsP4pPv4AwJUDWY9wOXGtwPXARej6Xd99h4TUGotmf8APuquKMpK+dnD3UgyxK7OEWaisjZz+3b5jtL6xQ==", + "dev": true + }, + "commander": { + "version": "2.20.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.1.tgz", + "integrity": "sha512-cCuLsMhJeWQ/ZpsFTbE765kvVfoeSddc4nU3up4fV+fDBcfUXnbITJ+JzhkdjzOqhURjZgujxaioam4RM9yGUg==" + }, + "common-tags": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.0.tgz", + "integrity": "sha512-6P6g0uetGpW/sdyUy/iQQCbFF0kWVMSIVSyYz7Zgjcgh8mgw8PQzDNZeyZ5DQ2gM7LBoZPHmnjz8rUthkBG5tw==", + "dev": true + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "dev": true + }, + "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 + }, + "compressible": { + "version": "2.0.17", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.17.tgz", + "integrity": "sha512-BGHeLCK1GV7j1bSmQQAi26X+GgWcTjLr/0tzSvMCl3LH1w1IJ4PFSPoV5316b30cneTziC+B1a+3OjoSUcQYmw==", + "dev": true, + "requires": { + "mime-db": ">= 1.40.0 < 2" + } + }, + "compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "dev": true, + "requires": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "dependencies": { + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", + "dev": true + }, + "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" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "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" + } + }, + "connect-history-api-fallback": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", + "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", + "dev": true + }, + "console-browserify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", + "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", + "dev": true, + "requires": { + "date-now": "^0.1.4" + } + }, + "console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", + "dev": true + }, + "constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", + "dev": true + }, + "content-disposition": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", + "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + } + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "dev": true + }, + "continuable-cache": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/continuable-cache/-/continuable-cache-0.3.1.tgz", + "integrity": "sha1-vXJ6f67XfnH/OYWskzUakSczrQ8=", + "dev": true + }, + "convert-source-map": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz", + "integrity": "sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.1" + } + }, + "cookie": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", + "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==", + "dev": true + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", + "dev": true + }, + "copy-concurrently": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", + "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", + "dev": true, + "requires": { + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" + } + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "dev": true + }, + "core-js": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz", + "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==", + "dev": true + }, + "core-js-compat": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.2.1.tgz", + "integrity": "sha512-MwPZle5CF9dEaMYdDeWm73ao/IflDH+FjeJCWEADcEgFSE9TLimFKwJsfmkwzI8eC0Aj0mgvMDjeQjrElkz4/A==", + "dev": true, + "requires": { + "browserslist": "^4.6.6", + "semver": "^6.3.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 + } + } + }, + "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 + }, + "cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "dev": true, + "requires": { + "object-assign": "^4", + "vary": "^1" + } + }, + "cosmiconfig": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", + "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", + "dev": true, + "requires": { + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" + } + }, + "coveralls": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/coveralls/-/coveralls-3.0.6.tgz", + "integrity": "sha512-Pgh4v3gCI4T/9VijVrm8Ym5v0OgjvGLKj3zTUwkvsCiwqae/p6VLzpsFNjQS2i6ewV7ef+DjFJ5TSKxYt/mCrA==", + "dev": true, + "requires": { + "growl": "~> 1.10.0", + "js-yaml": "^3.13.1", + "lcov-parse": "^0.0.10", + "log-driver": "^1.2.7", + "minimist": "^1.2.0", + "request": "^2.86.0" + } + }, + "create-ecdh": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", + "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "elliptic": "^6.0.0" + } + }, + "create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "dev": true, + "requires": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "dev": true, + "requires": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "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, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "dev": true, + "requires": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + } + }, + "crypto-random-string": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-3.0.1.tgz", + "integrity": "sha512-dUL0cJ4PBLanJGJQBHQUkvZ3C4q13MXzl54oRqAIiJGiNkOZ4JDwkg/SBo7daGghzlJv16yW1p/4lIQukmbedA==", + "requires": { + "type-fest": "^0.5.2" + } + }, + "css-b64-images": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/css-b64-images/-/css-b64-images-0.2.5.tgz", + "integrity": "sha1-QgBdgyBLK0pdk7axpWRBM7WSegI=" + }, + "css-loader": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-2.1.1.tgz", + "integrity": "sha512-OcKJU/lt232vl1P9EEDamhoO9iKY3tIjY5GU+XDLblAykTdgs6Ux9P1hTHve8nFKy5KPpOXOsVI/hIwi3841+w==", + "dev": true, + "requires": { + "camelcase": "^5.2.0", + "icss-utils": "^4.1.0", + "loader-utils": "^1.2.3", + "normalize-path": "^3.0.0", + "postcss": "^7.0.14", + "postcss-modules-extract-imports": "^2.0.0", + "postcss-modules-local-by-default": "^2.0.6", + "postcss-modules-scope": "^2.1.0", + "postcss-modules-values": "^2.0.0", + "postcss-value-parser": "^3.3.0", + "schema-utils": "^1.0.0" + }, + "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 + } + } + }, + "css-to-string-loader": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/css-to-string-loader/-/css-to-string-loader-0.1.3.tgz", + "integrity": "sha1-yTcXXy7Hg5aa7+FKT7oFX3tPlWI=", + "dev": true, + "requires": { + "loader-utils": "^0.2.15" + }, + "dependencies": { + "big.js": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", + "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==", + "dev": true + }, + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "dev": true + }, + "loader-utils": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", + "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", + "dev": true, + "requires": { + "big.js": "^3.1.3", + "emojis-list": "^2.0.0", + "json5": "^0.5.0", + "object-assign": "^4.0.1" + } + } + } + }, + "cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true + }, + "cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "dev": true + }, + "cssstyle": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-1.4.0.tgz", + "integrity": "sha512-GBrLZYZ4X4x6/QEoBnIrqb8B/f5l4+8me2dkom/j1Gtbxy0kBv6OGzKuAsGM75bkGwGAFkt56Iwg28S3XTZgSA==", + "dev": true, + "requires": { + "cssom": "0.3.x" + } + }, + "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" + } + }, + "cwd": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/cwd/-/cwd-0.10.0.tgz", + "integrity": "sha1-FyQAaUBXwioTsM8WFix+S3p/5Wc=", + "dev": true, + "requires": { + "find-pkg": "^0.1.2", + "fs-exists-sync": "^0.1.0" + } + }, + "cyclist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", + "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=", + "dev": true + }, + "cypress": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/cypress/-/cypress-3.4.0.tgz", + "integrity": "sha512-vUE+sK3l23fhs5qTN3dKpveyP0fGr37VmK3FSYaTEjbqC/qh4DbA1Ych/3bLStUpHP4rpE5KAx7i1s/tpdD9vQ==", + "dev": true, + "requires": { + "@cypress/listr-verbose-renderer": "0.4.1", + "@cypress/xvfb": "1.2.4", + "arch": "2.1.1", + "bluebird": "3.5.0", + "cachedir": "1.3.0", + "chalk": "2.4.2", + "check-more-types": "2.24.0", + "commander": "2.15.1", + "common-tags": "1.8.0", + "debug": "3.2.6", + "execa": "0.10.0", + "executable": "4.1.1", + "extract-zip": "1.6.7", + "fs-extra": "5.0.0", + "getos": "3.1.1", + "glob": "7.1.3", + "is-ci": "1.2.1", + "is-installed-globally": "0.1.0", + "lazy-ass": "1.6.0", + "listr": "0.12.0", + "lodash": "4.17.11", + "log-symbols": "2.2.0", + "minimist": "1.2.0", + "moment": "2.24.0", + "ramda": "0.24.1", + "request": "2.88.0", + "request-progress": "3.0.0", + "supports-color": "5.5.0", + "tmp": "0.1.0", + "url": "0.11.0", + "yauzl": "2.10.0" + }, + "dependencies": { + "bluebird": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.0.tgz", + "integrity": "sha1-eRQg1/VR7qKJdFOop3ZT+WYG1nw=", + "dev": true + }, + "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 + }, + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "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, + "requires": { + "pend": "~1.2.0" + } + }, + "fs-extra": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-5.0.0.tgz", + "integrity": "sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "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" + } + }, + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + }, + "yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", + "dev": true, + "requires": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + } + } + }, + "d3": { + "version": "5.12.0", + "resolved": "https://registry.npmjs.org/d3/-/d3-5.12.0.tgz", + "integrity": "sha512-flYVMoVuhPFHd9zVCe2BxIszUWqBcd5fvQGMNRmSiBrgdnh6Vlruh60RJQTouAK9xPbOB0plxMvBm4MoyODXNg==", + "requires": { + "d3-array": "1", + "d3-axis": "1", + "d3-brush": "1", + "d3-chord": "1", + "d3-collection": "1", + "d3-color": "1", + "d3-contour": "1", + "d3-dispatch": "1", + "d3-drag": "1", + "d3-dsv": "1", + "d3-ease": "1", + "d3-fetch": "1", + "d3-force": "1", + "d3-format": "1", + "d3-geo": "1", + "d3-hierarchy": "1", + "d3-interpolate": "1", + "d3-path": "1", + "d3-polygon": "1", + "d3-quadtree": "1", + "d3-random": "1", + "d3-scale": "2", + "d3-scale-chromatic": "1", + "d3-selection": "1", + "d3-shape": "1", + "d3-time": "1", + "d3-time-format": "2", + "d3-timer": "1", + "d3-transition": "1", + "d3-voronoi": "1", + "d3-zoom": "1" + } + }, + "d3-array": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-1.2.4.tgz", + "integrity": "sha512-KHW6M86R+FUPYGb3R5XiYjXPq7VzwxZ22buHhAEVG5ztoEcZZMLov530mmccaqA1GghZArjQV46fuc8kUqhhHw==" + }, + "d3-axis": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/d3-axis/-/d3-axis-1.0.12.tgz", + "integrity": "sha512-ejINPfPSNdGFKEOAtnBtdkpr24c4d4jsei6Lg98mxf424ivoDP2956/5HDpIAtmHo85lqT4pruy+zEgvRUBqaQ==" + }, + "d3-brush": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/d3-brush/-/d3-brush-1.1.3.tgz", + "integrity": "sha512-v8bbYyCFKjyCzFk/tdWqXwDykY8YWqhXYjcYxfILIit085VZOpj4XJKOMccTsvWxgzSLMJQg5SiqHjslsipEDg==", + "requires": { + "d3-dispatch": "1", + "d3-drag": "1", + "d3-interpolate": "1", + "d3-selection": "1", + "d3-transition": "1" + } + }, + "d3-chord": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/d3-chord/-/d3-chord-1.0.6.tgz", + "integrity": "sha512-JXA2Dro1Fxw9rJe33Uv+Ckr5IrAa74TlfDEhE/jfLOaXegMQFQTAgAw9WnZL8+HxVBRXaRGCkrNU7pJeylRIuA==", + "requires": { + "d3-array": "1", + "d3-path": "1" + } + }, + "d3-collection": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/d3-collection/-/d3-collection-1.0.7.tgz", + "integrity": "sha512-ii0/r5f4sjKNTfh84Di+DpztYwqKhEyUlKoPrzUFfeSkWxjW49xU2QzO9qrPrNkpdI0XJkfzvmTu8V2Zylln6A==" + }, + "d3-color": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-1.4.0.tgz", + "integrity": "sha512-TzNPeJy2+iEepfiL92LAAB7fvnp/dV2YwANPVHdDWmYMm23qIJBYww3qT8I8C1wXrmrg4UWs7BKc2tKIgyjzHg==" + }, + "d3-contour": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/d3-contour/-/d3-contour-1.3.2.tgz", + "integrity": "sha512-hoPp4K/rJCu0ladiH6zmJUEz6+u3lgR+GSm/QdM2BBvDraU39Vr7YdDCicJcxP1z8i9B/2dJLgDC1NcvlF8WCg==", + "requires": { + "d3-array": "^1.1.1" + } + }, + "d3-dispatch": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-1.0.5.tgz", + "integrity": "sha512-vwKx+lAqB1UuCeklr6Jh1bvC4SZgbSqbkGBLClItFBIYH4vqDJCA7qfoy14lXmJdnBOdxndAMxjCbImJYW7e6g==" + }, + "d3-drag": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-1.2.4.tgz", + "integrity": "sha512-ICPurDETFAelF1CTHdIyiUM4PsyZLaM+7oIBhmyP+cuVjze5vDZ8V//LdOFjg0jGnFIZD/Sfmk0r95PSiu78rw==", + "requires": { + "d3-dispatch": "1", + "d3-selection": "1" + } + }, + "d3-dsv": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-1.1.1.tgz", + "integrity": "sha512-1EH1oRGSkeDUlDRbhsFytAXU6cAmXFzc52YUe6MRlPClmWb85MP1J5x+YJRzya4ynZWnbELdSAvATFW/MbxaXw==", + "requires": { + "commander": "2", + "iconv-lite": "0.4", + "rw": "1" + } + }, + "d3-ease": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-1.0.5.tgz", + "integrity": "sha512-Ct1O//ly5y5lFM9YTdu+ygq7LleSgSE4oj7vUt9tPLHUi8VCV7QoizGpdWRWAwCO9LdYzIrQDg97+hGVdsSGPQ==" + }, + "d3-fetch": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/d3-fetch/-/d3-fetch-1.1.2.tgz", + "integrity": "sha512-S2loaQCV/ZeyTyIF2oP8D1K9Z4QizUzW7cWeAOAS4U88qOt3Ucf6GsmgthuYSdyB2HyEm4CeGvkQxWsmInsIVA==", + "requires": { + "d3-dsv": "1" + } + }, + "d3-force": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/d3-force/-/d3-force-1.2.1.tgz", + "integrity": "sha512-HHvehyaiUlVo5CxBJ0yF/xny4xoaxFxDnBXNvNcfW9adORGZfyNF1dj6DGLKyk4Yh3brP/1h3rnDzdIAwL08zg==", + "requires": { + "d3-collection": "1", + "d3-dispatch": "1", + "d3-quadtree": "1", + "d3-timer": "1" + } + }, + "d3-format": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-1.4.1.tgz", + "integrity": "sha512-TUswGe6hfguUX1CtKxyG2nymO+1lyThbkS1ifLX0Sr+dOQtAD5gkrffpHnx+yHNKUZ0Bmg5T4AjUQwugPDrm0g==" + }, + "d3-geo": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-1.11.6.tgz", + "integrity": "sha512-z0J8InXR9e9wcgNtmVnPTj0TU8nhYT6lD/ak9may2PdKqXIeHUr8UbFLoCtrPYNsjv6YaLvSDQVl578k6nm7GA==", + "requires": { + "d3-array": "1" + } + }, + "d3-hierarchy": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-1.1.8.tgz", + "integrity": "sha512-L+GHMSZNwTpiq4rt9GEsNcpLa4M96lXMR8M/nMG9p5hBE0jy6C+3hWtyZMenPQdwla249iJy7Nx0uKt3n+u9+w==" + }, + "d3-interpolate": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-1.3.2.tgz", + "integrity": "sha512-NlNKGopqaz9qM1PXh9gBF1KSCVh+jSFErrSlD/4hybwoNX/gt1d8CDbDW+3i+5UOHhjC6s6nMvRxcuoMVNgL2w==", + "requires": { + "d3-color": "1" + } + }, + "d3-path": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-1.0.8.tgz", + "integrity": "sha512-J6EfUNwcMQ+aM5YPOB8ZbgAZu6wc82f/0WFxrxwV6Ll8wBwLaHLKCqQ5Imub02JriCVVdPjgI+6P3a4EWJCxAg==" + }, + "d3-polygon": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/d3-polygon/-/d3-polygon-1.0.5.tgz", + "integrity": "sha512-RHhh1ZUJZfhgoqzWWuRhzQJvO7LavchhitSTHGu9oj6uuLFzYZVeBzaWTQ2qSO6bz2w55RMoOCf0MsLCDB6e0w==" + }, + "d3-quadtree": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-1.0.6.tgz", + "integrity": "sha512-NUgeo9G+ENQCQ1LsRr2qJg3MQ4DJvxcDNCiohdJGHt5gRhBW6orIB5m5FJ9kK3HNL8g9F4ERVoBzcEwQBfXWVA==" + }, + "d3-random": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/d3-random/-/d3-random-1.1.2.tgz", + "integrity": "sha512-6AK5BNpIFqP+cx/sreKzNjWbwZQCSUatxq+pPRmFIQaWuoD+NrbVWw7YWpHiXpCQ/NanKdtGDuB+VQcZDaEmYQ==" + }, + "d3-scale": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-2.2.2.tgz", + "integrity": "sha512-LbeEvGgIb8UMcAa0EATLNX0lelKWGYDQiPdHj+gLblGVhGLyNbaCn3EvrJf0A3Y/uOOU5aD6MTh5ZFCdEwGiCw==", + "requires": { + "d3-array": "^1.2.0", + "d3-collection": "1", + "d3-format": "1", + "d3-interpolate": "1", + "d3-time": "1", + "d3-time-format": "2" + } + }, + "d3-scale-chromatic": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-1.5.0.tgz", + "integrity": "sha512-ACcL46DYImpRFMBcpk9HhtIyC7bTBR4fNOPxwVSl0LfulDAwyiHyPOTqcDG1+t5d4P9W7t/2NAuWu59aKko/cg==", + "requires": { + "d3-color": "1", + "d3-interpolate": "1" + } + }, + "d3-selection": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-1.4.0.tgz", + "integrity": "sha512-EYVwBxQGEjLCKF2pJ4+yrErskDnz5v403qvAid96cNdCMr8rmCYfY5RGzWz24mdIbxmDf6/4EAH+K9xperD5jg==" + }, + "d3-shape": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-1.3.5.tgz", + "integrity": "sha512-VKazVR3phgD+MUCldapHD7P9kcrvPcexeX/PkMJmkUov4JM8IxsSg1DvbYoYich9AtdTsa5nNk2++ImPiDiSxg==", + "requires": { + "d3-path": "1" + } + }, + "d3-time": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-1.1.0.tgz", + "integrity": "sha512-Xh0isrZ5rPYYdqhAVk8VLnMEidhz5aP7htAADH6MfzgmmicPkTo8LhkLxci61/lCB7n7UmE3bN0leRt+qvkLxA==" + }, + "d3-time-format": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-2.1.3.tgz", + "integrity": "sha512-6k0a2rZryzGm5Ihx+aFMuO1GgelgIz+7HhB4PH4OEndD5q2zGn1mDfRdNrulspOfR6JXkb2sThhDK41CSK85QA==", + "requires": { + "d3-time": "1" + } + }, + "d3-timer": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-1.0.9.tgz", + "integrity": "sha512-rT34J5HnQUHhcLvhSB9GjCkN0Ddd5Y8nCwDBG2u6wQEeYxT/Lf51fTFFkldeib/sE/J0clIe0pnCfs6g/lRbyg==" + }, + "d3-transition": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-1.2.0.tgz", + "integrity": "sha512-VJ7cmX/FPIPJYuaL2r1o1EMHLttvoIuZhhuAlRoOxDzogV8iQS6jYulDm3xEU3TqL80IZIhI551/ebmCMrkvhw==", + "requires": { + "d3-color": "1", + "d3-dispatch": "1", + "d3-ease": "1", + "d3-interpolate": "1", + "d3-selection": "^1.1.0", + "d3-timer": "1" + } + }, + "d3-voronoi": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/d3-voronoi/-/d3-voronoi-1.1.4.tgz", + "integrity": "sha512-dArJ32hchFsrQ8uMiTBLq256MpnZjeuBtdHpaDlYuQyjU0CVzCJl/BVW+SkszaAeH95D/8gxqAhgx0ouAWAfRg==" + }, + "d3-zoom": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/d3-zoom/-/d3-zoom-1.8.3.tgz", + "integrity": "sha512-VoLXTK4wvy1a0JpH2Il+F2CiOhVu7VRXWF5M/LroMIh3/zBAC3WAt7QoIvPibOavVo20hN6/37vwAsdBejLyKQ==", + "requires": { + "d3-dispatch": "1", + "d3-drag": "1", + "d3-interpolate": "1", + "d3-selection": "1", + "d3-transition": "1" + } + }, + "dagre-d3-renderer": { + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/dagre-d3-renderer/-/dagre-d3-renderer-0.5.8.tgz", + "integrity": "sha512-XH2a86isUHRxzIYbjQVEuZtJnWEufb64H5DuXIUmn8esuB40jgLEbUUclulWOW62/ZoXlj2ZDyL8SJ+YRxs+jQ==", + "requires": { + "dagre-layout": "^0.8.8", + "lodash": "^4.17.5" + } + }, + "dagre-layout": { + "version": "0.8.8", + "resolved": "https://registry.npmjs.org/dagre-layout/-/dagre-layout-0.8.8.tgz", + "integrity": "sha512-ZNV15T9za7X+fV8Z07IZquUKugCxm5owoiPPxfEx6OJRD331nkiIaF3vSt0JEY5FkrY0KfRQxcpQ3SpXB7pLPQ==", + "requires": { + "graphlibrary": "^2.2.0", + "lodash": "^4.17.5" + } + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "data-urls": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz", + "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==", + "dev": true, + "requires": { + "abab": "^2.0.0", + "whatwg-mimetype": "^2.2.0", + "whatwg-url": "^7.0.0" + }, + "dependencies": { + "whatwg-url": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.0.0.tgz", + "integrity": "sha512-37GeVSIJ3kn1JgKyjiYNmSLP1yzbpb29jdmwBSgkD9h40/hyrR/OifpVUndji3tmwGgD8qpw7iQu3RSbCrBpsQ==", + "dev": true, + "requires": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + } + } + }, + "date-fns": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-1.30.1.tgz", + "integrity": "sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw==", + "dev": true + }, + "date-now": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", + "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=", + "dev": true + }, + "de-indent": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz", + "integrity": "sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0=", + "dev": true + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "requires": { + "ms": "^2.1.1" + } + }, + "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 + }, + "deep-equal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.0.tgz", + "integrity": "sha512-ZbfWJq/wN1Z273o7mUSjILYqehAktR2NVoSrOukDkU9kg2v/Uv89yU4Cvz8seJeAmtN5oqiefKq8FPuXOboqLw==", + "dev": true, + "requires": { + "is-arguments": "^1.0.4", + "is-date-object": "^1.0.1", + "is-regex": "^1.0.4", + "object-is": "^1.0.1", + "object-keys": "^1.1.1", + "regexp.prototype.flags": "^1.2.0" + } + }, + "deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "dev": true + }, + "deepmerge": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.0.0.tgz", + "integrity": "sha512-YZ1rOP5+kHor4hMAH+HRQnBQHg+wvS1un1hAOuIcxcBy0hzcUf6Jg2a1w65kpoOUnurOfZbERwjI1TfZxNjcww==", + "dev": true + }, + "default-gateway": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz", + "integrity": "sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==", + "dev": true, + "requires": { + "execa": "^1.0.0", + "ip-regex": "^2.1.0" + }, + "dependencies": { + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": 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" + } + }, + "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, + "requires": { + "pump": "^3.0.0" + } + }, + "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, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + } + } + }, + "default-require-extensions": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-1.0.0.tgz", + "integrity": "sha1-836hXT4T/9m0N9M+GnW1+5eHTLg=", + "dev": true, + "requires": { + "strip-bom": "^2.0.0" + } + }, + "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" + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + } + } + }, + "defined": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", + "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=", + "dev": true + }, + "del": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", + "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==", + "dev": true, + "requires": { + "@types/glob": "^7.1.1", + "globby": "^6.1.0", + "is-path-cwd": "^2.0.0", + "is-path-in-cwd": "^2.0.0", + "p-map": "^2.0.0", + "pify": "^4.0.1", + "rimraf": "^2.6.3" + }, + "dependencies": { + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "dev": true, + "requires": { + "array-uniq": "^1.0.1" + } + }, + "globby": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", + "dev": true, + "requires": { + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "p-map": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", + "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", + "dev": true + } + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true + }, + "delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", + "dev": true + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "dev": true + }, + "des.js": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", + "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", + "dev": true + }, + "detab": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/detab/-/detab-2.0.2.tgz", + "integrity": "sha512-Q57yPrxScy816TTE1P/uLRXLDKjXhvYTbfxS/e6lPD+YrqghbsMlGB9nQzj/zVtSPaF0DFPSdO916EWO4sQUyQ==", + "dev": true, + "requires": { + "repeat-string": "^1.5.4" + } + }, + "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 + }, + "detect-indent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", + "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", + "dev": true, + "requires": { + "repeating": "^2.0.0" + } + }, + "detect-newline": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz", + "integrity": "sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I=", + "dev": true + }, + "detect-node": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz", + "integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==", + "dev": true + }, + "detective": { + "version": "4.7.1", + "resolved": "https://registry.npmjs.org/detective/-/detective-4.7.1.tgz", + "integrity": "sha512-H6PmeeUcZloWtdt4DAkFyzFL94arpHr3NOwwmVILFiy+9Qd4JTxxXrzfyGk/lmct2qVGBwTSwSXagqu2BxmWig==", + "dev": true, + "requires": { + "acorn": "^5.2.1", + "defined": "^1.0.0" + } + }, + "diagnostics": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/diagnostics/-/diagnostics-1.1.1.tgz", + "integrity": "sha512-8wn1PmdunLJ9Tqbx+Fx/ZEuHfJf4NKSN2ZBj7SJC/OWRWha843+WsTjqMe1B5E3p28jqBlp+mJ2fPVxPyNgYKQ==", + "dev": true, + "requires": { + "colorspace": "1.1.x", + "enabled": "1.0.x", + "kuler": "1.0.x" + } + }, + "diff": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.1.tgz", + "integrity": "sha512-s2+XdvhPCOF01LRQBC8hf4vhbVmI2CGS5aZnxLJlT5FtdhPCDFq80q++zK2KlrVorVDdL5BOGZ/VfLrVtYNF+Q==", + "dev": true + }, + "diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + } + }, + "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" + } + }, + "dns-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", + "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=", + "dev": true + }, + "dns-packet": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz", + "integrity": "sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==", + "dev": true, + "requires": { + "ip": "^1.1.0", + "safe-buffer": "^5.0.1" + } + }, + "dns-txt": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", + "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", + "dev": true, + "requires": { + "buffer-indexof": "^1.0.0" + } + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "doctrine-temporary-fork": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine-temporary-fork/-/doctrine-temporary-fork-2.1.0.tgz", + "integrity": "sha512-nliqOv5NkE4zMON4UA6AMJE6As35afs8aYXATpU4pTUdIKiARZwrJVEP1boA3Rx1ZXHVkwxkhcq4VkqvsuRLsA==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "documentation": { + "version": "12.1.2", + "resolved": "https://registry.npmjs.org/documentation/-/documentation-12.1.2.tgz", + "integrity": "sha512-k0orsM458oU4m2P7yaXuLwM/0TPC1y0AWeiM5qLIT39oGjUgHLY+VOlb9x2cty5LyENxLQl4rtQzTMWKJ6l5Ng==", + "dev": true, + "requires": { + "@babel/core": "^7.1.2", + "@babel/generator": "^7.1.3", + "@babel/parser": "7.1.3", + "@babel/plugin-proposal-class-properties": "^7.1.0", + "@babel/plugin-proposal-decorators": "^7.1.2", + "@babel/plugin-proposal-do-expressions": "^7.0.0", + "@babel/plugin-proposal-export-default-from": "^7.0.0", + "@babel/plugin-proposal-export-namespace-from": "^7.0.0", + "@babel/plugin-proposal-function-bind": "^7.0.0", + "@babel/plugin-proposal-function-sent": "^7.1.0", + "@babel/plugin-proposal-json-strings": "^7.0.0", + "@babel/plugin-proposal-logical-assignment-operators": "^7.0.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.0.0", + "@babel/plugin-proposal-numeric-separator": "^7.0.0", + "@babel/plugin-proposal-optional-chaining": "^7.0.0", + "@babel/plugin-proposal-pipeline-operator": "^7.0.0", + "@babel/plugin-proposal-throw-expressions": "^7.0.0", + "@babel/plugin-syntax-dynamic-import": "^7.0.0", + "@babel/plugin-syntax-import-meta": "^7.0.0", + "@babel/preset-env": "^7.1.0", + "@babel/preset-flow": "^7.0.0", + "@babel/preset-react": "^7.0.0", + "@babel/preset-stage-0": "^7.0.0", + "@babel/traverse": "^7.1.4", + "@babel/types": "^7.1.3", + "ansi-html": "^0.0.7", + "babelify": "^10.0.0", + "chalk": "^2.3.0", + "chokidar": "^2.0.4", + "concat-stream": "^1.6.0", + "diff": "^4.0.1", + "doctrine-temporary-fork": "2.1.0", + "get-port": "^4.0.0", + "git-url-parse": "^10.0.1", + "github-slugger": "1.2.0", + "glob": "^7.1.2", + "globals-docs": "^2.4.0", + "highlight.js": "^9.15.5", + "ini": "^1.3.5", + "js-yaml": "^3.10.0", + "lodash": "^4.17.10", + "mdast-util-inject": "^1.1.0", + "micromatch": "^3.1.5", + "mime": "^2.2.0", + "module-deps-sortable": "5.0.0", + "parse-filepath": "^1.0.2", + "pify": "^4.0.0", + "read-pkg-up": "^4.0.0", + "remark": "^9.0.0", + "remark-html": "^8.0.0", + "remark-reference-links": "^4.0.1", + "remark-toc": "^5.0.0", + "resolve": "^1.8.1", + "stream-array": "^1.1.2", + "strip-json-comments": "^2.0.1", + "tiny-lr": "^1.1.0", + "unist-builder": "^1.0.2", + "unist-util-visit": "^1.3.0", + "vfile": "^4.0.0", + "vfile-reporter": "^6.0.0", + "vfile-sort": "^2.1.0", + "vinyl": "^2.1.0", + "vinyl-fs": "^3.0.2", + "vue-template-compiler": "^2.5.16", + "yargs": "^12.0.2" + }, + "dependencies": { + "@babel/parser": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.1.3.tgz", + "integrity": "sha512-gqmspPZOMW3MIRb9HlrnbZHXI1/KHTOroBwN1NcLL6pWxzqzEKGvRTq0W/PxS45OtQGbaFikSQpkS5zbnsQm2w==", + "dev": true + }, + "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 + }, + "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 + }, + "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" + } + } + } + }, + "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" + } + }, + "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" + } + }, + "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-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-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" + } + }, + "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 + } + } + }, + "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" + } + } + } + }, + "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" + } + } + } + }, + "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-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-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" + } + }, + "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" + } + } + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + }, + "load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^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 + } + } + }, + "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": "2.4.4", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz", + "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==", + "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": 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 + } + } + }, + "read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", + "dev": true, + "requires": { + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" + } + }, + "read-pkg-up": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-4.0.0.tgz", + "integrity": "sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==", + "dev": true, + "requires": { + "find-up": "^3.0.0", + "read-pkg": "^3.0.0" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + }, + "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" + } + } + } + }, + "domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", + "dev": true + }, + "domexception": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz", + "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==", + "dev": true, + "requires": { + "webidl-conversions": "^4.0.2" + } + }, + "dotenv": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.1.0.tgz", + "integrity": "sha512-GUE3gqcDCaMltj2++g6bRQ5rBJWtkWTmqmD0fo1RnnMuUqHNCt2oTPeDnS9n6fKYvlhn7AeBkb38lymBtWBQdA==", + "dev": true + }, + "duplexer": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", + "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=", + "dev": true + }, + "duplexer2": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", + "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=", + "dev": true, + "requires": { + "readable-stream": "^2.0.2" + } + }, + "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" + } + }, + "ebnf-parser": { + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/ebnf-parser/-/ebnf-parser-0.1.10.tgz", + "integrity": "sha1-zR9rpHfFY4xAyX7ZtXLbW6tdgzE=", + "dev": true + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "dev": true, + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", + "dev": true + }, + "electron-to-chromium": { + "version": "1.3.272", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.272.tgz", + "integrity": "sha512-TjsDKYOZGgaD8tUJtRiiBNlIrv2Ol6SxNMy4yeTX0goRmoBhV941m4EN8QjA3vfshs16F5KLDyUv2m7GdTqIgg==", + "dev": true + }, + "elegant-spinner": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/elegant-spinner/-/elegant-spinner-1.0.1.tgz", + "integrity": "sha1-2wQ1IcldfjA/2PNFvtwzSc+wcp4=", + "dev": true + }, + "elliptic": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.1.tgz", + "integrity": "sha512-xvJINNLbTeWQjrl6X+7eQCrIy/YPv5XCpKW6kB5mKvtnGILoLDcySuwomfdzt0BMdLNVnuRNTuzKNHj0bva1Cg==", + "dev": true, + "requires": { + "bn.js": "^4.4.0", + "brorand": "^1.0.1", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.0" + } + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "emojis-list": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", + "dev": true + }, + "enabled": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/enabled/-/enabled-1.0.2.tgz", + "integrity": "sha1-ll9lE9LC0cX0ZStkouM5ZGf8L5M=", + "dev": true, + "requires": { + "env-variable": "0.0.x" + } + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "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" + } + }, + "enhanced-resolve": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz", + "integrity": "sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.4.0", + "tapable": "^1.0.0" + } + }, + "env-variable": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/env-variable/-/env-variable-0.0.5.tgz", + "integrity": "sha512-zoB603vQReOFvTg5xMl9I1P2PnHsHQQKTEowsKKD7nseUfJq6UWzK+4YtlWUO1nhiQUxe6XMkk+JleSZD1NZFA==", + "dev": true + }, + "errno": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", + "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", + "dev": true, + "requires": { + "prr": "~1.0.1" + } + }, + "error": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/error/-/error-7.2.0.tgz", + "integrity": "sha512-M6t3j3Vt3uDicrViMP5fLq2AeADNrCVFD8Oj4Qt2MHsX0mPYG7D5XdnEfSdRpaHQzjAJ19wu+I1mw9rQYMTAPg==", + "dev": true, + "requires": { + "string-template": "~0.2.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.14.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.14.2.tgz", + "integrity": "sha512-DgoQmbpFNOofkjJtKwr87Ma5EW4Dc8fWhD0R+ndq7Oc456ivUfGOOP6oAZTTKl5/CcNMP+EN+e3/iUzgE0veZg==", + "dev": true, + "requires": { + "es-to-primitive": "^1.2.0", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.0", + "is-callable": "^1.1.4", + "is-regex": "^1.0.4", + "object-inspect": "^1.6.0", + "object-keys": "^1.1.1", + "string.prototype.trimleft": "^2.0.0", + "string.prototype.trimright": "^2.0.0" + } + }, + "es-to-primitive": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz", + "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "es6-promise": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", + "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==", + "dev": true + }, + "es6-promise-pool": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/es6-promise-pool/-/es6-promise-pool-2.5.0.tgz", + "integrity": "sha1-FHxhKza0fxBQJ/nSv1SlmKmdnMs=", + "dev": true + }, + "es6-promisify": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", + "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", + "dev": true, + "requires": { + "es6-promise": "^4.0.3" + } + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "escaper": { + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/escaper/-/escaper-2.5.3.tgz", + "integrity": "sha512-QGb9sFxBVpbzMggrKTX0ry1oiI4CSDAl9vIL702hzl1jGW8VZs7qfqTRX7WDOjoNDoEVGcEtu1ZOQgReSfT2kQ==" + }, + "escodegen": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.12.0.tgz", + "integrity": "sha512-TuA+EhsanGcme5T3R0L80u4t8CpbXQjegRmf7+FPTJrtCTErXFeelblRgHQa1FofEzqYYJmJ/OqjTwREp9qgmg==", + "dev": true, + "requires": { + "esprima": "^3.1.3", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + }, + "dependencies": { + "esprima": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", + "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=", + "dev": true + } + } + }, + "eslint": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.5.1.tgz", + "integrity": "sha512-32h99BoLYStT1iq1v2P9uwpyznQ4M2jRiFB6acitKz52Gqn+vPaMDUTB1bYi1WN4Nquj2w+t+bimYUG83DC55A==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "ajv": "^6.10.0", + "chalk": "^2.1.0", + "cross-spawn": "^6.0.5", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "eslint-scope": "^5.0.0", + "eslint-utils": "^1.4.2", + "eslint-visitor-keys": "^1.1.0", + "espree": "^6.1.1", + "esquery": "^1.0.1", + "esutils": "^2.0.2", + "file-entry-cache": "^5.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.0.0", + "globals": "^11.7.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "inquirer": "^6.4.1", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.3.0", + "lodash": "^4.17.14", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "optionator": "^0.8.2", + "progress": "^2.0.0", + "regexpp": "^2.0.1", + "semver": "^6.1.2", + "strip-ansi": "^5.2.0", + "strip-json-comments": "^3.0.1", + "table": "^5.2.3", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "dependencies": { + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true + }, + "import-fresh": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.1.0.tgz", + "integrity": "sha512-PpuksHKGt8rXfWEr9m9EHIpgyyaltBy8+eF6GJM0QCAxMgxCfucMF3mjecK2QsJr0amJW7gTqh5/wht0z2UhEQ==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "strip-json-comments": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.0.1.tgz", + "integrity": "sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw==", + "dev": true + } + } + }, + "eslint-config-prettier": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-6.3.0.tgz", + "integrity": "sha512-EWaGjlDAZRzVFveh2Jsglcere2KK5CJBhkNSa1xs3KfMUGdRiT7lG089eqPdvlzWHpAqaekubOsOMu8W8Yk71A==", + "dev": true, + "requires": { + "get-stdin": "^6.0.0" + } + }, + "eslint-plugin-prettier": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.1.1.tgz", + "integrity": "sha512-A+TZuHZ0KU0cnn56/9mfR7/KjUJ9QNVXUhwvRFSR7PGPe0zQR6PTkmyqg1AtUUEOzTqeRsUwyKFh0oVZKVCrtA==", + "dev": true, + "requires": { + "prettier-linter-helpers": "^1.0.0" + } + }, + "eslint-scope": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.0.0.tgz", + "integrity": "sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw==", + "dev": true, + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "eslint-utils": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.2.tgz", + "integrity": "sha512-eAZS2sEUMlIeCjBeubdj45dmBHQwPHWyBcT1VSYB7o9x9WRRqKxyUoiXlRjyAwzN7YEzHJlYg0NmzDRWx6GP4Q==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^1.0.0" + } + }, + "eslint-visitor-keys": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz", + "integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==", + "dev": true + }, + "espree": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-6.1.1.tgz", + "integrity": "sha512-EYbr8XZUhWbYCqQRW0duU5LxzL5bETN6AjKBGy1302qqzPaCH10QbRg3Wvco79Z8x9WbiE8HYB4e75xl6qUYvQ==", + "dev": true, + "requires": { + "acorn": "^7.0.0", + "acorn-jsx": "^5.0.2", + "eslint-visitor-keys": "^1.1.0" + }, + "dependencies": { + "acorn": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.1.0.tgz", + "integrity": "sha512-kL5CuoXA/dgxlBbVrflsflzQ3PAas7RYZB52NOm/6839iVYJgKMJ3cQJD+t2i5+qFa8h3MDpEOJiS64E8JLnSQ==", + "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 + }, + "esquery": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz", + "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==", + "dev": true, + "requires": { + "estraverse": "^4.0.0" + } + }, + "esrecurse": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", + "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", + "dev": true, + "requires": { + "estraverse": "^4.1.0" + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "dev": true + }, + "event-stream": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz", + "integrity": "sha1-SrTJoPWlTbkzi0w02Gv86PSzVXE=", + "dev": true, + "requires": { + "duplexer": "~0.1.1", + "from": "~0", + "map-stream": "~0.1.0", + "pause-stream": "0.0.11", + "split": "0.3", + "stream-combiner": "~0.0.4", + "through": "~2.3.1" + } + }, + "eventemitter3": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.0.tgz", + "integrity": "sha512-qerSRB0p+UDEssxTtm6EDKcE7W4OaoisfIMl4CngyEhjpYglocpNg6UEqCvemdGhosAsg4sO2dXJOdyBifPGCg==", + "dev": true + }, + "events": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.0.0.tgz", + "integrity": "sha512-Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA==", + "dev": true + }, + "eventsource": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.0.7.tgz", + "integrity": "sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ==", + "dev": true, + "requires": { + "original": "^1.0.0" + } + }, + "evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "dev": true, + "requires": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "exec-sh": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.2.2.tgz", + "integrity": "sha512-FIUCJz1RbuS0FKTdaAafAByGS0CPvU3R0MeHxgtl+djzCc//F8HakL8GzmVNZanasTbTAY/3DRFA0KpVqj/eAw==", + "dev": true, + "requires": { + "merge": "^1.2.0" + } + }, + "execa": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.10.0.tgz", + "integrity": "sha512-7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw==", + "dev": true, + "requires": { + "cross-spawn": "^6.0.0", + "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" + } + }, + "executable": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/executable/-/executable-4.1.1.tgz", + "integrity": "sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==", + "dev": true, + "requires": { + "pify": "^2.2.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", + "dev": true + }, + "exit-hook": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz", + "integrity": "sha1-8FyiM7SMBdVP/wd2XfhQfpXAL/g=", + "dev": true + }, + "expand-brackets": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", + "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", + "dev": true, + "requires": { + "is-posix-bracket": "^0.1.0" + } + }, + "expand-range": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", + "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", + "dev": true, + "requires": { + "fill-range": "^2.1.0" + }, + "dependencies": { + "fill-range": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz", + "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", + "dev": true, + "requires": { + "is-number": "^2.1.0", + "isobject": "^2.0.0", + "randomatic": "^3.0.0", + "repeat-element": "^1.1.2", + "repeat-string": "^1.5.2" + } + }, + "is-number": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", + "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + } + } + }, + "expand-tilde": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-1.2.2.tgz", + "integrity": "sha1-C4HrqJflo9MdHD0QL48BRB5VlEk=", + "dev": true, + "requires": { + "os-homedir": "^1.0.1" + } + }, + "expect": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-23.6.0.tgz", + "integrity": "sha512-dgSoOHgmtn/aDGRVFWclQyPDKl2CQRq0hmIEoUAuQs/2rn2NcvCWcSCovm6BLeuB/7EZuLGu2QfnR+qRt5OM4w==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "jest-diff": "^23.6.0", + "jest-get-type": "^22.1.0", + "jest-matcher-utils": "^23.6.0", + "jest-message-util": "^23.4.0", + "jest-regex-util": "^23.3.0" + } + }, + "expect-puppeteer": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/expect-puppeteer/-/expect-puppeteer-4.3.0.tgz", + "integrity": "sha512-p8N/KSVPG9PAOJlftK5f1n3JrULJ6Qq1EQ8r/n9xzkX2NmXbK8PcnJnkSAEzEHrMycELKGnlJV7M5nkgm+wEWA==", + "dev": true + }, + "express": { + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", + "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", + "dev": true, + "requires": { + "accepts": "~1.3.7", + "array-flatten": "1.1.1", + "body-parser": "1.19.0", + "content-disposition": "0.5.3", + "content-type": "~1.0.4", + "cookie": "0.4.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.1.2", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.5", + "qs": "6.7.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.1.2", + "send": "0.17.1", + "serve-static": "1.14.1", + "setprototypeof": "1.1.1", + "statuses": "~1.5.0", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "dependencies": { + "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" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "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" + } + } + } + }, + "external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, + "requires": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + }, + "dependencies": { + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "requires": { + "os-tmpdir": "~1.0.2" + } + } + } + }, + "extglob": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", + "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "dev": true, + "requires": { + "is-extglob": "^1.0.0" + }, + "dependencies": { + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + } + } + }, + "extract-stack": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/extract-stack/-/extract-stack-1.0.0.tgz", + "integrity": "sha1-uXrK+UQe6iMyUpYktzL8WhyBZfo=", + "dev": true + }, + "extract-zip": { + "version": "1.6.7", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.6.7.tgz", + "integrity": "sha1-qEC0uK9kAyZMjbV/Txp0Mz74H+k=", + "dev": true, + "requires": { + "concat-stream": "1.6.2", + "debug": "2.6.9", + "mkdirp": "0.5.1", + "yauzl": "2.4.1" + }, + "dependencies": { + "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" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "dev": true + }, + "fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", + "dev": true + }, + "fast-diff": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", + "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", + "dev": true + }, + "fast-glob": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.0.4.tgz", + "integrity": "sha512-wkIbV6qg37xTJwqSsdnIphL1e+LaGz4AIQqr00mIubMaEhv1/HEmJ0uuCGZRNRUkZZmOB5mJKO0ZUTVq+SxMQg==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.1", + "@nodelib/fs.walk": "^1.2.1", + "glob-parent": "^5.0.0", + "is-glob": "^4.0.1", + "merge2": "^1.2.3", + "micromatch": "^4.0.2" + } + }, + "fast-json-stable-stringify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "fast-safe-stringify": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz", + "integrity": "sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA==", + "dev": true + }, + "fastq": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.6.0.tgz", + "integrity": "sha512-jmxqQ3Z/nXoeyDmWAzF9kH1aGZSis6e/SbfPmJpUnyZ0ogr6iscHQaml4wsEepEWSdtmpy+eVXmCRIMpxaXqOA==", + "dev": true, + "requires": { + "reusify": "^1.0.0" + } + }, + "faye-websocket": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", + "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", + "dev": true, + "requires": { + "websocket-driver": ">=0.5.1" + } + }, + "fb-watchman": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.0.tgz", + "integrity": "sha1-VOmr99+i8mzZsWNsWIwa/AXeXVg=", + "dev": true, + "requires": { + "bser": "^2.0.0" + } + }, + "fd-slicer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz", + "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=", + "dev": true, + "requires": { + "pend": "~1.2.0" + } + }, + "fecha": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fecha/-/fecha-2.3.3.tgz", + "integrity": "sha512-lUGBnIamTAwk4znq5BcqsDaxSmZ9nDVJaij6NvRt/Tg4R69gERA+otPKbS86ROw9nxVMw2/mp1fnaiWqbs6Sdg==", + "dev": true + }, + "figgy-pudding": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.1.tgz", + "integrity": "sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w==", + "dev": true + }, + "figures": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", + "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5", + "object-assign": "^4.1.0" + } + }, + "file-entry-cache": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", + "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", + "dev": true, + "requires": { + "flat-cache": "^2.0.1" + } + }, + "filename-regex": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", + "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", + "dev": true + }, + "fileset": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/fileset/-/fileset-2.0.3.tgz", + "integrity": "sha1-jnVIqW08wjJ+5eZ0FocjozO7oqA=", + "dev": true, + "requires": { + "glob": "^7.0.3", + "minimatch": "^3.0.3" + } + }, + "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" + } + }, + "finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "dev": true, + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + }, + "dependencies": { + "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" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + } + }, + "find-file-up": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/find-file-up/-/find-file-up-0.1.3.tgz", + "integrity": "sha1-z2gJG8+fMApA2kEbN9pczlovvqA=", + "dev": true, + "requires": { + "fs-exists-sync": "^0.1.0", + "resolve-dir": "^0.1.0" + } + }, + "find-pkg": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/find-pkg/-/find-pkg-0.1.2.tgz", + "integrity": "sha1-G9wiwG42NlUy4qJIBGhUuXiNpVc=", + "dev": true, + "requires": { + "find-file-up": "^0.1.2" + } + }, + "find-process": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/find-process/-/find-process-1.4.2.tgz", + "integrity": "sha512-O83EVJr4dWvHJ7QpUzANNAMeQVKukRzRqRx4AIzdLYRrQorRdbqDwLPigkd9PYPhJRhmNPAoVjOm9bcwSmcZaw==", + "dev": true, + "requires": { + "chalk": "^2.0.1", + "commander": "^2.11.0", + "debug": "^2.6.8" + }, + "dependencies": { + "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" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.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" + }, + "dependencies": { + "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 + }, + "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 + }, + "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" + } + } + } + }, + "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" + } + }, + "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" + } + }, + "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-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-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" + } + }, + "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 + } + } + }, + "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" + } + }, + "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" + } + } + } + }, + "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" + } + } + } + }, + "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" + } + }, + "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-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-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" + } + }, + "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" + } + } + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "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" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "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" + } + }, + "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" + } + } + } + }, + "flat-cache": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", + "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", + "dev": true, + "requires": { + "flatted": "^2.0.0", + "rimraf": "2.6.3", + "write": "1.0.3" + }, + "dependencies": { + "rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "flatted": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.1.tgz", + "integrity": "sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg==", + "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" + } + }, + "follow-redirects": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.9.0.tgz", + "integrity": "sha512-CRcPzsSIbXyVDl0QI01muNDu69S8trU4jArW9LpOt2WtC6LyUJetcIrmfHsRBx7/Jb6GHJUiuqyYxPooFfNt6A==", + "dev": true, + "requires": { + "debug": "^3.0.0" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "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": "0.1.5", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", + "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", + "dev": true, + "requires": { + "for-in": "^1.0.1" + } + }, + "foreachasync": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/foreachasync/-/foreachasync-3.0.0.tgz", + "integrity": "sha1-VQKYfchxS+M5IJfzLgBxyd7gfPY=", + "dev": true + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true + }, + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "forwarded": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", + "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", + "dev": true + }, + "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" + } + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "dev": true + }, + "from": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/from/-/from-0.1.7.tgz", + "integrity": "sha1-g8YK/Fi5xWmXAH7Rp2izqzA6RP4=", + "dev": true + }, + "from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + } + }, + "fs-exists-sync": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz", + "integrity": "sha1-mC1ok6+RjnLQjeyehnP/K1qNat0=", + "dev": true + }, + "fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "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-write-stream-atomic": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" + } + }, + "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.9", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.9.tgz", + "integrity": "sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw==", + "dev": true, + "optional": true, + "requires": { + "nan": "^2.12.1", + "node-pre-gyp": "^0.12.0" + }, + "dependencies": { + "abbrev": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true, + "dev": true + }, + "aproba": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "optional": true + }, + "are-we-there-yet": { + "version": "1.1.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "balanced-match": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "bundled": true, + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "chownr": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "bundled": true, + "dev": true + }, + "console-control-strings": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "debug": { + "version": "4.1.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ms": "^2.1.1" + } + }, + "deep-extend": { + "version": "0.6.0", + "bundled": true, + "dev": true, + "optional": true + }, + "delegates": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "detect-libc": { + "version": "1.0.3", + "bundled": true, + "dev": true, + "optional": true + }, + "fs-minipass": { + "version": "1.2.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minipass": "^2.2.1" + } + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "gauge": { + "version": "2.7.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "glob": { + "version": "7.1.3", + "bundled": true, + "dev": true, + "optional": 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" + } + }, + "has-unicode": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "iconv-lite": { + "version": "0.4.24", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ignore-walk": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minimatch": "^3.0.4" + } + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.3", + "bundled": true, + "dev": true + }, + "ini": { + "version": "1.3.5", + "bundled": true, + "dev": true, + "optional": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "isarray": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "bundled": true, + "dev": true + }, + "minipass": { + "version": "2.3.5", + "bundled": true, + "dev": true, + "requires": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + }, + "minizlib": { + "version": "1.2.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minipass": "^2.2.1" + } + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "dev": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "needle": { + "version": "2.3.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "debug": "^4.1.0", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + } + }, + "node-pre-gyp": { + "version": "0.12.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "detect-libc": "^1.0.2", + "mkdirp": "^0.5.1", + "needle": "^2.2.1", + "nopt": "^4.0.1", + "npm-packlist": "^1.1.6", + "npmlog": "^4.0.2", + "rc": "^1.2.7", + "rimraf": "^2.6.1", + "semver": "^5.3.0", + "tar": "^4" + } + }, + "nopt": { + "version": "4.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "abbrev": "1", + "osenv": "^0.1.4" + } + }, + "npm-bundled": { + "version": "1.0.6", + "bundled": true, + "dev": true, + "optional": true + }, + "npm-packlist": { + "version": "1.4.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1" + } + }, + "npmlog": { + "version": "4.1.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "once": { + "version": "1.4.0", + "bundled": true, + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "os-homedir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "os-tmpdir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "osenv": { + "version": "0.1.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "process-nextick-args": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "rc": { + "version": "1.2.8", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "dev": true, + "optional": 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" + } + }, + "rimraf": { + "version": "2.6.3", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "glob": "^7.1.3" + } + }, + "safe-buffer": { + "version": "5.1.2", + "bundled": true, + "dev": true + }, + "safer-buffer": { + "version": "2.1.2", + "bundled": true, + "dev": true, + "optional": true + }, + "sax": { + "version": "1.2.4", + "bundled": true, + "dev": true, + "optional": true + }, + "semver": { + "version": "5.7.0", + "bundled": true, + "dev": true, + "optional": true + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "string-width": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "tar": { + "version": "4.4.8", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "chownr": "^1.1.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.3.4", + "minizlib": "^1.1.1", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.2", + "yallist": "^3.0.2" + } + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "wide-align": { + "version": "1.1.3", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "string-width": "^1.0.2 || 2" + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "yallist": { + "version": "3.0.3", + "bundled": true, + "dev": true + } + } + }, + "fstream": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz", + "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "inherits": "~2.0.0", + "mkdirp": ">=0.5 0", + "rimraf": "2" + } + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true + }, + "gauge": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "dev": true, + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "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" + } + }, + "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" + } + }, + "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" + } + } + } + }, + "gaze": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz", + "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==", + "dev": true, + "requires": { + "globule": "^1.0.0" + } + }, + "generic-pool": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/generic-pool/-/generic-pool-3.7.1.tgz", + "integrity": "sha512-ug6DAZoNgWm6q5KhPFA+hzXfBLFQu5sTXxPpv44DmE0A2g+CiHoq9LTVdkXpZMkYVMoGw83F6W+WT0h0MFMK/w==", + "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-port": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/get-port/-/get-port-4.2.0.tgz", + "integrity": "sha512-/b3jarXkH8KJoOMQc3uVGHASwGLPq3gSFJ7tgJm2diza+bydJPTGOibin2steecKeOylE8oY2JERlVWkAJO6yw==", + "dev": true + }, + "get-stdin": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz", + "integrity": "sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==", + "dev": 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 + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "dev": true + }, + "getos": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/getos/-/getos-3.1.1.tgz", + "integrity": "sha512-oUP1rnEhAr97rkitiszGP9EgDVYnmchgFzfqRzSkgtfv7ai6tEi7Ko8GgjNXts7VLWEqrTWyhsOKLe5C5b/Zkg==", + "dev": true, + "requires": { + "async": "2.6.1" + }, + "dependencies": { + "async": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz", + "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", + "dev": true, + "requires": { + "lodash": "^4.17.10" + } + } + } + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "git-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/git-up/-/git-up-2.1.0.tgz", + "integrity": "sha512-MJgwfcSd9qxgDyEYpRU/CDxNpUadrK80JHuEQDG4Urn0m7tpSOgCBrtiSIa9S9KH8Tbuo/TN8SSQmJBvsw1HkA==", + "dev": true, + "requires": { + "is-ssh": "^1.3.0", + "parse-url": "^3.0.2" + } + }, + "git-url-parse": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/git-url-parse/-/git-url-parse-10.1.0.tgz", + "integrity": "sha512-goZOORAtFjU1iG+4zZgWq+N7It09PqS3Xsy43ZwhP5unDD0tTSmXTpqULHodMdJXGejm3COwXIhIRT6Z8DYVZQ==", + "dev": true, + "requires": { + "git-up": "^2.0.0" + } + }, + "github-slugger": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-1.2.0.tgz", + "integrity": "sha512-wIaa75k1vZhyPm9yWrD08A5Xnx/V+RmzGrpjQuLemGKSb77Qukiaei58Bogrl/LZSADDfPzKJX8jhLs4CRTl7Q==", + "dev": true, + "requires": { + "emoji-regex": ">=6.0.0 <=6.1.1" + }, + "dependencies": { + "emoji-regex": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-6.1.1.tgz", + "integrity": "sha1-xs0OwbBkLio8Z6ETfvxeeW2k+I4=", + "dev": true + } + } + }, + "glob": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", + "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", + "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-base": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", + "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", + "dev": true, + "requires": { + "glob-parent": "^2.0.0", + "is-glob": "^2.0.0" + }, + "dependencies": { + "glob-parent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", + "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", + "dev": true, + "requires": { + "is-glob": "^2.0.0" + } + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "requires": { + "is-extglob": "^1.0.0" + } + } + } + }, + "glob-parent": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz", + "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "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" + }, + "dependencies": { + "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" + } + }, + "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" + } + } + } + }, + "global-dirs": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", + "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=", + "dev": true, + "requires": { + "ini": "^1.3.4" + } + }, + "global-modules": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-0.2.3.tgz", + "integrity": "sha1-6lo77ULG1s6ZWk+KEmm12uIjgo0=", + "dev": true, + "requires": { + "global-prefix": "^0.1.4", + "is-windows": "^0.2.0" + }, + "dependencies": { + "is-windows": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-0.2.0.tgz", + "integrity": "sha1-3hqm1j6indJIc3tp8f+LgALSEIw=", + "dev": true + } + } + }, + "global-prefix": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-0.1.5.tgz", + "integrity": "sha1-jTvGuNo8qBEqFg2NSW/wRiv+948=", + "dev": true, + "requires": { + "homedir-polyfill": "^1.0.0", + "ini": "^1.3.4", + "is-windows": "^0.2.0", + "which": "^1.2.12" + }, + "dependencies": { + "is-windows": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-0.2.0.tgz", + "integrity": "sha1-3hqm1j6indJIc3tp8f+LgALSEIw=", + "dev": true + } + } + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true + }, + "globals-docs": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/globals-docs/-/globals-docs-2.4.1.tgz", + "integrity": "sha512-qpPnUKkWnz8NESjrCvnlGklsgiQzlq+rcCxoG5uNQ+dNA7cFMCmn231slLAwS2N/PlkzZ3COL8CcS10jXmLHqg==", + "dev": true + }, + "globby": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.1.tgz", + "integrity": "sha512-sSs4inE1FB2YQiymcmTv6NWENryABjUNPeWhOvmn4SjtKybglsyPZxFB3U1/+L1bYi0rNZDqCLlHyLYDl1Pq5A==", + "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" + } + }, + "globule": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/globule/-/globule-1.2.1.tgz", + "integrity": "sha512-g7QtgWF4uYSL5/dn71WxubOrS7JVGCnFPEnoeChJmBnyR9Mw8nGoEwOgJL/RC2Te0WhbsEUCejfH8SZNJ+adYQ==", + "dev": true, + "requires": { + "glob": "~7.1.1", + "lodash": "~4.17.10", + "minimatch": "~3.0.2" + } + }, + "glur": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/glur/-/glur-1.1.2.tgz", + "integrity": "sha1-8g6jbbEDv8KSNDkh8fkeg8NGdok=", + "dev": true + }, + "graceful-fs": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.2.tgz", + "integrity": "sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q==", + "dev": true + }, + "graphlibrary": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/graphlibrary/-/graphlibrary-2.2.0.tgz", + "integrity": "sha512-XTcvT55L8u4MBZrM37zXoUxsgxs/7sow7YSygd9CIwfWTVO8RVu7AYXhhCiTuFEf+APKgx6Jk4SuQbYR0vYKmQ==", + "requires": { + "lodash": "^4.17.5" + } + }, + "growl": { + "version": "1.10.5", + "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", + "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", + "dev": true + }, + "growly": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", + "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=", + "dev": true + }, + "handle-thing": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.0.tgz", + "integrity": "sha512-d4sze1JNC454Wdo2fkuyzCr6aHcbL6PGGuFAz0Li/NcOm1tCHGnWDRmJP85dh9IhQErTc2svWFEX5xHIOo//kQ==", + "dev": true + }, + "handlebars": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.4.0.tgz", + "integrity": "sha512-xkRtOt3/3DzTKMOt3xahj2M/EqNhY988T+imYSlMgs5fVhLN2fmKVVj0LtEGmb+3UUYV5Qmm1052Mm3dIQxOvw==", + "dev": true, + "requires": { + "neo-async": "^2.6.0", + "optimist": "^0.6.1", + "source-map": "^0.6.1", + "uglify-js": "^3.1.4" + } + }, + "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": { + "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, + "requires": { + "ajv": "^6.5.5", + "har-schema": "^2.0.0" + } + }, + "harmony-reflect": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.1.tgz", + "integrity": "sha512-WJTeyp0JzGtHcuMsi7rw2VwtkvLa+JyfEKJCFyfcS0+CDkjQ5lHPu7zEhFZP+PDSRrEgXa5Ah0l1MbgbE41XjA==", + "dev": true + }, + "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": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "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-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", + "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=", + "dev": true + }, + "has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", + "dev": true + }, + "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" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + } + } + }, + "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": { + "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-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" + } + } + } + }, + "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" + } + } + } + }, + "hash-base": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", + "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "hast-util-is-element": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-1.0.3.tgz", + "integrity": "sha512-C62CVn7jbjp89yOhhy7vrkSaB7Vk906Gtcw/Ihd+Iufnq+2pwOZjdPmpzpKLWJXPJBMDX3wXg4FqmdOayPcewA==", + "dev": true + }, + "hast-util-sanitize": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/hast-util-sanitize/-/hast-util-sanitize-1.3.1.tgz", + "integrity": "sha512-AIeKHuHx0Wk45nSkGVa2/ujQYTksnDl8gmmKo/mwQi7ag7IBZ8cM3nJ2G86SajbjGP/HRpud6kMkPtcM2i0Tlw==", + "dev": true, + "requires": { + "xtend": "^4.0.1" + } + }, + "hast-util-to-html": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-4.0.1.tgz", + "integrity": "sha512-2emzwyf0xEsc4TBIPmDJmBttIw8R4SXAJiJZoiRR/s47ODYWgOqNoDbf2SJAbMbfNdFWMiCSOrI3OVnX6Qq2Mg==", + "dev": true, + "requires": { + "ccount": "^1.0.0", + "comma-separated-tokens": "^1.0.1", + "hast-util-is-element": "^1.0.0", + "hast-util-whitespace": "^1.0.0", + "html-void-elements": "^1.0.0", + "property-information": "^4.0.0", + "space-separated-tokens": "^1.0.0", + "stringify-entities": "^1.0.1", + "unist-util-is": "^2.0.0", + "xtend": "^4.0.1" + }, + "dependencies": { + "unist-util-is": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-2.1.3.tgz", + "integrity": "sha512-4WbQX2iwfr/+PfM4U3zd2VNXY+dWtZsN1fLnWEi2QQXA4qyDYAZcDMfXUX0Cu6XZUHHAO9q4nyxxLT4Awk1qUA==", + "dev": true + } + } + }, + "hast-util-whitespace": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-1.0.3.tgz", + "integrity": "sha512-AlkYiLTTwPOyxZ8axq2/bCwRUPjIPBfrHkXuCR92B38b3lSdU22R5F/Z4DL6a2kxWpekWq1w6Nj48tWat6GeRA==", + "dev": true + }, + "he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" + }, + "highlight.js": { + "version": "9.15.10", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.15.10.tgz", + "integrity": "sha512-RoV7OkQm0T3os3Dd2VHLNMoaoDVx77Wygln3n9l5YV172XonWG6rgQD3XnF/BuFFZw9A0TJgmMSO8FEWQgvcXw==", + "dev": true + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "dev": true, + "requires": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "home-or-tmp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", + "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", + "dev": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.1" + } + }, + "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.4", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.4.tgz", + "integrity": "sha512-pzXIvANXEFrc5oFFXRMkbLPQ2rXRoDERwDLyrcUxGhaZhgP54BBSl9Oheh7Vv0T090cszWBxPjkQQ5Sq1PbBRQ==", + "dev": true + }, + "hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } + }, + "html-encoding-sniffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz", + "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==", + "dev": true, + "requires": { + "whatwg-encoding": "^1.0.1" + } + }, + "html-entities": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.2.1.tgz", + "integrity": "sha1-DfKTUfByEWNRXfueVUPl9u7VFi8=", + "dev": true + }, + "html-minifier": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-4.0.0.tgz", + "integrity": "sha512-aoGxanpFPLg7MkIl/DDFYtb0iWz7jMFGqFhvEDZga6/4QTjneiD8I/NXL1x5aaoCp7FSIT6h/OhykDdPsbtMig==", + "requires": { + "camel-case": "^3.0.0", + "clean-css": "^4.2.1", + "commander": "^2.19.0", + "he": "^1.2.0", + "param-case": "^2.1.1", + "relateurl": "^0.2.7", + "uglify-js": "^3.5.1" + } + }, + "html-void-elements": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-1.0.4.tgz", + "integrity": "sha512-yMk3naGPLrfvUV9TdDbuYXngh/TpHbA6TrOw3HL9kS8yhwx7i309BReNg7CbAJXGE+UMJ6je5OqJ7lC63o6YuQ==", + "dev": true + }, + "http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=", + "dev": true + }, + "http-errors": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", + "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "dev": true, + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + } + }, + "http-parser-js": { + "version": "0.4.10", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.10.tgz", + "integrity": "sha1-ksnBN0w1CF912zWexWzCV8u5P6Q=", + "dev": true + }, + "http-proxy": { + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.0.tgz", + "integrity": "sha512-84I2iJM/n1d4Hdgc6y2+qY5mDaz2PUVjlg9znE9byl+q0uC3DeByqBGReQu5tpLK0TAqTIXScRUV+dg7+bUPpQ==", + "dev": true, + "requires": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + } + }, + "http-proxy-middleware": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz", + "integrity": "sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==", + "dev": true, + "requires": { + "http-proxy": "^1.17.0", + "is-glob": "^4.0.0", + "lodash": "^4.17.11", + "micromatch": "^3.1.10" + }, + "dependencies": { + "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 + }, + "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 + }, + "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" + } + } + } + }, + "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" + } + }, + "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" + } + }, + "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-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-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" + } + }, + "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 + } + } + }, + "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" + } + } + } + }, + "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" + } + } + } + }, + "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-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-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" + } + }, + "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" + } + } + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "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" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "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" + } + } + } + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", + "dev": true + }, + "https-proxy-agent": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.2.tgz", + "integrity": "sha512-c8Ndjc9Bkpfx/vCJueCPy0jlP4ccCCSNDp8xwCZzPjKJUm+B+u9WX2x98Qx4n1PiMNTWo3D7KK5ifNV/yJyRzg==", + "dev": true, + "requires": { + "agent-base": "^4.3.0", + "debug": "^3.1.0" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "husky": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/husky/-/husky-1.3.1.tgz", + "integrity": "sha512-86U6sVVVf4b5NYSZ0yvv88dRgBSSXXmHaiq5pP4KDj5JVzdwKgBjEtUPOm8hcoytezFwbU+7gotXNhpHdystlg==", + "dev": true, + "requires": { + "cosmiconfig": "^5.0.7", + "execa": "^1.0.0", + "find-up": "^3.0.0", + "get-stdin": "^6.0.0", + "is-ci": "^2.0.0", + "pkg-dir": "^3.0.0", + "please-upgrade-node": "^3.1.1", + "read-pkg": "^4.0.1", + "run-node": "^1.0.0", + "slash": "^2.0.0" + }, + "dependencies": { + "ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", + "dev": 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, + "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" + } + }, + "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, + "requires": { + "pump": "^3.0.0" + } + }, + "is-ci": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", + "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", + "dev": true, + "requires": { + "ci-info": "^2.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 + }, + "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, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "read-pkg": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-4.0.1.tgz", + "integrity": "sha1-ljYlN48+HE1IyFhytabsfV0JMjc=", + "dev": true, + "requires": { + "normalize-package-data": "^2.3.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0" + } + }, + "slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "dev": true + } + } + }, + "hyperlinker": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hyperlinker/-/hyperlinker-1.0.0.tgz", + "integrity": "sha512-Ty8UblRWFEcfSuIaajM34LdPXIhbs1ajEX/BBPv24J+enSVaEVY63xQ6lTO9VRYS5LAoghIG0IDJ+p+IPzKUQQ==", + "dev": true + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "icss-replace-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz", + "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=", + "dev": true + }, + "icss-utils": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-4.1.1.tgz", + "integrity": "sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA==", + "dev": true, + "requires": { + "postcss": "^7.0.14" + } + }, + "identity-obj-proxy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz", + "integrity": "sha1-lNK9qWCERT7zb7xarsN+D3nx/BQ=", + "dev": true, + "requires": { + "harmony-reflect": "^1.4.6" + } + }, + "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 + }, + "iferr": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", + "dev": true + }, + "ignore": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.4.tgz", + "integrity": "sha512-MzbUSahkTW1u7JpKKjY7LCARd1fU5W2rLdxlM4kdkayuCwZImjkpluF9CM1aLewYJguPDqewLam18Y6AU69A8A==", + "dev": true + }, + "image-size": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.8.3.tgz", + "integrity": "sha512-SMtq1AJ+aqHB45c3FsB4ERK0UCiA2d3H1uq8s+8T0Pf8A3W4teyBQyaFaktH6xvZqh+npwlKU7i4fJo0r7TYTg==", + "dev": true, + "requires": { + "queue": "6.0.1" + } + }, + "import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", + "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", + "dev": true, + "requires": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + } + }, + "import-local": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-1.0.0.tgz", + "integrity": "sha512-vAaZHieK9qjGo58agRBg+bhHX3hoTZU/Oa3GESWLz7t1U62fk63aHuDJJEteXoDeTCcPmUT+z38gkHPZkkmpmQ==", + "dev": true, + "requires": { + "pkg-dir": "^2.0.0", + "resolve-cwd": "^2.0.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" + } + }, + "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" + } + }, + "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-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 + }, + "pkg-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "dev": true, + "requires": { + "find-up": "^2.1.0" + } + } + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true + }, + "in-publish": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.0.tgz", + "integrity": "sha1-4g/146KvwmkDILbcVSaCqcf631E=", + "dev": true + }, + "indent-string": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", + "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=", + "dev": true + }, + "indexes-of": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", + "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", + "dev": true + }, + "infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", + "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.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "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 + }, + "inquirer": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz", + "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==", + "dev": true, + "requires": { + "ansi-escapes": "^3.2.0", + "chalk": "^2.4.2", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^3.0.3", + "figures": "^2.0.0", + "lodash": "^4.17.12", + "mute-stream": "0.0.7", + "run-async": "^2.2.0", + "rxjs": "^6.4.0", + "string-width": "^2.1.0", + "strip-ansi": "^5.1.0", + "through": "^2.3.6" + }, + "dependencies": { + "cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "dev": true, + "requires": { + "restore-cursor": "^2.0.0" + } + }, + "figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "dev": true + }, + "onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "dev": true, + "requires": { + "mimic-fn": "^1.0.0" + } + }, + "restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "dev": true, + "requires": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + } + }, + "rxjs": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz", + "integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + } + } + }, + "internal-ip": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz", + "integrity": "sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==", + "dev": true, + "requires": { + "default-gateway": "^4.2.0", + "ipaddr.js": "^1.9.0" + } + }, + "interpret": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.2.0.tgz", + "integrity": "sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==", + "dev": true + }, + "invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dev": true, + "requires": { + "loose-envify": "^1.0.0" + } + }, + "invert-kv": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", + "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", + "dev": true + }, + "ip": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", + "dev": true + }, + "ip-regex": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", + "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", + "dev": true + }, + "ipaddr.js": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.0.tgz", + "integrity": "sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA==", + "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-absolute-url": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", + "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==", + "dev": true + }, + "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" + } + }, + "is-alphabetical": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.3.tgz", + "integrity": "sha512-eEMa6MKpHFzw38eKm56iNNi6GJ7lf6aLLio7Kr23sJPAECscgRtZvOBYybejWDQ2bM949Y++61PY+udzj5QMLA==", + "dev": true + }, + "is-alphanumeric": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-alphanumeric/-/is-alphanumeric-1.0.0.tgz", + "integrity": "sha1-Spzvcdr0wAHB2B1j0UDPU/1oifQ=", + "dev": true + }, + "is-alphanumerical": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.3.tgz", + "integrity": "sha512-A1IGAPO5AW9vSh7omxIlOGwIqEvpW/TA+DksVOPM5ODuxKlZS09+TEM1E3275lJqO2oJ38vDpeAL3DCIiHE6eA==", + "dev": true, + "requires": { + "is-alphabetical": "^1.0.0", + "is-decimal": "^1.0.0" + } + }, + "is-arguments": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz", + "integrity": "sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA==", + "dev": true + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "requires": { + "binary-extensions": "^1.0.0" + } + }, + "is-buffer": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz", + "integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==", + "dev": true + }, + "is-callable": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz", + "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==", + "dev": true + }, + "is-ci": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz", + "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==", + "dev": true, + "requires": { + "ci-info": "^1.5.0" + } + }, + "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" + } + }, + "is-date-object": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", + "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", + "dev": true + }, + "is-decimal": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.3.tgz", + "integrity": "sha512-bvLSwoDg2q6Gf+E2LEPiklHZxxiSi3XAh4Mav65mKqTfCO1HM3uBs24TjEH8iJX3bbDdLXKJXBTmGzuTUuAEjQ==", + "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-directory": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", + "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", + "dev": true + }, + "is-dotfile": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", + "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=", + "dev": true + }, + "is-equal-shallow": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", + "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", + "dev": true, + "requires": { + "is-primitive": "^2.0.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true + }, + "is-extglob": { + "version": "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.0.2", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", + "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "is-generator-fn": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-1.0.0.tgz", + "integrity": "sha1-lp1J4bszKfa7fwkIm+JleLLd1Go=", + "dev": 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-hexadecimal": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.3.tgz", + "integrity": "sha512-zxQ9//Q3D/34poZf8fiy3m3XVpbQc7ren15iKqrTtLPwkPD/t3Scy9Imp63FujULGxuK0ZlCwoo5xNpktFgbOA==", + "dev": true + }, + "is-installed-globally": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.1.0.tgz", + "integrity": "sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA=", + "dev": true, + "requires": { + "global-dirs": "^0.1.0", + "is-path-inside": "^1.0.0" + } + }, + "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": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "is-path-cwd": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", + "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", + "dev": true + }, + "is-path-in-cwd": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", + "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==", + "dev": true, + "requires": { + "is-path-inside": "^2.1.0" + }, + "dependencies": { + "is-path-inside": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", + "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", + "dev": true, + "requires": { + "path-is-inside": "^1.0.2" + } + } + } + }, + "is-path-inside": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", + "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", + "dev": true, + "requires": { + "path-is-inside": "^1.0.1" + } + }, + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", + "dev": true + }, + "is-plain-object": { + "version": "2.0.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" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + } + } + }, + "is-posix-bracket": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", + "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=", + "dev": true + }, + "is-primitive": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", + "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", + "dev": true + }, + "is-promise": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", + "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", + "dev": true + }, + "is-regex": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", + "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", + "dev": true, + "requires": { + "has": "^1.0.1" + } + }, + "is-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", + "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=" + }, + "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-ssh": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/is-ssh/-/is-ssh-1.3.1.tgz", + "integrity": "sha512-0eRIASHZt1E68/ixClI8bp2YK2wmBPVWEismTs6M+M099jKgrzl/3E976zIbImSIob48N2/XGe9y7ZiYdImSlg==", + "dev": true, + "requires": { + "protocols": "^1.1.0" + } + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true + }, + "is-symbol": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz", + "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==", + "dev": true, + "requires": { + "has-symbols": "^1.0.0" + } + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "is-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-whitespace-character": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.3.tgz", + "integrity": "sha512-SNPgMLz9JzPccD3nPctcj8sZlX9DAMJSKH8bP7Z6bohCwuNgX8xbWr1eTAYXX9Vpi/aSn8Y1akL9WgM3t43YNQ==", + "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 + }, + "is-word-character": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.3.tgz", + "integrity": "sha512-0wfcrFgOOOBdgRNT9H33xe6Zi6yhX/uoc4U8NBZGeQQB0ctU1dnlNTyL9JM2646bHDTpsDm1Brb3VPoCIMrd/A==", + "dev": true + }, + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", + "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": "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" + } + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true + }, + "istanbul-api": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/istanbul-api/-/istanbul-api-1.3.7.tgz", + "integrity": "sha512-4/ApBnMVeEPG3EkSzcw25wDe4N66wxwn+KKn6b47vyek8Xb3NBAcg4xfuQbS7BqcZuTX4wxfD5lVagdggR3gyA==", + "dev": true, + "requires": { + "async": "^2.1.4", + "fileset": "^2.0.2", + "istanbul-lib-coverage": "^1.2.1", + "istanbul-lib-hook": "^1.2.2", + "istanbul-lib-instrument": "^1.10.2", + "istanbul-lib-report": "^1.1.5", + "istanbul-lib-source-maps": "^1.2.6", + "istanbul-reports": "^1.5.1", + "js-yaml": "^3.7.0", + "mkdirp": "^0.5.1", + "once": "^1.4.0" + } + }, + "istanbul-lib-coverage": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.2.1.tgz", + "integrity": "sha512-PzITeunAgyGbtY1ibVIUiV679EFChHjoMNRibEIobvmrCRaIgwLxNucOSimtNWUhEib/oO7QY2imD75JVgCJWQ==", + "dev": true + }, + "istanbul-lib-hook": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-1.2.2.tgz", + "integrity": "sha512-/Jmq7Y1VeHnZEQ3TL10VHyb564mn6VrQXHchON9Jf/AEcmQ3ZIiyD1BVzNOKTZf/G3gE+kiGK6SmpF9y3qGPLw==", + "dev": true, + "requires": { + "append-transform": "^0.4.0" + } + }, + "istanbul-lib-instrument": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.10.2.tgz", + "integrity": "sha512-aWHxfxDqvh/ZlxR8BBaEPVSWDPUkGD63VjGQn3jcw8jCp7sHEMKcrj4xfJn/ABzdMEHiQNyvDQhqm5o8+SQg7A==", + "dev": true, + "requires": { + "babel-generator": "^6.18.0", + "babel-template": "^6.16.0", + "babel-traverse": "^6.18.0", + "babel-types": "^6.18.0", + "babylon": "^6.18.0", + "istanbul-lib-coverage": "^1.2.1", + "semver": "^5.3.0" + } + }, + "istanbul-lib-report": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-1.1.5.tgz", + "integrity": "sha512-UsYfRMoi6QO/doUshYNqcKJqVmFe9w51GZz8BS3WB0lYxAllQYklka2wP9+dGZeHYaWIdcXUx8JGdbqaoXRXzw==", + "dev": true, + "requires": { + "istanbul-lib-coverage": "^1.2.1", + "mkdirp": "^0.5.1", + "path-parse": "^1.0.5", + "supports-color": "^3.1.2" + }, + "dependencies": { + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "istanbul-lib-source-maps": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.6.tgz", + "integrity": "sha512-TtbsY5GIHgbMsMiRw35YBHGpZ1DVFEO19vxxeiDMYaeOFOCzfnYVxvl6pOUIZR4dtPhAGpSMup8OyF8ubsaqEg==", + "dev": true, + "requires": { + "debug": "^3.1.0", + "istanbul-lib-coverage": "^1.2.1", + "mkdirp": "^0.5.1", + "rimraf": "^2.6.1", + "source-map": "^0.5.3" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "istanbul-reports": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-1.5.1.tgz", + "integrity": "sha512-+cfoZ0UXzWjhAdzosCPP3AN8vvef8XDkWtTfgaN+7L3YTpNYITnCaEkceo5SEYy644VkHka/P1FvkWvrG/rrJw==", + "dev": true, + "requires": { + "handlebars": "^4.0.3" + } + }, + "jest": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-23.6.0.tgz", + "integrity": "sha512-lWzcd+HSiqeuxyhG+EnZds6iO3Y3ZEnMrfZq/OTGvF/C+Z4fPMCdhWTGSAiO2Oym9rbEXfwddHhh6jqrTF3+Lw==", + "dev": true, + "requires": { + "import-local": "^1.0.0", + "jest-cli": "^23.6.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "braces": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "dev": true, + "requires": { + "expand-range": "^1.8.1", + "preserve": "^0.2.0", + "repeat-element": "^1.1.2" + } + }, + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true + }, + "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, + "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, + "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" + } + }, + "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" + } + }, + "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 + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "requires": { + "is-extglob": "^1.0.0" + } + }, + "jest-cli": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-23.6.0.tgz", + "integrity": "sha512-hgeD1zRUp1E1zsiyOXjEn4LzRLWdJBV//ukAHGlx6s5mfCNJTbhbHjgxnDUXA8fsKWN/HqFFF6X5XcCwC/IvYQ==", + "dev": true, + "requires": { + "ansi-escapes": "^3.0.0", + "chalk": "^2.0.1", + "exit": "^0.1.2", + "glob": "^7.1.2", + "graceful-fs": "^4.1.11", + "import-local": "^1.0.0", + "is-ci": "^1.0.10", + "istanbul-api": "^1.3.1", + "istanbul-lib-coverage": "^1.2.0", + "istanbul-lib-instrument": "^1.10.1", + "istanbul-lib-source-maps": "^1.2.4", + "jest-changed-files": "^23.4.2", + "jest-config": "^23.6.0", + "jest-environment-jsdom": "^23.4.0", + "jest-get-type": "^22.1.0", + "jest-haste-map": "^23.6.0", + "jest-message-util": "^23.4.0", + "jest-regex-util": "^23.3.0", + "jest-resolve-dependencies": "^23.6.0", + "jest-runner": "^23.6.0", + "jest-runtime": "^23.6.0", + "jest-snapshot": "^23.6.0", + "jest-util": "^23.4.0", + "jest-validate": "^23.6.0", + "jest-watcher": "^23.4.0", + "jest-worker": "^23.2.0", + "micromatch": "^2.3.11", + "node-notifier": "^5.2.1", + "prompts": "^0.1.9", + "realpath-native": "^1.0.0", + "rimraf": "^2.5.4", + "slash": "^1.0.0", + "string-length": "^2.0.0", + "strip-ansi": "^4.0.0", + "which": "^1.2.12", + "yargs": "^11.0.0" + } + }, + "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" + } + }, + "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" + } + }, + "mem": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", + "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", + "dev": true, + "requires": { + "mimic-fn": "^1.0.0" + } + }, + "micromatch": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "dev": true, + "requires": { + "arr-diff": "^2.0.0", + "array-unique": "^0.2.1", + "braces": "^1.8.2", + "expand-brackets": "^0.1.4", + "extglob": "^0.3.1", + "filename-regex": "^2.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.1", + "kind-of": "^3.0.2", + "normalize-path": "^2.0.1", + "object.omit": "^2.0.0", + "parse-glob": "^3.0.4", + "regex-cache": "^0.4.2" + } + }, + "mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "dev": true + }, + "os-locale": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", + "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", + "dev": true, + "requires": { + "execa": "^0.7.0", + "lcid": "^1.0.0", + "mem": "^1.1.0" + } + }, + "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-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 + }, + "slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", + "dev": true + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + }, + "y18n": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", + "dev": true + }, + "yargs": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.1.0.tgz", + "integrity": "sha512-NwW69J42EsCSanF8kyn5upxvjp5ds+t3+udGBeTbFnERA+lF541DDpMawzo4z6W/QrzNM18D+BPMiOBibnFV5A==", + "dev": true, + "requires": { + "cliui": "^4.0.0", + "decamelize": "^1.1.1", + "find-up": "^2.1.0", + "get-caller-file": "^1.0.1", + "os-locale": "^2.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^9.0.2" + } + }, + "yargs-parser": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz", + "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", + "dev": true, + "requires": { + "camelcase": "^4.1.0" + } + } + } + }, + "jest-changed-files": { + "version": "23.4.2", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-23.4.2.tgz", + "integrity": "sha512-EyNhTAUWEfwnK0Is/09LxoqNDOn7mU7S3EHskG52djOFS/z+IT0jT3h3Ql61+dklcG7bJJitIWEMB4Sp1piHmA==", + "dev": true, + "requires": { + "throat": "^4.0.0" + } + }, + "jest-config": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-23.6.0.tgz", + "integrity": "sha512-i8V7z9BeDXab1+VNo78WM0AtWpBRXJLnkT+lyT+Slx/cbP5sZJ0+NDuLcmBE5hXAoK0aUp7vI+MOxR+R4d8SRQ==", + "dev": true, + "requires": { + "babel-core": "^6.0.0", + "babel-jest": "^23.6.0", + "chalk": "^2.0.1", + "glob": "^7.1.1", + "jest-environment-jsdom": "^23.4.0", + "jest-environment-node": "^23.4.0", + "jest-get-type": "^22.1.0", + "jest-jasmine2": "^23.6.0", + "jest-regex-util": "^23.3.0", + "jest-resolve": "^23.6.0", + "jest-util": "^23.4.0", + "jest-validate": "^23.6.0", + "micromatch": "^2.3.11", + "pretty-format": "^23.6.0" + }, + "dependencies": { + "babel-core": { + "version": "6.26.3", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz", + "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", + "dev": true, + "requires": { + "babel-code-frame": "^6.26.0", + "babel-generator": "^6.26.0", + "babel-helpers": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-register": "^6.26.0", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "convert-source-map": "^1.5.1", + "debug": "^2.6.9", + "json5": "^0.5.1", + "lodash": "^4.17.4", + "minimatch": "^3.0.4", + "path-is-absolute": "^1.0.1", + "private": "^0.1.8", + "slash": "^1.0.0", + "source-map": "^0.5.7" + } + }, + "braces": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "dev": true, + "requires": { + "expand-range": "^1.8.1", + "preserve": "^0.2.0", + "repeat-element": "^1.1.2" + } + }, + "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" + } + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "requires": { + "is-extglob": "^1.0.0" + } + }, + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "dev": true + }, + "micromatch": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "dev": true, + "requires": { + "arr-diff": "^2.0.0", + "array-unique": "^0.2.1", + "braces": "^1.8.2", + "expand-brackets": "^0.1.4", + "extglob": "^0.3.1", + "filename-regex": "^2.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.1", + "kind-of": "^3.0.2", + "normalize-path": "^2.0.1", + "object.omit": "^2.0.0", + "parse-glob": "^3.0.4", + "regex-cache": "^0.4.2" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", + "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 + } + } + }, + "jest-dev-server": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/jest-dev-server/-/jest-dev-server-4.3.0.tgz", + "integrity": "sha512-bC9flKY2G1honQ/UI0gEhb0wFnDhpFr7xidC8Nk+evi7TgnNtfsGIzzF2dcIhF1G9BGF0n/M7CJrMAzwQhyTPA==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "cwd": "^0.10.0", + "find-process": "^1.4.2", + "prompts": "^2.1.0", + "spawnd": "^4.0.0", + "tree-kill": "^1.2.1", + "wait-on": "^3.3.0" + }, + "dependencies": { + "kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true + }, + "prompts": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.2.1.tgz", + "integrity": "sha512-VObPvJiWPhpZI6C5m60XOzTfnYg/xc/an+r9VYymj9WJW3B/DIH+REzjpAACPf8brwPeP+7vz3bIim3S+AaMjw==", + "dev": true, + "requires": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.3" + } + }, + "sisteransi": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.3.tgz", + "integrity": "sha512-SbEG75TzH8G7eVXFSN5f9EExILKfly7SUvVY5DhhYLvfhKqhDFY0OzevWa/zwak0RLRfWS5AvfMWpd9gJvr5Yg==", + "dev": true + } + } + }, + "jest-diff": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-23.6.0.tgz", + "integrity": "sha512-Gz9l5Ov+X3aL5L37IT+8hoCUsof1CVYBb2QEkOupK64XyRR3h+uRpYIm97K7sY8diFxowR8pIGEdyfMKTixo3g==", + "dev": true, + "requires": { + "chalk": "^2.0.1", + "diff": "^3.2.0", + "jest-get-type": "^22.1.0", + "pretty-format": "^23.6.0" + }, + "dependencies": { + "diff": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", + "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", + "dev": true + } + } + }, + "jest-docblock": { + "version": "23.2.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-23.2.0.tgz", + "integrity": "sha1-8IXh8YVI2Z/dabICB+b9VdkTg6c=", + "dev": true, + "requires": { + "detect-newline": "^2.1.0" + } + }, + "jest-each": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-23.6.0.tgz", + "integrity": "sha512-x7V6M/WGJo6/kLoissORuvLIeAoyo2YqLOoCDkohgJ4XOXSqOtyvr8FbInlAWS77ojBsZrafbozWoKVRdtxFCg==", + "dev": true, + "requires": { + "chalk": "^2.0.1", + "pretty-format": "^23.6.0" + } + }, + "jest-environment-jsdom": { + "version": "23.4.0", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-23.4.0.tgz", + "integrity": "sha1-BWp5UrP+pROsYqFAosNox52eYCM=", + "dev": true, + "requires": { + "jest-mock": "^23.2.0", + "jest-util": "^23.4.0", + "jsdom": "^11.5.1" + } + }, + "jest-environment-node": { + "version": "23.4.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-23.4.0.tgz", + "integrity": "sha1-V+gO0IQd6jAxZ8zozXlSHeuv3hA=", + "dev": true, + "requires": { + "jest-mock": "^23.2.0", + "jest-util": "^23.4.0" + } + }, + "jest-environment-puppeteer": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/jest-environment-puppeteer/-/jest-environment-puppeteer-4.3.0.tgz", + "integrity": "sha512-ZighMsU39bnacn2ylyHb88CB+ldgCfXGD3lS78k4PEo8A8xyt6+2mxmSR62FH3Y7K+W2gPDu5+QM3/LZuq42fQ==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "cwd": "^0.10.0", + "jest-dev-server": "^4.3.0", + "merge-deep": "^3.0.2" + } + }, + "jest-get-type": { + "version": "22.4.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-22.4.3.tgz", + "integrity": "sha512-/jsz0Y+V29w1chdXVygEKSz2nBoHoYqNShPe+QgxSNjAuP1i8+k4LbQNrfoliKej0P45sivkSCh7yiD6ubHS3w==", + "dev": true + }, + "jest-haste-map": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-23.6.0.tgz", + "integrity": "sha512-uyNhMyl6dr6HaXGHp8VF7cK6KpC6G9z9LiMNsst+rJIZ8l7wY0tk8qwjPmEghczojZ2/ZhtEdIabZ0OQRJSGGg==", + "dev": true, + "requires": { + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.1.11", + "invariant": "^2.2.4", + "jest-docblock": "^23.2.0", + "jest-serializer": "^23.0.1", + "jest-worker": "^23.2.0", + "micromatch": "^2.3.11", + "sane": "^2.0.0" + }, + "dependencies": { + "braces": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "dev": true, + "requires": { + "expand-range": "^1.8.1", + "preserve": "^0.2.0", + "repeat-element": "^1.1.2" + } + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "requires": { + "is-extglob": "^1.0.0" + } + }, + "micromatch": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "dev": true, + "requires": { + "arr-diff": "^2.0.0", + "array-unique": "^0.2.1", + "braces": "^1.8.2", + "expand-brackets": "^0.1.4", + "extglob": "^0.3.1", + "filename-regex": "^2.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.1", + "kind-of": "^3.0.2", + "normalize-path": "^2.0.1", + "object.omit": "^2.0.0", + "parse-glob": "^3.0.4", + "regex-cache": "^0.4.2" + } + } + } + }, + "jest-image-snapshot": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/jest-image-snapshot/-/jest-image-snapshot-2.11.0.tgz", + "integrity": "sha512-InfWqQdqIl6ZDWbUs7cZnbbT82AlirB5B0O31HRltCPUOZMJy0D6ln4i+Pk5CtKHK9zVfU4AI2b3LR3YJD2Ddw==", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "get-stdin": "^5.0.1", + "glur": "^1.1.2", + "lodash": "^4.17.4", + "mkdirp": "^0.5.1", + "pixelmatch": "^4.0.2", + "pngjs": "^3.3.3", + "rimraf": "^2.6.2" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "get-stdin": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-5.0.1.tgz", + "integrity": "sha1-Ei4WFZHiH/TFJTAwVpPyDmOTo5g=", + "dev": true + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.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 + } + } + }, + "jest-jasmine2": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-23.6.0.tgz", + "integrity": "sha512-pe2Ytgs1nyCs8IvsEJRiRTPC0eVYd8L/dXJGU08GFuBwZ4sYH/lmFDdOL3ZmvJR8QKqV9MFuwlsAi/EWkFUbsQ==", + "dev": true, + "requires": { + "babel-traverse": "^6.0.0", + "chalk": "^2.0.1", + "co": "^4.6.0", + "expect": "^23.6.0", + "is-generator-fn": "^1.0.0", + "jest-diff": "^23.6.0", + "jest-each": "^23.6.0", + "jest-matcher-utils": "^23.6.0", + "jest-message-util": "^23.4.0", + "jest-snapshot": "^23.6.0", + "jest-util": "^23.4.0", + "pretty-format": "^23.6.0" + } + }, + "jest-leak-detector": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-23.6.0.tgz", + "integrity": "sha512-f/8zA04rsl1Nzj10HIyEsXvYlMpMPcy0QkQilVZDFOaPbv2ur71X5u2+C4ZQJGyV/xvVXtCCZ3wQ99IgQxftCg==", + "dev": true, + "requires": { + "pretty-format": "^23.6.0" + } + }, + "jest-matcher-utils": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-23.6.0.tgz", + "integrity": "sha512-rosyCHQfBcol4NsckTn01cdelzWLU9Cq7aaigDf8VwwpIRvWE/9zLgX2bON+FkEW69/0UuYslUe22SOdEf2nog==", + "dev": true, + "requires": { + "chalk": "^2.0.1", + "jest-get-type": "^22.1.0", + "pretty-format": "^23.6.0" + } + }, + "jest-message-util": { + "version": "23.4.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-23.4.0.tgz", + "integrity": "sha1-F2EMUJQjSVCNAaPR4L2iwHkIap8=", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0-beta.35", + "chalk": "^2.0.1", + "micromatch": "^2.3.11", + "slash": "^1.0.0", + "stack-utils": "^1.0.1" + }, + "dependencies": { + "braces": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "dev": true, + "requires": { + "expand-range": "^1.8.1", + "preserve": "^0.2.0", + "repeat-element": "^1.1.2" + } + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "requires": { + "is-extglob": "^1.0.0" + } + }, + "micromatch": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "dev": true, + "requires": { + "arr-diff": "^2.0.0", + "array-unique": "^0.2.1", + "braces": "^1.8.2", + "expand-brackets": "^0.1.4", + "extglob": "^0.3.1", + "filename-regex": "^2.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.1", + "kind-of": "^3.0.2", + "normalize-path": "^2.0.1", + "object.omit": "^2.0.0", + "parse-glob": "^3.0.4", + "regex-cache": "^0.4.2" + } + }, + "slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", + "dev": true + } + } + }, + "jest-mock": { + "version": "23.2.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-23.2.0.tgz", + "integrity": "sha1-rRxg8p6HGdR8JuETgJi20YsmETQ=", + "dev": true + }, + "jest-puppeteer": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/jest-puppeteer/-/jest-puppeteer-4.3.0.tgz", + "integrity": "sha512-WXhaWlbQl01xadZyNmdZntrtIr8uWUmgjPogDih7dOnr3G/xRr3A034SCqdjwV6fE0tqz7c5hwO8oBTyGZPRgA==", + "dev": true, + "requires": { + "expect-puppeteer": "^4.3.0", + "jest-environment-puppeteer": "^4.3.0" + } + }, + "jest-regex-util": { + "version": "23.3.0", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-23.3.0.tgz", + "integrity": "sha1-X4ZylUfCeFxAAs6qj4Sf6MpHG8U=", + "dev": true + }, + "jest-resolve": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-23.6.0.tgz", + "integrity": "sha512-XyoRxNtO7YGpQDmtQCmZjum1MljDqUCob7XlZ6jy9gsMugHdN2hY4+Acz9Qvjz2mSsOnPSH7skBmDYCHXVZqkA==", + "dev": true, + "requires": { + "browser-resolve": "^1.11.3", + "chalk": "^2.0.1", + "realpath-native": "^1.0.0" + } + }, + "jest-resolve-dependencies": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-23.6.0.tgz", + "integrity": "sha512-EkQWkFWjGKwRtRyIwRwI6rtPAEyPWlUC2MpzHissYnzJeHcyCn1Hc8j7Nn1xUVrS5C6W5+ZL37XTem4D4pLZdA==", + "dev": true, + "requires": { + "jest-regex-util": "^23.3.0", + "jest-snapshot": "^23.6.0" + } + }, + "jest-runner": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-23.6.0.tgz", + "integrity": "sha512-kw0+uj710dzSJKU6ygri851CObtCD9cN8aNkg8jWJf4ewFyEa6kwmiH/r/M1Ec5IL/6VFa0wnAk6w+gzUtjJzA==", + "dev": true, + "requires": { + "exit": "^0.1.2", + "graceful-fs": "^4.1.11", + "jest-config": "^23.6.0", + "jest-docblock": "^23.2.0", + "jest-haste-map": "^23.6.0", + "jest-jasmine2": "^23.6.0", + "jest-leak-detector": "^23.6.0", + "jest-message-util": "^23.4.0", + "jest-runtime": "^23.6.0", + "jest-util": "^23.4.0", + "jest-worker": "^23.2.0", + "source-map-support": "^0.5.6", + "throat": "^4.0.0" + } + }, + "jest-runtime": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-23.6.0.tgz", + "integrity": "sha512-ycnLTNPT2Gv+TRhnAYAQ0B3SryEXhhRj1kA6hBPSeZaNQkJ7GbZsxOLUkwg6YmvWGdX3BB3PYKFLDQCAE1zNOw==", + "dev": true, + "requires": { + "babel-core": "^6.0.0", + "babel-plugin-istanbul": "^4.1.6", + "chalk": "^2.0.1", + "convert-source-map": "^1.4.0", + "exit": "^0.1.2", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.1.11", + "jest-config": "^23.6.0", + "jest-haste-map": "^23.6.0", + "jest-message-util": "^23.4.0", + "jest-regex-util": "^23.3.0", + "jest-resolve": "^23.6.0", + "jest-snapshot": "^23.6.0", + "jest-util": "^23.4.0", + "jest-validate": "^23.6.0", + "micromatch": "^2.3.11", + "realpath-native": "^1.0.0", + "slash": "^1.0.0", + "strip-bom": "3.0.0", + "write-file-atomic": "^2.1.0", + "yargs": "^11.0.0" + }, + "dependencies": { + "babel-core": { + "version": "6.26.3", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz", + "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", + "dev": true, + "requires": { + "babel-code-frame": "^6.26.0", + "babel-generator": "^6.26.0", + "babel-helpers": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-register": "^6.26.0", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "convert-source-map": "^1.5.1", + "debug": "^2.6.9", + "json5": "^0.5.1", + "lodash": "^4.17.4", + "minimatch": "^3.0.4", + "path-is-absolute": "^1.0.1", + "private": "^0.1.8", + "slash": "^1.0.0", + "source-map": "^0.5.7" + } + }, + "braces": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "dev": true, + "requires": { + "expand-range": "^1.8.1", + "preserve": "^0.2.0", + "repeat-element": "^1.1.2" + } + }, + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true + }, + "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, + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "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" + } + }, + "execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "dev": 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" + } + }, + "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" + } + }, + "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 + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "requires": { + "is-extglob": "^1.0.0" + } + }, + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "dev": true + }, + "lcid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "dev": true, + "requires": { + "invert-kv": "^1.0.0" + } + }, + "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" + } + }, + "mem": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", + "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", + "dev": true, + "requires": { + "mimic-fn": "^1.0.0" + } + }, + "micromatch": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "dev": true, + "requires": { + "arr-diff": "^2.0.0", + "array-unique": "^0.2.1", + "braces": "^1.8.2", + "expand-brackets": "^0.1.4", + "extglob": "^0.3.1", + "filename-regex": "^2.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.1", + "kind-of": "^3.0.2", + "normalize-path": "^2.0.1", + "object.omit": "^2.0.0", + "parse-glob": "^3.0.4", + "regex-cache": "^0.4.2" + } + }, + "mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "os-locale": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", + "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", + "dev": true, + "requires": { + "execa": "^0.7.0", + "lcid": "^1.0.0", + "mem": "^1.1.0" + } + }, + "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-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 + }, + "slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", + "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 + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + }, + "y18n": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", + "dev": true + }, + "yargs": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.1.0.tgz", + "integrity": "sha512-NwW69J42EsCSanF8kyn5upxvjp5ds+t3+udGBeTbFnERA+lF541DDpMawzo4z6W/QrzNM18D+BPMiOBibnFV5A==", + "dev": true, + "requires": { + "cliui": "^4.0.0", + "decamelize": "^1.1.1", + "find-up": "^2.1.0", + "get-caller-file": "^1.0.1", + "os-locale": "^2.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^9.0.2" + } + }, + "yargs-parser": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz", + "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", + "dev": true, + "requires": { + "camelcase": "^4.1.0" + } + } + } + }, + "jest-serializer": { + "version": "23.0.1", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-23.0.1.tgz", + "integrity": "sha1-o3dq6zEekP6D+rnlM+hRAr0WQWU=", + "dev": true + }, + "jest-snapshot": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-23.6.0.tgz", + "integrity": "sha512-tM7/Bprftun6Cvj2Awh/ikS7zV3pVwjRYU2qNYS51VZHgaAMBs5l4o/69AiDHhQrj5+LA2Lq4VIvK7zYk/bswg==", + "dev": true, + "requires": { + "babel-types": "^6.0.0", + "chalk": "^2.0.1", + "jest-diff": "^23.6.0", + "jest-matcher-utils": "^23.6.0", + "jest-message-util": "^23.4.0", + "jest-resolve": "^23.6.0", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "pretty-format": "^23.6.0", + "semver": "^5.5.0" + } + }, + "jest-util": { + "version": "23.4.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-23.4.0.tgz", + "integrity": "sha1-TQY8uSe68KI4Mf9hvsLLv0l5NWE=", + "dev": true, + "requires": { + "callsites": "^2.0.0", + "chalk": "^2.0.1", + "graceful-fs": "^4.1.11", + "is-ci": "^1.0.10", + "jest-message-util": "^23.4.0", + "mkdirp": "^0.5.1", + "slash": "^1.0.0", + "source-map": "^0.6.0" + }, + "dependencies": { + "slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", + "dev": true + } + } + }, + "jest-validate": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-23.6.0.tgz", + "integrity": "sha512-OFKapYxe72yz7agrDAWi8v2WL8GIfVqcbKRCLbRG9PAxtzF9b1SEDdTpytNDN12z2fJynoBwpMpvj2R39plI2A==", + "dev": true, + "requires": { + "chalk": "^2.0.1", + "jest-get-type": "^22.1.0", + "leven": "^2.1.0", + "pretty-format": "^23.6.0" + } + }, + "jest-watcher": { + "version": "23.4.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-23.4.0.tgz", + "integrity": "sha1-0uKM50+NrWxq/JIrksq+9u0FyRw=", + "dev": true, + "requires": { + "ansi-escapes": "^3.0.0", + "chalk": "^2.0.1", + "string-length": "^2.0.0" + } + }, + "jest-worker": { + "version": "23.2.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-23.2.0.tgz", + "integrity": "sha1-+vcGqNo2+uYOsmlXJX+ntdjqArk=", + "dev": true, + "requires": { + "merge-stream": "^1.0.1" + } + }, + "jison": { + "version": "0.4.18", + "resolved": "https://registry.npmjs.org/jison/-/jison-0.4.18.tgz", + "integrity": "sha512-FKkCiJvozgC7VTHhMJ00a0/IApSxhlGsFIshLW6trWJ8ONX2TQJBBz6DlcO1Gffy4w9LT+uL+PA+CVnUSJMF7w==", + "dev": true, + "requires": { + "JSONSelect": "0.4.0", + "cjson": "0.3.0", + "ebnf-parser": "0.1.10", + "escodegen": "1.3.x", + "esprima": "1.1.x", + "jison-lex": "0.3.x", + "lex-parser": "~0.1.3", + "nomnom": "1.5.2" + }, + "dependencies": { + "escodegen": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.3.3.tgz", + "integrity": "sha1-8CQBb1qI4Eb9EgBQVek5gC5sXyM=", + "dev": true, + "requires": { + "esprima": "~1.1.1", + "estraverse": "~1.5.0", + "esutils": "~1.0.0", + "source-map": "~0.1.33" + } + }, + "esprima": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.1.1.tgz", + "integrity": "sha1-W28VR/TRAuZw4UDFCb5ncdautUk=", + "dev": true + }, + "estraverse": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.5.1.tgz", + "integrity": "sha1-hno+jlip+EYYr7bC3bzZFrfLr3E=", + "dev": true + }, + "esutils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-1.0.0.tgz", + "integrity": "sha1-gVHTWOIMisx/t0XnRywAJf5JZXA=", + "dev": true + }, + "source-map": { + "version": "0.1.43", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", + "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", + "dev": true, + "optional": true, + "requires": { + "amdefine": ">=0.0.4" + } + } + } + }, + "jison-lex": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/jison-lex/-/jison-lex-0.3.4.tgz", + "integrity": "sha1-gcoo2E+ESZ36jFlNzePYo/Jux6U=", + "dev": true, + "requires": { + "lex-parser": "0.1.x", + "nomnom": "1.5.2" + } + }, + "js-base64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.5.1.tgz", + "integrity": "sha512-M7kLczedRMYX4L8Mdh4MzyAMM9O5osx+4FcOQuTvr3A9F2D9S5JXheN0ewNbrvK2UatkTRhL5ejGmGSjNMiZuw==", + "dev": true + }, + "js-levenshtein": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz", + "integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==", + "dev": true + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "js-yaml": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", + "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "dev": 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 + }, + "jsdom": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-11.12.0.tgz", + "integrity": "sha512-y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw==", + "dev": true, + "requires": { + "abab": "^2.0.0", + "acorn": "^5.5.3", + "acorn-globals": "^4.1.0", + "array-equal": "^1.0.0", + "cssom": ">= 0.3.2 < 0.4.0", + "cssstyle": "^1.0.0", + "data-urls": "^1.0.0", + "domexception": "^1.0.1", + "escodegen": "^1.9.1", + "html-encoding-sniffer": "^1.0.2", + "left-pad": "^1.3.0", + "nwsapi": "^2.0.7", + "parse5": "4.0.0", + "pn": "^1.1.0", + "request": "^2.87.0", + "request-promise-native": "^1.0.5", + "sax": "^1.2.4", + "symbol-tree": "^3.2.2", + "tough-cookie": "^2.3.4", + "w3c-hr-time": "^1.0.1", + "webidl-conversions": "^4.0.2", + "whatwg-encoding": "^1.0.3", + "whatwg-mimetype": "^2.1.0", + "whatwg-url": "^6.4.1", + "ws": "^5.2.0", + "xml-name-validator": "^3.0.0" + }, + "dependencies": { + "ws": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz", + "integrity": "sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==", + "dev": true, + "requires": { + "async-limiter": "~1.0.0" + } + } + } + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "dev": true + }, + "json-schema-traverse": { + "version": "0.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 + }, + "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 + }, + "json3": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz", + "integrity": "sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==", + "dev": true + }, + "json5": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz", + "integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "jsonlint": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/jsonlint/-/jsonlint-1.6.0.tgz", + "integrity": "sha1-iKpGvCiaesk7tGyuLVihh6m7SUo=", + "dev": true, + "requires": { + "JSV": ">= 4.0.x", + "nomnom": ">= 1.5.x" + } + }, + "jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=", + "dev": true + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "jssha": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/jssha/-/jssha-2.3.1.tgz", + "integrity": "sha1-FHshJTaQNcpLL30hDcU58Amz3po=", + "dev": true + }, + "killable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", + "integrity": "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==", + "dev": true + }, + "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" + }, + "dependencies": { + "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 + } + } + }, + "kleur": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-2.0.2.tgz", + "integrity": "sha512-77XF9iTllATmG9lSlIv0qdQ2BQ/h9t0bJllHlbvsQ0zUWfU7Yi0S8L5JXzPZgkefIiajLmBJJ4BsMJmqcf7oxQ==", + "dev": true + }, + "kuler": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/kuler/-/kuler-1.0.1.tgz", + "integrity": "sha512-J9nVUucG1p/skKul6DU3PUZrhs0LPulNaeUOox0IyXDi8S4CztTHs1gQphhuZmzXG7VOQSf6NJfKuzteQLv9gQ==", + "dev": true, + "requires": { + "colornames": "^1.1.1" + } + }, + "lazy-ass": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/lazy-ass/-/lazy-ass-1.6.0.tgz", + "integrity": "sha1-eZllXoZGwX8In90YfRUNMyTVRRM=", + "dev": true + }, + "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": "2.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", + "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", + "dev": true, + "requires": { + "invert-kv": "^2.0.0" + } + }, + "lcov-parse": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/lcov-parse/-/lcov-parse-0.0.10.tgz", + "integrity": "sha1-GwuP+ayceIklBYK3C3ExXZ2m2aM=", + "dev": true + }, + "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" + } + }, + "left-pad": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/left-pad/-/left-pad-1.3.0.tgz", + "integrity": "sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA==", + "dev": true + }, + "leven": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-2.1.0.tgz", + "integrity": "sha1-wuep93IJTe6dNCAq6KzORoeHVYA=", + "dev": true + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "lex-parser": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/lex-parser/-/lex-parser-0.1.4.tgz", + "integrity": "sha1-ZMTwJfF/1Tv7RXY/rrFvAVp0dVA=", + "dev": true + }, + "listr": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/listr/-/listr-0.12.0.tgz", + "integrity": "sha1-a84sD1YD+klYDqF81qAMwOX6RRo=", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "cli-truncate": "^0.2.1", + "figures": "^1.7.0", + "indent-string": "^2.1.0", + "is-promise": "^2.1.0", + "is-stream": "^1.1.0", + "listr-silent-renderer": "^1.1.1", + "listr-update-renderer": "^0.2.0", + "listr-verbose-renderer": "^0.4.0", + "log-symbols": "^1.0.2", + "log-update": "^1.0.2", + "ora": "^0.2.3", + "p-map": "^1.1.1", + "rxjs": "^5.0.0-beta.11", + "stream-to-observable": "^0.1.0", + "strip-ansi": "^3.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "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" + } + }, + "log-symbols": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz", + "integrity": "sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg=", + "dev": true, + "requires": { + "chalk": "^1.0.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" + } + }, + "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 + } + } + }, + "listr-silent-renderer": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/listr-silent-renderer/-/listr-silent-renderer-1.1.1.tgz", + "integrity": "sha1-kktaN1cVN3C/Go4/v3S4u/P5JC4=", + "dev": true + }, + "listr-update-renderer": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/listr-update-renderer/-/listr-update-renderer-0.2.0.tgz", + "integrity": "sha1-yoDhd5tOcCZoB+ju0a1qvjmFUPk=", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "cli-truncate": "^0.2.1", + "elegant-spinner": "^1.0.1", + "figures": "^1.7.0", + "indent-string": "^3.0.0", + "log-symbols": "^1.0.2", + "log-update": "^1.0.2", + "strip-ansi": "^3.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "log-symbols": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz", + "integrity": "sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg=", + "dev": true, + "requires": { + "chalk": "^1.0.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" + } + }, + "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 + } + } + }, + "listr-verbose-renderer": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/listr-verbose-renderer/-/listr-verbose-renderer-0.4.1.tgz", + "integrity": "sha1-ggb0z21S3cWCfl/RSYng6WWTOjU=", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "cli-cursor": "^1.0.2", + "date-fns": "^1.27.2", + "figures": "^1.7.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.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" + } + }, + "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 + } + } + }, + "livereload-js": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/livereload-js/-/livereload-js-2.4.0.tgz", + "integrity": "sha512-XPQH8Z2GDP/Hwz2PCDrh2mth4yFejwA1OZ/81Ti3LgKyhDcEjsSsqFWZojHG0va/duGd+WyosY7eXLDoOyqcPw==", + "dev": true + }, + "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" + }, + "dependencies": { + "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" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "loader-runner": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", + "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", + "dev": true + }, + "loader-utils": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", + "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^2.0.0", + "json5": "^1.0.1" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + } + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "lodash": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" + }, + "lodash._reinterpolate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", + "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=", + "dev": true + }, + "lodash.once": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=", + "dev": true + }, + "lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=", + "dev": true + }, + "lodash.template": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", + "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==", + "dev": true, + "requires": { + "lodash._reinterpolate": "^3.0.0", + "lodash.templatesettings": "^4.0.0" + } + }, + "lodash.templatesettings": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz", + "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==", + "dev": true, + "requires": { + "lodash._reinterpolate": "^3.0.0" + } + }, + "log-driver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/log-driver/-/log-driver-1.2.7.tgz", + "integrity": "sha512-U7KCmLdqsGHBLeWqYlFA0V0Sl6P08EE1ZrmA9cxjUE0WVqT9qnyVDPz1kzpFEP0jdJuFnasWIfSd7fsaNXkpbg==", + "dev": true + }, + "log-symbols": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", + "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", + "dev": true, + "requires": { + "chalk": "^2.0.1" + } + }, + "log-update": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-1.0.2.tgz", + "integrity": "sha1-GZKfZMQJPS0ucHWh2tivWcKWuNE=", + "dev": true, + "requires": { + "ansi-escapes": "^1.0.0", + "cli-cursor": "^1.0.2" + }, + "dependencies": { + "ansi-escapes": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz", + "integrity": "sha1-06ioOzGapneTZisT52HHkRQiMG4=", + "dev": true + } + } + }, + "logform": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/logform/-/logform-2.1.2.tgz", + "integrity": "sha512-+lZh4OpERDBLqjiwDLpAWNQu6KMjnlXH2ByZwCuSqVPJletw0kTWJf5CgSNAUKn1KUkv3m2cUz/LK8zyEy7wzQ==", + "dev": true, + "requires": { + "colors": "^1.2.1", + "fast-safe-stringify": "^2.0.4", + "fecha": "^2.3.3", + "ms": "^2.1.1", + "triple-beam": "^1.3.0" + } + }, + "loglevel": { + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.4.tgz", + "integrity": "sha512-p0b6mOGKcGa+7nnmKbpzR6qloPbrgLcnio++E+14Vo/XffOGwZtRpUhr8dTH/x2oCMmEoIU0Zwm3ZauhvYD17g==", + "dev": true + }, + "longest-streak": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-2.0.3.tgz", + "integrity": "sha512-9lz5IVdpwsKLMzQi0MQ+oD9EA0mIGcWYP7jXMTZVXP8D42PwuAk+M/HBFYQoxt1G5OR8m7aSIgb1UymfWGBWEw==", + "dev": true + }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dev": true, + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "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" + } + }, + "lower-case": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", + "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=" + }, + "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, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "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, + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + } + }, + "makeerror": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", + "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", + "dev": true, + "requires": { + "tmpl": "1.0.x" + } + }, + "mamacro": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/mamacro/-/mamacro-0.0.3.tgz", + "integrity": "sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA==", + "dev": true + }, + "map-age-cleaner": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", + "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", + "dev": true, + "requires": { + "p-defer": "^1.0.0" + } + }, + "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.1.0", + "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz", + "integrity": "sha1-5WqpTEyAVaFkBKBnS3jyFffI4ZQ=", + "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" + } + }, + "markdown-escapes": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.3.tgz", + "integrity": "sha512-XUi5HJhhV5R74k8/0H2oCbCiYf/u4cO/rX8tnGkRvrqhsr5BRNU6Mg0yt/8UIx1iIS8220BNJsDb7XnILhLepw==", + "dev": true + }, + "markdown-table": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-1.1.3.tgz", + "integrity": "sha512-1RUZVgQlpJSPWYbFSpmudq5nHY1doEIv89gBtF0s4gW1GF2XorxcA/70M5vq7rLv0a6mhOUccRsqkwhwLCIQ2Q==", + "dev": true + }, + "math-random": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.4.tgz", + "integrity": "sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==", + "dev": true + }, + "md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "dev": true, + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "mdast-util-compact": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/mdast-util-compact/-/mdast-util-compact-1.0.3.tgz", + "integrity": "sha512-nRiU5GpNy62rZppDKbLwhhtw5DXoFMqw9UNZFmlPsNaQCZ//WLjGKUwWMdJrUH+Se7UvtO2gXtAMe0g/N+eI5w==", + "dev": true, + "requires": { + "unist-util-visit": "^1.1.0" + } + }, + "mdast-util-definitions": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-1.2.4.tgz", + "integrity": "sha512-HfUArPog1j4Z78Xlzy9Q4aHLnrF/7fb57cooTHypyGoe2XFNbcx/kWZDoOz+ra8CkUzvg3+VHV434yqEd1DRmA==", + "dev": true, + "requires": { + "unist-util-visit": "^1.0.0" + } + }, + "mdast-util-inject": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-inject/-/mdast-util-inject-1.1.0.tgz", + "integrity": "sha1-2wa4tYW+lZotzS+H9HK6m3VvNnU=", + "dev": true, + "requires": { + "mdast-util-to-string": "^1.0.0" + } + }, + "mdast-util-to-hast": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-3.0.4.tgz", + "integrity": "sha512-/eIbly2YmyVgpJNo+bFLLMCI1XgolO/Ffowhf+pHDq3X4/V6FntC9sGQCDLM147eTS+uSXv5dRzJyFn+o0tazA==", + "dev": true, + "requires": { + "collapse-white-space": "^1.0.0", + "detab": "^2.0.0", + "mdast-util-definitions": "^1.2.0", + "mdurl": "^1.0.1", + "trim": "0.0.1", + "trim-lines": "^1.0.0", + "unist-builder": "^1.0.1", + "unist-util-generated": "^1.1.0", + "unist-util-position": "^3.0.0", + "unist-util-visit": "^1.1.0", + "xtend": "^4.0.1" + } + }, + "mdast-util-to-string": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-1.0.6.tgz", + "integrity": "sha512-868pp48gUPmZIhfKrLbaDneuzGiw3OTDjHc5M1kAepR2CWBJ+HpEsm252K4aXdiP5coVZaJPOqGtVU6Po8xnXg==", + "dev": true + }, + "mdast-util-toc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-toc/-/mdast-util-toc-3.1.0.tgz", + "integrity": "sha512-Za0hqL1PqWrvxGtA/3NH9D5nhGAUS9grMM4obEAz5+zsk1RIw/vWUchkaoDLNdrwk05A0CSC5eEXng36/1qE5w==", + "dev": true, + "requires": { + "github-slugger": "^1.2.1", + "mdast-util-to-string": "^1.0.5", + "unist-util-is": "^2.1.2", + "unist-util-visit": "^1.1.0" + }, + "dependencies": { + "emoji-regex": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-6.1.1.tgz", + "integrity": "sha1-xs0OwbBkLio8Z6ETfvxeeW2k+I4=", + "dev": true + }, + "github-slugger": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-1.2.1.tgz", + "integrity": "sha512-SsZUjg/P03KPzQBt7OxJPasGw6NRO5uOgiZ5RGXVud5iSIZ0eNZeNp5rTwCxtavrRUa/A77j8mePVc5lEvk0KQ==", + "dev": true, + "requires": { + "emoji-regex": ">=6.0.0 <=6.1.1" + } + }, + "unist-util-is": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-2.1.3.tgz", + "integrity": "sha512-4WbQX2iwfr/+PfM4U3zd2VNXY+dWtZsN1fLnWEi2QQXA4qyDYAZcDMfXUX0Cu6XZUHHAO9q4nyxxLT4Awk1qUA==", + "dev": true + } + } + }, + "mdurl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", + "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=", + "dev": true + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", + "dev": true + }, + "mem": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", + "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", + "dev": true, + "requires": { + "map-age-cleaner": "^0.1.1", + "mimic-fn": "^2.0.0", + "p-is-promise": "^2.0.0" + } + }, + "memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "dev": true, + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + }, + "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": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/merge/-/merge-1.2.1.tgz", + "integrity": "sha512-VjFo4P5Whtj4vsLzsYBu5ayHhoHJ0UqNm7ibvShmbmoz7tGi0vXaoJbGdB+GmDMLUdg8DpQXEIeVDAe8MaABvQ==", + "dev": true + }, + "merge-deep": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/merge-deep/-/merge-deep-3.0.2.tgz", + "integrity": "sha512-T7qC8kg4Zoti1cFd8Cr0M+qaZfOwjlPDEdZIIPPB2JZctjaPM4fX+i7HOId69tAti2fvO6X5ldfYUONDODsrkA==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "clone-deep": "^0.2.4", + "kind-of": "^3.0.2" + } + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", + "dev": true + }, + "merge-stream": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz", + "integrity": "sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE=", + "dev": true, + "requires": { + "readable-stream": "^2.0.1" + } + }, + "merge2": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.3.0.tgz", + "integrity": "sha512-2j4DAdlBOkiSZIsaXk4mTE3sRS02yBHAtfy127xRV3bQUFqXkjHCHLW6Scv7DwNRbIWNHH8zpnz9zMaKXIdvYw==", + "dev": true + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", + "dev": true + }, + "micromatch": { + "version": "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" + } + }, + "miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dev": true, + "requires": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true + }, + "mime-db": { + "version": "1.40.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz", + "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==", + "dev": true + }, + "mime-types": { + "version": "2.1.24", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz", + "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==", + "dev": true, + "requires": { + "mime-db": "1.40.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 + }, + "minify": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/minify/-/minify-4.1.3.tgz", + "integrity": "sha512-ykuscavxivSmVpcCzsXmsVTukWYLUUtPhHj0w2ILvHDGqC+hsuTCihBn9+PJBd58JNvWTNg9132J9nrrI2anzA==", + "requires": { + "clean-css": "^4.1.6", + "css-b64-images": "~0.2.5", + "debug": "^4.1.0", + "html-minifier": "^4.0.0", + "terser": "^4.0.0", + "try-catch": "^2.0.0", + "try-to-catch": "^1.0.2" + } + }, + "minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true + }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "mississippi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", + "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", + "dev": true, + "requires": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^3.0.0", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.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, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + } + } + }, + "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" + } + } + } + }, + "mixin-object": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mixin-object/-/mixin-object-2.0.1.tgz", + "integrity": "sha1-T7lJRB2rGCVA8f4DW6YOGUel5X4=", + "dev": true, + "requires": { + "for-in": "^0.1.3", + "is-extendable": "^0.1.1" + }, + "dependencies": { + "for-in": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-0.1.8.tgz", + "integrity": "sha1-2Hc5COMSVhCZUrH9ubP6hn0ndeE=", + "dev": true + } + } + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "dev": true, + "requires": { + "minimist": "0.0.8" + }, + "dependencies": { + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true + } + } + }, + "module-deps-sortable": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/module-deps-sortable/-/module-deps-sortable-5.0.0.tgz", + "integrity": "sha512-bnGGeghQmz/t/6771/KC4FmxpVm126iR6AAzzq4N6hVZQVl4+ZZBv+VF3PJmDyxXtVtgcgTSSP7NL+jq1QAHrg==", + "dev": true, + "requires": { + "JSONStream": "^1.0.3", + "browser-resolve": "^1.7.0", + "cached-path-relative": "^1.0.0", + "concat-stream": "~1.5.0", + "defined": "^1.0.0", + "detective": "^4.0.0", + "duplexer2": "^0.1.2", + "inherits": "^2.0.1", + "readable-stream": "^2.0.2", + "resolve": "^1.1.3", + "stream-combiner2": "^1.1.1", + "subarg": "^1.0.0", + "through2": "^2.0.0", + "xtend": "^4.0.0" + }, + "dependencies": { + "concat-stream": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.2.tgz", + "integrity": "sha1-cIl4Yk2FavQaWnQd790mHadSwmY=", + "dev": true, + "requires": { + "inherits": "~2.0.1", + "readable-stream": "~2.0.0", + "typedarray": "~0.0.5" + }, + "dependencies": { + "readable-stream": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", + "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "string_decoder": "~0.10.x", + "util-deprecate": "~1.0.1" + } + } + } + }, + "process-nextick-args": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", + "dev": true + }, + "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 + } + } + }, + "moment": { + "version": "2.24.0", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.24.0.tgz", + "integrity": "sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg==", + "dev": true + }, + "moment-mini": { + "version": "2.22.1", + "resolved": "https://registry.npmjs.org/moment-mini/-/moment-mini-2.22.1.tgz", + "integrity": "sha512-OUCkHOz7ehtNMYuZjNciXUfwTuz8vmF1MTbAy59ebf+ZBYZO5/tZKuChVWCX+uDo+4idJBpGltNfV8st+HwsGw==" + }, + "move-concurrently": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", + "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", + "dev": true, + "requires": { + "aproba": "^1.1.1", + "copy-concurrently": "^1.0.0", + "fs-write-stream-atomic": "^1.0.8", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.3" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "multicast-dns": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", + "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", + "dev": true, + "requires": { + "dns-packet": "^1.3.1", + "thunky": "^1.0.2" + } + }, + "multicast-dns-service-types": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", + "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", + "dev": true + }, + "mute-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", + "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", + "dev": true + }, + "nan": { + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", + "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==", + "dev": 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" + }, + "dependencies": { + "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 + }, + "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 + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + } + } + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "negotiator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", + "dev": true + }, + "neo-async": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz", + "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==", + "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 + }, + "no-case": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", + "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", + "requires": { + "lower-case": "^1.1.1" + } + }, + "node-forge": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.9.0.tgz", + "integrity": "sha512-7ASaDa3pD+lJ3WvXFsxekJQelBKRpne+GOVbLbtHYdd7pFspyeuJHnWfLplGf3SwKGbfs/aYl5V/JCIaHVUKKQ==", + "dev": true + }, + "node-gyp": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz", + "integrity": "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==", + "dev": true, + "requires": { + "fstream": "^1.0.0", + "glob": "^7.0.3", + "graceful-fs": "^4.1.2", + "mkdirp": "^0.5.0", + "nopt": "2 || 3", + "npmlog": "0 || 1 || 2 || 3 || 4", + "osenv": "0", + "request": "^2.87.0", + "rimraf": "2", + "semver": "~5.3.0", + "tar": "^2.0.0", + "which": "1" + }, + "dependencies": { + "semver": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", + "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", + "dev": true + } + } + }, + "node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=", + "dev": true + }, + "node-libs-browser": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", + "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", + "dev": true, + "requires": { + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^3.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "0.0.1", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", + "tty-browserify": "0.0.0", + "url": "^0.11.0", + "util": "^0.11.0", + "vm-browserify": "^1.0.1" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + } + } + }, + "node-modules-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz", + "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=", + "dev": true + }, + "node-notifier": { + "version": "5.4.3", + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.4.3.tgz", + "integrity": "sha512-M4UBGcs4jeOK9CjTsYwkvH6/MzuUmGCyTW+kCY7uO+1ZVr0+FHGdPdIf5CCLqAaxnRrWidyoQlNkMIIVwbKB8Q==", + "dev": true, + "requires": { + "growly": "^1.3.0", + "is-wsl": "^1.1.0", + "semver": "^5.5.0", + "shellwords": "^0.1.1", + "which": "^1.3.0" + } + }, + "node-releases": { + "version": "1.1.33", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.33.tgz", + "integrity": "sha512-I0V30bWQEoHb+10W8oedVoUrdjW5wIkYm0w7vvcrPO95pZY738m1k77GF5sO0vKg5eXYg9oGtrMAETbgZGm11A==", + "dev": true, + "requires": { + "semver": "^5.3.0" + } + }, + "node-sass": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.12.0.tgz", + "integrity": "sha512-A1Iv4oN+Iel6EPv77/HddXErL2a+gZ4uBeZUy+a8O35CFYTXhgA8MgLCWBtwpGZdCvTvQ9d+bQxX/QC36GDPpQ==", + "dev": true, + "requires": { + "async-foreach": "^0.1.3", + "chalk": "^1.1.1", + "cross-spawn": "^3.0.0", + "gaze": "^1.0.0", + "get-stdin": "^4.0.1", + "glob": "^7.0.3", + "in-publish": "^2.0.0", + "lodash": "^4.17.11", + "meow": "^3.7.0", + "mkdirp": "^0.5.1", + "nan": "^2.13.2", + "node-gyp": "^3.8.0", + "npmlog": "^4.0.0", + "request": "^2.88.0", + "sass-graph": "^2.2.4", + "stdout-stream": "^1.4.0", + "true-case-path": "^1.0.2" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "cross-spawn": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz", + "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=", + "dev": true, + "requires": { + "lru-cache": "^4.0.1", + "which": "^1.2.9" + } + }, + "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 + }, + "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" + } + }, + "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 + } + } + }, + "nomnom": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/nomnom/-/nomnom-1.5.2.tgz", + "integrity": "sha1-9DRUSKhTz71cDSYyDyR3qwUm/i8=", + "dev": true, + "requires": { + "colors": "0.5.x", + "underscore": "1.1.x" + }, + "dependencies": { + "colors": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/colors/-/colors-0.5.1.tgz", + "integrity": "sha1-fQAj6usVTo7p/Oddy5I9DtFmd3Q=", + "dev": true + } + } + }, + "nopt": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", + "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "dev": true, + "requires": { + "abbrev": "1" + } + }, + "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-url": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", + "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=", + "dev": true, + "requires": { + "object-assign": "^4.0.1", + "prepend-http": "^1.0.0", + "query-string": "^4.1.0", + "sort-keys": "^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-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, + "requires": { + "path-key": "^2.0.0" + } + }, + "npmlog": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "dev": true, + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "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 + }, + "nwsapi": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.1.4.tgz", + "integrity": "sha512-iGfd9Y6SFdTNldEy2L0GUhcarIutFmk+MPWIn9dmj8NMIup03G08uUF2KGbbmv/Ux4RT0VZJoP/sVbWA6d/VIw==", + "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 + }, + "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" + } + } + } + }, + "object-inspect": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.6.0.tgz", + "integrity": "sha512-GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ==", + "dev": true + }, + "object-is": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.0.1.tgz", + "integrity": "sha1-CqYOyZiaCz7Xlc9NBvYs8a1lObY=", + "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" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + } + } + }, + "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.getownpropertydescriptors": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz", + "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "es-abstract": "^1.5.1" + } + }, + "object.omit": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", + "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", + "dev": true, + "requires": { + "for-own": "^0.1.4", + "is-extendable": "^0.1.1" + } + }, + "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" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + } + } + }, + "obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", + "dev": true + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + }, + "on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "dev": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "one-time": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/one-time/-/one-time-0.0.4.tgz", + "integrity": "sha1-+M33eISCb+Tf+T46nMN7HkSAdC4=", + "dev": true + }, + "onetime": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", + "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=", + "dev": true + }, + "opn": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", + "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==", + "dev": true, + "requires": { + "is-wsl": "^1.1.0" + } + }, + "optimist": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", + "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", + "dev": true, + "requires": { + "minimist": "~0.0.1", + "wordwrap": "~0.0.2" + }, + "dependencies": { + "minimist": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", + "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=", + "dev": true + }, + "wordwrap": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", + "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", + "dev": true + } + } + }, + "optionator": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", + "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", + "dev": true, + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.4", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "wordwrap": "~1.0.0" + } + }, + "ora": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/ora/-/ora-0.2.3.tgz", + "integrity": "sha1-N1J9Igrc1Tw5tzVx11QVbV22V6Q=", + "dev": true, + "requires": { + "chalk": "^1.1.1", + "cli-cursor": "^1.0.2", + "cli-spinners": "^0.1.2", + "object-assign": "^4.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.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" + } + }, + "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 + } + } + }, + "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" + } + }, + "original": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz", + "integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==", + "dev": true, + "requires": { + "url-parse": "^1.4.3" + } + }, + "os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", + "dev": true + }, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "dev": true + }, + "os-locale": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", + "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", + "dev": true, + "requires": { + "execa": "^1.0.0", + "lcid": "^2.0.0", + "mem": "^4.0.0" + }, + "dependencies": { + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": 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" + } + }, + "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, + "requires": { + "pump": "^3.0.0" + } + }, + "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, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + } + } + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true + }, + "osenv": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", + "dev": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "p-defer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", + "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=", + "dev": true + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true + }, + "p-is-promise": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz", + "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==", + "dev": true + }, + "p-limit": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz", + "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-map": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz", + "integrity": "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==", + "dev": true + }, + "p-retry": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-3.0.1.tgz", + "integrity": "sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w==", + "dev": true, + "requires": { + "retry": "^0.12.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "pako": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.10.tgz", + "integrity": "sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw==", + "dev": true + }, + "parallel-transform": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", + "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", + "dev": true, + "requires": { + "cyclist": "^1.0.1", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" + } + }, + "param-case": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", + "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", + "requires": { + "no-case": "^2.2.0" + } + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "requires": { + "callsites": "^3.0.0" + }, + "dependencies": { + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + } + } + }, + "parse-asn1": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.5.tgz", + "integrity": "sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ==", + "dev": true, + "requires": { + "asn1.js": "^4.0.0", + "browserify-aes": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" + } + }, + "parse-entities": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-1.2.2.tgz", + "integrity": "sha512-NzfpbxW/NPrzZ/yYSoQxyqUZMZXIdCfE0OIN4ESsnptHJECoUk3FZktxNuzQf4tjt5UEopnxpYJbvYuxIFDdsg==", + "dev": true, + "requires": { + "character-entities": "^1.0.0", + "character-entities-legacy": "^1.0.0", + "character-reference-invalid": "^1.0.0", + "is-alphanumerical": "^1.0.0", + "is-decimal": "^1.0.0", + "is-hexadecimal": "^1.0.0" + } + }, + "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-glob": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", + "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", + "dev": true, + "requires": { + "glob-base": "^0.3.0", + "is-dotfile": "^1.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.0" + }, + "dependencies": { + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "requires": { + "is-extglob": "^1.0.0" + } + } + } + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true, + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "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 + }, + "parse-path": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/parse-path/-/parse-path-3.0.4.tgz", + "integrity": "sha512-wP70vtwv2DyrM2YoA7ZHVv4zIXa4P7dGgHlj+VwyXNDduLLVJ7NMY1zsFxjUUJ3DAwJLupGb1H5gMDDiNlJaxw==", + "dev": true, + "requires": { + "is-ssh": "^1.3.0", + "protocols": "^1.4.0" + } + }, + "parse-url": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/parse-url/-/parse-url-3.0.2.tgz", + "integrity": "sha1-YCeHpwY6eV1yuGcxl1BecvYGEL4=", + "dev": true, + "requires": { + "is-ssh": "^1.3.0", + "normalize-url": "^1.9.1", + "parse-path": "^3.0.1", + "protocols": "^1.4.0" + } + }, + "parse5": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz", + "integrity": "sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==", + "dev": true + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "dev": true + }, + "password-prompt": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/password-prompt/-/password-prompt-1.1.2.tgz", + "integrity": "sha512-bpuBhROdrhuN3E7G/koAju0WjVw9/uQOG5Co5mokNj0MiOSBVZS1JTwM4zl55hu0WFmIEFvO9cU9sJQiBIYeIA==", + "dev": true, + "requires": { + "ansi-escapes": "^3.1.0", + "cross-spawn": "^6.0.5" + } + }, + "path-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", + "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": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", + "dev": true + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": 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-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", + "dev": true + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true + }, + "pause-stream": { + "version": "0.0.11", + "resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz", + "integrity": "sha1-/lo0sMvOErWqaitAPuLnO2AvFEU=", + "dev": true, + "requires": { + "through": "~2.3" + } + }, + "pbkdf2": { + "version": "3.0.17", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz", + "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==", + "dev": true, + "requires": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", + "dev": true + }, + "percy-client": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/percy-client/-/percy-client-3.1.0.tgz", + "integrity": "sha512-OzKg+o0dtt/LxcCNHNpe7B+oZ196fMiPFzySvFz1ouXNoEBITiborIGN49e8dN5puwIEILoePlX91q6C834XGg==", + "dev": true, + "requires": { + "base64-js": "^1.2.3", + "bluebird": "^3.5.1", + "bluebird-retry": "^0.11.0", + "dotenv": "^8.1.0", + "es6-promise-pool": "^2.5.0", + "jssha": "^2.1.0", + "regenerator-runtime": "^0.13.1", + "request": "^2.87.0", + "request-promise": "^4.2.2", + "walk": "^2.3.14" + } + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "dev": true + }, + "picomatch": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.0.7.tgz", + "integrity": "sha512-oLHIdio3tZ0qH76NybpeneBhYVj0QFTfXEFTc/B3zKQspYfYYkWYgFsmzo+4kvId/bQRcNkVeguI3y+CD22BtA==", + "dev": true + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "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" + } + }, + "pirates": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz", + "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==", + "dev": true, + "requires": { + "node-modules-regexp": "^1.0.0" + } + }, + "pixelmatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/pixelmatch/-/pixelmatch-4.0.2.tgz", + "integrity": "sha1-j0fc7FARtHe2fbA8JDvB8wheiFQ=", + "dev": true, + "requires": { + "pngjs": "^3.0.0" + } + }, + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, + "requires": { + "find-up": "^3.0.0" + } + }, + "please-upgrade-node": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz", + "integrity": "sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==", + "dev": true, + "requires": { + "semver-compare": "^1.0.0" + } + }, + "pn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz", + "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==", + "dev": true + }, + "pngjs": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-3.4.0.tgz", + "integrity": "sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==", + "dev": true + }, + "portfinder": { + "version": "1.0.24", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.24.tgz", + "integrity": "sha512-ekRl7zD2qxYndYflwiryJwMioBI7LI7rVXg3EnLK3sjkouT5eOuhS3gS255XxBksa30VG8UPZYZCdgfGOfkSUg==", + "dev": true, + "requires": { + "async": "^1.5.2", + "debug": "^2.2.0", + "mkdirp": "0.5.x" + }, + "dependencies": { + "async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "dev": true + }, + "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" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "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.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.18.tgz", + "integrity": "sha512-/7g1QXXgegpF+9GJj4iN7ChGF40sYuGYJ8WZu8DZWnmhQ/G36hfdk3q9LBJmoK+lZ+yzZ5KYpOoxq7LF1BxE8g==", + "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-modules-extract-imports": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz", + "integrity": "sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ==", + "dev": true, + "requires": { + "postcss": "^7.0.5" + } + }, + "postcss-modules-local-by-default": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-2.0.6.tgz", + "integrity": "sha512-oLUV5YNkeIBa0yQl7EYnxMgy4N6noxmiwZStaEJUSe2xPMcdNc8WmBQuQCx18H5psYbVxz8zoHk0RAAYZXP9gA==", + "dev": true, + "requires": { + "postcss": "^7.0.6", + "postcss-selector-parser": "^6.0.0", + "postcss-value-parser": "^3.3.1" + } + }, + "postcss-modules-scope": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-2.1.0.tgz", + "integrity": "sha512-91Rjps0JnmtUB0cujlc8KIKCsJXWjzuxGeT/+Q2i2HXKZ7nBUeF9YQTZZTNvHVoNYj1AthsjnGLtqDUE0Op79A==", + "dev": true, + "requires": { + "postcss": "^7.0.6", + "postcss-selector-parser": "^6.0.0" + } + }, + "postcss-modules-values": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-2.0.0.tgz", + "integrity": "sha512-Ki7JZa7ff1N3EIMlPnGTZfUMe69FFwiQPnVSXC9mnn3jozCRBYIxiZd44yJOV2AmabOo4qFf8s0dC/+lweG7+w==", + "dev": true, + "requires": { + "icss-replace-symbols": "^1.1.0", + "postcss": "^7.0.6" + } + }, + "postcss-selector-parser": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz", + "integrity": "sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg==", + "dev": true, + "requires": { + "cssesc": "^3.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true + }, + "prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", + "dev": true + }, + "preserve": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", + "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", + "dev": true + }, + "prettier": { + "version": "1.18.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.18.2.tgz", + "integrity": "sha512-OeHeMc0JhFE9idD4ZdtNibzY0+TPHSpSSb9h8FqtP+YnoZZ1sl8Vc9b1sasjfymH3SonAF4QcA2+mzHPhMvIiw==" + }, + "prettier-linter-helpers": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "dev": true, + "requires": { + "fast-diff": "^1.1.2" + } + }, + "pretty-format": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-23.6.0.tgz", + "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0", + "ansi-styles": "^3.2.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + } + } + }, + "private": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", + "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", + "dev": true + }, + "process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", + "dev": true + }, + "process-nextick-args": { + "version": "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 + }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true + }, + "promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", + "dev": true + }, + "prompts": { + "version": "0.1.14", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-0.1.14.tgz", + "integrity": "sha512-rxkyiE9YH6zAz/rZpywySLKkpaj0NMVyNw1qhsubdbjjSgcayjTShDreZGlFMcGSu5sab3bAKPfFk78PB90+8w==", + "dev": true, + "requires": { + "kleur": "^2.0.1", + "sisteransi": "^0.1.1" + } + }, + "property-information": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-4.2.0.tgz", + "integrity": "sha512-TlgDPagHh+eBKOnH2VYvk8qbwsCG/TAJdmTL7f1PROUcSO8qt/KSmShEQ/OKvock8X9tFjtqjCScyOkkkvIKVQ==", + "dev": true, + "requires": { + "xtend": "^4.0.1" + } + }, + "protocols": { + "version": "1.4.7", + "resolved": "https://registry.npmjs.org/protocols/-/protocols-1.4.7.tgz", + "integrity": "sha512-Fx65lf9/YDn3hUX08XUc0J8rSux36rEsyiv21ZGUC1mOyeM3lTRpZLcrm8aAolzS4itwVfm7TAPyxC2E5zd6xg==", + "dev": true + }, + "proxy-addr": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.5.tgz", + "integrity": "sha512-t/7RxHXPH6cJtP0pRG6smSr9QJidhB+3kXu0KgXnbGYMgzEnUxRQ4/LDdfOwZEMyIh3/xHb8PX3t+lfL9z+YVQ==", + "dev": true, + "requires": { + "forwarded": "~0.1.2", + "ipaddr.js": "1.9.0" + } + }, + "proxy-from-env": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz", + "integrity": "sha1-M8UDmPcOp+uW0h97gXYwpVeRx+4=", + "dev": true + }, + "prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", + "dev": true + }, + "ps-tree": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/ps-tree/-/ps-tree-1.2.0.tgz", + "integrity": "sha512-0VnamPPYHl4uaU/nSFeZZpR21QAWRz+sRv4iW9+v/GS/J5U5iZB5BNN6J0RMoOvdx2gWM2+ZFMIm58q24e4UYA==", + "dev": true, + "requires": { + "event-stream": "=3.3.4" + } + }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "dev": true + }, + "psl": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.4.0.tgz", + "integrity": "sha512-HZzqCGPecFLyoRj5HLfuDSKYTJkAfB5thKBIkRHtGjWwY7p1dAyveIbXIq4tO0KYfDF2tHqPUgY9SDnGm00uFw==", + "dev": true + }, + "public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "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 + }, + "puppeteer": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-1.20.0.tgz", + "integrity": "sha512-bt48RDBy2eIwZPrkgbcwHtb51mj2nKvHOPMaSH2IsWiv7lOG9k9zhaRzpDZafrk05ajMc3cu+lSQYYOfH2DkVQ==", + "dev": true, + "requires": { + "debug": "^4.1.0", + "extract-zip": "^1.6.6", + "https-proxy-agent": "^2.2.1", + "mime": "^2.0.3", + "progress": "^2.0.1", + "proxy-from-env": "^1.0.0", + "rimraf": "^2.6.1", + "ws": "^6.1.0" + }, + "dependencies": { + "mime": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz", + "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==", + "dev": true + } + } + }, + "qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", + "dev": true + }, + "query-string": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", + "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=", + "dev": true, + "requires": { + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + } + }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", + "dev": true + }, + "querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", + "dev": true + }, + "querystringify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.1.1.tgz", + "integrity": "sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA==", + "dev": true + }, + "queue": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/queue/-/queue-6.0.1.tgz", + "integrity": "sha512-AJBQabRCCNr9ANq8v77RJEv73DPbn55cdTb+Giq4X0AVnNVZvMHlYp7XlQiN+1npCZj1DuSmaA2hYVUUDgxFDg==", + "dev": true, + "requires": { + "inherits": "~2.0.3" + } + }, + "ramda": { + "version": "0.24.1", + "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.24.1.tgz", + "integrity": "sha1-w7d1UZfzW43DUCIoJixMkd22uFc=", + "dev": true + }, + "randomatic": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.1.tgz", + "integrity": "sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==", + "dev": true, + "requires": { + "is-number": "^4.0.0", + "kind-of": "^6.0.0", + "math-random": "^1.0.1" + }, + "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 + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + } + } + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "dev": true, + "requires": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "dev": true + }, + "raw-body": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", + "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", + "dev": true, + "requires": { + "bytes": "3.1.0", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + } + }, + "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" + }, + "dependencies": { + "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" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "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" + }, + "dependencies": { + "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" + } + }, + "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" + } + } + } + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "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" + }, + "dependencies": { + "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 + }, + "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 + }, + "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" + } + } + } + }, + "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" + } + }, + "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" + } + }, + "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-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-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" + } + }, + "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 + } + } + }, + "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" + } + } + } + }, + "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" + } + } + } + }, + "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-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-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" + } + }, + "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" + } + } + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "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" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "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" + } + } + } + }, + "realpath-native": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/realpath-native/-/realpath-native-1.1.0.tgz", + "integrity": "sha512-wlgPA6cCIIg9gKz0fgAPjnzh4yR/LnXovwuo9hvyGvx3h8nX4+/iLZplfUWasXpqD8BdnGnP5njOFjkUwPzvjA==", + "dev": true, + "requires": { + "util.promisify": "^1.0.0" + } + }, + "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" + }, + "dependencies": { + "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" + } + } + } + }, + "redeyed": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/redeyed/-/redeyed-2.1.1.tgz", + "integrity": "sha1-iYS1gV2ZyyIEacme7v/jiRPmzAs=", + "dev": true, + "requires": { + "esprima": "~4.0.0" + } + }, + "regenerate": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", + "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==", + "dev": true + }, + "regenerate-unicode-properties": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.1.0.tgz", + "integrity": "sha512-LGZzkgtLY79GeXLm8Dp0BVLdQlWICzBnJz/ipWUgo59qBaZ+BHtq51P2q1uVZlppMuUAT37SDk39qUbjTWB7bA==", + "dev": true, + "requires": { + "regenerate": "^1.4.0" + } + }, + "regenerator-runtime": { + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz", + "integrity": "sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw==", + "dev": true + }, + "regenerator-transform": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.1.tgz", + "integrity": "sha512-flVuee02C3FKRISbxhXl9mGzdbWUVHubl1SMaknjxkFB1/iqpJhArQUvRxOOPEc/9tAiX0BaQ28FJH10E4isSQ==", + "dev": true, + "requires": { + "private": "^0.1.6" + } + }, + "regex-cache": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", + "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", + "dev": true, + "requires": { + "is-equal-shallow": "^0.1.3" + } + }, + "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" + } + }, + "regexp.prototype.flags": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.2.0.tgz", + "integrity": "sha512-ztaw4M1VqgMwl9HlPpOuiYgItcHlunW0He2fE6eNfT6E/CF2FtYi9ofOYe4mKntstYk0Fyh/rDRBdS3AnxjlrA==", + "dev": true, + "requires": { + "define-properties": "^1.1.2" + } + }, + "regexpp": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", + "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", + "dev": true + }, + "regexpu-core": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.6.0.tgz", + "integrity": "sha512-YlVaefl8P5BnFYOITTNzDvan1ulLOiXJzCNZxduTIosN17b87h3bvG9yHMoHaRuo88H4mQ06Aodj5VtYGGGiTg==", + "dev": true, + "requires": { + "regenerate": "^1.4.0", + "regenerate-unicode-properties": "^8.1.0", + "regjsgen": "^0.5.0", + "regjsparser": "^0.6.0", + "unicode-match-property-ecmascript": "^1.0.4", + "unicode-match-property-value-ecmascript": "^1.1.0" + } + }, + "regjsgen": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.0.tgz", + "integrity": "sha512-RnIrLhrXCX5ow/E5/Mh2O4e/oa1/jW0eaBKTSy3LaCj+M3Bqvm97GWDp2yUtzIs4LEn65zR2yiYGFqb2ApnzDA==", + "dev": true + }, + "regjsparser": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.0.tgz", + "integrity": "sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ==", + "dev": true, + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true + } + } + }, + "relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=" + }, + "remark": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/remark/-/remark-9.0.0.tgz", + "integrity": "sha512-amw8rGdD5lHbMEakiEsllmkdBP+/KpjW/PRK6NSGPZKCQowh0BT4IWXDAkRMyG3SB9dKPXWMviFjNusXzXNn3A==", + "dev": true, + "requires": { + "remark-parse": "^5.0.0", + "remark-stringify": "^5.0.0", + "unified": "^6.0.0" + } + }, + "remark-html": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/remark-html/-/remark-html-8.0.0.tgz", + "integrity": "sha512-3V2391GL3hxKhrkzYOyfPpxJ6taIKLCfuLVqumeWQOk3H9nTtSQ8St8kMYkBVIEAquXN1chT83qJ/2lAW+dpEg==", + "dev": true, + "requires": { + "hast-util-sanitize": "^1.0.0", + "hast-util-to-html": "^4.0.0", + "mdast-util-to-hast": "^3.0.0", + "xtend": "^4.0.1" + } + }, + "remark-parse": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-5.0.0.tgz", + "integrity": "sha512-b3iXszZLH1TLoyUzrATcTQUZrwNl1rE70rVdSruJFlDaJ9z5aMkhrG43Pp68OgfHndL/ADz6V69Zow8cTQu+JA==", + "dev": true, + "requires": { + "collapse-white-space": "^1.0.2", + "is-alphabetical": "^1.0.0", + "is-decimal": "^1.0.0", + "is-whitespace-character": "^1.0.0", + "is-word-character": "^1.0.0", + "markdown-escapes": "^1.0.0", + "parse-entities": "^1.1.0", + "repeat-string": "^1.5.4", + "state-toggle": "^1.0.0", + "trim": "0.0.1", + "trim-trailing-lines": "^1.0.0", + "unherit": "^1.0.4", + "unist-util-remove-position": "^1.0.0", + "vfile-location": "^2.0.0", + "xtend": "^4.0.1" + } + }, + "remark-reference-links": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/remark-reference-links/-/remark-reference-links-4.0.4.tgz", + "integrity": "sha512-+2X8hwSQqxG4tvjYZNrTcEC+bXp8shQvwRGG6J/rnFTvBoU4G0BBviZoqKGZizLh/DG+0gSYhiDDWCqyxXW1iQ==", + "dev": true, + "requires": { + "unist-util-visit": "^1.0.0" + } + }, + "remark-slug": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/remark-slug/-/remark-slug-5.1.2.tgz", + "integrity": "sha512-DWX+Kd9iKycqyD+/B+gEFO3jjnt7Yg1O05lygYSNTe5i5PIxxxPjp5qPBDxPIzp5wreF7+1ROCwRgjEcqmzr3A==", + "dev": true, + "requires": { + "github-slugger": "^1.0.0", + "mdast-util-to-string": "^1.0.0", + "unist-util-visit": "^1.0.0" + } + }, + "remark-stringify": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-5.0.0.tgz", + "integrity": "sha512-Ws5MdA69ftqQ/yhRF9XhVV29mhxbfGhbz0Rx5bQH+oJcNhhSM6nCu1EpLod+DjrFGrU0BMPs+czVmJZU7xiS7w==", + "dev": true, + "requires": { + "ccount": "^1.0.0", + "is-alphanumeric": "^1.0.0", + "is-decimal": "^1.0.0", + "is-whitespace-character": "^1.0.0", + "longest-streak": "^2.0.1", + "markdown-escapes": "^1.0.0", + "markdown-table": "^1.1.0", + "mdast-util-compact": "^1.0.0", + "parse-entities": "^1.0.2", + "repeat-string": "^1.5.4", + "state-toggle": "^1.0.0", + "stringify-entities": "^1.0.1", + "unherit": "^1.0.4", + "xtend": "^4.0.1" + } + }, + "remark-toc": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/remark-toc/-/remark-toc-5.1.1.tgz", + "integrity": "sha512-vCPW4YOsm2CfyuScdktM9KDnJXVHJsd/ZeRtst+dnBU3B3KKvt8bc+bs5syJjyptAHfqo7H+5Uhz+2blWBfwow==", + "dev": true, + "requires": { + "mdast-util-toc": "^3.0.0", + "remark-slug": "^5.0.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" + }, + "dependencies": { + "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 + } + } + }, + "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.0", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz", + "integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=", + "dev": true + }, + "request": { + "version": "2.88.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", + "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", + "dev": 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.0", + "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.4.3", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "dependencies": { + "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 + } + } + }, + "request-progress": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-3.0.0.tgz", + "integrity": "sha1-TKdUCBx/7GP1BeT6qCWqBs1mnb4=", + "dev": true, + "requires": { + "throttleit": "^1.0.0" + } + }, + "request-promise": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/request-promise/-/request-promise-4.2.4.tgz", + "integrity": "sha512-8wgMrvE546PzbR5WbYxUQogUnUDfM0S7QIFZMID+J73vdFARkFy+HElj4T+MWYhpXwlLp0EQ8Zoj8xUA0he4Vg==", + "dev": true, + "requires": { + "bluebird": "^3.5.0", + "request-promise-core": "1.1.2", + "stealthy-require": "^1.1.1", + "tough-cookie": "^2.3.3" + } + }, + "request-promise-core": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.2.tgz", + "integrity": "sha512-UHYyq1MO8GsefGEt7EprS8UrXsm1TxEvFUX1IMTuSLU2Rh7fTIdFtl8xD7JiEYiWU2dl+NYAjCTksTehQUxPag==", + "dev": true, + "requires": { + "lodash": "^4.17.11" + } + }, + "request-promise-native": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.7.tgz", + "integrity": "sha512-rIMnbBdgNViL37nZ1b3L/VfPOpSi0TqVDQPAvO6U14lMzOLrt5nilxCQqtDKhZeDiW0/hkCXGoQjhgJd/tCh6w==", + "dev": true, + "requires": { + "request-promise-core": "1.1.2", + "stealthy-require": "^1.1.1", + "tough-cookie": "^2.3.3" + } + }, + "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 + }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", + "dev": true + }, + "resolve": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.12.0.tgz", + "integrity": "sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w==", + "dev": true, + "requires": { + "path-parse": "^1.0.6" + } + }, + "resolve-cwd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", + "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", + "dev": true, + "requires": { + "resolve-from": "^3.0.0" + } + }, + "resolve-dir": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-0.1.1.tgz", + "integrity": "sha1-shklmlYC+sXFxJatiUpujMQwJh4=", + "dev": true, + "requires": { + "expand-tilde": "^1.2.2", + "global-modules": "^0.2.3" + } + }, + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true + }, + "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 + }, + "restore-cursor": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz", + "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=", + "dev": true, + "requires": { + "exit-hook": "^1.0.0", + "onetime": "^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 + }, + "retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", + "dev": true + }, + "retry-axios": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/retry-axios/-/retry-axios-1.0.1.tgz", + "integrity": "sha512-aVnENElFbdmbsv1WbTi610Ukdper88yUPz4Y3eg/DUyHV7vNaLrj9orB6FOjvmFoXL9wZvbMAsOD87BmcyBVOw==", + "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 + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "dev": true, + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "rsvp": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-3.6.2.tgz", + "integrity": "sha512-OfWGQTb9vnwRjwtA2QwpG2ICclHC3pgXZO5xt8H2EfgDquO0qVdSb5T88L4qJVAEugbS56pAuV4XZM58UX8ulw==", + "dev": true + }, + "run-async": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", + "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", + "dev": true, + "requires": { + "is-promise": "^2.1.0" + } + }, + "run-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/run-node/-/run-node-1.0.0.tgz", + "integrity": "sha512-kc120TBlQ3mih1LSzdAJXo4xn/GWS2ec0l3S+syHDXP9uRr0JAT8Qd3mdMuyjqCzeZktgP3try92cEgf9Nks8A==", + "dev": true + }, + "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 + }, + "run-queue": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", + "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", + "dev": true, + "requires": { + "aproba": "^1.1.1" + } + }, + "rw": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz", + "integrity": "sha1-P4Yt+pGrdmsUiF700BEkv9oHT7Q=" + }, + "rx": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/rx/-/rx-4.1.0.tgz", + "integrity": "sha1-pfE/957zt0D+MKqAP7CfmIBdR4I=", + "dev": true + }, + "rxjs": { + "version": "5.5.12", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.12.tgz", + "integrity": "sha512-xx2itnL5sBbqeeiVgNPVuQQ1nC8Jp2WfNJhXWHmElW9YmrpS9UVnNzhP3EH3HFqexO5Tlp8GhYY+WEcqcVMvGw==", + "dev": true, + "requires": { + "symbol-observable": "1.0.1" + } + }, + "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-json-parse": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/safe-json-parse/-/safe-json-parse-1.0.1.tgz", + "integrity": "sha1-PnZyPjjf3aE8mx0poeB//uSzC1c=", + "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==" + }, + "sane": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/sane/-/sane-2.5.2.tgz", + "integrity": "sha1-tNwYYcIbQn6SlQej51HiosuKs/o=", + "dev": true, + "requires": { + "anymatch": "^2.0.0", + "capture-exit": "^1.2.0", + "exec-sh": "^0.2.0", + "fb-watchman": "^2.0.0", + "fsevents": "^1.2.3", + "micromatch": "^3.1.4", + "minimist": "^1.1.1", + "walker": "~1.0.5", + "watch": "~0.18.0" + }, + "dependencies": { + "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 + }, + "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 + }, + "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" + } + } + } + }, + "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" + } + }, + "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" + } + }, + "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-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-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" + } + }, + "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 + } + } + }, + "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" + } + } + } + }, + "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" + } + } + } + }, + "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-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-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" + } + }, + "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" + } + } + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "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" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "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" + } + } + } + }, + "sass-graph": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.4.tgz", + "integrity": "sha1-E/vWPNHK8JCLn9k0dq1DpR0eC0k=", + "dev": true, + "requires": { + "glob": "^7.0.0", + "lodash": "^4.0.0", + "scss-tokenizer": "^0.2.3", + "yargs": "^7.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "dev": true + }, + "cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "dev": true, + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.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 + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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 + }, + "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" + } + }, + "y18n": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", + "dev": true + }, + "yargs": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz", + "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=", + "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" + } + }, + "yargs-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz", + "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=", + "dev": true, + "requires": { + "camelcase": "^3.0.0" + } + } + } + }, + "sass-loader": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-7.3.1.tgz", + "integrity": "sha512-tuU7+zm0pTCynKYHpdqaPpe+MMTQ76I9TPZ7i4/5dZsigE350shQWe5EZNl5dBidM49TPET75tNqRbcsUZWeNA==", + "dev": true, + "requires": { + "clone-deep": "^4.0.1", + "loader-utils": "^1.0.1", + "neo-async": "^2.5.0", + "pify": "^4.0.1", + "semver": "^6.3.0" + }, + "dependencies": { + "clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + } + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "dev": true, + "requires": { + "kind-of": "^6.0.2" + } + } + } + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "dev": true + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + }, + "scope-css": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/scope-css/-/scope-css-1.2.1.tgz", + "integrity": "sha512-UjLRmyEYaDNiOS673xlVkZFlVCtckJR/dKgr434VMm7Lb+AOOqXKdAcY7PpGlJYErjXXJzKN7HWo4uRPiZZG0Q==", + "requires": { + "escaper": "^2.5.3", + "slugify": "^1.3.1", + "strip-css-comments": "^3.0.0" + } + }, + "scss-tokenizer": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz", + "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=", + "dev": true, + "requires": { + "js-base64": "^2.1.8", + "source-map": "^0.4.2" + }, + "dependencies": { + "source-map": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "dev": true, + "requires": { + "amdefine": ">=0.0.4" + } + } + } + }, + "select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=", + "dev": true + }, + "selfsigned": { + "version": "1.10.7", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.7.tgz", + "integrity": "sha512-8M3wBCzeWIJnQfl43IKwOmC4H/RAp50S8DF60znzjW5GVqTcSe2vWclt7hmYVPkKPlHWOu5EaWOMZ2Y6W8ZXTA==", + "dev": true, + "requires": { + "node-forge": "0.9.0" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, + "semver-compare": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", + "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=", + "dev": true + }, + "send": { + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", + "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", + "dev": true, + "requires": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.7.2", + "mime": "1.6.0", + "ms": "2.1.1", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.0" + }, + "dependencies": { + "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" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true + } + } + }, + "serialize-javascript": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.9.1.tgz", + "integrity": "sha512-0Vb/54WJ6k5v8sSWN09S0ora+Hnr+cX40r9F170nT+mSkaxltoE/7R3OrIdBSUv1OoiobH1QoWQbCnAO+e8J1A==", + "dev": true + }, + "serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", + "dev": true, + "requires": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "dependencies": { + "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" + } + }, + "http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "dev": true, + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "dev": true + } + } + }, + "serve-static": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", + "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", + "dev": true, + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.17.1" + } + }, + "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" + } + } + } + }, + "setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", + "dev": true + }, + "setprototypeof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", + "dev": true + }, + "sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "shallow-clone": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-0.1.2.tgz", + "integrity": "sha1-WQnodLp3EG1zrEFM/sH/yofZcGA=", + "dev": true, + "requires": { + "is-extendable": "^0.1.1", + "kind-of": "^2.0.1", + "lazy-cache": "^0.2.3", + "mixin-object": "^2.0.1" + }, + "dependencies": { + "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 + }, + "kind-of": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-2.0.1.tgz", + "integrity": "sha1-AY7HpM5+OobLkUG+UZ0kyPqpgbU=", + "dev": true, + "requires": { + "is-buffer": "^1.0.2" + } + }, + "lazy-cache": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-0.2.7.tgz", + "integrity": "sha1-f+3fLctu23fRHvHRF6tf/fCrG2U=", + "dev": true + } + } + }, + "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, + "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 + }, + "shellwords": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", + "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", + "dev": true + }, + "signal-exit": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "dev": true + }, + "simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", + "dev": true, + "requires": { + "is-arrayish": "^0.3.1" + }, + "dependencies": { + "is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", + "dev": true + } + } + }, + "sisteransi": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-0.1.1.tgz", + "integrity": "sha512-PmGOd02bM9YO5ifxpw36nrNMBTptEtfRl4qUYl9SndkolplkrZZOW7PGHjrZL53QvMVj9nQ+TKqUnRsw4tJa4g==", + "dev": true + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "slice-ansi": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz", + "integrity": "sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=", + "dev": true + }, + "slugify": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/slugify/-/slugify-1.3.5.tgz", + "integrity": "sha512-5VCnH7aS13b0UqWOs7Ef3E5rkhFe8Od+cp7wybFv5mv/sYSRkucZlJX0bamAJky7b2TTtGvrJBWVdpdEicsSrA==" + }, + "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": { + "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" + } + }, + "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" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "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 + } + } + }, + "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" + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + } + } + }, + "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" + } + }, + "sockjs": { + "version": "0.3.19", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.19.tgz", + "integrity": "sha512-V48klKZl8T6MzatbLlzzRNhMepEys9Y4oGFpypBFFn1gLI/QQ9HtLLyWJNbPlwGLelOVOEijUbTTJeLLI59jLw==", + "dev": true, + "requires": { + "faye-websocket": "^0.10.0", + "uuid": "^3.0.1" + } + }, + "sockjs-client": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.4.0.tgz", + "integrity": "sha512-5zaLyO8/nri5cua0VtOrFXBPK1jbL4+1cebT/mmKA1E1ZXOvJrII75bPu0l0k843G/+iAbhEqzyKr0w/eCCj7g==", + "dev": true, + "requires": { + "debug": "^3.2.5", + "eventsource": "^1.0.7", + "faye-websocket": "~0.11.1", + "inherits": "^2.0.3", + "json3": "^3.3.2", + "url-parse": "^1.4.3" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "faye-websocket": { + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", + "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==", + "dev": true, + "requires": { + "websocket-driver": ">=0.5.1" + } + } + } + }, + "sort-keys": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", + "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", + "dev": true, + "requires": { + "is-plain-obj": "^1.0.0" + } + }, + "source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", + "dev": true + }, + "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.2", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", + "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", + "dev": true, + "requires": { + "atob": "^2.1.1", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "source-map-support": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.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 + }, + "space-separated-tokens": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-1.1.4.tgz", + "integrity": "sha512-UyhMSmeIqZrQn2UdjYpxEkwY9JUrn8pP+7L4f91zRzOQuI8MF1FGLfYU9DKCYeLdo7LXMxwrX5zKFy7eeeVHuA==", + "dev": true + }, + "spawnd": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/spawnd/-/spawnd-4.0.0.tgz", + "integrity": "sha512-ql3qhJnhAkvXpaqKBWOqou1rUTSQhFRaZkyOT+MTFB4xY3X+brgw6LTWV2wHuE9A6YPhrNe1cbg7S+jAYnbC0Q==", + "dev": true, + "requires": { + "exit": "^0.1.2", + "signal-exit": "^3.0.2", + "tree-kill": "^1.2.1", + "wait-port": "^0.2.2" + } + }, + "spdx-correct": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", + "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==", + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz", + "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", + "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", + "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 + }, + "spdy": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.1.tgz", + "integrity": "sha512-HeZS3PBdMA+sZSu0qwpCxl3DeALD5ASx8pAX0jZdKXSpPWbQ6SYGnlg3BBmYLx5LtiZrmkAZfErCm2oECBcioA==", + "dev": true, + "requires": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + } + }, + "spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "dev": true, + "requires": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + }, + "dependencies": { + "readable-stream": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz", + "integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "split": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/split/-/split-0.3.3.tgz", + "integrity": "sha1-zQ7qXmOiEd//frDwkcQTPi0N0o8=", + "dev": true, + "requires": { + "through": "2" + } + }, + "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 + }, + "sshpk": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "dev": 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" + } + }, + "ssri": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", + "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", + "dev": true, + "requires": { + "figgy-pudding": "^3.5.1" + } + }, + "stack-trace": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", + "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=", + "dev": true + }, + "stack-utils": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.2.tgz", + "integrity": "sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA==", + "dev": true + }, + "start-server-and-test": { + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/start-server-and-test/-/start-server-and-test-1.10.3.tgz", + "integrity": "sha512-9XF9ezFrrz8+c3I2+PNeON2egbucjIzwcCDqldaUQbEkf6IZEf+CdXJEVCh/zkn7hgqIl3md0CtyRYT1yUI9rw==", + "dev": true, + "requires": { + "bluebird": "3.7.0", + "check-more-types": "2.24.0", + "debug": "4.1.1", + "execa": "2.0.4", + "lazy-ass": "1.6.0", + "ps-tree": "1.2.0", + "wait-on": "3.3.0" + }, + "dependencies": { + "execa": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/execa/-/execa-2.0.4.tgz", + "integrity": "sha512-VcQfhuGD51vQUQtKIq2fjGDLDbL6N1DTQVpYzxZ7LPIXw3HqTuIz6uxRmpV1qf8i31LHf2kjiaGI+GdHwRgbnQ==", + "dev": true, + "requires": { + "cross-spawn": "^6.0.5", + "get-stream": "^5.0.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^3.0.0", + "onetime": "^5.1.0", + "p-finally": "^2.0.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, + "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 + }, + "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 + }, + "npm-run-path": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-3.1.0.tgz", + "integrity": "sha512-Dbl4A/VfiVGLgQv29URL9xshU8XDY1GeLy+fsaZ1AA8JDSfjvr5P5+pzRbWqRSBxk6/DW7MIh8lTM/PaGnP2kg==", + "dev": true, + "requires": { + "path-key": "^3.0.0" + } + }, + "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, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "p-finally": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz", + "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==", + "dev": true + }, + "path-key": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.0.tgz", + "integrity": "sha512-8cChqz0RP6SHJkMt48FW0A7+qUOn+OsnOsVtzI59tZ8m+5bCSk7hzwET0pulwOM2YMn9J1efb07KB9l9f30SGg==", + "dev": 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, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + } + } + }, + "state-toggle": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.2.tgz", + "integrity": "sha512-8LpelPGR0qQM4PnfLiplOQNJcIN1/r2Gy0xKB2zKnIW2YzPMt2sR4I/+gtPjhN7Svh9kw+zqEg2SFwpBO9iNiw==", + "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" + } + } + } + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", + "dev": true + }, + "stdout-stream": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz", + "integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==", + "dev": true, + "requires": { + "readable-stream": "^2.0.1" + } + }, + "stealthy-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", + "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=", + "dev": true + }, + "stream-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/stream-array/-/stream-array-1.1.2.tgz", + "integrity": "sha1-nl9zRfITfDDuO0mLkRToC1K7frU=", + "dev": true, + "requires": { + "readable-stream": "~2.1.0" + }, + "dependencies": { + "process-nextick-args": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", + "dev": true + }, + "readable-stream": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.1.5.tgz", + "integrity": "sha1-ZvqLcg4UOLNkaB8q0aY8YYRIydA=", + "dev": true, + "requires": { + "buffer-shims": "^1.0.0", + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "string_decoder": "~0.10.x", + "util-deprecate": "~1.0.1" + } + }, + "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 + } + } + }, + "stream-browserify": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", + "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", + "dev": true, + "requires": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + } + }, + "stream-combiner": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz", + "integrity": "sha1-TV5DPBhSYd3mI8o/RMWGvPXErRQ=", + "dev": true, + "requires": { + "duplexer": "~0.1.1" + } + }, + "stream-combiner2": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz", + "integrity": "sha1-+02KFCDqNidk4hrUeAOXvry0HL4=", + "dev": true, + "requires": { + "duplexer2": "~0.1.0", + "readable-stream": "^2.0.2" + } + }, + "stream-each": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", + "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "stream-shift": "^1.0.0" + } + }, + "stream-http": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", + "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "dev": true, + "requires": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" + } + }, + "stream-shift": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz", + "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=", + "dev": true + }, + "stream-to-observable": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/stream-to-observable/-/stream-to-observable-0.1.0.tgz", + "integrity": "sha1-Rb8dny19wJvtgfHDB8Qw5ouEz/4=", + "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 + }, + "string-length": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-2.0.0.tgz", + "integrity": "sha1-1A27aGo6zpYMHP/KVivyxF+DY+0=", + "dev": true, + "requires": { + "astral-regex": "^1.0.0", + "strip-ansi": "^4.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "string-template": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/string-template/-/string-template-0.2.1.tgz", + "integrity": "sha1-QpMuWYo1LQH8IuwzZ9nYTuxsmt0=", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "string.prototype.trimleft": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.0.tgz", + "integrity": "sha512-FJ6b7EgdKxxbDxc79cOlok6Afd++TTs5szo+zJTUyow3ycrRfJVE2pq3vcN53XexvKZu/DJMDfeI/qMiZTrjTw==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "function-bind": "^1.1.1" + } + }, + "string.prototype.trimright": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.0.tgz", + "integrity": "sha512-fXZTSV55dNBwv16uw+hh5jkghxSnc5oHq+5K/gXgizHwAvMetdAJlHqqoFC1FSDVPYWLkAKl2cxpUT41sV7nSg==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "function-bind": "^1.1.1" + } + }, + "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" + } + }, + "stringify-entities": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-1.3.2.tgz", + "integrity": "sha512-nrBAQClJAPN2p+uGCVJRPIPakKeKWZ9GtBCmormE7pWOSlHat7+x5A8gx85M7HM5Dt0BP3pP5RhVW77WdbJJ3A==", + "dev": true, + "requires": { + "character-entities-html4": "^1.0.0", + "character-entities-legacy": "^1.0.0", + "is-alphanumerical": "^1.0.0", + "is-hexadecimal": "^1.0.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.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-css-comments": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-css-comments/-/strip-css-comments-3.0.0.tgz", + "integrity": "sha1-elYl7/iisibPiUehElTaluE9rok=", + "requires": { + "is-regexp": "^1.0.0" + } + }, + "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 + }, + "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 + }, + "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" + }, + "dependencies": { + "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 + } + } + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "dev": true + }, + "subarg": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz", + "integrity": "sha1-9izxdYHplrSPyWVpn1TAauJouNI=", + "dev": true, + "requires": { + "minimist": "^1.1.0" + } + }, + "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" + } + }, + "supports-hyperlinks": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-1.0.1.tgz", + "integrity": "sha512-HHi5kVSefKaJkGYXbDuKbUGRVxqnWGn3J2e39CYcNJEfWciGq2zYtOhXLTlvrOZW1QU7VX67w7fMmWafHX9Pfw==", + "dev": true, + "requires": { + "has-flag": "^2.0.0", + "supports-color": "^5.0.0" + }, + "dependencies": { + "has-flag": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", + "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", + "dev": true + } + } + }, + "symbol-observable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.1.tgz", + "integrity": "sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ=", + "dev": true + }, + "symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "dev": true + }, + "table": { + "version": "5.4.6", + "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", + "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", + "dev": true, + "requires": { + "ajv": "^6.10.2", + "lodash": "^4.17.14", + "slice-ansi": "^2.1.0", + "string-width": "^3.0.0" + }, + "dependencies": { + "slice-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", + "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "astral-regex": "^1.0.0", + "is-fullwidth-code-point": "^2.0.0" + } + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + } + } + }, + "tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "dev": true + }, + "tar": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.2.tgz", + "integrity": "sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA==", + "dev": true, + "requires": { + "block-stream": "*", + "fstream": "^1.0.12", + "inherits": "2" + } + }, + "terser": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.3.4.tgz", + "integrity": "sha512-Kcrn3RiW8NtHBP0ssOAzwa2MsIRQ8lJWiBG/K7JgqPlomA3mtb2DEmp4/hrUA+Jujx+WZ02zqd7GYD+QRBB/2Q==", + "requires": { + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" + } + }, + "terser-webpack-plugin": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.1.tgz", + "integrity": "sha512-ZXmmfiwtCLfz8WKZyYUuuHf3dMYEjg8NrjHMb0JqHVHVOSkzp3cW2/XG1fP3tRhqEqSzMwzzRQGtAPbs4Cncxg==", + "dev": true, + "requires": { + "cacache": "^12.0.2", + "find-cache-dir": "^2.1.0", + "is-wsl": "^1.1.0", + "schema-utils": "^1.0.0", + "serialize-javascript": "^1.7.0", + "source-map": "^0.6.1", + "terser": "^4.1.2", + "webpack-sources": "^1.4.0", + "worker-farm": "^1.7.0" + } + }, + "test-exclude": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-4.2.3.tgz", + "integrity": "sha512-SYbXgY64PT+4GAL2ocI3HwPa4Q4TBKm0cwAVeKOt/Aoc0gSpNRjJX8w0pA1LMKZ3LBmd8pYBqApFNQLII9kavA==", + "dev": true, + "requires": { + "arrify": "^1.0.1", + "micromatch": "^2.3.11", + "object-assign": "^4.1.0", + "read-pkg-up": "^1.0.1", + "require-main-filename": "^1.0.1" + }, + "dependencies": { + "braces": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "dev": true, + "requires": { + "expand-range": "^1.8.1", + "preserve": "^0.2.0", + "repeat-element": "^1.1.2" + } + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "requires": { + "is-extglob": "^1.0.0" + } + }, + "micromatch": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "dev": true, + "requires": { + "arr-diff": "^2.0.0", + "array-unique": "^0.2.1", + "braces": "^1.8.2", + "expand-brackets": "^0.1.4", + "extglob": "^0.3.1", + "filename-regex": "^2.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.1", + "kind-of": "^3.0.2", + "normalize-path": "^2.0.1", + "object.omit": "^2.0.0", + "parse-glob": "^3.0.4", + "regex-cache": "^0.4.2" + } + } + } + }, + "text-hex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz", + "integrity": "sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==", + "dev": true + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "throat": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-4.1.0.tgz", + "integrity": "sha1-iQN8vJLFarGJJua6TLsgDhVnKmo=", + "dev": true + }, + "throttleit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz", + "integrity": "sha1-nnhYNtr0Z0MUWlmEtiaNgoUorGw=", + "dev": true + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, + "through2": { + "version": "2.0.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-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" + } + }, + "thunky": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.0.3.tgz", + "integrity": "sha512-YwT8pjmNcAXBZqrubu22P4FYsh2D4dxRmnWBOL8Jk8bUcRUtc5326kx32tuTmFDAZtLOGEVNl8POAR8j896Iow==", + "dev": true + }, + "timers-browserify": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.11.tgz", + "integrity": "sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ==", + "dev": true, + "requires": { + "setimmediate": "^1.0.4" + } + }, + "tiny-lr": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/tiny-lr/-/tiny-lr-1.1.1.tgz", + "integrity": "sha512-44yhA3tsaRoMOjQQ+5v5mVdqef+kH6Qze9jTpqtVufgYjYt08zyZAwNwwVBj3i1rJMnR52IxOW0LK0vBzgAkuA==", + "dev": true, + "requires": { + "body": "^5.1.0", + "debug": "^3.1.0", + "faye-websocket": "~0.10.0", + "livereload-js": "^2.3.0", + "object-assign": "^4.1.0", + "qs": "^6.4.0" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "tmp": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.1.0.tgz", + "integrity": "sha512-J7Z2K08jbGcdA1kkQpJSqLF6T0tdQqpR2pnSUXsIchbPdTI9v3e85cLW0d6WDhwuAleOV71j2xWs8qMPfK7nKw==", + "dev": true, + "requires": { + "rimraf": "^2.6.3" + } + }, + "tmpl": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz", + "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=", + "dev": 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-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", + "dev": true + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": 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" + } + }, + "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": "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" + } + }, + "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" + } + }, + "toidentifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", + "dev": true + }, + "tough-cookie": { + "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, + "requires": { + "psl": "^1.1.24", + "punycode": "^1.4.1" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + } + } + }, + "tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "tree-kill": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.1.tgz", + "integrity": "sha512-4hjqbObwlh2dLyW4tcz0Ymw0ggoaVDMveUB9w8kFSQScdRLo0gxO9J7WFcUBo+W3C1TLdFIEwNOWebgZZ0RH9Q==", + "dev": true + }, + "treeify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/treeify/-/treeify-1.1.0.tgz", + "integrity": "sha512-1m4RA7xVAJrSGrrXGs0L3YTwyvBs2S8PbRHaLZAkFw7JR8oIFwYtysxlBZhYIa7xSyiYJKZ3iGrrk55cGA3i9A==", + "dev": true + }, + "trim": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz", + "integrity": "sha1-WFhUf2spB1fulczMZm+1AITEYN0=", + "dev": true + }, + "trim-lines": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-1.1.2.tgz", + "integrity": "sha512-3GOuyNeTqk3FAqc3jOJtw7FTjYl94XBR5aD9QnDbK/T4CA9sW/J0l9RoaRPE9wyPP7NF331qnHnvJFBJ+IDkmQ==", + "dev": true + }, + "trim-newlines": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", + "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", + "dev": true + }, + "trim-right": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", + "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", + "dev": true + }, + "trim-trailing-lines": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.2.tgz", + "integrity": "sha512-MUjYItdrqqj2zpcHFTkMa9WAv4JHTI6gnRQGPFLrt5L9a6tRMiDnIqYl8JBvu2d2Tc3lWJKQwlGCp0K8AvCM+Q==", + "dev": true + }, + "triple-beam": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/triple-beam/-/triple-beam-1.3.0.tgz", + "integrity": "sha512-XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw==", + "dev": true + }, + "trough": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/trough/-/trough-1.0.4.tgz", + "integrity": "sha512-tdzBRDGWcI1OpPVmChbdSKhvSVurznZ8X36AYURAcl+0o2ldlCY2XPzyXNNxwJwwyIU+rIglTCG4kxtNKBQH7Q==", + "dev": true + }, + "true-case-path": { + "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, + "requires": { + "glob": "^7.1.2" + } + }, + "try-catch": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/try-catch/-/try-catch-2.0.1.tgz", + "integrity": "sha512-LsOrmObN/2WdM+y2xG+t16vhYrQsnV8wftXIcIOWZhQcBJvKGYuamJGwnU98A7Jxs2oZNkJztXlphEOoA0DWqg==" + }, + "try-to-catch": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/try-to-catch/-/try-to-catch-1.1.1.tgz", + "integrity": "sha512-ikUlS+/BcImLhNYyIgZcEmq4byc31QpC+46/6Jm5ECWkVFhf8SM2Fp/0pMVXPX6vk45SMCwrP4Taxucne8I0VA==" + }, + "tslib": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz", + "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==", + "dev": true + }, + "tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", + "dev": true + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": true, + "requires": { + "safe-buffer": "^5.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 + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2" + } + }, + "type-fest": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.5.2.tgz", + "integrity": "sha512-DWkS49EQKVX//Tbupb9TFa19c7+MK1XmzkrZUR8TAktmE/DizXoaoJV6TZ/tSIPXipqNiRI6CyAe7x69Jb6RSw==" + }, + "type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dev": true, + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + } + }, + "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.6.0", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.6.0.tgz", + "integrity": "sha512-W+jrUHJr3DXKhrsS7NUVxn3zqMOFn0hL/Ei6v0anCIMoKC93TjcflTagwIHLW7SfMFfiQuktQyFVCFHGUE0+yg==", + "requires": { + "commander": "~2.20.0", + "source-map": "~0.6.1" + } + }, + "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 + }, + "underscore": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.1.7.tgz", + "integrity": "sha1-QLq4S60Z0jAJbo1u9ii/8FXYPbA=", + "dev": true + }, + "unherit": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/unherit/-/unherit-1.1.2.tgz", + "integrity": "sha512-W3tMnpaMG7ZY6xe/moK04U9fBhi6wEiCYHUW5Mop/wQHf12+79EQGwxYejNdhEz2mkqkBlGwm7pxmgBKMVUj0w==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "xtend": "^4.0.1" + } + }, + "unicode-canonical-property-names-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", + "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==", + "dev": true + }, + "unicode-match-property-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", + "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", + "dev": true, + "requires": { + "unicode-canonical-property-names-ecmascript": "^1.0.4", + "unicode-property-aliases-ecmascript": "^1.0.4" + } + }, + "unicode-match-property-value-ecmascript": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.1.0.tgz", + "integrity": "sha512-hDTHvaBk3RmFzvSl0UVrUmC3PuW9wKVnpoUDYH0JDkSIovzw+J5viQmeYHxVSBptubnr7PbH2e0fnpDRQnQl5g==", + "dev": true + }, + "unicode-property-aliases-ecmascript": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz", + "integrity": "sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw==", + "dev": true + }, + "unified": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/unified/-/unified-6.2.0.tgz", + "integrity": "sha512-1k+KPhlVtqmG99RaTbAv/usu85fcSRu3wY8X+vnsEhIxNP5VbVIDiXnLqyKIG+UMdyTg0ZX9EI6k2AfjJkHPtA==", + "dev": true, + "requires": { + "bail": "^1.0.0", + "extend": "^3.0.0", + "is-plain-obj": "^1.1.0", + "trough": "^1.0.0", + "vfile": "^2.0.0", + "x-is-string": "^0.1.0" + }, + "dependencies": { + "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 + }, + "vfile": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-2.3.0.tgz", + "integrity": "sha512-ASt4mBUHcTpMKD/l5Q+WJXNtshlWxOogYyGYYrg4lt/vuRjC1EFQtlAofL5VmtVNIZJzWYFJjzGWZ0Gw8pzW1w==", + "dev": true, + "requires": { + "is-buffer": "^1.1.4", + "replace-ext": "1.0.0", + "unist-util-stringify-position": "^1.0.0", + "vfile-message": "^1.0.0" + } + } + } + }, + "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" + } + }, + "uniq": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", + "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", + "dev": true + }, + "unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "dev": true, + "requires": { + "unique-slug": "^2.0.0" + } + }, + "unique-slug": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4" + } + }, + "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" + } + }, + "unist-builder": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unist-builder/-/unist-builder-1.0.4.tgz", + "integrity": "sha512-v6xbUPP7ILrT15fHGrNyHc1Xda8H3xVhP7/HAIotHOhVPjH5dCXA097C3Rry1Q2O+HbOLCao4hfPB+EYEjHgVg==", + "dev": true, + "requires": { + "object-assign": "^4.1.0" + } + }, + "unist-util-generated": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-1.1.4.tgz", + "integrity": "sha512-SA7Sys3h3X4AlVnxHdvN/qYdr4R38HzihoEVY2Q2BZu8NHWDnw5OGcC/tXWjQfd4iG+M6qRFNIRGqJmp2ez4Ww==", + "dev": true + }, + "unist-util-is": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-3.0.0.tgz", + "integrity": "sha512-sVZZX3+kspVNmLWBPAB6r+7D9ZgAFPNWm66f7YNb420RlQSbn+n8rG8dGZSkrER7ZIXGQYNm5pqC3v3HopH24A==", + "dev": true + }, + "unist-util-position": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-3.0.3.tgz", + "integrity": "sha512-28EpCBYFvnMeq9y/4w6pbnFmCUfzlsc41NJui5c51hOFjBA1fejcwc+5W4z2+0ECVbScG3dURS3JTVqwenzqZw==", + "dev": true + }, + "unist-util-remove-position": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-1.1.3.tgz", + "integrity": "sha512-CtszTlOjP2sBGYc2zcKA/CvNdTdEs3ozbiJ63IPBxh8iZg42SCCb8m04f8z2+V1aSk5a7BxbZKEdoDjadmBkWA==", + "dev": true, + "requires": { + "unist-util-visit": "^1.1.0" + } + }, + "unist-util-stringify-position": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-1.1.2.tgz", + "integrity": "sha512-pNCVrk64LZv1kElr0N1wPiHEUoXNVFERp+mlTg/s9R5Lwg87f9bM/3sQB99w+N9D/qnM9ar3+AKDBwo/gm/iQQ==", + "dev": true + }, + "unist-util-visit": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-1.4.1.tgz", + "integrity": "sha512-AvGNk7Bb//EmJZyhtRUnNMEpId/AZ5Ph/KUpTI09WHQuDZHKovQ1oEv3mfmKpWKtoMzyMC4GLBm1Zy5k12fjIw==", + "dev": true, + "requires": { + "unist-util-visit-parents": "^2.0.0" + } + }, + "unist-util-visit-parents": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-2.1.2.tgz", + "integrity": "sha512-DyN5vD4NE3aSeB+PXYNKxzGsfocxp6asDc2XXE3b0ekO2BaRUpBicbbUygfSvYfUz1IkmjFR1YF7dPklraMZ2g==", + "dev": true, + "requires": { + "unist-util-is": "^3.0.0" + } + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "dev": 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 + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "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 + }, + "upper-case": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", + "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=" + }, + "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, + "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": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "dev": true, + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + }, + "dependencies": { + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", + "dev": true + } + } + }, + "url-parse": { + "version": "1.4.7", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz", + "integrity": "sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==", + "dev": true, + "requires": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "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": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", + "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", + "dev": true, + "requires": { + "inherits": "2.0.3" + } + }, + "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.0", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", + "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "object.getownpropertydescriptors": "^2.0.3" + } + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", + "dev": true + }, + "uuid": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.3.tgz", + "integrity": "sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ==", + "dev": true + }, + "v8-compile-cache": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz", + "integrity": "sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g==", + "dev": true + }, + "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 + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", + "dev": true + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "vfile": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-4.0.1.tgz", + "integrity": "sha512-lRHFCuC4SQBFr7Uq91oJDJxlnftoTLQ7eKIpMdubhYcVMho4781a8MWXLy3qZrZ0/STD1kRiKc0cQOHm4OkPeA==", + "dev": true, + "requires": { + "@types/unist": "^2.0.0", + "is-buffer": "^2.0.0", + "replace-ext": "1.0.0", + "unist-util-stringify-position": "^2.0.0", + "vfile-message": "^2.0.0" + }, + "dependencies": { + "unist-util-stringify-position": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.1.tgz", + "integrity": "sha512-Zqlf6+FRI39Bah8Q6ZnNGrEHUhwJOkHde2MHVk96lLyftfJJckaPslKgzhVcviXj8KcE9UJM9F+a4JEiBUTYgA==", + "dev": true, + "requires": { + "@types/unist": "^2.0.2" + } + }, + "vfile-message": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.1.tgz", + "integrity": "sha512-KtasSV+uVU7RWhUn4Lw+wW1Zl/nW8JWx7JCPps10Y9JRRIDeDXf8wfBLoOSsJLyo27DqMyAi54C6Jf/d6Kr2Bw==", + "dev": true, + "requires": { + "@types/unist": "^2.0.2", + "unist-util-stringify-position": "^2.0.0" + } + } + } + }, + "vfile-location": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-2.0.5.tgz", + "integrity": "sha512-Pa1ey0OzYBkLPxPZI3d9E+S4BmvfVwNAAXrrqGbwTVXWaX2p9kM1zZ+n35UtVM06shmWKH4RPRN8KI80qE3wNQ==", + "dev": true + }, + "vfile-message": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-1.1.1.tgz", + "integrity": "sha512-1WmsopSGhWt5laNir+633LszXvZ+Z/lxveBf6yhGsqnQIhlhzooZae7zV6YVM1Sdkw68dtAW3ow0pOdPANugvA==", + "dev": true, + "requires": { + "unist-util-stringify-position": "^1.1.1" + } + }, + "vfile-reporter": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/vfile-reporter/-/vfile-reporter-6.0.0.tgz", + "integrity": "sha512-8Is0XxFxWJUhPJdOg3CyZTqd3ICCWg6r304PuBl818ZG91h4FMS3Q+lrOPS+cs5/DZK3H0+AkJdH0J8JEwKtDA==", + "dev": true, + "requires": { + "repeat-string": "^1.5.0", + "string-width": "^4.0.0", + "supports-color": "^6.0.0", + "unist-util-stringify-position": "^2.0.0", + "vfile-sort": "^2.1.2", + "vfile-statistics": "^1.1.0" + }, + "dependencies": { + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "string-width": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.1.0.tgz", + "integrity": "sha512-NrX+1dVVh+6Y9dnQ19pR0pP4FiEIlUvdTGn8pw6CKTNq5sgib2nIhmUNT5TAmhWmvKr3WcxBcP3E8nWezuipuQ==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^5.2.0" + } + }, + "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" + } + }, + "unist-util-stringify-position": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.1.tgz", + "integrity": "sha512-Zqlf6+FRI39Bah8Q6ZnNGrEHUhwJOkHde2MHVk96lLyftfJJckaPslKgzhVcviXj8KcE9UJM9F+a4JEiBUTYgA==", + "dev": true, + "requires": { + "@types/unist": "^2.0.2" + } + } + } + }, + "vfile-sort": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/vfile-sort/-/vfile-sort-2.2.1.tgz", + "integrity": "sha512-5dt7xEhC44h0uRQKhbM2JAe0z/naHphIZlMOygtMBM9Nn0pZdaX5fshhwWit9wvsuP8t/wp43nTDRRErO1WK8g==", + "dev": true + }, + "vfile-statistics": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/vfile-statistics/-/vfile-statistics-1.1.3.tgz", + "integrity": "sha512-CstaK/ebTz1W3Qp41Bt9Lj/2DmumFsCwC2sKahDNSPh0mPh7/UyMLCoU8ZBX34CRU0d61B4W41yIFsV0NKMZeA==", + "dev": true + }, + "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" + } + }, + "vm-browserify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.0.tgz", + "integrity": "sha512-iq+S7vZJE60yejDYM0ek6zg308+UZsdtPExWP9VZoCFCz1zkJoXFnAX7aZfd/ZwrkidzdUZL0C/ryW+JwAiIGw==", + "dev": true + }, + "vue-template-compiler": { + "version": "2.6.10", + "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.6.10.tgz", + "integrity": "sha512-jVZkw4/I/HT5ZMvRnhv78okGusqe0+qH2A0Em0Cp8aq78+NK9TII263CDVz2QXZsIT+yyV/gZc/j/vlwa+Epyg==", + "dev": true, + "requires": { + "de-indent": "^1.0.2", + "he": "^1.1.0" + } + }, + "w3c-hr-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz", + "integrity": "sha1-gqwr/2PZUOqeMYmlimViX+3xkEU=", + "dev": true, + "requires": { + "browser-process-hrtime": "^0.1.2" + } + }, + "wait-on": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-3.3.0.tgz", + "integrity": "sha512-97dEuUapx4+Y12aknWZn7D25kkjMk16PbWoYzpSdA8bYpVfS6hpl2a2pOWZ3c+Tyt3/i4/pglyZctG3J4V1hWQ==", + "dev": true, + "requires": { + "@hapi/joi": "^15.0.3", + "core-js": "^2.6.5", + "minimist": "^1.2.0", + "request": "^2.88.0", + "rx": "^4.1.0" + } + }, + "wait-port": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/wait-port/-/wait-port-0.2.2.tgz", + "integrity": "sha1-1RpJHkhKF791qUfnEaLwErTm8uM=", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "commander": "^2.9.0", + "debug": "^2.6.6" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.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" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.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 + } + } + }, + "walk": { + "version": "2.3.14", + "resolved": "https://registry.npmjs.org/walk/-/walk-2.3.14.tgz", + "integrity": "sha512-5skcWAUmySj6hkBdH6B6+3ddMjVQYH5Qy9QGbPmN8kVmLteXk+yVXg+yfk1nbX30EYakahLrr8iPcCxJQSCBeg==", + "dev": true, + "requires": { + "foreachasync": "^3.0.0" + } + }, + "walker": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", + "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", + "dev": true, + "requires": { + "makeerror": "1.0.x" + } + }, + "watch": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/watch/-/watch-0.18.0.tgz", + "integrity": "sha1-KAlUdsbffJDJYxOJkMClQj60uYY=", + "dev": true, + "requires": { + "exec-sh": "^0.2.0", + "minimist": "^1.2.0" + } + }, + "watchpack": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz", + "integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==", + "dev": true, + "requires": { + "chokidar": "^2.0.2", + "graceful-fs": "^4.1.2", + "neo-async": "^2.5.0" + } + }, + "wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "dev": true, + "requires": { + "minimalistic-assert": "^1.0.0" + } + }, + "webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", + "dev": true + }, + "webpack": { + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.41.0.tgz", + "integrity": "sha512-yNV98U4r7wX1VJAj5kyMsu36T8RPPQntcb5fJLOsMz/pt/WrKC0Vp1bAlqPLkA1LegSwQwf6P+kAbyhRKVQ72g==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-module-context": "1.8.5", + "@webassemblyjs/wasm-edit": "1.8.5", + "@webassemblyjs/wasm-parser": "1.8.5", + "acorn": "^6.2.1", + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.1", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^4.1.0", + "eslint-scope": "^4.0.3", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^2.4.0", + "loader-utils": "^1.2.3", + "memory-fs": "^0.4.1", + "micromatch": "^3.1.10", + "mkdirp": "^0.5.1", + "neo-async": "^2.6.1", + "node-libs-browser": "^2.2.1", + "schema-utils": "^1.0.0", + "tapable": "^1.1.3", + "terser-webpack-plugin": "^1.4.1", + "watchpack": "^1.6.0", + "webpack-sources": "^1.4.1" + }, + "dependencies": { + "acorn": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.3.0.tgz", + "integrity": "sha512-/czfa8BwS88b9gWQVhc8eknunSA2DoJpJyTQkhheIf5E48u1N0R4q/YxxsAeqRrmK9TQ/uYfgLDfZo91UlANIA==", + "dev": true + }, + "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 + }, + "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 + }, + "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" + } + } + } + }, + "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" + } + }, + "eslint-scope": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", + "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", + "dev": true, + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "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" + } + }, + "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-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-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" + } + }, + "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 + } + } + }, + "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" + } + } + } + }, + "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" + } + } + } + }, + "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-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-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" + } + }, + "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" + } + } + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "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" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "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" + } + } + } + }, + "webpack-cli": { + "version": "3.3.9", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.9.tgz", + "integrity": "sha512-xwnSxWl8nZtBl/AFJCOn9pG7s5CYUYdZxmmukv+fAHLcBIHM36dImfpQg3WfShZXeArkWlf6QRw24Klcsv8a5A==", + "dev": true, + "requires": { + "chalk": "2.4.2", + "cross-spawn": "6.0.5", + "enhanced-resolve": "4.1.0", + "findup-sync": "3.0.0", + "global-modules": "2.0.0", + "import-local": "2.0.0", + "interpret": "1.2.0", + "loader-utils": "1.2.3", + "supports-color": "6.1.0", + "v8-compile-cache": "2.0.3", + "yargs": "13.2.4" + }, + "dependencies": { + "cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dev": true, + "requires": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + } + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, + "global-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "dev": true, + "requires": { + "global-prefix": "^3.0.0" + } + }, + "global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "dev": true, + "requires": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + } + }, + "import-local": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", + "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", + "dev": true, + "requires": { + "pkg-dir": "^3.0.0", + "resolve-cwd": "^2.0.0" + } + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "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" + } + }, + "v8-compile-cache": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.0.3.tgz", + "integrity": "sha512-CNmdbwQMBjwr9Gsmohvm0pbL954tJrNzf6gWL3K+QMQf00PF7ERGrEiLgjuU3mKreLC2MeGhUsNV9ybTbLgd3w==", + "dev": true + }, + "wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + } + }, + "yargs": { + "version": "13.2.4", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.2.4.tgz", + "integrity": "sha512-HG/DWAJa1PAnHT9JAhNa8AbAv3FPaiLzioSjCcmuXXhP8MlpHO5vwls4g4j6n30Z74GVQj8Xa62dWVx1QCGklg==", + "dev": true, + "requires": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "os-locale": "^3.1.0", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.0" + } + }, + "yargs-parser": { + "version": "13.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz", + "integrity": "sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "webpack-dev-middleware": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.2.tgz", + "integrity": "sha512-1xC42LxbYoqLNAhV6YzTYacicgMZQTqRd27Sim9wn5hJrX3I5nxYy1SxSd4+gjUFsz1dQFj+yEe6zEVmSkeJjw==", + "dev": true, + "requires": { + "memory-fs": "^0.4.1", + "mime": "^2.4.4", + "mkdirp": "^0.5.1", + "range-parser": "^1.2.1", + "webpack-log": "^2.0.0" + }, + "dependencies": { + "mime": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz", + "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==", + "dev": true + } + } + }, + "webpack-dev-server": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.8.1.tgz", + "integrity": "sha512-9F5DnfFA9bsrhpUCAfQic/AXBVHvq+3gQS+x6Zj0yc1fVVE0erKh2MV4IV12TBewuTrYeeTIRwCH9qLMvdNvTw==", + "dev": true, + "requires": { + "ansi-html": "0.0.7", + "bonjour": "^3.5.0", + "chokidar": "^2.1.8", + "compression": "^1.7.4", + "connect-history-api-fallback": "^1.6.0", + "debug": "^4.1.1", + "del": "^4.1.1", + "express": "^4.17.1", + "html-entities": "^1.2.1", + "http-proxy-middleware": "^0.19.1", + "import-local": "^2.0.0", + "internal-ip": "^4.3.0", + "ip": "^1.1.5", + "is-absolute-url": "^3.0.2", + "killable": "^1.0.1", + "loglevel": "^1.6.4", + "opn": "^5.5.0", + "p-retry": "^3.0.1", + "portfinder": "^1.0.24", + "schema-utils": "^1.0.0", + "selfsigned": "^1.10.6", + "semver": "^6.3.0", + "serve-index": "^1.9.1", + "sockjs": "0.3.19", + "sockjs-client": "1.4.0", + "spdy": "^4.0.1", + "strip-ansi": "^3.0.1", + "supports-color": "^6.1.0", + "url": "^0.11.0", + "webpack-dev-middleware": "^3.7.1", + "webpack-log": "^2.0.0", + "ws": "^6.2.1", + "yargs": "12.0.5" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "import-local": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", + "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", + "dev": true, + "requires": { + "pkg-dir": "^3.0.0", + "resolve-cwd": "^2.0.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "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" + } + } + } + }, + "webpack-log": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz", + "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==", + "dev": true, + "requires": { + "ansi-colors": "^3.0.0", + "uuid": "^3.3.2" + } + }, + "webpack-node-externals": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/webpack-node-externals/-/webpack-node-externals-1.7.2.tgz", + "integrity": "sha512-ajerHZ+BJKeCLviLUUmnyd5B4RavLF76uv3cs6KNuO8W+HuQaEs0y0L7o40NQxdPy5w0pcv8Ew7yPUAQG0UdCg==", + "dev": true + }, + "webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "dev": true, + "requires": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + } + }, + "websocket-driver": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.3.tgz", + "integrity": "sha512-bpxWlvbbB459Mlipc5GBzzZwhoZgGEZLuqPaR0INBGnPAY1vdBX6hPnoFXiw+3yWxDuHyQjO2oXTMyS8A5haFg==", + "dev": true, + "requires": { + "http-parser-js": ">=0.4.0 <0.4.11", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + } + }, + "websocket-extensions": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz", + "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==", + "dev": true + }, + "whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "dev": true, + "requires": { + "iconv-lite": "0.4.24" + } + }, + "whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", + "dev": true + }, + "whatwg-url": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-6.5.0.tgz", + "integrity": "sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ==", + "dev": true, + "requires": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + }, + "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": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "wide-align": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "dev": true, + "requires": { + "string-width": "^1.0.2 || 2" + } + }, + "widest-line": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.1.tgz", + "integrity": "sha512-Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA==", + "dev": true, + "requires": { + "string-width": "^2.1.1" + } + }, + "winston": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/winston/-/winston-3.2.1.tgz", + "integrity": "sha512-zU6vgnS9dAWCEKg/QYigd6cgMVVNwyTzKs81XZtTFuRwJOcDdBg7AU0mXVyNbs7O5RH2zdv+BdNZUlx7mXPuOw==", + "dev": true, + "requires": { + "async": "^2.6.1", + "diagnostics": "^1.1.1", + "is-stream": "^1.1.0", + "logform": "^2.1.1", + "one-time": "0.0.4", + "readable-stream": "^3.1.1", + "stack-trace": "0.0.x", + "triple-beam": "^1.3.0", + "winston-transport": "^4.3.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz", + "integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "winston-transport": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.3.0.tgz", + "integrity": "sha512-B2wPuwUi3vhzn/51Uukcao4dIduEiPOcOt9HJ3QeaXgkJ5Z7UwpBzxS4ZGNHtrxrUvTwemsQiSys0ihOf8Mp1A==", + "dev": true, + "requires": { + "readable-stream": "^2.3.6", + "triple-beam": "^1.2.0" + } + }, + "wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", + "dev": true + }, + "worker-farm": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", + "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", + "dev": true, + "requires": { + "errno": "~0.1.7" + } + }, + "wrap-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-4.0.0.tgz", + "integrity": "sha512-uMTsj9rDb0/7kk1PbcbCcwvHUxp60fGDB/NNXpVa0Q+ic/e7y5+BwTxKfQ33VYgDppSwi/FBzpetYzo8s6tfbg==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "write": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", + "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", + "dev": true, + "requires": { + "mkdirp": "^0.5.1" + } + }, + "write-file-atomic": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", + "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } + }, + "ws": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", + "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==", + "dev": true, + "requires": { + "async-limiter": "~1.0.0" + } + }, + "x-is-string": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/x-is-string/-/x-is-string-0.1.0.tgz", + "integrity": "sha1-R0tQhlrzpJqcRlfwWs0UVFj3fYI=", + "dev": true + }, + "xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", + "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": "4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", + "dev": true + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + }, + "yargs": { + "version": "12.0.5", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz", + "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==", + "dev": true, + "requires": { + "cliui": "^4.0.0", + "decamelize": "^1.2.0", + "find-up": "^3.0.0", + "get-caller-file": "^1.0.1", + "os-locale": "^3.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1 || ^4.0.0", + "yargs-parser": "^11.1.1" + } + }, + "yargs-parser": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz", + "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + }, + "yarn-upgrade-all": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/yarn-upgrade-all/-/yarn-upgrade-all-0.5.2.tgz", + "integrity": "sha512-6psU4WZi+1KaFyqeac3oI4QiHr2Vjv1W/W48CJa3OsJ0Er/Obdk9gFk78dAwfB9k1G7evtGObDs7N59nAISG1A==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "commander": "^3.0.0" + }, + "dependencies": { + "commander": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/commander/-/commander-3.0.2.tgz", + "integrity": "sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow==", + "dev": true + } + } + }, + "yauzl": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.4.1.tgz", + "integrity": "sha1-lSj0QtqxsihOWLQ3m7GU4i4MQAU=", + "dev": true, + "requires": { + "fd-slicer": "~1.0.1" + } + } + } +} diff --git a/package.json b/package.json index 98b2a890e..56b0e0466 100644 --- a/package.json +++ b/package.json @@ -47,6 +47,7 @@ }, "dependencies": { "@braintree/sanitize-url": "^3.1.0", + "crypto-random-string": "^3.0.1", "d3": "^5.7.0", "dagre-d3-renderer": "^0.5.8", "dagre-layout": "^0.8.8", diff --git a/src/diagrams/git/gitGraphAst.js b/src/diagrams/git/gitGraphAst.js index 85e8f7905..f9dc85383 100644 --- a/src/diagrams/git/gitGraphAst.js +++ b/src/diagrams/git/gitGraphAst.js @@ -1,4 +1,5 @@ import _ from 'lodash'; +import randomString from 'crypto-random-string'; import { logger } from '../../logger'; @@ -9,17 +10,11 @@ let curBranch = 'master'; let direction = 'LR'; let seq = 0; -function getRandomInt(min, max) { - return Math.floor(Math.random() * (max - min)) + min; -} - function getId() { - const pool = '0123456789abcdef'; - let id = ''; - for (let i = 0; i < 7; i++) { - id += pool[getRandomInt(0, 16)]; - } - return id; + return randomString({ + length: 7, + characters: '0123456789abcdef' + }); } function isfastforwardable(currentCommit, otherCommit) { From 351dd3728e41e937bf296124fe68cc5c4e801294 Mon Sep 17 00:00:00 2001 From: Brian Mearns Date: Tue, 1 Oct 2019 22:03:43 -0400 Subject: [PATCH 027/200] #848 - Add Unit Test --- src/diagrams/git/gitGraphParser.spec.js | 37 +++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/src/diagrams/git/gitGraphParser.spec.js b/src/diagrams/git/gitGraphParser.spec.js index 6afd7f876..14c962b0e 100644 --- a/src/diagrams/git/gitGraphParser.spec.js +++ b/src/diagrams/git/gitGraphParser.spec.js @@ -1,11 +1,20 @@ /* eslint-env jasmine */ import gitGraphAst from './gitGraphAst'; import { parser } from './parser/gitGraph'; +import randomString from 'crypto-random-string'; +import cryptoRandomString from 'crypto-random-string'; + +jest.mock('crypto-random-string'); describe('when parsing a gitGraph', function() { + let i = 0; beforeEach(function() { parser.yy = gitGraphAst; parser.yy.clear(); + cryptoRandomString.mockImplementation(() => { + i = i + 1; + return String(i); + }); }); it('should handle a gitGraph defintion', function() { const str = 'gitGraph:\n' + 'commit\n'; @@ -224,4 +233,32 @@ describe('when parsing a gitGraph', function() { parser.yy.prettyPrint(); }); + + it('it should generate a secure random ID for commits', () => { + const str = 'gitGraph:\n' + 'commit\n' + 'commit\n'; + const EXPECTED_LENGTH = 7; + const EXPECTED_CHARACTERS = '0123456789abcdef'; + + let idCount = 0; + randomString.mockImplementation(options => { + if ( + options.length === EXPECTED_LENGTH && + options.characters === EXPECTED_CHARACTERS && + Object.keys(options).length === 2 + ) { + const id = `abcdef${idCount}`; + idCount += 1; + return id; + } + return 'unexpected-ID'; + }); + + parser.parse(str); + const commits = parser.yy.getCommits(); + + expect(Object.keys(commits)).toEqual(['abcdef0', 'abcdef1']); + Object.keys(commits).forEach(key => { + expect(commits[key].id).toEqual(key); + }); + }); }); From 9ca077b3dc75b2fa105d599d1de5a7700bb27b76 Mon Sep 17 00:00:00 2001 From: Brian Mearns Date: Tue, 1 Oct 2019 22:29:07 -0400 Subject: [PATCH 028/200] Add some test coverage for getBranchesAsObjArray --- src/diagrams/git/gitGraphParser.spec.js | 31 +++++++++++++++++++++---- 1 file changed, 27 insertions(+), 4 deletions(-) diff --git a/src/diagrams/git/gitGraphParser.spec.js b/src/diagrams/git/gitGraphParser.spec.js index 14c962b0e..dbd06ace3 100644 --- a/src/diagrams/git/gitGraphParser.spec.js +++ b/src/diagrams/git/gitGraphParser.spec.js @@ -7,15 +7,19 @@ import cryptoRandomString from 'crypto-random-string'; jest.mock('crypto-random-string'); describe('when parsing a gitGraph', function() { - let i = 0; + let randomNumber; beforeEach(function() { parser.yy = gitGraphAst; parser.yy.clear(); + randomNumber = 0; cryptoRandomString.mockImplementation(() => { - i = i + 1; - return String(i); + randomNumber = randomNumber + 1; + return String(randomNumber); }); }); + afterEach(function() { + cryptoRandomString.mockReset(); + }); it('should handle a gitGraph defintion', function() { const str = 'gitGraph:\n' + 'commit\n'; @@ -234,7 +238,7 @@ describe('when parsing a gitGraph', function() { parser.yy.prettyPrint(); }); - it('it should generate a secure random ID for commits', () => { + it('it should generate a secure random ID for commits', function() { const str = 'gitGraph:\n' + 'commit\n' + 'commit\n'; const EXPECTED_LENGTH = 7; const EXPECTED_CHARACTERS = '0123456789abcdef'; @@ -261,4 +265,23 @@ describe('when parsing a gitGraph', function() { expect(commits[key].id).toEqual(key); }); }); + + it('it should generate an array of known branches', function() { + const str = + 'gitGraph:\n' + + 'commit\n' + + 'branch b1\n' + + 'checkout b1\n' + + 'commit\n' + + 'commit\n' + + 'branch b2\n'; + + parser.parse(str); + const branches = gitGraphAst.getBranchesAsObjArray(); + + expect(branches).toHaveLength(3); + expect(branches[0]).toHaveProperty('name', 'master'); + expect(branches[1]).toHaveProperty('name', 'b1'); + expect(branches[2]).toHaveProperty('name', 'b2'); + }); }); From f9f8785aefe9dde712900bf0d1d332835cdda633 Mon Sep 17 00:00:00 2001 From: Knut Sveidqvist Date: Wed, 2 Oct 2019 19:32:13 +0200 Subject: [PATCH 029/200] #945 Recursive object from parsing and stateDb --- .../rendering/stateDiagram.spec.js | 17 ++ src/diagrams/state/parser/stateDiagram.jison | 147 ++++-------------- src/diagrams/state/stateDb.js | 56 ++++--- src/diagrams/state/stateRenderer.js | 113 +++----------- 4 files changed, 107 insertions(+), 226 deletions(-) diff --git a/cypress/integration/rendering/stateDiagram.spec.js b/cypress/integration/rendering/stateDiagram.spec.js index 6ae7cbe4e..78ea61cfe 100644 --- a/cypress/integration/rendering/stateDiagram.spec.js +++ b/cypress/integration/rendering/stateDiagram.spec.js @@ -49,6 +49,23 @@ describe('State diagram', () => { state "Long state description" as XState1 state "Another Long state description" as XState2 XState2 : New line + XState1 --> XState2 + `, + { logLevel: 0 } + ); + cy.get('svg'); + }); + it('should render composit states', () => { + imgSnapshotTest( + ` + stateDiagram + [*] --> NotShooting + + state NotShooting { + [*] --> Idle + Idle --> Configuring : EvConfig + Configuring --> Idle : EvConfig + } `, { logLevel: 0 } ); diff --git a/src/diagrams/state/parser/stateDiagram.jison b/src/diagrams/state/parser/stateDiagram.jison index c54ccd357..d23193dbb 100644 --- a/src/diagrams/state/parser/stateDiagram.jison +++ b/src/diagrams/state/parser/stateDiagram.jison @@ -89,30 +89,52 @@ start : SPACE start | NL start - | SD document { return $2; } + | SD document { console.warn('Root document', $2); return $2; } ; document : /* empty */ { $$ = [] } - | document line {$1.push($2);$$ = $1} + | document line { + if($2!='nl'){ + $1.push($2);$$ = $1 + } + console.warn('Got document',$1, $2); + } ; line - : SPACE statement { console.log('here');$$ = $2 } - | statement {console.log('line', $1); $$ = $1 } - | NL { $$=[];} + : SPACE statement { console.warn('here');$$ = $2 } + | statement {console.warn('line', $1); $$ = $1 } + | NL { console.warn('NL'); $$='nl';} ; statement - : idStatement DESCR {yy.addState($1, 'default');yy.addDescription($1, $2.trim());} - | idStatement '-->' idStatement {yy.addRelation($1, $3);} - | idStatement '-->' idStatement DESCR {yy.addRelation($1, $3, $4.substr(1).trim());} + : idStatement DESCR { $$={ stmt: 'state', id: $1, type: 'default', description: $2.trim()};} + | idStatement '-->' idStatement + { + /*console.warn('got id', $1);yy.addRelation($1, $3);*/ + $$={ stmt: 'relation', state1: { stmt: 'state', id: $1, type: 'default', description: '' }, state2:{ stmt: 'state', id: $3 ,type: 'default', description: ''}}; + } + | idStatement '-->' idStatement DESCR + { + /*yy.addRelation($1, $3, $4.substr(1).trim());*/ + $$={ stmt: 'relation', state1: { stmt: 'state', id: $1, type: 'default', description: '' }, state2:{ stmt: 'state', id: $3 ,type: 'default', description: ''}, description: $4.substr(1).trim()}; + } | HIDE_EMPTY | scale WIDTH | COMPOSIT_STATE | COMPOSIT_STATE STRUCT_START document STRUCT_STOP - | STATE_DESCR AS ID {yy.addState($3, 'default');yy.addDescription($3, $1);} + { + console.warn('Adding document for state without id ', $3); + // yy.addDocument('noId'); + $$={ stmt: 'state', id: 'noId', type: 'default', description: '', doc: $3 } + } + | STATE_DESCR AS ID { $$={id: $3, type: 'default', description: $1.trim()};} | STATE_DESCR AS ID STRUCT_START document STRUCT_STOP + { + //console.warn('Adding document for state with id ', $3, $4); yy.addDocument($3); + $$={ stmt: 'state', id: $3, type: 'default', description: $1, doc: $5 } + } | FORK | JOIN | CONCURRENT @@ -129,112 +151,5 @@ notePosition : left_of | right_of ; -// statement -// : 'participant' actor 'AS' restOfLine 'NL' {$2.description=$4; $$=$2;} -// | 'participant' actor 'NL' {$$=$2;} -// | signal 'NL' -// | 'activate' actor 'NL' {$$={type: 'activeStart', signalType: yy.LINETYPE.ACTIVE_START, actor: $2};} -// | 'deactivate' actor 'NL' {$$={type: 'activeEnd', signalType: yy.LINETYPE.ACTIVE_END, actor: $2};} -// | note_statement 'NL' -// | title text2 'NL' {$$=[{type:'setTitle', text:$2}]} -// | 'loop' restOfLine document end -// { -// $3.unshift({type: 'loopStart', loopText:$2, signalType: yy.LINETYPE.LOOP_START}); -// $3.push({type: 'loopEnd', loopText:$2, signalType: yy.LINETYPE.LOOP_END}); -// $$=$3;} -// | 'rect' restOfLine document end -// { -// $3.unshift({type: 'rectStart', color:$2, signalType: yy.LINETYPE.RECT_START }); -// $3.push({type: 'rectEnd', color:$2, signalType: yy.LINETYPE.RECT_END }); -// $$=$3;} -// | opt restOfLine document end -// { -// $3.unshift({type: 'optStart', optText:$2, signalType: yy.LINETYPE.OPT_START}); -// $3.push({type: 'optEnd', optText:$2, signalType: yy.LINETYPE.OPT_END}); -// $$=$3;} -// | alt restOfLine else_sections end -// { -// // Alt start -// $3.unshift({type: 'altStart', altText:$2, signalType: yy.LINETYPE.ALT_START}); -// // Content in alt is already in $3 -// // End -// $3.push({type: 'altEnd', signalType: yy.LINETYPE.ALT_END}); -// $$=$3;} -// | par restOfLine par_sections end -// { -// // Parallel start -// $3.unshift({type: 'parStart', parText:$2, signalType: yy.LINETYPE.PAR_START}); -// // Content in par is already in $3 -// // End -// $3.push({type: 'parEnd', signalType: yy.LINETYPE.PAR_END}); -// $$=$3;} -// ; - -// par_sections -// : document -// | document and restOfLine par_sections -// { $$ = $1.concat([{type: 'and', parText:$3, signalType: yy.LINETYPE.PAR_AND}, $4]); } -// ; - -// else_sections -// : document -// | document else restOfLine else_sections -// { $$ = $1.concat([{type: 'else', altText:$3, signalType: yy.LINETYPE.ALT_ELSE}, $4]); } -// ; - -// note_statement -// : 'note' placement actor text2 -// { -// $$ = [$3, {type:'addNote', placement:$2, actor:$3.actor, text:$4}];} -// | 'note' 'over' actor_pair text2 -// { -// // Coerce actor_pair into a [to, from, ...] array -// $2 = [].concat($3, $3).slice(0, 2); -// $2[0] = $2[0].actor; -// $2[1] = $2[1].actor; -// $$ = [$3, {type:'addNote', placement:yy.PLACEMENT.OVER, actor:$2.slice(0, 2), text:$4}];} -// ; - -// spaceList -// : SPACE spaceList -// | SPACE -// ; -// actor_pair -// : actor ',' actor { $$ = [$1, $3]; } -// | actor { $$ = $1; } -// ; - -// placement -// : 'left_of' { $$ = yy.PLACEMENT.LEFTOF; } -// | 'right_of' { $$ = yy.PLACEMENT.RIGHTOF; } -// ; - -// signal -// : actor signaltype '+' actor text2 -// { $$ = [$1,$4,{type: 'addMessage', from:$1.actor, to:$4.actor, signalType:$2, msg:$5}, -// {type: 'activeStart', signalType: yy.LINETYPE.ACTIVE_START, actor: $4} -// ]} -// | actor signaltype '-' actor text2 -// { $$ = [$1,$4,{type: 'addMessage', from:$1.actor, to:$4.actor, signalType:$2, msg:$5}, -// {type: 'activeEnd', signalType: yy.LINETYPE.ACTIVE_END, actor: $1} -// ]} -// | actor signaltype actor text2 -// { $$ = [$1,$3,{type: 'addMessage', from:$1.actor, to:$3.actor, signalType:$2, msg:$4}]} -// ; - -// actor -// : ACTOR {$$={type: 'addActor', actor:$1}} -// ; - -// signaltype -// : SOLID_OPEN_ARROW { $$ = yy.LINETYPE.SOLID_OPEN; } -// | DOTTED_OPEN_ARROW { $$ = yy.LINETYPE.DOTTED_OPEN; } -// | SOLID_ARROW { $$ = yy.LINETYPE.SOLID; } -// | DOTTED_ARROW { $$ = yy.LINETYPE.DOTTED; } -// | SOLID_CROSS { $$ = yy.LINETYPE.SOLID_CROSS; } -// | DOTTED_CROSS { $$ = yy.LINETYPE.DOTTED_CROSS; } -// ; - -// text2: TXT {$$ = $1.substring(1).trim().replace(/\\n/gm, "\n");} ; %% diff --git a/src/diagrams/state/stateDb.js b/src/diagrams/state/stateDb.js index 5a24f5680..aff96b909 100644 --- a/src/diagrams/state/stateDb.js +++ b/src/diagrams/state/stateDb.js @@ -1,7 +1,18 @@ import { logger } from '../../logger'; -let relations = []; -let states = {}; +const newDoc = () => { + return { + relations: [], + states: {}, + documents: {} + }; +}; + +let documents = { + root: newDoc() +}; + +let currentDocument = documents.root; let startCnt = 0; let endCnt = 0; @@ -14,8 +25,9 @@ let endCnt = 0; * @param style */ export const addState = function(id, type) { - if (typeof states[id] === 'undefined') { - states[id] = { + console.warn('Add state', id); + if (typeof currentDocument.states[id] === 'undefined') { + currentDocument.states[id] = { id: id, descriptions: [], type @@ -24,21 +36,30 @@ export const addState = function(id, type) { }; export const clear = function() { - relations = []; - states = {}; + documents = { + root: newDoc() + }; }; export const getState = function(id) { - return states[id]; + return currentDocument.states[id]; +}; +export const addDocument = id => { + console.warn(currentDocument, documents); + currentDocument.documents[id] = newDoc(); + currentDocument.documents[id].parent = currentDocument; + currentDocument = currentDocument.documents[id]; }; export const getStates = function() { - return states; + return currentDocument.states; +}; +export const logDocuments = function() { + console.warn('Documents = ', documents); }; - export const getRelations = function() { // const relations1 = [{ id1: 'start1', id2: 'state1' }, { id1: 'state1', id2: 'exit1' }]; // return relations; - return relations; + return currentDocument.relations; }; export const addRelation = function(_id1, _id2, title) { @@ -59,11 +80,11 @@ export const addRelation = function(_id1, _id2, title) { console.log(id1, id2, title); addState(id1, type1); addState(id2, type2); - relations.push({ id1, id2, title }); + currentDocument.relations.push({ id1, id2, title }); }; export const addDescription = function(id, _descr) { - const theState = states[id]; + const theState = currentDocument.states[id]; let descr = _descr; if (descr[0] === ':') { descr = descr.substr(1).trim(); @@ -72,12 +93,6 @@ export const addDescription = function(id, _descr) { theState.descriptions.push(descr); }; -export const addMembers = function(className, MembersArr) { - if (Array.isArray(MembersArr)) { - MembersArr.forEach(member => addMember(className, member)); - } -}; - export const cleanupLabel = function(label) { if (label.substring(0, 1) === ':') { return label.substr(2).trim(); @@ -106,8 +121,9 @@ export default { getRelations, addRelation, addDescription, - addMembers, cleanupLabel, lineType, - relationType + relationType, + logDocuments, + addDocument }; diff --git a/src/diagrams/state/stateRenderer.js b/src/diagrams/state/stateRenderer.js index 800465845..eb58c034d 100644 --- a/src/diagrams/state/stateRenderer.js +++ b/src/diagrams/state/stateRenderer.js @@ -39,94 +39,6 @@ const getGraphId = function(label) { * Setup arrow head and define the marker. The result is appended to the svg. */ const insertMarkers = function(elem) { - elem - .append('defs') - .append('marker') - .attr('id', 'extensionStart') - .attr('class', 'extension') - .attr('refX', 0) - .attr('refY', 7) - .attr('markerWidth', 190) - .attr('markerHeight', 240) - .attr('orient', 'auto') - .append('path') - .attr('d', 'M 1,7 L18,13 V 1 Z'); - - elem - .append('defs') - .append('marker') - .attr('id', 'extensionEnd') - .attr('refX', 19) - .attr('refY', 7) - .attr('markerWidth', 20) - .attr('markerHeight', 28) - .attr('orient', 'auto') - .append('path') - .attr('d', 'M 1,1 V 13 L18,7 Z'); // this is actual shape for arrowhead - - elem - .append('defs') - .append('marker') - .attr('id', 'compositionStart') - .attr('class', 'extension') - .attr('refX', 0) - .attr('refY', 7) - .attr('markerWidth', 190) - .attr('markerHeight', 240) - .attr('orient', 'auto') - .append('path') - .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z'); - - elem - .append('defs') - .append('marker') - .attr('id', 'compositionEnd') - .attr('refX', 19) - .attr('refY', 7) - .attr('markerWidth', 20) - .attr('markerHeight', 28) - .attr('orient', 'auto') - .append('path') - .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z'); - - elem - .append('defs') - .append('marker') - .attr('id', 'aggregationStart') - .attr('class', 'extension') - .attr('refX', 0) - .attr('refY', 7) - .attr('markerWidth', 190) - .attr('markerHeight', 240) - .attr('orient', 'auto') - .append('path') - .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z'); - - elem - .append('defs') - .append('marker') - .attr('id', 'aggregationEnd') - .attr('refX', 19) - .attr('refY', 7) - .attr('markerWidth', 20) - .attr('markerHeight', 28) - .attr('orient', 'auto') - .append('path') - .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z'); - - elem - .append('defs') - .append('marker') - .attr('id', 'dependencyStart') - .attr('class', 'extension') - .attr('refX', 0) - .attr('refY', 7) - .attr('markerWidth', 190) - .attr('markerHeight', 240) - .attr('orient', 'auto') - .append('path') - .attr('d', 'M 5,7 L9,13 L1,7 L9,1 Z'); - elem .append('defs') .append('marker') @@ -434,6 +346,7 @@ const drawState = function(elem, stateDef) { export const draw = function(text, id) { parser.yy.clear(); parser.parse(text); + stateDb.logDocuments(); logger.info('Rendering diagram ' + text); // /// / Fetch the default direction, use TD if none was found @@ -442,10 +355,11 @@ export const draw = function(text, id) { // // Layout graph, Create a new directed graph const graph = new graphlib.Graph({ - multigraph: false + multigraph: false, + compound: true }); - // // Set an object for the graph label + // Set an object for the graph label graph.setGraph({ isMultiGraph: false }); @@ -457,22 +371,41 @@ export const draw = function(text, id) { const states = stateDb.getStates(); const keys = Object.keys(states); + total = keys.length; for (let i = 0; i < keys.length; i++) { const stateDef = states[keys[i]]; const node = drawState(diagram, stateDef); + // const nodeAppendix = drawStartState(diagram, stateDef); + // Add nodes to the graph. The first argument is the node id. The second is // metadata about the node. In this case we're going to add labels to each of // our nodes. graph.setNode(node.id, node); + // graph.setNode(node.id + 'note', nodeAppendix); + + // let parent = 'p1'; + // if (node.id === 'XState1') { + // parent = 'p2'; + // } + + // graph.setParent(node.id, parent); + // graph.setParent(node.id + 'note', parent); + // logger.info('Org height: ' + node.height); } + console.info('Count=', graph.nodeCount()); const relations = stateDb.getRelations(); relations.forEach(function(relation) { graph.setEdge(getGraphId(relation.id1), getGraphId(relation.id2), { + relation: relation, + width: 38 + }); + console.warn(getGraphId(relation.id1), getGraphId(relation.id2), { relation: relation }); + // graph.setEdge(getGraphId(relation.id1), getGraphId(relation.id2)); }); dagre.layout(graph); graph.nodes().forEach(function(v) { From ea359c0037f17aa628df5c9fb78ae4de6369efcd Mon Sep 17 00:00:00 2001 From: Harrison Ulrich Date: Wed, 2 Oct 2019 15:03:03 -0500 Subject: [PATCH 030/200] Removed reference to mermaid.min.css in usage docs #797 --- docs/usage.md | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/usage.md b/docs/usage.md index 66ed75d17..18ecdbead 100644 --- a/docs/usage.md +++ b/docs/usage.md @@ -79,7 +79,6 @@ If your application is taking resposibility for the diagram source security you -

From 51e902cd36430be1fb6ea0d15bfe789bc690ed7e Mon Sep 17 00:00:00 2001 From: Brian Mearns Date: Wed, 2 Oct 2019 22:10:58 -0400 Subject: [PATCH 031/200] Added the hex shape to the renderer, and support for it in the flow parser. Need to work on properly sizing it. --- src/diagrams/flowchart/flowRenderer.js | 34 ++++++++++++++++++++++++ src/diagrams/flowchart/parser/flow.jison | 4 +++ 2 files changed, 38 insertions(+) diff --git a/src/diagrams/flowchart/flowRenderer.js b/src/diagrams/flowchart/flowRenderer.js index ef696a8f7..189407909 100644 --- a/src/diagrams/flowchart/flowRenderer.js +++ b/src/diagrams/flowchart/flowRenderer.js @@ -121,6 +121,9 @@ export const addVertices = function(vert, g, svgId) { case 'diamond': _shape = 'question'; break; + case 'hexagon': + _shape = 'hexagon'; + break; case 'odd': _shape = 'rect_left_inv_arrow'; break; @@ -358,6 +361,37 @@ export const draw = function(text, id) { return shapeSvg; }; + render.shapes().hexagon = function(parent, bbox, node) { + const w = bbox.width; + const h = bbox.height; + const s = (w + h) * 0.9; + const points = [ + { x: s / 4, y: 0 }, + { x: (3 * s) / 4, y: 0 }, + { x: s, y: -s / 2 }, + { x: (3 * s) / 4, y: -s }, + { x: s / 4, y: -s }, + { x: 0, y: -s / 2 } + ]; + const shapeSvg = parent + .insert('polygon', ':first-child') + .attr( + 'points', + points + .map(function(d) { + return d.x + ',' + d.y; + }) + .join(' ') + ) + .attr('rx', 5) + .attr('ry', 5) + .attr('transform', 'translate(' + -s / 2 + ',' + (s * 2) / 4 + ')'); + node.intersect = function(point) { + return dagreD3.intersect.polygon(node, points, point); + }; + return shapeSvg; + }; + // Add custom shape for box with inverted arrow on left side render.shapes().rect_left_inv_arrow = function(parent, bbox, node) { const w = bbox.width; diff --git a/src/diagrams/flowchart/parser/flow.jison b/src/diagrams/flowchart/parser/flow.jison index bdc8d2869..da86b50f8 100644 --- a/src/diagrams/flowchart/parser/flow.jison +++ b/src/diagrams/flowchart/parser/flow.jison @@ -313,6 +313,10 @@ vertex: idString SQS text SQE {$$ = $1;yy.addVertex($1,$3,'diamond');} | idString DIAMOND_START text DIAMOND_STOP spaceList {$$ = $1;yy.addVertex($1,$3,'diamond');} + | idString DIAMOND_START DIAMOND_START text DIAMOND_STOP DIAMOND_STOP + {$$ = $1;yy.addVertex($1,$4,'hexagon');} + | idString DIAMOND_START DIAMOND_START text DIAMOND_STOP DIAMOND_STOP spaceList + {$$ = $1;yy.addVertex($1,$4,'hexagon');} | idString TAGEND text SQE {$$ = $1;yy.addVertex($1,$3,'odd');} | idString TAGEND text SQE spaceList From b300a4decbed65323698afc19f8ef2157ad695d2 Mon Sep 17 00:00:00 2001 From: Brian Mearns Date: Wed, 2 Oct 2019 22:23:30 -0400 Subject: [PATCH 032/200] #530 Fit hexagon to width and height The hexagon shape in flow chart now fits the width and height independently, so it can better fit large content without taking up too much space. --- src/diagrams/flowchart/flowRenderer.js | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/diagrams/flowchart/flowRenderer.js b/src/diagrams/flowchart/flowRenderer.js index 189407909..353400efa 100644 --- a/src/diagrams/flowchart/flowRenderer.js +++ b/src/diagrams/flowchart/flowRenderer.js @@ -362,16 +362,16 @@ export const draw = function(text, id) { }; render.shapes().hexagon = function(parent, bbox, node) { - const w = bbox.width; + const q = 7; + const w = (q / (q - 2)) * bbox.width; const h = bbox.height; - const s = (w + h) * 0.9; const points = [ - { x: s / 4, y: 0 }, - { x: (3 * s) / 4, y: 0 }, - { x: s, y: -s / 2 }, - { x: (3 * s) / 4, y: -s }, - { x: s / 4, y: -s }, - { x: 0, y: -s / 2 } + { x: w / q, y: 0 }, + { x: (w * (q - 1)) / q, y: 0 }, + { x: w, y: -h / 2 }, + { x: (w * (q - 1)) / q, y: -h }, + { x: w / q, y: -h }, + { x: 0, y: -h / 2 } ]; const shapeSvg = parent .insert('polygon', ':first-child') @@ -385,7 +385,7 @@ export const draw = function(text, id) { ) .attr('rx', 5) .attr('ry', 5) - .attr('transform', 'translate(' + -s / 2 + ',' + (s * 2) / 4 + ')'); + .attr('transform', 'translate(' + -w / 2 + ',' + (h * 2) / 4 + ')'); node.intersect = function(point) { return dagreD3.intersect.polygon(node, points, point); }; From 57921e3f524db668ab1f342353b45ef7b538747c Mon Sep 17 00:00:00 2001 From: Brian Mearns Date: Wed, 2 Oct 2019 22:31:41 -0400 Subject: [PATCH 033/200] #530 Add Hex example to index.html --- dist/index.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dist/index.html b/dist/index.html index 027b17213..8c38bf514 100644 --- a/dist/index.html +++ b/dist/index.html @@ -291,7 +291,7 @@ graph TB
graph TD A[Christmas] -->|Get money| B(Go shopping) -B --> C{Let me think} +B --> C{{Let me think...
Do I want something for work,
something to spend every free second with,
or something to get around?}} C -->|One| D[Laptop] C -->|Two| E[iPhone] C -->|Three| F[Car] @@ -443,7 +443,7 @@ Class08 <--> C2: Cool label const testLineEndings = (test, input) => { try { mermaid.render(test, input, () => {}); - } catch (err) { + } catch (err) { console.error("Error in %s:\n\n%s", test, err); } }; From 550f91aa6879c8de0da4e7c284c45581c52a3327 Mon Sep 17 00:00:00 2001 From: Brian Mearns Date: Wed, 2 Oct 2019 22:36:02 -0400 Subject: [PATCH 034/200] #530 Better shaping of hexagon The "corner" triangles are a fixed ratio to the height, so the triangles will always be mathemtically similar. --- src/diagrams/flowchart/flowRenderer.js | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/diagrams/flowchart/flowRenderer.js b/src/diagrams/flowchart/flowRenderer.js index 353400efa..9b5423109 100644 --- a/src/diagrams/flowchart/flowRenderer.js +++ b/src/diagrams/flowchart/flowRenderer.js @@ -362,15 +362,16 @@ export const draw = function(text, id) { }; render.shapes().hexagon = function(parent, bbox, node) { - const q = 7; - const w = (q / (q - 2)) * bbox.width; + const f = 4; const h = bbox.height; + const m = h / 4; + const w = bbox.width + 2 * m; const points = [ - { x: w / q, y: 0 }, - { x: (w * (q - 1)) / q, y: 0 }, + { x: m, y: 0 }, + { x: w - m, y: 0 }, { x: w, y: -h / 2 }, - { x: (w * (q - 1)) / q, y: -h }, - { x: w / q, y: -h }, + { x: w - m, y: -h }, + { x: m, y: -h }, { x: 0, y: -h / 2 } ]; const shapeSvg = parent @@ -385,7 +386,7 @@ export const draw = function(text, id) { ) .attr('rx', 5) .attr('ry', 5) - .attr('transform', 'translate(' + -w / 2 + ',' + (h * 2) / 4 + ')'); + .attr('transform', 'translate(' + -w / 2 + ',' + h / 2 + ')'); node.intersect = function(point) { return dagreD3.intersect.polygon(node, points, point); }; From 1920e9f758a4e317d684258ef40b5ef249a00341 Mon Sep 17 00:00:00 2001 From: Brian Mearns Date: Wed, 2 Oct 2019 22:38:41 -0400 Subject: [PATCH 035/200] #530 Add hexagon to flow docs --- docs/flowchart.md | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/docs/flowchart.md b/docs/flowchart.md index ea778697c..5ea9e2c8e 100644 --- a/docs/flowchart.md +++ b/docs/flowchart.md @@ -112,6 +112,17 @@ graph LR id1{This is the text in the box} ``` +### A hexagon node + +``` +graph LR + id1{{This is the text in the box}} +``` +```mermaid +graph LR + id1{{This is the text in the box}} +``` + ### Trapezoid ```mermaid @@ -350,7 +361,7 @@ Beginners tip, a full example using interactive links in a html context: click A callback "Tooltip" click B "http://www.github.com" "This is a link"
- + From e1446ce38ae80851d1cc0249d65dbfef668ea0eb Mon Sep 17 00:00:00 2001 From: Brian Mearns Date: Wed, 2 Oct 2019 22:44:56 -0400 Subject: [PATCH 036/200] #530 Add unit test for hex nodes --- src/diagrams/flowchart/parser/flow.spec.js | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/diagrams/flowchart/parser/flow.spec.js b/src/diagrams/flowchart/parser/flow.spec.js index 778691e89..a1aec2949 100644 --- a/src/diagrams/flowchart/parser/flow.spec.js +++ b/src/diagrams/flowchart/parser/flow.spec.js @@ -1402,6 +1402,27 @@ describe('when parsing ', function() { expect(vert['a'].type).toBe('diamond'); expect(vert['a'].text).toBe('A
end'); }); + it('should handle a single hexagon node', function() { + // Silly but syntactically correct + const res = flow.parser.parse('graph TD;a{{A}};'); + + const vert = flow.parser.yy.getVertices(); + const edges = flow.parser.yy.getEdges(); + + expect(edges.length).toBe(0); + expect(vert['a'].type).toBe('hexagon'); + }); + it('should handle a single hexagon node with html in it', function() { + // Silly but syntactically correct + const res = flow.parser.parse('graph TD;a{{A
end}};'); + + const vert = flow.parser.yy.getVertices(); + const edges = flow.parser.yy.getEdges(); + + expect(edges.length).toBe(0); + expect(vert['a'].type).toBe('hexagon'); + expect(vert['a'].text).toBe('A
end'); + }); it('should handle a single round node with html in it', function() { // Silly but syntactically correct const res = flow.parser.parse('graph TD;a(A
end);'); From 01fd54dd6f622fb0358989d8cdfb27696370899e Mon Sep 17 00:00:00 2001 From: Brian Mearns Date: Wed, 2 Oct 2019 22:51:12 -0400 Subject: [PATCH 037/200] #530 Encapsulate some redudant flow shape code --- src/diagrams/flowchart/flowRenderer.js | 44 +++++++++++--------------- 1 file changed, 18 insertions(+), 26 deletions(-) diff --git a/src/diagrams/flowchart/flowRenderer.js b/src/diagrams/flowchart/flowRenderer.js index 9b5423109..d64294946 100644 --- a/src/diagrams/flowchart/flowRenderer.js +++ b/src/diagrams/flowchart/flowRenderer.js @@ -342,19 +342,7 @@ export const draw = function(text, id) { { x: s / 2, y: -s }, { x: 0, y: -s / 2 } ]; - const shapeSvg = parent - .insert('polygon', ':first-child') - .attr( - 'points', - points - .map(function(d) { - return d.x + ',' + d.y; - }) - .join(' ') - ) - .attr('rx', 5) - .attr('ry', 5) - .attr('transform', 'translate(' + -s / 2 + ',' + (s * 2) / 4 + ')'); + const shapeSvg = insertPolygonShape(parent, s, s, points); node.intersect = function(point) { return dagreD3.intersect.polygon(node, points, point); }; @@ -374,19 +362,7 @@ export const draw = function(text, id) { { x: m, y: -h }, { x: 0, y: -h / 2 } ]; - const shapeSvg = parent - .insert('polygon', ':first-child') - .attr( - 'points', - points - .map(function(d) { - return d.x + ',' + d.y; - }) - .join(' ') - ) - .attr('rx', 5) - .attr('ry', 5) - .attr('transform', 'translate(' + -w / 2 + ',' + h / 2 + ')'); + const shapeSvg = insertPolygonShape(parent, w, h, points); node.intersect = function(point) { return dagreD3.intersect.polygon(node, points, point); }; @@ -656,6 +632,22 @@ export const draw = function(text, id) { } }; +function insertPolygonShape(parent, w, h, points) { + return parent + .insert('polygon', ':first-child') + .attr( + 'points', + points + .map(function(d) { + return d.x + ',' + d.y; + }) + .join(' ') + ) + .attr('rx', 5) + .attr('ry', 5) + .attr('transform', 'translate(' + -w / 2 + ',' + h / 2 + ')'); +} + export default { setConf, addVertices, From c9f84ccae5f95854724fa69995dde826827e8593 Mon Sep 17 00:00:00 2001 From: Brian Mearns Date: Thu, 3 Oct 2019 06:41:36 -0400 Subject: [PATCH 038/200] #530 Testing Coverage --- src/diagrams/flowchart/parser/flow.spec.js | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/diagrams/flowchart/parser/flow.spec.js b/src/diagrams/flowchart/parser/flow.spec.js index a1aec2949..2d08f7d83 100644 --- a/src/diagrams/flowchart/parser/flow.spec.js +++ b/src/diagrams/flowchart/parser/flow.spec.js @@ -1391,6 +1391,16 @@ describe('when parsing ', function() { expect(edges.length).toBe(0); expect(vert['a'].type).toBe('diamond'); }); + it('should handle a single diamond node with whitespace after it', function() { + // Silly but syntactically correct + const res = flow.parser.parse('graph TD;a{A} ;'); + + const vert = flow.parser.yy.getVertices(); + const edges = flow.parser.yy.getEdges(); + + expect(edges.length).toBe(0); + expect(vert['a'].type).toBe('diamond'); + }); it('should handle a single diamond node with html in it', function() { // Silly but syntactically correct const res = flow.parser.parse('graph TD;a{A
end};'); From e7428afb3e15a0e818a89f428cbd205070d56b89 Mon Sep 17 00:00:00 2001 From: Nacho Date: Thu, 3 Oct 2019 09:35:22 -0400 Subject: [PATCH 039/200] Revert "Removed reference to mermaid.min.css in usage docs #797" --- docs/usage.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/usage.md b/docs/usage.md index 18ecdbead..66ed75d17 100644 --- a/docs/usage.md +++ b/docs/usage.md @@ -79,6 +79,7 @@ If your application is taking resposibility for the diagram source security you +
From 7e92257c3ce480bddd610846e2f0cf78b541372b Mon Sep 17 00:00:00 2001 From: Rick Ulrich Date: Thu, 3 Oct 2019 09:13:12 -0500 Subject: [PATCH 040/200] Removed reference to mermaid.min.css in usage docs #797 --- docs/usage.md | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/usage.md b/docs/usage.md index 66ed75d17..18ecdbead 100644 --- a/docs/usage.md +++ b/docs/usage.md @@ -79,7 +79,6 @@ If your application is taking resposibility for the diagram source security you -
From 7865fd4f028b09ec53c4df8a643c82aefff9d901 Mon Sep 17 00:00:00 2001 From: Knut Sveidqvist Date: Thu, 3 Oct 2019 19:08:15 +0200 Subject: [PATCH 041/200] #945 Rendering of composite state in a box --- .../rendering/stateDiagram.spec.js | 9 +- src/diagrams/state/parser/stateDiagram.jison | 14 +- src/diagrams/state/stateDb.js | 46 +++- src/diagrams/state/stateRenderer.js | 250 +++++++++++++++--- 4 files changed, 274 insertions(+), 45 deletions(-) diff --git a/cypress/integration/rendering/stateDiagram.spec.js b/cypress/integration/rendering/stateDiagram.spec.js index 78ea61cfe..bbaf1a2d8 100644 --- a/cypress/integration/rendering/stateDiagram.spec.js +++ b/cypress/integration/rendering/stateDiagram.spec.js @@ -59,12 +59,15 @@ describe('State diagram', () => { imgSnapshotTest( ` stateDiagram - [*] --> NotShooting + [*] --> NotShooting: Pacifist + NotShooting --> A + NotShooting --> B + NotShooting --> C state NotShooting { - [*] --> Idle + [*] --> Idle: Yet another long long öong öong öong label Idle --> Configuring : EvConfig - Configuring --> Idle : EvConfig + Configuring --> Idle : EvConfig EvConfig EvConfig EvConfig EvConfig } `, { logLevel: 0 } diff --git a/src/diagrams/state/parser/stateDiagram.jison b/src/diagrams/state/parser/stateDiagram.jison index d23193dbb..8ae1bbf44 100644 --- a/src/diagrams/state/parser/stateDiagram.jison +++ b/src/diagrams/state/parser/stateDiagram.jison @@ -89,7 +89,7 @@ start : SPACE start | NL start - | SD document { console.warn('Root document', $2); return $2; } + | SD document { console.warn('Root document', $2); yy.setRootDoc($2);return $2; } ; document @@ -98,14 +98,14 @@ document if($2!='nl'){ $1.push($2);$$ = $1 } - console.warn('Got document',$1, $2); + // console.warn('Got document',$1, $2); } ; line - : SPACE statement { console.warn('here');$$ = $2 } - | statement {console.warn('line', $1); $$ = $1 } - | NL { console.warn('NL'); $$='nl';} + : SPACE statement { $$ = $2 } + | statement { $$ = $1 } + | NL { $$='nl';} ; statement @@ -125,9 +125,9 @@ statement | COMPOSIT_STATE | COMPOSIT_STATE STRUCT_START document STRUCT_STOP { - console.warn('Adding document for state without id ', $3); + console.warn('Adding document for state without id ', $1); // yy.addDocument('noId'); - $$={ stmt: 'state', id: 'noId', type: 'default', description: '', doc: $3 } + $$={ stmt: 'state', id: $1, type: 'default', description: '', doc: $3 } } | STATE_DESCR AS ID { $$={id: $3, type: 'default', description: $1.trim()};} | STATE_DESCR AS ID STRUCT_START document STRUCT_STOP diff --git a/src/diagrams/state/stateDb.js b/src/diagrams/state/stateDb.js index aff96b909..76bae029c 100644 --- a/src/diagrams/state/stateDb.js +++ b/src/diagrams/state/stateDb.js @@ -1,5 +1,33 @@ import { logger } from '../../logger'; +let rootDoc = []; +const setRootDoc = o => { + console.warn('Setting root doc', o); + rootDoc = o; +}; + +const getRootDoc = () => rootDoc; + +const extract = doc => { + const res = { states: [], relations: [] }; + clear(); + doc.forEach(item => { + if (item.stmt === 'state') { + // if (item.doc) { + // addState(item.id, 'composit'); + // addDocument(item.id); + // extract(item.doc); + // currentDocument = currentDocument.parent; + // } else { + addState(item.id, item.type, item.doc); + // } + } + if (item.stmt === 'relation') { + addRelation(item.state1.id, item.state2.id, item.description); + } + }); +}; + const newDoc = () => { return { relations: [], @@ -24,14 +52,22 @@ let endCnt = 0; * @param type * @param style */ -export const addState = function(id, type) { +export const addState = function(id, type, doc) { console.warn('Add state', id); if (typeof currentDocument.states[id] === 'undefined') { currentDocument.states[id] = { id: id, descriptions: [], - type + type, + doc }; + } else { + if (!currentDocument.states[id].doc) { + currentDocument.states[id].doc = doc; + } + if (!currentDocument.states[id].type) { + currentDocument.states[id].type = type; + } } }; @@ -39,6 +75,7 @@ export const clear = function() { documents = { root: newDoc() }; + currentDocument = documents.root; }; export const getState = function(id) { @@ -125,5 +162,8 @@ export default { lineType, relationType, logDocuments, - addDocument + addDocument, + getRootDoc, + setRootDoc, + extract }; diff --git a/src/diagrams/state/stateRenderer.js b/src/diagrams/state/stateRenderer.js index eb58c034d..e4b76113c 100644 --- a/src/diagrams/state/stateRenderer.js +++ b/src/diagrams/state/stateRenderer.js @@ -20,6 +20,8 @@ const conf = { textHeight: 10 }; +const transformationLog = {}; + export const setConf = function(cnf) {}; // Todo optimize @@ -191,6 +193,60 @@ const drawDescrState = (g, stateDef) => { return g; }; +const addIdAndBox = (g, stateDef) => { + const addTspan = function(textEl, txt, isFirst) { + const tSpan = textEl + .append('tspan') + .attr('x', 2 * conf.padding) + .text(txt); + if (!isFirst) { + tSpan.attr('dy', conf.textHeight); + } + }; + const title = g + .append('text') + .attr('x', 2 * conf.padding) + .attr('y', -5) + .attr('font-size', 24) + .attr('class', 'state-title') + .text(stateDef.id); + + const titleHeight = title.node().getBBox().height; + + // let isFirst = true; + // stateDef.descriptions.forEach(function(descr) { + // addTspan(description, descr, isFirst); + // isFirst = false; + // }); + + const lineY = 3; + const descrLine = g + .append('line') // text label for the x axis + .attr('x1', 0) + .attr('y1', lineY) + .attr('y2', lineY) + .attr('class', 'descr-divider'); + // const descrBox = description.node().getBBox(); + const graphBox = g.node().getBBox(); + title.attr('x', graphBox.width / 2 - title.node().getBBox().width / 2); + descrLine.attr('x2', graphBox.width); + // const classBox = title.node().getBBox(); + console.warn('Box', graphBox, stateDef); + g.insert('rect', ':first-child') + .attr('x', graphBox.x) + .attr('y', -5 - conf.textHeight - conf.padding) + .attr('width', graphBox.width) + .attr('height', graphBox.height + 5 + conf.textHeight + conf.padding) + .attr('rx', '5'); + // g.insert('rect', ':first-child') + // .attr('x', conf.padding) + // .attr('y', conf.padding) + // .attr('width', descrBox.width + 2 * conf.padding) + // .attr('height', descrBox.height + titleHeight + 2 * conf.padding) + // .attr('rx', '5'); + + return g; +}; const drawEndState = g => { g.append('circle') .style('stroke', 'black') @@ -268,10 +324,8 @@ const drawEdge = function(elem, path, relation) { .attr('fill', 'red') .attr('text-anchor', 'middle') .text(relation.title); - const { x, y } = utils.calcLabelPosition(path.points); label.attr('x', x).attr('y', y); - const bounds = label.node().getBBox(); g.insert('rect', ':first-child') .attr('class', 'box') @@ -279,7 +333,6 @@ const drawEdge = function(elem, path, relation) { .attr('y', bounds.y - conf.padding / 2) .attr('width', bounds.width + conf.padding) .attr('height', bounds.height + conf.padding); - // Debug points // path.points.forEach(point => { // g.append('circle') @@ -289,7 +342,6 @@ const drawEdge = function(elem, path, relation) { // .attr('cx', point.x) // .attr('cy', point.y); // }); - // g.append('circle') // .style('stroke', 'blue') // .style('fill', 'blue') @@ -306,8 +358,8 @@ const drawEdge = function(elem, path, relation) { * @param {*} elem * @param {*} stateDef */ -const drawState = function(elem, stateDef) { - // logger.info('Rendering class ' + stateDef); +const drawState = function(elem, stateDef, graph, doc) { + console.warn('Rendering class ', stateDef); const id = stateDef.id; const stateInfo = { @@ -327,9 +379,13 @@ const drawState = function(elem, stateDef) { if (stateDef.type === 'default' && stateDef.descriptions.length === 0) drawSimpleState(g, stateDef); if (stateDef.type === 'default' && stateDef.descriptions.length > 0) drawDescrState(g, stateDef); + // if (stateDef.type === 'default' && stateDef.doc) { + // // renderDoc(stateDef.doc, graph, elem); + // drawSimpleState(g, stateDef); + // renderDoc(stateDef.doc, graph, g, id); + // } const stateBox = g.node().getBBox(); - stateInfo.width = stateBox.width + 2 * conf.padding; stateInfo.height = stateBox.height + 2 * conf.padding; @@ -369,19 +425,75 @@ export const draw = function(text, id) { return {}; }); + const rootDoc = stateDb.getRootDoc(); + const n = renderDoc2(rootDoc, diagram); + + console.warn(graph, graph.graph().getBBox); + + diagram.attr('height', '100%'); + diagram.attr('width', '100%'); + diagram.attr('viewBox', '0 0 ' + 400 + ' ' + 600); +}; +const getLabelWidth = text => { + return text ? text.length * 5.02 : 1; +}; + +const renderDoc2 = (doc, diagram, parentId) => { + // // Layout graph, Create a new directed graph + const graph = new graphlib.Graph({ + multigraph: false, + compound: false + }); + + // Set an object for the graph label + graph.setGraph({ + isMultiGraph: false + }); + + // // Default to assigning a new object as a label for each new edge. + graph.setDefaultEdgeLabel(function() { + return {}; + }); + + stateDb.extract(doc); const states = stateDb.getStates(); + const relations = stateDb.getRelations(); + const keys = Object.keys(states); + console.warn('rendering doc 2', states, relations); total = keys.length; for (let i = 0; i < keys.length; i++) { const stateDef = states[keys[i]]; - const node = drawState(diagram, stateDef); + console.warn('keys[i]', keys[i]); + let node; + if (stateDef.doc) { + let sub = diagram + .append('g') + .attr('id', stateDef.id) + .attr('class', 'classGroup'); + node = renderDoc2(stateDef.doc, sub, stateDef.id); + + sub = addIdAndBox(sub, stateDef); + let boxBounds = sub.node().getBBox(); + node.width = boxBounds.width; + node.height = boxBounds.height; + transformationLog[stateDef.id] = { y: 20 }; + // node.x = boxBounds.y; + // node.y = boxBounds.x; + } else { + node = drawState(diagram, stateDef, graph); + } // const nodeAppendix = drawStartState(diagram, stateDef); // Add nodes to the graph. The first argument is the node id. The second is // metadata about the node. In this case we're going to add labels to each of // our nodes. graph.setNode(node.id, node); + // if (parentId) { + // console.warn('apa1 P>', node.id, parentId); + // // graph.setParent(node.id, parentId); + // } // graph.setNode(node.id + 'note', nodeAppendix); // let parent = 'p1'; @@ -396,8 +508,104 @@ export const draw = function(text, id) { } console.info('Count=', graph.nodeCount()); - const relations = stateDb.getRelations(); relations.forEach(function(relation) { + console.warn('Rendering edge', relation); + graph.setEdge(relation.id1, relation.id2, { + relation: relation, + width: getLabelWidth(relation.title), + height: 16, + labelpos: 'c' + }); + console.warn(getGraphId(relation.id1), relation.id2, { + relation: relation + }); + // graph.setEdge(getGraphId(relation.id1), getGraphId(relation.id2)); + }); + + dagre.layout(graph); + + graph.nodes().forEach(function(v) { + if (typeof v !== 'undefined' && typeof graph.node(v) !== 'undefined') { + console.warn('Node ' + v + ': ' + JSON.stringify(graph.node(v))); + d3.select('#' + v).attr( + 'transform', + 'translate(' + + (graph.node(v).x - graph.node(v).width / 2) + + ',' + + (graph.node(v).y + + (transformationLog[v] ? transformationLog[v].y : 0) - + graph.node(v).height / 2) + + ' )' + ); + } + }); + let stateBox = diagram.node().getBBox(); + console.warn('Node before labels ', stateBox.width); + + graph.edges().forEach(function(e) { + if (typeof e !== 'undefined' && typeof graph.edge(e) !== 'undefined') { + logger.debug('Edge ' + e.v + ' -> ' + e.w + ': ' + JSON.stringify(graph.edge(e))); + drawEdge(diagram, graph.edge(e), graph.edge(e).relation); + } + }); + + stateBox = diagram.node().getBBox(); + console.warn('Node after labels ', stateBox.width); + const stateInfo = { + id: parentId ? parentId : 'root', + label: parentId ? parentId : 'root', + width: 0, + height: 0 + }; + + stateInfo.width = stateBox.width + 2 * conf.padding; + stateInfo.height = stateBox.height + 2 * conf.padding; + + console.warn('Doc rendered', stateInfo, graph); + return stateInfo; +}; +const renderDoc = (doc, graph, diagram, parentId) => { + stateDb.extract(doc); + const states = stateDb.getStates(); + const relations = stateDb.getRelations(); + + const keys = Object.keys(states); + console.warn('rendering doc', states, relations); + + total = keys.length; + for (let i = 0; i < keys.length; i++) { + const stateDef = states[keys[i]]; + console.warn('keys[i]', keys[i]); + if (stateDef.doc) { + renderDoc(stateDef.doc, graph, diagram, stateDef.id); + } + const node = drawState(diagram, stateDef, graph); + // const nodeAppendix = drawStartState(diagram, stateDef); + + // Add nodes to the graph. The first argument is the node id. The second is + // metadata about the node. In this case we're going to add labels to each of + // our nodes. + graph.setNode(node.id, node); + if (parentId) { + console.warn('Setting parent', parentId); + graph.setParent(node.id, parentId); + } + // graph.setNode(node.id + 'note', nodeAppendix); + + // let parent = 'p1'; + // if (node.id === 'XState1') { + // parent = 'p2'; + // } + + // graph.setParent(node.id, parent); + // graph.setParent(node.id + 'note', parent); + + // logger.info('Org height: ' + node.height); + } + + console.info('Count=', graph.nodeCount()); + relations.forEach(function(relation) { + console.warn('Rendering edge', relation); graph.setEdge(getGraphId(relation.id1), getGraphId(relation.id2), { relation: relation, width: 38 @@ -407,30 +615,8 @@ export const draw = function(text, id) { }); // graph.setEdge(getGraphId(relation.id1), getGraphId(relation.id2)); }); - dagre.layout(graph); - graph.nodes().forEach(function(v) { - if (typeof v !== 'undefined' && typeof graph.node(v) !== 'undefined') { - logger.debug('Node ' + v + ': ' + JSON.stringify(graph.node(v))); - d3.select('#' + v).attr( - 'transform', - 'translate(' + - (graph.node(v).x - graph.node(v).width / 2) + - ',' + - (graph.node(v).y - graph.node(v).height / 2) + - ' )' - ); - } - }); - graph.edges().forEach(function(e) { - if (typeof e !== 'undefined' && typeof graph.edge(e) !== 'undefined') { - logger.debug('Edge ' + e.v + ' -> ' + e.w + ': ' + JSON.stringify(graph.edge(e))); - drawEdge(diagram, graph.edge(e), graph.edge(e).relation); - } - }); - diagram.attr('height', '100%'); - diagram.attr('width', '100%'); - diagram.attr('viewBox', '0 0 ' + (graph.graph().width + 20) + ' ' + (graph.graph().height + 20)); + console.warn('Doc rendered'); }; export default { From 65cbfbdb401142330456f44e8d451ad258b6f3e1 Mon Sep 17 00:00:00 2001 From: Knut Sveidqvist Date: Thu, 3 Oct 2019 19:54:07 +0200 Subject: [PATCH 042/200] #945 Tweaking --- .../rendering/stateDiagram.spec.js | 28 +++++++++ src/diagrams/state/stateRenderer.js | 59 ++++++++++++------- 2 files changed, 65 insertions(+), 22 deletions(-) diff --git a/cypress/integration/rendering/stateDiagram.spec.js b/cypress/integration/rendering/stateDiagram.spec.js index bbaf1a2d8..84e4b3252 100644 --- a/cypress/integration/rendering/stateDiagram.spec.js +++ b/cypress/integration/rendering/stateDiagram.spec.js @@ -74,4 +74,32 @@ describe('State diagram', () => { ); cy.get('svg'); }); + it('should render multiple composit states', () => { + imgSnapshotTest( + ` + stateDiagram + [*]-->TV + state TV { + [*] --> Off: Off to start with + On --> Off : Turn off + Off --> On : Turn on + } + state Console { + [*] --> Off2: Off to start with + On2--> Off2 : Turn off + Off2 --> On2 : Turn on + On2-->Playing + + state Playing { + Alive --> Dead + Dead-->Alive + } + } + TV--> Console + Console --> TV + `, + { logLevel: 0 } + ); + cy.get('svg'); + }); }); diff --git a/src/diagrams/state/stateRenderer.js b/src/diagrams/state/stateRenderer.js index e4b76113c..4b4fed83a 100644 --- a/src/diagrams/state/stateRenderer.js +++ b/src/diagrams/state/stateRenderer.js @@ -206,7 +206,7 @@ const addIdAndBox = (g, stateDef) => { const title = g .append('text') .attr('x', 2 * conf.padding) - .attr('y', -5) + .attr('y', -15) .attr('font-size', 24) .attr('class', 'state-title') .text(stateDef.id); @@ -219,7 +219,7 @@ const addIdAndBox = (g, stateDef) => { // isFirst = false; // }); - const lineY = 3; + const lineY = -9; const descrLine = g .append('line') // text label for the x axis .attr('x1', 0) @@ -229,14 +229,14 @@ const addIdAndBox = (g, stateDef) => { // const descrBox = description.node().getBBox(); const graphBox = g.node().getBBox(); title.attr('x', graphBox.width / 2 - title.node().getBBox().width / 2); - descrLine.attr('x2', graphBox.width); + descrLine.attr('x2', graphBox.width + conf.padding); // const classBox = title.node().getBBox(); console.warn('Box', graphBox, stateDef); g.insert('rect', ':first-child') .attr('x', graphBox.x) - .attr('y', -5 - conf.textHeight - conf.padding) - .attr('width', graphBox.width) - .attr('height', graphBox.height + 5 + conf.textHeight + conf.padding) + .attr('y', -15 - conf.textHeight - conf.padding) + .attr('width', graphBox.width + conf.padding) + .attr('height', graphBox.height + 3 + conf.textHeight) .attr('rx', '5'); // g.insert('rect', ':first-child') // .attr('x', conf.padding) @@ -412,13 +412,16 @@ export const draw = function(text, id) { // // Layout graph, Create a new directed graph const graph = new graphlib.Graph({ multigraph: false, - compound: true + // compound: true, + // acyclicer: 'greedy', + rankdir: 'RL' }); - // Set an object for the graph label - graph.setGraph({ - isMultiGraph: false - }); + // // Set an object for the graph label + // graph.setGraph({ + // isMultiGraph: false, + // rankdir: 'RL' + // }); // // Default to assigning a new object as a label for each new edge. graph.setDefaultEdgeLabel(function() { @@ -428,11 +431,11 @@ export const draw = function(text, id) { const rootDoc = stateDb.getRootDoc(); const n = renderDoc2(rootDoc, diagram); - console.warn(graph, graph.graph().getBBox); + const bounds = diagram.node().getBBox(); diagram.attr('height', '100%'); diagram.attr('width', '100%'); - diagram.attr('viewBox', '0 0 ' + 400 + ' ' + 600); + diagram.attr('viewBox', '0 0 ' + bounds.width + ' ' + (bounds.height + 50)); }; const getLabelWidth = text => { return text ? text.length * 5.02 : 1; @@ -440,15 +443,27 @@ const getLabelWidth = text => { const renderDoc2 = (doc, diagram, parentId) => { // // Layout graph, Create a new directed graph - const graph = new graphlib.Graph({ - multigraph: false, - compound: false - }); + const graph = new graphlib.Graph({}); // Set an object for the graph label - graph.setGraph({ - isMultiGraph: false - }); + if (parentId) + graph.setGraph({ + rankdir: 'LR', + multigraph: false, + compound: false, + // acyclicer: 'greedy', + rankdir: 'LR', + ranker: 'tight-tree' + // isMultiGraph: false + }); + else { + graph.setGraph({ + rankdir: 'TB', + // acyclicer: 'greedy' + ranker: 'longest-path' + // isMultiGraph: false + }); + } // // Default to assigning a new object as a label for each new edge. graph.setDefaultEdgeLabel(function() { @@ -477,8 +492,8 @@ const renderDoc2 = (doc, diagram, parentId) => { sub = addIdAndBox(sub, stateDef); let boxBounds = sub.node().getBBox(); node.width = boxBounds.width; - node.height = boxBounds.height; - transformationLog[stateDef.id] = { y: 20 }; + node.height = boxBounds.height + 10; + transformationLog[stateDef.id] = { y: 35 }; // node.x = boxBounds.y; // node.y = boxBounds.x; } else { From 96735dd5435017db898de2bacd8ef1b1a3251b97 Mon Sep 17 00:00:00 2001 From: Christian Klemm Date: Fri, 4 Oct 2019 21:09:49 +0200 Subject: [PATCH 043/200] Added rendering for annotations --- .gitignore | 1 + src/diagrams/class/classDb.js | 3 ++- src/diagrams/class/classRenderer.js | 29 ++++++++++++++++++++++++++--- src/themes/class.scss | 4 ++++ 4 files changed, 33 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index afceb98c0..74ecd58ff 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,7 @@ node_modules/ coverage/ +.idea/ dist/*.js dist/*.map diff --git a/src/diagrams/class/classDb.js b/src/diagrams/class/classDb.js index 94ec0e21e..b364d9987 100644 --- a/src/diagrams/class/classDb.js +++ b/src/diagrams/class/classDb.js @@ -15,7 +15,8 @@ export const addClass = function(id) { classes[id] = { id: id, methods: [], - members: [] + members: [], + annotations: [] }; } }; diff --git a/src/diagrams/class/classRenderer.js b/src/diagrams/class/classRenderer.js index 37a6629ae..b4344e459 100644 --- a/src/diagrams/class/classRenderer.js +++ b/src/diagrams/class/classRenderer.js @@ -261,9 +261,26 @@ const drawClass = function(elem, classDef) { .attr('class', 'classGroup'); const title = g .append('text') - .attr('x', conf.padding) .attr('y', conf.textHeight + conf.padding) - .text(classDef.id); + .attr('x', 0); + + // TODO: remove testing code + classDef.annotations = ['interface', 'injected']; + + // add annotations + let isFirst = true; + classDef.annotations.forEach(function(member) { + const titleText2 = title.append('tspan').text('«' + member + '»'); + if (!isFirst) titleText2.attr('dy', conf.textHeight); + isFirst = false; + }); + + // add class title + title + .append('tspan') + .text(classDef.id) + .attr('class', 'title') + .attr('dy', conf.textHeight); const titleHeight = title.node().getBBox().height; @@ -280,7 +297,7 @@ const drawClass = function(elem, classDef) { .attr('fill', 'white') .attr('class', 'classText'); - let isFirst = true; + isFirst = true; classDef.members.forEach(function(member) { addTspan(members, member, isFirst); isFirst = false; @@ -315,6 +332,12 @@ const drawClass = function(elem, classDef) { .attr('width', classBox.width + 2 * conf.padding) .attr('height', classBox.height + conf.padding + 0.5 * conf.dividerMargin); + // Center title + title.node().childNodes.forEach(function(x) { + console.dir(x.getBBox()); + x.setAttribute('x', (classBox.width + 2 * conf.padding - x.getBBox().width) / 2); + }); + membersLine.attr('x2', classBox.width + 2 * conf.padding); methodsLine.attr('x2', classBox.width + 2 * conf.padding); diff --git a/src/themes/class.scss b/src/themes/class.scss index 5e7de9150..86893cf09 100644 --- a/src/themes/class.scss +++ b/src/themes/class.scss @@ -3,6 +3,10 @@ g.classGroup text { stroke: none; font-family: 'trebuchet ms', verdana, arial; font-size: 10px; + + .title { + font-weight: bolder; + } } g.classGroup rect { From 912e850db496a2c4a7e39e701dec48529f7cd5d9 Mon Sep 17 00:00:00 2001 From: Christian Klemm Date: Fri, 4 Oct 2019 21:49:02 +0200 Subject: [PATCH 044/200] added grammar --- README.md | 1 + dist/index.html | 1 + src/diagrams/class/classDb.js | 5 +++++ src/diagrams/class/classRenderer.js | 11 ++++------- src/diagrams/class/parser/classDiagram.jison | 8 +++++++- 5 files changed, 18 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 44a6a2c19..ec6b243ef 100644 --- a/README.md +++ b/README.md @@ -98,6 +98,7 @@ Class01 : size() Class01 : int chimp Class01 : int gorilla Class08 <--> C2: Cool label +<> Class01 ``` ![Class diagram](./img/class.png) diff --git a/dist/index.html b/dist/index.html index 027b17213..d5e7ba0a0 100644 --- a/dist/index.html +++ b/dist/index.html @@ -411,6 +411,7 @@ Class01 : size() Class01 : int chimp Class01 : int gorilla Class08 <--> C2: Cool label +<<interface>> Class01
- diff --git a/src/diagrams/state/id-cache.js b/src/diagrams/state/id-cache.js new file mode 100644 index 000000000..7a4be0eb1 --- /dev/null +++ b/src/diagrams/state/id-cache.js @@ -0,0 +1,16 @@ +const idCache = {}; + +export const set = (key, val) => { + idCache[key] = val; +}; + +export const get = k => idCache[k]; +export const keys = () => Object.keys(idCache); +export const size = () => keys().length; + +export default { + get, + set, + keys, + size +}; diff --git a/src/diagrams/state/shapes.js b/src/diagrams/state/shapes.js new file mode 100644 index 000000000..c7a08d7ae --- /dev/null +++ b/src/diagrams/state/shapes.js @@ -0,0 +1,295 @@ +import * as d3 from 'd3'; +import idCache from './id-cache.js'; +import stateDb from './stateDb'; + +console.warn('ID cache', idCache); + +// TODO Move conf object to main conf in mermaidAPI +const conf = { + dividerMargin: 10, + padding: 5, + textHeight: 10 +}; + +/** + * Draws a start state as a black circle + */ +export const drawStartState = g => + g + .append('circle') + .style('stroke', 'black') + .style('fill', 'black') + .attr('r', 5) + .attr('cx', conf.padding + 5) + .attr('cy', conf.padding + 5); + +/** + * Draws a an end state as a black circle + */ +export const drawSimpleState = (g, stateDef) => { + const state = g + .append('text') + .attr('x', 2 * conf.padding) + .attr('y', conf.textHeight + 2 * conf.padding) + .attr('font-size', 24) + .text(stateDef.id); + + const classBox = state.node().getBBox(); + g.insert('rect', ':first-child') + .attr('x', conf.padding) + .attr('y', conf.padding) + .attr('width', classBox.width + 2 * conf.padding) + .attr('height', classBox.height + 2 * conf.padding) + .attr('rx', '5'); + + return state; +}; + +/** + * Draws a state with descriptions + * @param {*} g + * @param {*} stateDef + */ +export const drawDescrState = (g, stateDef) => { + const addTspan = function(textEl, txt, isFirst) { + const tSpan = textEl + .append('tspan') + .attr('x', 2 * conf.padding) + .text(txt); + if (!isFirst) { + tSpan.attr('dy', conf.textHeight); + } + }; + const title = g + .append('text') + .attr('x', 2 * conf.padding) + .attr('y', conf.textHeight + 1.5 * conf.padding) + .attr('font-size', 24) + .attr('class', 'state-title') + .text(stateDef.id); + + const titleHeight = title.node().getBBox().height; + + const description = g + .append('text') // text label for the x axis + .attr('x', conf.padding) + .attr('y', titleHeight + conf.padding * 0.2 + conf.dividerMargin + conf.textHeight) + .attr('fill', 'white') + .attr('class', 'state-description'); + + let isFirst = true; + stateDef.descriptions.forEach(function(descr) { + addTspan(description, descr, isFirst); + isFirst = false; + }); + + const descrLine = g + .append('line') // text label for the x axis + .attr('x1', conf.padding) + .attr('y1', conf.padding + titleHeight + conf.dividerMargin / 2) + .attr('y2', conf.padding + titleHeight + conf.dividerMargin / 2) + .attr('class', 'descr-divider'); + const descrBox = description.node().getBBox(); + descrLine.attr('x2', descrBox.width + 3 * conf.padding); + // const classBox = title.node().getBBox(); + + g.insert('rect', ':first-child') + .attr('x', conf.padding) + .attr('y', conf.padding) + .attr('width', descrBox.width + 2 * conf.padding) + .attr('height', descrBox.height + titleHeight + 2 * conf.padding) + .attr('rx', '5'); + + return g; +}; + +/** + * Adds the creates a box around the existing content and adds a + * panel for the id on top of the content. + */ +export const addIdAndBox = (g, stateDef) => { + // TODO Move hardcodings to conf + const addTspan = function(textEl, txt, isFirst) { + const tSpan = textEl + .append('tspan') + .attr('x', 2 * conf.padding) + .text(txt); + if (!isFirst) { + tSpan.attr('dy', conf.textHeight); + } + }; + const title = g + .append('text') + .attr('x', 2 * conf.padding) + .attr('y', -15) + .attr('font-size', 24) + .attr('class', 'state-title') + .text(stateDef.id); + + const titleHeight = title.node().getBBox().height; + + const lineY = -9; + const descrLine = g + .append('line') // text label for the x axis + .attr('x1', 0) + .attr('y1', lineY) + .attr('y2', lineY) + .attr('class', 'descr-divider'); + + const graphBox = g.node().getBBox(); + title.attr('x', graphBox.width / 2 - title.node().getBBox().width / 2); + descrLine.attr('x2', graphBox.width + conf.padding); + + g.insert('rect', ':first-child') + .attr('x', graphBox.x) + .attr('y', -15 - conf.textHeight - conf.padding) + .attr('width', graphBox.width + conf.padding) + .attr('height', graphBox.height + 3 + conf.textHeight) + .attr('rx', '5'); + + return g; +}; + +const drawEndState = g => { + g.append('circle') + .style('stroke', 'black') + .style('fill', 'white') + .attr('r', 7) + .attr('cx', conf.padding + 7) + .attr('cy', conf.padding + 7); + + return g + .append('circle') + .style('stroke', 'black') + .style('fill', 'black') + .attr('r', 5) + .attr('cx', conf.padding + 7) + .attr('cy', conf.padding + 7); +}; + +/** + * Starting point for drawing a state. The function finds out the specifics + * about the state and renders with approprtiate function. + * @param {*} elem + * @param {*} stateDef + */ +export const drawState = function(elem, stateDef, graph, doc) { + console.warn('Rendering class ', stateDef); + + const id = stateDef.id; + const stateInfo = { + id: id, + label: stateDef.id, + width: 0, + height: 0 + }; + + const g = elem + .append('g') + .attr('id', id) + .attr('class', 'classGroup'); + + if (stateDef.type === 'start') drawStartState(g); + if (stateDef.type === 'end') drawEndState(g); + if (stateDef.type === 'default' && stateDef.descriptions.length === 0) + drawSimpleState(g, stateDef); + if (stateDef.type === 'default' && stateDef.descriptions.length > 0) drawDescrState(g, stateDef); + + const stateBox = g.node().getBBox(); + stateInfo.width = stateBox.width + 2 * conf.padding; + stateInfo.height = stateBox.height + 2 * conf.padding; + + idCache.set(id, stateInfo); + // stateCnt++; + return stateInfo; +}; + +let edgeCount = 0; +export const drawEdge = function(elem, path, relation) { + const getRelationType = function(type) { + switch (type) { + case stateDb.relationType.AGGREGATION: + return 'aggregation'; + case stateDb.relationType.EXTENSION: + return 'extension'; + case stateDb.relationType.COMPOSITION: + return 'composition'; + case stateDb.relationType.DEPENDENCY: + return 'dependency'; + } + }; + + path.points = path.points.filter(p => !Number.isNaN(p.y)); + + // The data for our line + const lineData = path.points; + + // This is the accessor function we talked about above + const lineFunction = d3 + .line() + .x(function(d) { + return d.x; + }) + .y(function(d) { + return d.y; + }) + .curve(d3.curveBasis); + + const svgPath = elem + .append('path') + .attr('d', lineFunction(lineData)) + .attr('id', 'edge' + edgeCount) + .attr('class', 'relation'); + let url = ''; + if (conf.arrowMarkerAbsolute) { + url = + window.location.protocol + + '//' + + window.location.host + + window.location.pathname + + window.location.search; + url = url.replace(/\(/g, '\\('); + url = url.replace(/\)/g, '\\)'); + } + + svgPath.attr( + 'marker-end', + 'url(' + url + '#' + getRelationType(stateDb.relationType.DEPENDENCY) + 'End' + ')' + ); + + if (typeof relation.title !== 'undefined') { + const g = elem.append('g').attr('class', 'classLabel'); + const label = g + .append('text') + .attr('class', 'label') + .attr('fill', 'red') + .attr('text-anchor', 'middle') + .text(relation.title); + const { x, y } = utils.calcLabelPosition(path.points); + label.attr('x', x).attr('y', y); + const bounds = label.node().getBBox(); + g.insert('rect', ':first-child') + .attr('class', 'box') + .attr('x', bounds.x - conf.padding / 2) + .attr('y', bounds.y - conf.padding / 2) + .attr('width', bounds.width + conf.padding) + .attr('height', bounds.height + conf.padding); + // Debug points + // path.points.forEach(point => { + // g.append('circle') + // .style('stroke', 'red') + // .style('fill', 'red') + // .attr('r', 1) + // .attr('cx', point.x) + // .attr('cy', point.y); + // }); + // g.append('circle') + // .style('stroke', 'blue') + // .style('fill', 'blue') + // .attr('r', 1) + // .attr('cx', x) + // .attr('cy', y); + } + + edgeCount++; +}; diff --git a/src/diagrams/state/stateDiagram.spec.js b/src/diagrams/state/stateDiagram.spec.js index d8918edd7..d3e1bf93c 100644 --- a/src/diagrams/state/stateDiagram.spec.js +++ b/src/diagrams/state/stateDiagram.spec.js @@ -16,27 +16,6 @@ describe('state diagram, ', function() { `; parser.parse(str); - expect(stateDb.getRelations()).toEqual([ - { id1: 'start1', id2: 'State1' }, - { id1: 'State1', id2: 'end1' } - ]); - expect(stateDb.getStates()).toEqual({ - State1: { - id: 'State1', - type: 'default', - descriptions: [] - }, - end1: { - id: 'end1', - type: 'end', - descriptions: [] - }, - start1: { - id: 'start1', - type: 'start', - descriptions: [] - } - }); }); it('simple', function() { const str = `stateDiagram\n diff --git a/src/diagrams/state/stateRenderer.js b/src/diagrams/state/stateRenderer.js index 4b4fed83a..83c394fe3 100644 --- a/src/diagrams/state/stateRenderer.js +++ b/src/diagrams/state/stateRenderer.js @@ -5,15 +5,14 @@ import { logger } from '../../logger'; import stateDb from './stateDb'; import { parser } from './parser/stateDiagram'; import utils from '../../utils'; +import idCache from './id-cache'; +import { drawState, addIdAndBox, drawEdge } from './shapes'; parser.yy = stateDb; -const idCache = {}; - -let stateCnt = 0; let total = 0; -let edgeCount = 0; +// TODO Move conf object to main conf in mermaidAPI const conf = { dividerMargin: 10, padding: 5, @@ -26,10 +25,10 @@ export const setConf = function(cnf) {}; // Todo optimize const getGraphId = function(label) { - const keys = Object.keys(idCache); + const keys = idCache.keys(); for (let i = 0; i < keys.length; i++) { - if (idCache[keys[i]].label === label) { + if (idCache.get(keys[i]).label === label) { return keys[i]; } } @@ -53,346 +52,6 @@ const insertMarkers = function(elem) { .append('path') .attr('d', 'M 19,7 L9,13 L14,7 L9,1 Z'); }; -const drawStart = function(elem, stateDef) { - logger.info('Rendering class ' + stateDef); - - const addTspan = function(textEl, txt, isFirst) { - const tSpan = textEl - .append('tspan') - .attr('x', conf.padding) - .text(txt); - if (!isFirst) { - tSpan.attr('dy', conf.textHeight); - } - }; - - const id = 'classId' + (stateCnt % total); - const stateInfo = { - id: id, - label: stateDef.id, - width: 0, - height: 0 - }; - - const g = elem - .append('g') - .attr('id', id) - .attr('class', 'classGroup'); - const title = g - .append('text') - .attr('x', conf.padding) - .attr('y', conf.textHeight + conf.padding) - .text(stateDef.id); - - const titleHeight = title.node().getBBox().height; - - const stateBox = g.node().getBBox(); - g.insert('rect', ':first-child') - .attr('x', 0) - .attr('y', 0) - .attr('width', stateBox.width + 2 * conf.padding) - .attr('height', stateBox.height + conf.padding + 0.5 * conf.dividerMargin); - - membersLine.attr('x2', stateBox.width + 2 * conf.padding); - methodsLine.attr('x2', stateBox.width + 2 * conf.padding); - - stateInfo.width = stateBox.width + 2 * conf.padding; - stateInfo.height = stateBox.height + conf.padding + 0.5 * conf.dividerMargin; - - idCache[id] = stateInfo; - stateCnt++; - return stateInfo; -}; - -/** - * Draws a start state as a black circle - */ -const drawStartState = g => - g - .append('circle') - .style('stroke', 'black') - .style('fill', 'black') - .attr('r', 5) - .attr('cx', conf.padding + 5) - .attr('cy', conf.padding + 5); -/** - * Draws a an end state as a black circle - */ -const drawSimpleState = (g, stateDef) => { - const state = g - .append('text') - .attr('x', 2 * conf.padding) - .attr('y', conf.textHeight + 2 * conf.padding) - .attr('font-size', 24) - .text(stateDef.id); - - const classBox = state.node().getBBox(); - g.insert('rect', ':first-child') - .attr('x', conf.padding) - .attr('y', conf.padding) - .attr('width', classBox.width + 2 * conf.padding) - .attr('height', classBox.height + 2 * conf.padding) - .attr('rx', '5'); - - return state; -}; -/** - * Draws a state with descriptions - * @param {*} g - * @param {*} stateDef - */ -const drawDescrState = (g, stateDef) => { - const addTspan = function(textEl, txt, isFirst) { - const tSpan = textEl - .append('tspan') - .attr('x', 2 * conf.padding) - .text(txt); - if (!isFirst) { - tSpan.attr('dy', conf.textHeight); - } - }; - const title = g - .append('text') - .attr('x', 2 * conf.padding) - .attr('y', conf.textHeight + 1.5 * conf.padding) - .attr('font-size', 24) - .attr('class', 'state-title') - .text(stateDef.id); - - const titleHeight = title.node().getBBox().height; - - const description = g - .append('text') // text label for the x axis - .attr('x', conf.padding) - .attr('y', titleHeight + conf.padding * 0.2 + conf.dividerMargin + conf.textHeight) - .attr('fill', 'white') - .attr('class', 'state-description'); - - let isFirst = true; - stateDef.descriptions.forEach(function(descr) { - addTspan(description, descr, isFirst); - isFirst = false; - }); - - const descrLine = g - .append('line') // text label for the x axis - .attr('x1', conf.padding) - .attr('y1', conf.padding + titleHeight + conf.dividerMargin / 2) - .attr('y2', conf.padding + titleHeight + conf.dividerMargin / 2) - .attr('class', 'descr-divider'); - const descrBox = description.node().getBBox(); - descrLine.attr('x2', descrBox.width + 3 * conf.padding); - // const classBox = title.node().getBBox(); - - g.insert('rect', ':first-child') - .attr('x', conf.padding) - .attr('y', conf.padding) - .attr('width', descrBox.width + 2 * conf.padding) - .attr('height', descrBox.height + titleHeight + 2 * conf.padding) - .attr('rx', '5'); - - return g; -}; -const addIdAndBox = (g, stateDef) => { - const addTspan = function(textEl, txt, isFirst) { - const tSpan = textEl - .append('tspan') - .attr('x', 2 * conf.padding) - .text(txt); - if (!isFirst) { - tSpan.attr('dy', conf.textHeight); - } - }; - const title = g - .append('text') - .attr('x', 2 * conf.padding) - .attr('y', -15) - .attr('font-size', 24) - .attr('class', 'state-title') - .text(stateDef.id); - - const titleHeight = title.node().getBBox().height; - - // let isFirst = true; - // stateDef.descriptions.forEach(function(descr) { - // addTspan(description, descr, isFirst); - // isFirst = false; - // }); - - const lineY = -9; - const descrLine = g - .append('line') // text label for the x axis - .attr('x1', 0) - .attr('y1', lineY) - .attr('y2', lineY) - .attr('class', 'descr-divider'); - // const descrBox = description.node().getBBox(); - const graphBox = g.node().getBBox(); - title.attr('x', graphBox.width / 2 - title.node().getBBox().width / 2); - descrLine.attr('x2', graphBox.width + conf.padding); - // const classBox = title.node().getBBox(); - console.warn('Box', graphBox, stateDef); - g.insert('rect', ':first-child') - .attr('x', graphBox.x) - .attr('y', -15 - conf.textHeight - conf.padding) - .attr('width', graphBox.width + conf.padding) - .attr('height', graphBox.height + 3 + conf.textHeight) - .attr('rx', '5'); - // g.insert('rect', ':first-child') - // .attr('x', conf.padding) - // .attr('y', conf.padding) - // .attr('width', descrBox.width + 2 * conf.padding) - // .attr('height', descrBox.height + titleHeight + 2 * conf.padding) - // .attr('rx', '5'); - - return g; -}; -const drawEndState = g => { - g.append('circle') - .style('stroke', 'black') - .style('fill', 'white') - .attr('r', 7) - .attr('cx', conf.padding + 7) - .attr('cy', conf.padding + 7); - - return g - .append('circle') - .style('stroke', 'black') - .style('fill', 'black') - .attr('r', 5) - .attr('cx', conf.padding + 7) - .attr('cy', conf.padding + 7); -}; - -const drawEdge = function(elem, path, relation) { - const getRelationType = function(type) { - switch (type) { - case stateDb.relationType.AGGREGATION: - return 'aggregation'; - case stateDb.relationType.EXTENSION: - return 'extension'; - case stateDb.relationType.COMPOSITION: - return 'composition'; - case stateDb.relationType.DEPENDENCY: - return 'dependency'; - } - }; - - path.points = path.points.filter(p => !Number.isNaN(p.y)); - - // The data for our line - const lineData = path.points; - - // This is the accessor function we talked about above - const lineFunction = d3 - .line() - .x(function(d) { - return d.x; - }) - .y(function(d) { - return d.y; - }) - .curve(d3.curveBasis); - - const svgPath = elem - .append('path') - .attr('d', lineFunction(lineData)) - .attr('id', 'edge' + edgeCount) - .attr('class', 'relation'); - let url = ''; - if (conf.arrowMarkerAbsolute) { - url = - window.location.protocol + - '//' + - window.location.host + - window.location.pathname + - window.location.search; - url = url.replace(/\(/g, '\\('); - url = url.replace(/\)/g, '\\)'); - } - - svgPath.attr( - 'marker-end', - 'url(' + url + '#' + getRelationType(stateDb.relationType.DEPENDENCY) + 'End' + ')' - ); - - if (typeof relation.title !== 'undefined') { - const g = elem.append('g').attr('class', 'classLabel'); - const label = g - .append('text') - .attr('class', 'label') - .attr('fill', 'red') - .attr('text-anchor', 'middle') - .text(relation.title); - const { x, y } = utils.calcLabelPosition(path.points); - label.attr('x', x).attr('y', y); - const bounds = label.node().getBBox(); - g.insert('rect', ':first-child') - .attr('class', 'box') - .attr('x', bounds.x - conf.padding / 2) - .attr('y', bounds.y - conf.padding / 2) - .attr('width', bounds.width + conf.padding) - .attr('height', bounds.height + conf.padding); - // Debug points - // path.points.forEach(point => { - // g.append('circle') - // .style('stroke', 'red') - // .style('fill', 'red') - // .attr('r', 1) - // .attr('cx', point.x) - // .attr('cy', point.y); - // }); - // g.append('circle') - // .style('stroke', 'blue') - // .style('fill', 'blue') - // .attr('r', 1) - // .attr('cx', x) - // .attr('cy', y); - } - - edgeCount++; -}; - -/** - * Draws a state - * @param {*} elem - * @param {*} stateDef - */ -const drawState = function(elem, stateDef, graph, doc) { - console.warn('Rendering class ', stateDef); - - const id = stateDef.id; - const stateInfo = { - id: id, - label: stateDef.id, - width: 0, - height: 0 - }; - - const g = elem - .append('g') - .attr('id', id) - .attr('class', 'classGroup'); - - if (stateDef.type === 'start') drawStartState(g); - if (stateDef.type === 'end') drawEndState(g); - if (stateDef.type === 'default' && stateDef.descriptions.length === 0) - drawSimpleState(g, stateDef); - if (stateDef.type === 'default' && stateDef.descriptions.length > 0) drawDescrState(g, stateDef); - // if (stateDef.type === 'default' && stateDef.doc) { - // // renderDoc(stateDef.doc, graph, elem); - // drawSimpleState(g, stateDef); - // renderDoc(stateDef.doc, graph, g, id); - // } - - const stateBox = g.node().getBBox(); - stateInfo.width = stateBox.width + 2 * conf.padding; - stateInfo.height = stateBox.height + 2 * conf.padding; - - idCache[id] = stateInfo; - stateCnt++; - return stateInfo; -}; /** * Draws a flowchart in the tag with id: id based on the graph definition in text. @@ -429,7 +88,7 @@ export const draw = function(text, id) { }); const rootDoc = stateDb.getRootDoc(); - const n = renderDoc2(rootDoc, diagram); + const n = renderDoc(rootDoc, diagram); const bounds = diagram.node().getBBox(); @@ -441,7 +100,7 @@ const getLabelWidth = text => { return text ? text.length * 5.02 : 1; }; -const renderDoc2 = (doc, diagram, parentId) => { +const renderDoc = (doc, diagram, parentId) => { // // Layout graph, Create a new directed graph const graph = new graphlib.Graph({}); @@ -499,7 +158,6 @@ const renderDoc2 = (doc, diagram, parentId) => { } else { node = drawState(diagram, stateDef, graph); } - // const nodeAppendix = drawStartState(diagram, stateDef); // Add nodes to the graph. The first argument is the node id. The second is // metadata about the node. In this case we're going to add labels to each of @@ -579,60 +237,6 @@ const renderDoc2 = (doc, diagram, parentId) => { console.warn('Doc rendered', stateInfo, graph); return stateInfo; }; -const renderDoc = (doc, graph, diagram, parentId) => { - stateDb.extract(doc); - const states = stateDb.getStates(); - const relations = stateDb.getRelations(); - - const keys = Object.keys(states); - console.warn('rendering doc', states, relations); - - total = keys.length; - for (let i = 0; i < keys.length; i++) { - const stateDef = states[keys[i]]; - console.warn('keys[i]', keys[i]); - if (stateDef.doc) { - renderDoc(stateDef.doc, graph, diagram, stateDef.id); - } - const node = drawState(diagram, stateDef, graph); - // const nodeAppendix = drawStartState(diagram, stateDef); - - // Add nodes to the graph. The first argument is the node id. The second is - // metadata about the node. In this case we're going to add labels to each of - // our nodes. - graph.setNode(node.id, node); - if (parentId) { - console.warn('Setting parent', parentId); - graph.setParent(node.id, parentId); - } - // graph.setNode(node.id + 'note', nodeAppendix); - - // let parent = 'p1'; - // if (node.id === 'XState1') { - // parent = 'p2'; - // } - - // graph.setParent(node.id, parent); - // graph.setParent(node.id + 'note', parent); - - // logger.info('Org height: ' + node.height); - } - - console.info('Count=', graph.nodeCount()); - relations.forEach(function(relation) { - console.warn('Rendering edge', relation); - graph.setEdge(getGraphId(relation.id1), getGraphId(relation.id2), { - relation: relation, - width: 38 - }); - console.warn(getGraphId(relation.id1), getGraphId(relation.id2), { - relation: relation - }); - // graph.setEdge(getGraphId(relation.id1), getGraphId(relation.id2)); - }); - - console.warn('Doc rendered'); -}; export default { setConf, From cfc14ade2ae448140cb2d4f9b447d797cfb9476a Mon Sep 17 00:00:00 2001 From: Knut Sveidqvist Date: Sat, 5 Oct 2019 10:02:58 +0200 Subject: [PATCH 056/200] #945 Some more cleanup focusing on stateDb --- src/diagrams/state/parser/stateDiagram.jison | 1 - src/diagrams/state/shapes.js | 1 + src/diagrams/state/stateDb.js | 18 ++------------- src/diagrams/state/stateRenderer.js | 23 ++------------------ 4 files changed, 5 insertions(+), 38 deletions(-) diff --git a/src/diagrams/state/parser/stateDiagram.jison b/src/diagrams/state/parser/stateDiagram.jison index 8ae1bbf44..9ab2d24db 100644 --- a/src/diagrams/state/parser/stateDiagram.jison +++ b/src/diagrams/state/parser/stateDiagram.jison @@ -126,7 +126,6 @@ statement | COMPOSIT_STATE STRUCT_START document STRUCT_STOP { console.warn('Adding document for state without id ', $1); - // yy.addDocument('noId'); $$={ stmt: 'state', id: $1, type: 'default', description: '', doc: $3 } } | STATE_DESCR AS ID { $$={id: $3, type: 'default', description: $1.trim()};} diff --git a/src/diagrams/state/shapes.js b/src/diagrams/state/shapes.js index c7a08d7ae..4eb372eed 100644 --- a/src/diagrams/state/shapes.js +++ b/src/diagrams/state/shapes.js @@ -1,6 +1,7 @@ import * as d3 from 'd3'; import idCache from './id-cache.js'; import stateDb from './stateDb'; +import utils from '../../utils'; console.warn('ID cache', idCache); diff --git a/src/diagrams/state/stateDb.js b/src/diagrams/state/stateDb.js index 76bae029c..266de58d4 100644 --- a/src/diagrams/state/stateDb.js +++ b/src/diagrams/state/stateDb.js @@ -11,16 +11,10 @@ const getRootDoc = () => rootDoc; const extract = doc => { const res = { states: [], relations: [] }; clear(); + doc.forEach(item => { if (item.stmt === 'state') { - // if (item.doc) { - // addState(item.id, 'composit'); - // addDocument(item.id); - // extract(item.doc); - // currentDocument = currentDocument.parent; - // } else { addState(item.id, item.type, item.doc); - // } } if (item.stmt === 'relation') { addRelation(item.state1.id, item.state2.id, item.description); @@ -81,12 +75,7 @@ export const clear = function() { export const getState = function(id) { return currentDocument.states[id]; }; -export const addDocument = id => { - console.warn(currentDocument, documents); - currentDocument.documents[id] = newDoc(); - currentDocument.documents[id].parent = currentDocument; - currentDocument = currentDocument.documents[id]; -}; + export const getStates = function() { return currentDocument.states; }; @@ -94,8 +83,6 @@ export const logDocuments = function() { console.warn('Documents = ', documents); }; export const getRelations = function() { - // const relations1 = [{ id1: 'start1', id2: 'state1' }, { id1: 'state1', id2: 'exit1' }]; - // return relations; return currentDocument.relations; }; @@ -162,7 +149,6 @@ export default { lineType, relationType, logDocuments, - addDocument, getRootDoc, setRootDoc, extract diff --git a/src/diagrams/state/stateRenderer.js b/src/diagrams/state/stateRenderer.js index 83c394fe3..0f7ca8d38 100644 --- a/src/diagrams/state/stateRenderer.js +++ b/src/diagrams/state/stateRenderer.js @@ -61,7 +61,6 @@ const insertMarkers = function(elem) { export const draw = function(text, id) { parser.yy.clear(); parser.parse(text); - stateDb.logDocuments(); logger.info('Rendering diagram ' + text); // /// / Fetch the default direction, use TD if none was found @@ -124,7 +123,7 @@ const renderDoc = (doc, diagram, parentId) => { }); } - // // Default to assigning a new object as a label for each new edge. + // Default to assigning a new object as a label for each new edge. graph.setDefaultEdgeLabel(function() { return {}; }); @@ -146,15 +145,13 @@ const renderDoc = (doc, diagram, parentId) => { .append('g') .attr('id', stateDef.id) .attr('class', 'classGroup'); - node = renderDoc2(stateDef.doc, sub, stateDef.id); + node = renderDoc(stateDef.doc, sub, stateDef.id); sub = addIdAndBox(sub, stateDef); let boxBounds = sub.node().getBBox(); node.width = boxBounds.width; node.height = boxBounds.height + 10; transformationLog[stateDef.id] = { y: 35 }; - // node.x = boxBounds.y; - // node.y = boxBounds.x; } else { node = drawState(diagram, stateDef, graph); } @@ -163,21 +160,6 @@ const renderDoc = (doc, diagram, parentId) => { // metadata about the node. In this case we're going to add labels to each of // our nodes. graph.setNode(node.id, node); - // if (parentId) { - // console.warn('apa1 P>', node.id, parentId); - // // graph.setParent(node.id, parentId); - // } - // graph.setNode(node.id + 'note', nodeAppendix); - - // let parent = 'p1'; - // if (node.id === 'XState1') { - // parent = 'p2'; - // } - - // graph.setParent(node.id, parent); - // graph.setParent(node.id + 'note', parent); - - // logger.info('Org height: ' + node.height); } console.info('Count=', graph.nodeCount()); @@ -192,7 +174,6 @@ const renderDoc = (doc, diagram, parentId) => { console.warn(getGraphId(relation.id1), relation.id2, { relation: relation }); - // graph.setEdge(getGraphId(relation.id1), getGraphId(relation.id2)); }); dagre.layout(graph); From 3b731282e3be4eb42fb37f1367ce89986a69cc12 Mon Sep 17 00:00:00 2001 From: Knut Sveidqvist Date: Sat, 5 Oct 2019 12:15:14 +0200 Subject: [PATCH 057/200] #945Renabling support for descriptions --- .../integration/rendering/stateDiagram.spec.js | 15 +++++++++++++++ src/diagrams/state/parser/stateDiagram.jison | 2 +- src/diagrams/state/stateDb.js | 9 +++++---- 3 files changed, 21 insertions(+), 5 deletions(-) diff --git a/cypress/integration/rendering/stateDiagram.spec.js b/cypress/integration/rendering/stateDiagram.spec.js index f1fc7cea8..f71a725cc 100644 --- a/cypress/integration/rendering/stateDiagram.spec.js +++ b/cypress/integration/rendering/stateDiagram.spec.js @@ -13,6 +13,21 @@ describe('State diagram', () => { ); cy.get('svg'); }); + it('should render a states with descriptions including multi-line descriptions', () => { + imgSnapshotTest( + ` + stateDiagram + State1: This a a single line description + State2: This a a multi line description + State2: here comes the multi part + [*] --> State1 + State1 --> State2 + State2 --> [*] + `, + { logLevel: 0 } + ); + cy.get('svg'); + }); it('should render a simple state diagrams', () => { imgSnapshotTest( ` diff --git a/src/diagrams/state/parser/stateDiagram.jison b/src/diagrams/state/parser/stateDiagram.jison index 9ab2d24db..f1ed4786b 100644 --- a/src/diagrams/state/parser/stateDiagram.jison +++ b/src/diagrams/state/parser/stateDiagram.jison @@ -109,7 +109,7 @@ line ; statement - : idStatement DESCR { $$={ stmt: 'state', id: $1, type: 'default', description: $2.trim()};} + : idStatement DESCR { console.warn('got id and descr', $1, $2.trim());$$={ stmt: 'state', id: $1, type: 'default', description: $2.trim()};} | idStatement '-->' idStatement { /*console.warn('got id', $1);yy.addRelation($1, $3);*/ diff --git a/src/diagrams/state/stateDb.js b/src/diagrams/state/stateDb.js index 266de58d4..96c7f5544 100644 --- a/src/diagrams/state/stateDb.js +++ b/src/diagrams/state/stateDb.js @@ -14,7 +14,7 @@ const extract = doc => { doc.forEach(item => { if (item.stmt === 'state') { - addState(item.id, item.type, item.doc); + addState(item.id, item.type, item.doc, item.description); } if (item.stmt === 'relation') { addRelation(item.state1.id, item.state2.id, item.description); @@ -46,7 +46,7 @@ let endCnt = 0; * @param type * @param style */ -export const addState = function(id, type, doc) { +export const addState = function(id, type, doc, descr) { console.warn('Add state', id); if (typeof currentDocument.states[id] === 'undefined') { currentDocument.states[id] = { @@ -63,6 +63,7 @@ export const addState = function(id, type, doc) { currentDocument.states[id].type = type; } } + if (descr) addDescription(id, descr.trim()); }; export const clear = function() { @@ -107,7 +108,7 @@ export const addRelation = function(_id1, _id2, title) { currentDocument.relations.push({ id1, id2, title }); }; -export const addDescription = function(id, _descr) { +const addDescription = function(id, _descr) { const theState = currentDocument.states[id]; let descr = _descr; if (descr[0] === ':') { @@ -144,7 +145,7 @@ export default { getStates, getRelations, addRelation, - addDescription, + // addDescription, cleanupLabel, lineType, relationType, From 9da61ad562f049fe542dbab48dd3c27c4bbc43c0 Mon Sep 17 00:00:00 2001 From: Christian Klemm Date: Sat, 5 Oct 2019 12:38:29 +0200 Subject: [PATCH 058/200] added some documentation --- src/diagrams/class/classDb.js | 37 ++++++++++++++++++++++------- src/diagrams/class/classRenderer.js | 18 ++++++++++---- 2 files changed, 42 insertions(+), 13 deletions(-) diff --git a/src/diagrams/class/classDb.js b/src/diagrams/class/classDb.js index d380639eb..cb4c42c8a 100644 --- a/src/diagrams/class/classDb.js +++ b/src/diagrams/class/classDb.js @@ -6,16 +6,18 @@ let classes = {}; /** * Function called by parser when a node definition has been found. * @param id + * @public */ export const addClass = function(id) { - if (typeof classes[id] === 'undefined') { - classes[id] = { - id: id, - methods: [], - members: [], - annotations: [] - }; - } + // Only add class if not exists + if (typeof classes[id] !== 'undefined') return; + + classes[id] = { + id: id, + methods: [], + members: [], + annotations: [] + }; }; export const clear = function() { @@ -41,15 +43,34 @@ export const addRelation = function(relation) { relations.push(relation); }; +/** + * Adds an annotation to the specified class + * Annotations mark special properties of the given type (like 'interface' or 'service') + * @param className The class name + * @param annotation The name of the annotation without any brackets + * @public + */ export const addAnnotation = function(className, annotation) { classes[className].annotations.push(annotation); }; +/** + * Adds a member to the specified class + * @param className The class name + * @param member The full name of the member. + * If the member is enclosed in <> it is treated as an annotation + * If the member is ending with a closing bracket ) it is treated as a method + * Otherwise the member will be treated as a normal property + * @public + */ export const addMember = function(className, member) { const theClass = classes[className]; if (typeof member === 'string') { + // Member can contain white spaces, we trim them out const memberString = member.trim(); + if (memberString.startsWith('<<') && memberString.endsWith('>>')) { + // Remove leading and trailing brackets theClass.annotations.push(memberString.substring(2, memberString.length - 2)); } else if (memberString.endsWith(')')) { theClass.methods.push(memberString); diff --git a/src/diagrams/class/classRenderer.js b/src/diagrams/class/classRenderer.js index 2ee1f0087..2d0825edc 100644 --- a/src/diagrams/class/classRenderer.js +++ b/src/diagrams/class/classRenderer.js @@ -255,10 +255,13 @@ const drawClass = function(elem, classDef) { height: 0 }; + // add class group const g = elem .append('g') .attr('id', id) .attr('class', 'classGroup'); + + // add title const title = g .append('text') .attr('y', conf.textHeight + conf.padding) @@ -278,6 +281,7 @@ const drawClass = function(elem, classDef) { .text(classDef.id) .attr('class', 'title'); + // If class has annotations the title needs to have an offset of the text height if (!isFirst) classTitle.attr('dy', conf.textHeight); const titleHeight = title.node().getBBox().height; @@ -324,21 +328,25 @@ const drawClass = function(elem, classDef) { }); const classBox = g.node().getBBox(); - g.insert('rect', ':first-child') + const rect = g + .insert('rect', ':first-child') .attr('x', 0) .attr('y', 0) .attr('width', classBox.width + 2 * conf.padding) .attr('height', classBox.height + conf.padding + 0.5 * conf.dividerMargin); + const rectWidth = rect.node().getBBox().width; + // Center title + // We subtract the width of each text element from the class box width and divide it by 2 title.node().childNodes.forEach(function(x) { - x.setAttribute('x', (classBox.width + 2 * conf.padding - x.getBBox().width) / 2); + x.setAttribute('x', (rectWidth - x.getBBox().width) / 2); }); - membersLine.attr('x2', classBox.width + 2 * conf.padding); - methodsLine.attr('x2', classBox.width + 2 * conf.padding); + membersLine.attr('x2', rectWidth); + methodsLine.attr('x2', rectWidth); - classInfo.width = classBox.width + 2 * conf.padding; + classInfo.width = rectWidth; classInfo.height = classBox.height + conf.padding + 0.5 * conf.dividerMargin; idCache[id] = classInfo; From 40b7262c198a93a233dc5730eb026fdd4807cc2d Mon Sep 17 00:00:00 2001 From: Christian Klemm Date: Sat, 5 Oct 2019 12:46:28 +0200 Subject: [PATCH 059/200] exchanged class readme image --- img/class.png | Bin 26940 -> 144758 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/img/class.png b/img/class.png index bf6e379e1abf5db97fcd3d7bb06cad26400b8a7f..8ce6dcf42124c2cb2ac56809e270244f2753851a 100644 GIT binary patch literal 144758 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 From cc731fe3c4bce077f190d92d6aa7d4d8493ec63c Mon Sep 17 00:00:00 2001 From: Brian Mearns Date: Sat, 5 Oct 2019 09:38:03 -0400 Subject: [PATCH 060/200] #530 Pull shape functions out to shorten functions --- src/diagrams/flowchart/flowChartShapes.js | 271 ++++++++++++---------- 1 file changed, 143 insertions(+), 128 deletions(-) diff --git a/src/diagrams/flowchart/flowChartShapes.js b/src/diagrams/flowchart/flowChartShapes.js index 7bfb7aeaf..4ceecbf29 100644 --- a/src/diagrams/flowchart/flowChartShapes.js +++ b/src/diagrams/flowchart/flowChartShapes.js @@ -1,146 +1,161 @@ import dagreD3 from 'dagre-d3-renderer'; +function question(parent, bbox, node) { + const w = bbox.width; + const h = bbox.height; + const s = (w + h) * 0.9; + const points = [ + { x: s / 2, y: 0 }, + { x: s, y: -s / 2 }, + { x: s / 2, y: -s }, + { x: 0, y: -s / 2 } + ]; + const shapeSvg = insertPolygonShape(parent, s, s, points); + node.intersect = function(point) { + return dagreD3.intersect.polygon(node, points, point); + }; + return shapeSvg; +} + +function hexagon(parent, bbox, node) { + const f = 4; + const h = bbox.height; + const m = h / f; + const w = bbox.width + 2 * m; + const points = [ + { x: m, y: 0 }, + { x: w - m, y: 0 }, + { x: w, y: -h / 2 }, + { x: w - m, y: -h }, + { x: m, y: -h }, + { x: 0, y: -h / 2 } + ]; + const shapeSvg = insertPolygonShape(parent, w, h, points); + node.intersect = function(point) { + return dagreD3.intersect.polygon(node, points, point); + }; + return shapeSvg; +} + +function rect_left_inv_arrow(parent, bbox, node) { + const w = bbox.width; + const h = bbox.height; + const points = [ + { x: -h / 2, y: 0 }, + { x: w, y: 0 }, + { x: w, y: -h }, + { x: -h / 2, y: -h }, + { x: 0, y: -h / 2 } + ]; + const shapeSvg = insertPolygonShape(parent, w, h, points); + node.intersect = function(point) { + return dagreD3.intersect.polygon(node, points, point); + }; + return shapeSvg; +} + +function lean_right (parent, bbox, node) { + const w = bbox.width; + const h = bbox.height; + const points = [ + { x: (-2 * h) / 6, y: 0 }, + { x: w - h / 6, y: 0 }, + { x: w + (2 * h) / 6, y: -h }, + { x: h / 6, y: -h } + ]; + const shapeSvg = insertPolygonShape(parent, w, h, points); + node.intersect = function(point) { + return dagreD3.intersect.polygon(node, points, point); + }; + return shapeSvg; +} + +function lean_left(parent, bbox, node) { + const w = bbox.width; + const h = bbox.height; + const points = [ + { x: (2 * h) / 6, y: 0 }, + { x: w + h / 6, y: 0 }, + { x: w - (2 * h) / 6, y: -h }, + { x: -h / 6, y: -h } + ]; + const shapeSvg = insertPolygonShape(parent, w, h, points); + node.intersect = function(point) { + return dagreD3.intersect.polygon(node, points, point); + }; + return shapeSvg; +} + +function trapezoid(parent, bbox, node) { + const w = bbox.width; + const h = bbox.height; + const points = [ + { x: (-2 * h) / 6, y: 0 }, + { x: w + (2 * h) / 6, y: 0 }, + { x: w - h / 6, y: -h }, + { x: h / 6, y: -h } + ]; + const shapeSvg = insertPolygonShape(parent, w, h, points); + node.intersect = function(point) { + return dagreD3.intersect.polygon(node, points, point); + }; + return shapeSvg; +} + +function inv_trapezoid(parent, bbox, node) { + const w = bbox.width; + const h = bbox.height; + const points = [ + { x: h / 6, y: 0 }, + { x: w - h / 6, y: 0 }, + { x: w + (2 * h) / 6, y: -h }, + { x: (-2 * h) / 6, y: -h } + ]; + const shapeSvg = insertPolygonShape(parent, w, h, points); + node.intersect = function(point) { + return dagreD3.intersect.polygon(node, points, point); + }; + return shapeSvg; +} + +function rect_right_inv_arrow(parent, bbox, node) { + const w = bbox.width; + const h = bbox.height; + const points = [ + { x: 0, y: 0 }, + { x: w + h / 2, y: 0 }, + { x: w, y: -h / 2 }, + { x: w + h / 2, y: -h }, + { x: 0, y: -h } + ]; + const shapeSvg = insertPolygonShape(parent, w, h, points); + node.intersect = function(point) { + return dagreD3.intersect.polygon(node, points, point); + }; + return shapeSvg; +} + export function addToRender(render) { - render.shapes().question = function(parent, bbox, node) { - const w = bbox.width; - const h = bbox.height; - const s = (w + h) * 0.9; - const points = [ - { x: s / 2, y: 0 }, - { x: s, y: -s / 2 }, - { x: s / 2, y: -s }, - { x: 0, y: -s / 2 } - ]; - const shapeSvg = insertPolygonShape(parent, s, s, points); - node.intersect = function(point) { - return dagreD3.intersect.polygon(node, points, point); - }; - return shapeSvg; - }; - - render.shapes().hexagon = function(parent, bbox, node) { - const f = 4; - const h = bbox.height; - const m = h / f; - const w = bbox.width + 2 * m; - const points = [ - { x: m, y: 0 }, - { x: w - m, y: 0 }, - { x: w, y: -h / 2 }, - { x: w - m, y: -h }, - { x: m, y: -h }, - { x: 0, y: -h / 2 } - ]; - const shapeSvg = insertPolygonShape(parent, w, h, points); - node.intersect = function(point) { - return dagreD3.intersect.polygon(node, points, point); - }; - return shapeSvg; - }; + render.shapes().question = question; + render.shapes().hexagon = hexagon; // Add custom shape for box with inverted arrow on left side - render.shapes().rect_left_inv_arrow = function(parent, bbox, node) { - const w = bbox.width; - const h = bbox.height; - const points = [ - { x: -h / 2, y: 0 }, - { x: w, y: 0 }, - { x: w, y: -h }, - { x: -h / 2, y: -h }, - { x: 0, y: -h / 2 } - ]; - const shapeSvg = insertPolygonShape(parent, w, h, points); - node.intersect = function(point) { - return dagreD3.intersect.polygon(node, points, point); - }; - return shapeSvg; - }; + render.shapes().rect_left_inv_arrow = rect_left_inv_arrow; // Add custom shape for box with inverted arrow on left side - render.shapes().lean_right = function(parent, bbox, node) { - const w = bbox.width; - const h = bbox.height; - const points = [ - { x: (-2 * h) / 6, y: 0 }, - { x: w - h / 6, y: 0 }, - { x: w + (2 * h) / 6, y: -h }, - { x: h / 6, y: -h } - ]; - const shapeSvg = insertPolygonShape(parent, w, h, points); - node.intersect = function(point) { - return dagreD3.intersect.polygon(node, points, point); - }; - return shapeSvg; - }; + render.shapes().lean_right = lean_right; // Add custom shape for box with inverted arrow on left side - render.shapes().lean_left = function(parent, bbox, node) { - const w = bbox.width; - const h = bbox.height; - const points = [ - { x: (2 * h) / 6, y: 0 }, - { x: w + h / 6, y: 0 }, - { x: w - (2 * h) / 6, y: -h }, - { x: -h / 6, y: -h } - ]; - const shapeSvg = insertPolygonShape(parent, w, h, points); - node.intersect = function(point) { - return dagreD3.intersect.polygon(node, points, point); - }; - return shapeSvg; - }; + render.shapes().lean_left = lean_left; // Add custom shape for box with inverted arrow on left side - render.shapes().trapezoid = function(parent, bbox, node) { - const w = bbox.width; - const h = bbox.height; - const points = [ - { x: (-2 * h) / 6, y: 0 }, - { x: w + (2 * h) / 6, y: 0 }, - { x: w - h / 6, y: -h }, - { x: h / 6, y: -h } - ]; - const shapeSvg = insertPolygonShape(parent, w, h, points); - node.intersect = function(point) { - return dagreD3.intersect.polygon(node, points, point); - }; - return shapeSvg; - }; + render.shapes().trapezoid = trapezoid; // Add custom shape for box with inverted arrow on left side - render.shapes().inv_trapezoid = function(parent, bbox, node) { - const w = bbox.width; - const h = bbox.height; - const points = [ - { x: h / 6, y: 0 }, - { x: w - h / 6, y: 0 }, - { x: w + (2 * h) / 6, y: -h }, - { x: (-2 * h) / 6, y: -h } - ]; - const shapeSvg = insertPolygonShape(parent, w, h, points); - node.intersect = function(point) { - return dagreD3.intersect.polygon(node, points, point); - }; - return shapeSvg; - }; + render.shapes().inv_trapezoid = inv_trapezoid; // Add custom shape for box with inverted arrow on right side - render.shapes().rect_right_inv_arrow = function(parent, bbox, node) { - const w = bbox.width; - const h = bbox.height; - const points = [ - { x: 0, y: 0 }, - { x: w + h / 2, y: 0 }, - { x: w, y: -h / 2 }, - { x: w + h / 2, y: -h }, - { x: 0, y: -h } - ]; - const shapeSvg = insertPolygonShape(parent, w, h, points); - node.intersect = function(point) { - return dagreD3.intersect.polygon(node, points, point); - }; - return shapeSvg; - }; + render.shapes().rect_right_inv_arrow = rect_right_inv_arrow; } function insertPolygonShape(parent, w, h, points) { From c9fe948b903fb3e74ef31ff115bb28c73bc311e7 Mon Sep 17 00:00:00 2001 From: Brian Mearns Date: Sat, 5 Oct 2019 13:48:20 -0400 Subject: [PATCH 061/200] #530 Finished basic unit tests for flow shapes --- src/diagrams/flowchart/flowChartShapes.js | 2 +- .../flowchart/flowChartShapes.spec.js | 28 ++++++++++--------- 2 files changed, 16 insertions(+), 14 deletions(-) diff --git a/src/diagrams/flowchart/flowChartShapes.js b/src/diagrams/flowchart/flowChartShapes.js index 4ceecbf29..e9b17ae89 100644 --- a/src/diagrams/flowchart/flowChartShapes.js +++ b/src/diagrams/flowchart/flowChartShapes.js @@ -54,7 +54,7 @@ function rect_left_inv_arrow(parent, bbox, node) { return shapeSvg; } -function lean_right (parent, bbox, node) { +function lean_right(parent, bbox, node) { const w = bbox.width; const h = bbox.height; const points = [ diff --git a/src/diagrams/flowchart/flowChartShapes.spec.js b/src/diagrams/flowchart/flowChartShapes.spec.js index 4d63314ae..de3f05a1d 100644 --- a/src/diagrams/flowchart/flowChartShapes.spec.js +++ b/src/diagrams/flowchart/flowChartShapes.spec.js @@ -18,20 +18,14 @@ describe('flowchart shapes', function() { function(w, h) { return w + h / 2; }, - function(w, h) { - return h; - } + useHeight ], - [ - 'rect_left_inv_arrow', - 5, - function(w) { - return w; - }, - function(w, h) { - return h; - } - ] + ['rect_left_inv_arrow', 5, useWidth, useHeight], + ['rect_right_inv_arrow', 5, useWidth, useHeight], + ['lean_right', 4, useWidth, useHeight], + ['lean_left', 4, useWidth, useHeight], + ['trapezoid', 4, useWidth, useHeight], + ['inv_trapezoid', 4, useWidth, useHeight] ].forEach(function([shapeType, expectedPointCount, getW, getH]) { it(`should add a ${shapeType} shape that renders a properly translated polygon element`, function() { const mockRender = MockRender(); @@ -87,3 +81,11 @@ function MockSvg(tag, ...args) { } }; } + +function useWidth(w, h) { + return w; +} + +function useHeight(w, h) { + return h; +} From d9dda88164a1fade47c38f60d0657e6acfaf7d85 Mon Sep 17 00:00:00 2001 From: Knut Sveidqvist Date: Sun, 6 Oct 2019 09:02:07 +0200 Subject: [PATCH 062/200] Replaced info about linting --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 44a6a2c19..9a7b7d2ee 100644 --- a/README.md +++ b/README.md @@ -187,8 +187,8 @@ Don't hesitate to contact me if you want to get involved. yarn lint -We use [JavaScript Standard Style](https://github.com/feross/standard). -We recommend you installing [editor plugins](https://github.com/feross/standard#are-there-text-editor-plugins) so you can get real time lint result. +We use [eslint](https://eslint.org/). +We recommend you installing [editor plugins](https://eslint.org/docs/user-guide/integrations) so you can get real time lint result. ## Test From c482083d82c4b3a8234f74db1fdcd0946bc00265 Mon Sep 17 00:00:00 2001 From: Knut Sveidqvist Date: Sun, 6 Oct 2019 09:03:56 +0200 Subject: [PATCH 063/200] Update README.md --- docs/README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/README.md b/docs/README.md index 312064f2c..621474feb 100644 --- a/docs/README.md +++ b/docs/README.md @@ -190,8 +190,9 @@ Don't hesitate to contact me if you want to get involved. yarn lint -We use [JavaScript Standard Style](https://github.com/feross/standard). -We recommend you installing [editor plugins](https://github.com/feross/standard#are-there-text-editor-plugins) so you can get real time lint result. +We use [eslint](https://eslint.org/). +We recommend you installing [editor plugins](https://eslint.org/docs/user-guide/integrations) so you can get real time lint result. + ## Test From 1cb52a602ad3c6393db22854a72163a2ccdabcaf Mon Sep 17 00:00:00 2001 From: Knut Sveidqvist Date: Sun, 6 Oct 2019 10:52:37 +0200 Subject: [PATCH 064/200] #945 Support for notes --- .../rendering/stateDiagram.spec.js | 43 +++++++++++ src/diagrams/state/parser/stateDiagram.jison | 6 +- src/diagrams/state/shapes.js | 75 ++++++++++++++++++- src/diagrams/state/stateDb.js | 8 +- src/diagrams/state/stateRenderer.js | 59 ++++++++++++--- 5 files changed, 174 insertions(+), 17 deletions(-) diff --git a/cypress/integration/rendering/stateDiagram.spec.js b/cypress/integration/rendering/stateDiagram.spec.js index f71a725cc..777359bd7 100644 --- a/cypress/integration/rendering/stateDiagram.spec.js +++ b/cypress/integration/rendering/stateDiagram.spec.js @@ -13,6 +13,49 @@ describe('State diagram', () => { ); cy.get('svg'); }); + it('should render a state with a note', () => { + imgSnapshotTest( + ` + stateDiagram + State1: The state with a note + note right of State1 + Important information! You can write + notes. + end note + `, + { logLevel: 0 } + ); + cy.get('svg'); + }); + it('should render a state with on the left side when so specified', () => { + imgSnapshotTest( + ` + stateDiagram + State1: The state with a note + note left of State1 + Important information! You can write + notes. + end note + `, + { logLevel: 0 } + ); + cy.get('svg'); + }); + it('should render a state with a note together with another state', () => { + imgSnapshotTest( + ` + stateDiagram + State1: The state with a note + note right of State1 + Important information! You can write + notes. + end note + State1 --> State2 + `, + { logLevel: 0 } + ); + cy.get('svg'); + }); it('should render a states with descriptions including multi-line descriptions', () => { imgSnapshotTest( ` diff --git a/src/diagrams/state/parser/stateDiagram.jison b/src/diagrams/state/parser/stateDiagram.jison index f1ed4786b..4a5c9c963 100644 --- a/src/diagrams/state/parser/stateDiagram.jison +++ b/src/diagrams/state/parser/stateDiagram.jison @@ -66,7 +66,7 @@ [^\n]* {this.popState();console.log('Floating note ID', yytext);return "ID";} \s*[^:\n\s\-]+ { this.popState();this.pushState('NOTE_TEXT');console.log('Got ID for note', yytext);return 'ID';} \s*":"[^\+\-:\n,;]+ { this.popState();console.log('Got NOTE_TEXT for note',yytext);return 'NOTE_TEXT';} -\s*[^\+\-:,;]+"end note" { this.popState();console.log('Got NOTE_TEXT for note',yytext);return 'NOTE_TEXT';} +\s*[^\+\-:,;]+"end note" { this.popState();console.log('Got NOTE_TEXT for note',yytext);yytext = yytext.slice(0,-8).trim();return 'NOTE_TEXT';} "stateDiagram"\s+ { console.log('Got state diagram', yytext,'#');return 'SD'; } "hide empty description" { console.log('HIDE_EMPTY', yytext,'#');return 'HIDE_EMPTY'; } @@ -138,6 +138,10 @@ statement | JOIN | CONCURRENT | note notePosition ID NOTE_TEXT + { + console.warn('got NOTE, position: ', $2.trim(), 'id = ', $3.trim(), 'note: ', $4); + $$={ stmt: 'state', id: $3.trim(), note:{position: $2.trim(), text: $4.trim()}}; + } | note NOTE_TEXT AS ID ; diff --git a/src/diagrams/state/shapes.js b/src/diagrams/state/shapes.js index 4eb372eed..359404c73 100644 --- a/src/diagrams/state/shapes.js +++ b/src/diagrams/state/shapes.js @@ -9,7 +9,8 @@ console.warn('ID cache', idCache); const conf = { dividerMargin: 10, padding: 5, - textHeight: 10 + textHeight: 10, + noteMargin: 10 }; /** @@ -168,6 +169,77 @@ const drawEndState = g => { .attr('cy', conf.padding + 7); }; +export const drawText = function(elem, textData, width) { + // Remove and ignore br:s + const nText = textData.text.replace(//gi, ' '); + + const textElem = elem.append('text'); + textElem.attr('x', textData.x); + textElem.attr('y', textData.y); + textElem.style('text-anchor', textData.anchor); + textElem.attr('fill', textData.fill); + if (typeof textData.class !== 'undefined') { + textElem.attr('class', textData.class); + } + + const span = textElem.append('tspan'); + span.attr('x', textData.x + textData.textMargin * 2); + span.attr('fill', textData.fill); + span.text(nText); + + return textElem; +}; + +const _drawLongText = (_text, x, y, g) => { + let textHeight = 0; + let textWidth = 0; + const textElem = g.append('text'); + textElem.style('text-anchor', 'start'); + textElem.attr('class', 'noteText'); + + let text = _text.replace(/\r\n/g, '
'); + text = text.replace(/\n/g, '
'); + const lines = text.split(//gi); + for (const line of lines) { + const txt = line.trim(); + + if (txt.length > 0) { + const span = textElem.append('tspan'); + const textBounds = span.node().getBBox(); + textHeight += textBounds.height; + span.attr('x', x + conf.noteMargin); + span.attr('y', y + textHeight + 1.75 * conf.noteMargin); + span.text(txt); + + textWidth = Math.max(textBounds.width, textWidth); + } + } + return { textWidth, textHeight }; +}; + +/** + * Draws an actor in the diagram with the attaced line + * @param center - The center of the the actor + * @param pos The position if the actor in the liost of actors + * @param description The text in the box + */ + +export const drawNote = (text, g) => { + g.attr('class', 'note'); + const note = g + .append('rect') + .attr('x', 0) + .attr('y', conf.padding); + const rectElem = g.append('g'); + + const { textWidth, textHeight } = _drawLongText(text, 0, 0, rectElem); + + note.attr('height', textHeight + 2 * conf.noteMargin); + note.attr('width', textWidth + conf.noteMargin * 2); + + return note; +}; + /** * Starting point for drawing a state. The function finds out the specifics * about the state and renders with approprtiate function. @@ -192,6 +264,7 @@ export const drawState = function(elem, stateDef, graph, doc) { if (stateDef.type === 'start') drawStartState(g); if (stateDef.type === 'end') drawEndState(g); + if (stateDef.type === 'note') drawNote(stateDef.note.text, g); if (stateDef.type === 'default' && stateDef.descriptions.length === 0) drawSimpleState(g, stateDef); if (stateDef.type === 'default' && stateDef.descriptions.length > 0) drawDescrState(g, stateDef); diff --git a/src/diagrams/state/stateDb.js b/src/diagrams/state/stateDb.js index 96c7f5544..9a5ed487b 100644 --- a/src/diagrams/state/stateDb.js +++ b/src/diagrams/state/stateDb.js @@ -14,7 +14,7 @@ const extract = doc => { doc.forEach(item => { if (item.stmt === 'state') { - addState(item.id, item.type, item.doc, item.description); + addState(item.id, item.type, item.doc, item.description, item.note); } if (item.stmt === 'relation') { addRelation(item.state1.id, item.state2.id, item.description); @@ -46,14 +46,15 @@ let endCnt = 0; * @param type * @param style */ -export const addState = function(id, type, doc, descr) { +export const addState = function(id, type, doc, descr, note) { console.warn('Add state', id); if (typeof currentDocument.states[id] === 'undefined') { currentDocument.states[id] = { id: id, descriptions: [], type, - doc + doc, + note }; } else { if (!currentDocument.states[id].doc) { @@ -64,6 +65,7 @@ export const addState = function(id, type, doc, descr) { } } if (descr) addDescription(id, descr.trim()); + if (note) currentDocument.states[id].note = note; }; export const clear = function() { diff --git a/src/diagrams/state/stateRenderer.js b/src/diagrams/state/stateRenderer.js index 0f7ca8d38..8812dee32 100644 --- a/src/diagrams/state/stateRenderer.js +++ b/src/diagrams/state/stateRenderer.js @@ -6,7 +6,7 @@ import stateDb from './stateDb'; import { parser } from './parser/stateDiagram'; import utils from '../../utils'; import idCache from './id-cache'; -import { drawState, addIdAndBox, drawEdge } from './shapes'; +import { drawState, addIdAndBox, drawEdge, drawNote } from './shapes'; parser.yy = stateDb; @@ -70,7 +70,7 @@ export const draw = function(text, id) { // // Layout graph, Create a new directed graph const graph = new graphlib.Graph({ multigraph: false, - // compound: true, + compound: true, // acyclicer: 'greedy', rankdir: 'RL' }); @@ -93,7 +93,7 @@ export const draw = function(text, id) { diagram.attr('height', '100%'); diagram.attr('width', '100%'); - diagram.attr('viewBox', '0 0 ' + bounds.width + ' ' + (bounds.height + 50)); + diagram.attr('viewBox', '0 0 ' + bounds.width * 2 + ' ' + (bounds.height + 50)); }; const getLabelWidth = text => { return text ? text.length * 5.02 : 1; @@ -101,15 +101,17 @@ const getLabelWidth = text => { const renderDoc = (doc, diagram, parentId) => { // // Layout graph, Create a new directed graph - const graph = new graphlib.Graph({}); + const graph = new graphlib.Graph({ + compound: true + }); // Set an object for the graph label if (parentId) graph.setGraph({ rankdir: 'LR', multigraph: false, - compound: false, - // acyclicer: 'greedy', + compound: true, + acyclicer: 'greedy', rankdir: 'LR', ranker: 'tight-tree' // isMultiGraph: false @@ -117,8 +119,12 @@ const renderDoc = (doc, diagram, parentId) => { else { graph.setGraph({ rankdir: 'TB', - // acyclicer: 'greedy' - ranker: 'longest-path' + compound: true, + // isCompound: true, + // acyclicer: 'greedy', + // ranker: 'longest-path' + ranker: 'tight-tree' + // ranker: 'network-simplex' // isMultiGraph: false }); } @@ -139,6 +145,7 @@ const renderDoc = (doc, diagram, parentId) => { for (let i = 0; i < keys.length; i++) { const stateDef = states[keys[i]]; console.warn('keys[i]', keys[i]); + let node; if (stateDef.doc) { let sub = diagram @@ -156,10 +163,34 @@ const renderDoc = (doc, diagram, parentId) => { node = drawState(diagram, stateDef, graph); } - // Add nodes to the graph. The first argument is the node id. The second is - // metadata about the node. In this case we're going to add labels to each of - // our nodes. - graph.setNode(node.id, node); + if (stateDef.note) { + // Draw note note + console.warn('Def=', stateDef); + const noteDef = { + descriptions: [], + id: stateDef.id + '-note', + note: stateDef.note, + type: 'note' + }; + const note = drawState(diagram, noteDef, graph); + + // graph.setNode(node.id, node); + if (stateDef.note.position === 'left of') { + graph.setNode(node.id + '-note', note); + graph.setNode(node.id, node); + } else { + graph.setNode(node.id, node); + graph.setNode(node.id + '-note', note); + } + // graph.setNode(node.id); + graph.setParent(node.id, node.id + '-group'); + graph.setParent(node.id + '-note', node.id + '-group'); + } else { + // Add nodes to the graph. The first argument is the node id. The second is + // metadata about the node. In this case we're going to add labels to each of + // our nodes. + graph.setNode(node.id, node); + } } console.info('Count=', graph.nodeCount()); @@ -178,6 +209,8 @@ const renderDoc = (doc, diagram, parentId) => { dagre.layout(graph); + console.warn('Graph after layout', graph.nodes()); + graph.nodes().forEach(function(v) { if (typeof v !== 'undefined' && typeof graph.node(v) !== 'undefined') { console.warn('Node ' + v + ': ' + JSON.stringify(graph.node(v))); @@ -191,6 +224,8 @@ const renderDoc = (doc, diagram, parentId) => { graph.node(v).height / 2) + ' )' ); + } else { + console.warn('No Node ' + v + ': ' + JSON.stringify(graph.node(v))); } }); let stateBox = diagram.node().getBBox(); From 4f1186a610d94e4be816cfc8fe9e3a067e6c98b3 Mon Sep 17 00:00:00 2001 From: Knut Sveidqvist Date: Sun, 6 Oct 2019 11:35:46 +0200 Subject: [PATCH 065/200] #945 Support for notes, better width and handling of +/- --- .../integration/rendering/stateDiagram.spec.js | 11 ++++++----- src/diagrams/state/parser/stateDiagram.jison | 7 ++++--- src/diagrams/state/shapes.js | 12 ++++++------ src/diagrams/state/stateDiagram.spec.js | 15 ++++++++++++--- 4 files changed, 28 insertions(+), 17 deletions(-) diff --git a/cypress/integration/rendering/stateDiagram.spec.js b/cypress/integration/rendering/stateDiagram.spec.js index 777359bd7..55c131da2 100644 --- a/cypress/integration/rendering/stateDiagram.spec.js +++ b/cypress/integration/rendering/stateDiagram.spec.js @@ -31,10 +31,10 @@ describe('State diagram', () => { imgSnapshotTest( ` stateDiagram - State1: The state with a note + State1: The state with a note with minus - and plus + in it note left of State1 Important information! You can write - notes. + notes with . and in them. end note `, { logLevel: 0 } @@ -45,12 +45,13 @@ describe('State diagram', () => { imgSnapshotTest( ` stateDiagram - State1: The state with a note + State1: The state with a note +,- note right of State1 - Important information! You can write + Important information! You can write +,- notes. end note - State1 --> State2 + State1 --> State2 : With +,- + note left of State2 : This is the note +,-
`, { logLevel: 0 } ); diff --git a/src/diagrams/state/parser/stateDiagram.jison b/src/diagrams/state/parser/stateDiagram.jison index 4a5c9c963..b05eb8c9c 100644 --- a/src/diagrams/state/parser/stateDiagram.jison +++ b/src/diagrams/state/parser/stateDiagram.jison @@ -65,14 +65,15 @@ [^"]* { console.log('Floating note text: ', yytext);return "NOTE_TEXT";} [^\n]* {this.popState();console.log('Floating note ID', yytext);return "ID";} \s*[^:\n\s\-]+ { this.popState();this.pushState('NOTE_TEXT');console.log('Got ID for note', yytext);return 'ID';} -\s*":"[^\+\-:\n,;]+ { this.popState();console.log('Got NOTE_TEXT for note',yytext);return 'NOTE_TEXT';} -\s*[^\+\-:,;]+"end note" { this.popState();console.log('Got NOTE_TEXT for note',yytext);yytext = yytext.slice(0,-8).trim();return 'NOTE_TEXT';} +\s*":"[^:\n;]+ { this.popState();console.log('Got NOTE_TEXT for note',yytext);yytext = yytext.substr(2).trim();return 'NOTE_TEXT';} +\s*[^:;]+"end note" { this.popState();console.log('Got NOTE_TEXT for note',yytext);yytext = yytext.slice(0,-8).trim();return 'NOTE_TEXT';} "stateDiagram"\s+ { console.log('Got state diagram', yytext,'#');return 'SD'; } "hide empty description" { console.log('HIDE_EMPTY', yytext,'#');return 'HIDE_EMPTY'; } "[*]" { console.log('EDGE_STATE=',yytext); return 'EDGE_STATE';} [^:\n\s\-\{]+ { console.log('=>ID=',yytext); return 'ID';} -\s*":"[^\+\->:\n,;]+ { yytext = yytext.trim(); console.log('Descr = ', yytext); return 'DESCR'; } +// \s*":"[^\+\->:\n;]+ { yytext = yytext.trim(); console.log('Descr = ', yytext); return 'DESCR'; } +\s*":"[^:\n;]+ { yytext = yytext.trim(); console.log('Descr = ', yytext); return 'DESCR'; } "-->" return '-->'; "--" return 'CONCURRENT'; <> return 'NL'; diff --git a/src/diagrams/state/shapes.js b/src/diagrams/state/shapes.js index 359404c73..8da33e594 100644 --- a/src/diagrams/state/shapes.js +++ b/src/diagrams/state/shapes.js @@ -205,16 +205,15 @@ const _drawLongText = (_text, x, y, g) => { if (txt.length > 0) { const span = textElem.append('tspan'); + span.text(txt); const textBounds = span.node().getBBox(); textHeight += textBounds.height; span.attr('x', x + conf.noteMargin); - span.attr('y', y + textHeight + 1.75 * conf.noteMargin); - span.text(txt); - - textWidth = Math.max(textBounds.width, textWidth); + span.attr('y', y + textHeight + 1.25* conf.noteMargin); + // textWidth = Math.max(textBounds.width, textWidth); } } - return { textWidth, textHeight }; + return { textWidth: textElem.node().getBBox().width, textHeight }; }; /** @@ -226,6 +225,7 @@ const _drawLongText = (_text, x, y, g) => { export const drawNote = (text, g) => { g.attr('class', 'note'); + console.warn('Text of note', text); const note = g .append('rect') .attr('x', 0) @@ -233,7 +233,7 @@ export const drawNote = (text, g) => { const rectElem = g.append('g'); const { textWidth, textHeight } = _drawLongText(text, 0, 0, rectElem); - + console.warn('Text of note', text, textWidth); note.attr('height', textHeight + 2 * conf.noteMargin); note.attr('width', textWidth + conf.noteMargin * 2); diff --git a/src/diagrams/state/stateDiagram.spec.js b/src/diagrams/state/stateDiagram.spec.js index d3e1bf93c..ee3152682 100644 --- a/src/diagrams/state/stateDiagram.spec.js +++ b/src/diagrams/state/stateDiagram.spec.js @@ -8,7 +8,7 @@ describe('state diagram, ', function() { parser.yy = stateDb; }); - fit('super simple', function() { + it('super simple', function() { const str = ` stateDiagram [*] --> State1 @@ -58,7 +58,7 @@ describe('state diagram, ', function() { scale 350 width [*] --> State1 State1 --> [*] - State1 : this is a string + State1 : this is a string with - in it State1 : this is another string State1 --> State2 @@ -71,7 +71,16 @@ describe('state diagram, ', function() { it('description after second state', function() { const str = `stateDiagram\n scale 350 width - [*] --> State1 : This is the description + [*] --> State1 : This is the description with - in it + State1 --> [*] + `; + + parser.parse(str); + }); + it('shall handle descriptions inkluding minus signs', function() { + const str = `stateDiagram\n + scale 350 width + [*] --> State1 : This is the description +-! State1 --> [*] `; From dce09586cd61547b7c30887e24531fe468aed0c6 Mon Sep 17 00:00:00 2001 From: Knut Sveidqvist Date: Sun, 6 Oct 2019 14:11:17 +0200 Subject: [PATCH 066/200] #945 Support for forks and joins --- .../integration/rendering/stateDiagram.spec.js | 18 ++++++++++++++++++ src/diagrams/state/parser/stateDiagram.jison | 14 ++++++++++---- src/diagrams/state/shapes.js | 13 ++++++++++++- src/diagrams/state/stateRenderer.js | 2 +- 4 files changed, 41 insertions(+), 6 deletions(-) diff --git a/cypress/integration/rendering/stateDiagram.spec.js b/cypress/integration/rendering/stateDiagram.spec.js index 55c131da2..c7f214be3 100644 --- a/cypress/integration/rendering/stateDiagram.spec.js +++ b/cypress/integration/rendering/stateDiagram.spec.js @@ -161,6 +161,24 @@ describe('State diagram', () => { `, { logLevel: 0 } ); + }); + it('should render forks and joins', () => { + imgSnapshotTest( + ` + stateDiagram + state fork_state <<fork>> + [*] --> fork_state + fork_state --> State2 + fork_state --> State3 + + state join_state <<join>> + State2 --> join_state + State3 --> join_state + join_state --> State4 + State4 --> [*] + `, + { logLevel: 0 } + ); cy.get('svg'); }); }); diff --git a/src/diagrams/state/parser/stateDiagram.jison b/src/diagrams/state/parser/stateDiagram.jison index b05eb8c9c..e79c8c4f1 100644 --- a/src/diagrams/state/parser/stateDiagram.jison +++ b/src/diagrams/state/parser/stateDiagram.jison @@ -43,8 +43,10 @@ \s+"width" {this.popState();} "state"\s+ { this.pushState('STATE'); } -.*"<>" {this.popState();console.log('Fork: ',yytext);return 'FORK';} -.*"<>" {this.popState();console.log('Join: ',yytext);return 'JOIN';} +.*"<>" {this.popState();yytext=yytext.slice(0,-8).trim(); console.warn('Fork Fork: ',yytext);return 'FORK';} +.*"<>" {this.popState();yytext=yytext.slice(0,-8).trim();console.warn('Fork Join: ',yytext);return 'JOIN';} +.*"[[fork]]" {this.popState();yytext=yytext.slice(0,-8).trim();console.warn('Fork Fork: ',yytext);return 'FORK';} +.*"[[join]]" {this.popState();yytext=yytext.slice(0,-8).trim();console.warn('Fork Join: ',yytext);return 'JOIN';} ["] this.begin("STATE_STRING"); "as"\s* {this.popState();this.pushState('STATE_ID');return "AS";} [^\n\{]* {this.popState();console.log('STATE_ID', yytext);return "ID";} @@ -135,8 +137,12 @@ statement //console.warn('Adding document for state with id ', $3, $4); yy.addDocument($3); $$={ stmt: 'state', id: $3, type: 'default', description: $1, doc: $5 } } - | FORK - | JOIN + | FORK { + $$={ stmt: 'state', id: $1, type: 'fork' } + } + | JOIN { + $$={ stmt: 'state', id: $1, type: 'join' } + } | CONCURRENT | note notePosition ID NOTE_TEXT { diff --git a/src/diagrams/state/shapes.js b/src/diagrams/state/shapes.js index 8da33e594..f1d19ac18 100644 --- a/src/diagrams/state/shapes.js +++ b/src/diagrams/state/shapes.js @@ -168,6 +168,16 @@ const drawEndState = g => { .attr('cx', conf.padding + 7) .attr('cy', conf.padding + 7); }; +const drawForkJoinState = g => { + return g + .append('rect') + .style('stroke', 'black') + .style('fill', 'black') + .attr('width', 70) + .attr('height', 7) + .attr('x', conf.padding) + .attr('y', conf.padding); +}; export const drawText = function(elem, textData, width) { // Remove and ignore br:s @@ -209,7 +219,7 @@ const _drawLongText = (_text, x, y, g) => { const textBounds = span.node().getBBox(); textHeight += textBounds.height; span.attr('x', x + conf.noteMargin); - span.attr('y', y + textHeight + 1.25* conf.noteMargin); + span.attr('y', y + textHeight + 1.25 * conf.noteMargin); // textWidth = Math.max(textBounds.width, textWidth); } } @@ -264,6 +274,7 @@ export const drawState = function(elem, stateDef, graph, doc) { if (stateDef.type === 'start') drawStartState(g); if (stateDef.type === 'end') drawEndState(g); + if (stateDef.type === 'fork' || stateDef.type === 'join') drawForkJoinState(g); if (stateDef.type === 'note') drawNote(stateDef.note.text, g); if (stateDef.type === 'default' && stateDef.descriptions.length === 0) drawSimpleState(g, stateDef); diff --git a/src/diagrams/state/stateRenderer.js b/src/diagrams/state/stateRenderer.js index 8812dee32..34a28cf4b 100644 --- a/src/diagrams/state/stateRenderer.js +++ b/src/diagrams/state/stateRenderer.js @@ -61,7 +61,7 @@ const insertMarkers = function(elem) { export const draw = function(text, id) { parser.yy.clear(); parser.parse(text); - logger.info('Rendering diagram ' + text); + logger.warn('Rendering diagram ' + text); // /// / Fetch the default direction, use TD if none was found const diagram = d3.select(`[id='${id}']`); From ce0b0fa0c8e654ce833df52676f1fe157b9d2de4 Mon Sep 17 00:00:00 2001 From: Knut Sveidqvist Date: Sun, 6 Oct 2019 15:44:31 +0200 Subject: [PATCH 067/200] #945 Divider lines for concurrency --- .../rendering/stateDiagram.spec.js | 24 +++++++++++++++++++ src/diagrams/state/parser/stateDiagram.jison | 4 +++- src/diagrams/state/shapes.js | 15 ++++++++++++ src/diagrams/state/stateDb.js | 7 ++++++ src/diagrams/state/stateRenderer.js | 18 ++++++++++++++ 5 files changed, 67 insertions(+), 1 deletion(-) diff --git a/cypress/integration/rendering/stateDiagram.spec.js b/cypress/integration/rendering/stateDiagram.spec.js index c7f214be3..bf2055008 100644 --- a/cypress/integration/rendering/stateDiagram.spec.js +++ b/cypress/integration/rendering/stateDiagram.spec.js @@ -181,4 +181,28 @@ describe('State diagram', () => { ); cy.get('svg'); }); + it('should render conurrency states', () => { + imgSnapshotTest( + ` + stateDiagram + [*] --> Active + + state Active { + [*] --> NumLockOff + NumLockOff --> NumLockOn : EvNumLockPressed + NumLockOn --> NumLockOff : EvNumLockPressed + -- + [*] --> CapsLockOff + CapsLockOff --> CapsLockOn : EvCapsLockPressed + CapsLockOn --> CapsLockOff : EvCapsLockPressed + -- + [*] --> ScrollLockOff + ScrollLockOff --> ScrollLockOn : EvCapsLockPressed + ScrollLockOn --> ScrollLockOff : EvCapsLockPressed + } + `, + { logLevel: 0 } + ); + cy.get('svg'); + }); }); diff --git a/src/diagrams/state/parser/stateDiagram.jison b/src/diagrams/state/parser/stateDiagram.jison index e79c8c4f1..000f26b4b 100644 --- a/src/diagrams/state/parser/stateDiagram.jison +++ b/src/diagrams/state/parser/stateDiagram.jison @@ -143,7 +143,9 @@ statement | JOIN { $$={ stmt: 'state', id: $1, type: 'join' } } - | CONCURRENT + | CONCURRENT { + $$={ stmt: 'state', id: yy.getDividerId(), type: 'divider' } + } | note notePosition ID NOTE_TEXT { console.warn('got NOTE, position: ', $2.trim(), 'id = ', $3.trim(), 'note: ', $4); diff --git a/src/diagrams/state/shapes.js b/src/diagrams/state/shapes.js index f1d19ac18..dc3754de8 100644 --- a/src/diagrams/state/shapes.js +++ b/src/diagrams/state/shapes.js @@ -25,6 +25,20 @@ export const drawStartState = g => .attr('cx', conf.padding + 5) .attr('cy', conf.padding + 5); +/** + * Draws a start state as a black circle + */ +export const drawDivider = g => + g + .append('line') + .style('stroke', 'grey') + .style('stroke-dasharray', '3') + .attr('x1', 10) + .attr('class', 'divider') + .attr('x2', 20) + .attr('y1', 20) + .attr('y2', 20); + /** * Draws a an end state as a black circle */ @@ -276,6 +290,7 @@ export const drawState = function(elem, stateDef, graph, doc) { if (stateDef.type === 'end') drawEndState(g); if (stateDef.type === 'fork' || stateDef.type === 'join') drawForkJoinState(g); if (stateDef.type === 'note') drawNote(stateDef.note.text, g); + if (stateDef.type === 'divider') drawDivider(g); if (stateDef.type === 'default' && stateDef.descriptions.length === 0) drawSimpleState(g, stateDef); if (stateDef.type === 'default' && stateDef.descriptions.length > 0) drawDescrState(g, stateDef); diff --git a/src/diagrams/state/stateDb.js b/src/diagrams/state/stateDb.js index 9a5ed487b..c2749087a 100644 --- a/src/diagrams/state/stateDb.js +++ b/src/diagrams/state/stateDb.js @@ -133,6 +133,12 @@ export const lineType = { DOTTED_LINE: 1 }; +let dividerCnt = 0; +const getDividerId = () => { + dividerCnt++; + return 'divider-id-' + dividerCnt; +}; + export const relationType = { AGGREGATION: 0, EXTENSION: 1, @@ -147,6 +153,7 @@ export default { getStates, getRelations, addRelation, + getDividerId, // addDescription, cleanupLabel, lineType, diff --git a/src/diagrams/state/stateRenderer.js b/src/diagrams/state/stateRenderer.js index 34a28cf4b..23fa0c778 100644 --- a/src/diagrams/state/stateRenderer.js +++ b/src/diagrams/state/stateRenderer.js @@ -224,10 +224,28 @@ const renderDoc = (doc, diagram, parentId) => { graph.node(v).height / 2) + ' )' ); + d3.select('#' + v).attr('data-x-shift', graph.node(v).x - graph.node(v).width / 2); + const dividers = document.querySelectorAll('#' + v + ' .divider'); + dividers.forEach(divider => { + const parent = divider.parentElement; + let pWidth = 0; + let pShift = 0; + if (parent) { + if (parent.parentElement) pWidth = parent.parentElement.getBBox().width; + + pShift = parseInt(parent.getAttribute('data-x-shift'), 10); + if (Number.isNaN(pShift)) { + pShift = 0; + } + } + divider.setAttribute('x1', 0 - pShift); + divider.setAttribute('x2', pWidth - pShift); + }); } else { console.warn('No Node ' + v + ': ' + JSON.stringify(graph.node(v))); } }); + let stateBox = diagram.node().getBBox(); console.warn('Node before labels ', stateBox.width); From b12791d3e0c65aa0a1faecce39ebcd8262fd551a Mon Sep 17 00:00:00 2001 From: Knut Sveidqvist Date: Sun, 6 Oct 2019 15:53:34 +0200 Subject: [PATCH 068/200] #945 Divider lines for concurrency, full width when in a composit state --- src/diagrams/state/shapes.js | 4 ++-- src/diagrams/state/stateRenderer.js | 26 +++++++++++++++++++------- 2 files changed, 21 insertions(+), 9 deletions(-) diff --git a/src/diagrams/state/shapes.js b/src/diagrams/state/shapes.js index dc3754de8..718deb2fa 100644 --- a/src/diagrams/state/shapes.js +++ b/src/diagrams/state/shapes.js @@ -36,8 +36,8 @@ export const drawDivider = g => .attr('x1', 10) .attr('class', 'divider') .attr('x2', 20) - .attr('y1', 20) - .attr('y2', 20); + .attr('y1', 0) + .attr('y2', 0); /** * Draws a an end state as a black circle diff --git a/src/diagrams/state/stateRenderer.js b/src/diagrams/state/stateRenderer.js index 23fa0c778..8276c36ca 100644 --- a/src/diagrams/state/stateRenderer.js +++ b/src/diagrams/state/stateRenderer.js @@ -109,9 +109,9 @@ const renderDoc = (doc, diagram, parentId) => { if (parentId) graph.setGraph({ rankdir: 'LR', - multigraph: false, + // multigraph: false, compound: true, - acyclicer: 'greedy', + // acyclicer: 'greedy', rankdir: 'LR', ranker: 'tight-tree' // isMultiGraph: false @@ -142,6 +142,7 @@ const renderDoc = (doc, diagram, parentId) => { console.warn('rendering doc 2', states, relations); total = keys.length; + let first = true; for (let i = 0; i < keys.length; i++) { const stateDef = states[keys[i]]; console.warn('keys[i]', keys[i]); @@ -154,11 +155,22 @@ const renderDoc = (doc, diagram, parentId) => { .attr('class', 'classGroup'); node = renderDoc(stateDef.doc, sub, stateDef.id); - sub = addIdAndBox(sub, stateDef); - let boxBounds = sub.node().getBBox(); - node.width = boxBounds.width; - node.height = boxBounds.height + 10; - transformationLog[stateDef.id] = { y: 35 }; + if (first) { + first = false; + sub = addIdAndBox(sub, stateDef); + let boxBounds = sub.node().getBBox(); + node.width = boxBounds.width; + node.height = boxBounds.height + 10; + transformationLog[stateDef.id] = { y: 35 }; + console.warn('Here2'); + } else { + console.warn('Here'); + // sub = addIdAndBox(sub, stateDef); + let boxBounds = sub.node().getBBox(); + node.width = boxBounds.width; + node.height = boxBounds.height; + // transformationLog[stateDef.id] = { y: 35 }; + } } else { node = drawState(diagram, stateDef, graph); } From ebede9b9107ab4bc5457df21614a995e744f080e Mon Sep 17 00:00:00 2001 From: Knut Sveidqvist Date: Sun, 6 Oct 2019 16:06:15 +0200 Subject: [PATCH 069/200] #945 Log removal --- src/diagrams/state/parser/stateDiagram.jison | 44 ++++++++++---------- src/diagrams/state/shapes.js | 6 --- src/diagrams/state/stateDb.js | 6 +-- src/diagrams/state/stateRenderer.js | 24 ++++------- 4 files changed, 31 insertions(+), 49 deletions(-) diff --git a/src/diagrams/state/parser/stateDiagram.jison b/src/diagrams/state/parser/stateDiagram.jison index 000f26b4b..cbb2aea91 100644 --- a/src/diagrams/state/parser/stateDiagram.jison +++ b/src/diagrams/state/parser/stateDiagram.jison @@ -38,7 +38,7 @@ \#[^\n]* /* skip comments */ \%%[^\n]* /* skip comments */ -"scale"\s+ { this.pushState('SCALE'); console.log('Got scale', yytext);return 'scale'; } +"scale"\s+ { this.pushState('SCALE'); /* console.log('Got scale', yytext);*/ return 'scale'; } \d+ return 'WIDTH'; \s+"width" {this.popState();} @@ -49,33 +49,33 @@ .*"[[join]]" {this.popState();yytext=yytext.slice(0,-8).trim();console.warn('Fork Join: ',yytext);return 'JOIN';} ["] this.begin("STATE_STRING"); "as"\s* {this.popState();this.pushState('STATE_ID');return "AS";} -[^\n\{]* {this.popState();console.log('STATE_ID', yytext);return "ID";} +[^\n\{]* {this.popState();/* console.log('STATE_ID', yytext);*/return "ID";} ["] this.popState(); -[^"]* { console.log('Long description:', yytext);return "STATE_DESCR";} -[^\n\s\{]+ {console.log('COMPOSIT_STATE', yytext);return 'COMPOSIT_STATE';} +[^"]* { /*console.log('Long description:', yytext);*/return "STATE_DESCR";} +[^\n\s\{]+ {/*console.log('COMPOSIT_STATE', yytext);*/return 'COMPOSIT_STATE';} \n {this.popState();} -\{ {this.popState();this.pushState('struct'); console.log('begin struct', yytext);return 'STRUCT_START';} -\} { console.log('Ending struct'); this.popState(); return 'STRUCT_STOP';}} +\{ {this.popState();this.pushState('struct'); /*console.log('begin struct', yytext);*/return 'STRUCT_START';} +\} { /*console.log('Ending struct');*/ this.popState(); return 'STRUCT_STOP';}} [\n] /* nothing */ "note"\s+ { this.begin('NOTE'); return 'note'; } -"left of" { this.popState();this.pushState('NOTE_ID');console.log('Got dir');return 'left_of';} +"left of" { this.popState();this.pushState('NOTE_ID');return 'left_of';} "right of" { this.popState();this.pushState('NOTE_ID');return 'right_of';} \" { this.popState();this.pushState('FLOATING_NOTE');} \s*"as"\s* {this.popState();this.pushState('FLOATING_NOTE_ID');return "AS";} ["] /**/ -[^"]* { console.log('Floating note text: ', yytext);return "NOTE_TEXT";} -[^\n]* {this.popState();console.log('Floating note ID', yytext);return "ID";} -\s*[^:\n\s\-]+ { this.popState();this.pushState('NOTE_TEXT');console.log('Got ID for note', yytext);return 'ID';} -\s*":"[^:\n;]+ { this.popState();console.log('Got NOTE_TEXT for note',yytext);yytext = yytext.substr(2).trim();return 'NOTE_TEXT';} -\s*[^:;]+"end note" { this.popState();console.log('Got NOTE_TEXT for note',yytext);yytext = yytext.slice(0,-8).trim();return 'NOTE_TEXT';} +[^"]* { /*console.log('Floating note text: ', yytext);*/return "NOTE_TEXT";} +[^\n]* {this.popState();/*console.log('Floating note ID', yytext);*/return "ID";} +\s*[^:\n\s\-]+ { this.popState();this.pushState('NOTE_TEXT');/*console.log('Got ID for note', yytext);*/return 'ID';} +\s*":"[^:\n;]+ { this.popState();/*console.log('Got NOTE_TEXT for note',yytext);*/yytext = yytext.substr(2).trim();return 'NOTE_TEXT';} +\s*[^:;]+"end note" { this.popState();/*console.log('Got NOTE_TEXT for note',yytext);*/yytext = yytext.slice(0,-8).trim();return 'NOTE_TEXT';} -"stateDiagram"\s+ { console.log('Got state diagram', yytext,'#');return 'SD'; } -"hide empty description" { console.log('HIDE_EMPTY', yytext,'#');return 'HIDE_EMPTY'; } -"[*]" { console.log('EDGE_STATE=',yytext); return 'EDGE_STATE';} -[^:\n\s\-\{]+ { console.log('=>ID=',yytext); return 'ID';} -// \s*":"[^\+\->:\n;]+ { yytext = yytext.trim(); console.log('Descr = ', yytext); return 'DESCR'; } -\s*":"[^:\n;]+ { yytext = yytext.trim(); console.log('Descr = ', yytext); return 'DESCR'; } +"stateDiagram"\s+ { /*console.log('Got state diagram', yytext,'#');*/return 'SD'; } +"hide empty description" { /*console.log('HIDE_EMPTY', yytext,'#');*/return 'HIDE_EMPTY'; } +"[*]" { /*console.log('EDGE_STATE=',yytext);*/ return 'EDGE_STATE';} +[^:\n\s\-\{]+ { /*console.log('=>ID=',yytext);*/ return 'ID';} +// \s*":"[^\+\->:\n;]+ { yytext = yytext.trim(); /*console.log('Descr = ', yytext);*/ return 'DESCR'; } +\s*":"[^:\n;]+ { yytext = yytext.trim(); /*console.log('Descr = ', yytext);*/ return 'DESCR'; } "-->" return '-->'; "--" return 'CONCURRENT'; <> return 'NL'; @@ -92,7 +92,7 @@ start : SPACE start | NL start - | SD document { console.warn('Root document', $2); yy.setRootDoc($2);return $2; } + | SD document { /*console.warn('Root document', $2);*/ yy.setRootDoc($2);return $2; } ; document @@ -112,7 +112,7 @@ line ; statement - : idStatement DESCR { console.warn('got id and descr', $1, $2.trim());$$={ stmt: 'state', id: $1, type: 'default', description: $2.trim()};} + : idStatement DESCR { /*console.warn('got id and descr', $1, $2.trim());*/$$={ stmt: 'state', id: $1, type: 'default', description: $2.trim()};} | idStatement '-->' idStatement { /*console.warn('got id', $1);yy.addRelation($1, $3);*/ @@ -128,7 +128,7 @@ statement | COMPOSIT_STATE | COMPOSIT_STATE STRUCT_START document STRUCT_STOP { - console.warn('Adding document for state without id ', $1); + /* console.warn('Adding document for state without id ', $1);*/ $$={ stmt: 'state', id: $1, type: 'default', description: '', doc: $3 } } | STATE_DESCR AS ID { $$={id: $3, type: 'default', description: $1.trim()};} @@ -148,7 +148,7 @@ statement } | note notePosition ID NOTE_TEXT { - console.warn('got NOTE, position: ', $2.trim(), 'id = ', $3.trim(), 'note: ', $4); + /*console.warn('got NOTE, position: ', $2.trim(), 'id = ', $3.trim(), 'note: ', $4);*/ $$={ stmt: 'state', id: $3.trim(), note:{position: $2.trim(), text: $4.trim()}}; } | note NOTE_TEXT AS ID diff --git a/src/diagrams/state/shapes.js b/src/diagrams/state/shapes.js index 718deb2fa..92ffc6c11 100644 --- a/src/diagrams/state/shapes.js +++ b/src/diagrams/state/shapes.js @@ -3,8 +3,6 @@ import idCache from './id-cache.js'; import stateDb from './stateDb'; import utils from '../../utils'; -console.warn('ID cache', idCache); - // TODO Move conf object to main conf in mermaidAPI const conf = { dividerMargin: 10, @@ -249,7 +247,6 @@ const _drawLongText = (_text, x, y, g) => { export const drawNote = (text, g) => { g.attr('class', 'note'); - console.warn('Text of note', text); const note = g .append('rect') .attr('x', 0) @@ -257,7 +254,6 @@ export const drawNote = (text, g) => { const rectElem = g.append('g'); const { textWidth, textHeight } = _drawLongText(text, 0, 0, rectElem); - console.warn('Text of note', text, textWidth); note.attr('height', textHeight + 2 * conf.noteMargin); note.attr('width', textWidth + conf.noteMargin * 2); @@ -271,8 +267,6 @@ export const drawNote = (text, g) => { * @param {*} stateDef */ export const drawState = function(elem, stateDef, graph, doc) { - console.warn('Rendering class ', stateDef); - const id = stateDef.id; const stateInfo = { id: id, diff --git a/src/diagrams/state/stateDb.js b/src/diagrams/state/stateDb.js index c2749087a..b84d66fad 100644 --- a/src/diagrams/state/stateDb.js +++ b/src/diagrams/state/stateDb.js @@ -2,7 +2,7 @@ import { logger } from '../../logger'; let rootDoc = []; const setRootDoc = o => { - console.warn('Setting root doc', o); + logger.info('Setting root doc', o); rootDoc = o; }; @@ -47,7 +47,6 @@ let endCnt = 0; * @param style */ export const addState = function(id, type, doc, descr, note) { - console.warn('Add state', id); if (typeof currentDocument.states[id] === 'undefined') { currentDocument.states[id] = { id: id, @@ -83,7 +82,7 @@ export const getStates = function() { return currentDocument.states; }; export const logDocuments = function() { - console.warn('Documents = ', documents); + logger.info('Documents = ', documents); }; export const getRelations = function() { return currentDocument.relations; @@ -104,7 +103,6 @@ export const addRelation = function(_id1, _id2, title) { id2 = 'end' + startCnt; type2 = 'end'; } - console.log(id1, id2, title); addState(id1, type1); addState(id2, type2); currentDocument.relations.push({ id1, id2, title }); diff --git a/src/diagrams/state/stateRenderer.js b/src/diagrams/state/stateRenderer.js index 8276c36ca..467393224 100644 --- a/src/diagrams/state/stateRenderer.js +++ b/src/diagrams/state/stateRenderer.js @@ -113,7 +113,8 @@ const renderDoc = (doc, diagram, parentId) => { compound: true, // acyclicer: 'greedy', rankdir: 'LR', - ranker: 'tight-tree' + ranker: 'tight-tree', + ranksep: '20' // isMultiGraph: false }); else { @@ -139,13 +140,11 @@ const renderDoc = (doc, diagram, parentId) => { const relations = stateDb.getRelations(); const keys = Object.keys(states); - console.warn('rendering doc 2', states, relations); total = keys.length; let first = true; for (let i = 0; i < keys.length; i++) { const stateDef = states[keys[i]]; - console.warn('keys[i]', keys[i]); let node; if (stateDef.doc) { @@ -162,9 +161,7 @@ const renderDoc = (doc, diagram, parentId) => { node.width = boxBounds.width; node.height = boxBounds.height + 10; transformationLog[stateDef.id] = { y: 35 }; - console.warn('Here2'); } else { - console.warn('Here'); // sub = addIdAndBox(sub, stateDef); let boxBounds = sub.node().getBBox(); node.width = boxBounds.width; @@ -177,7 +174,6 @@ const renderDoc = (doc, diagram, parentId) => { if (stateDef.note) { // Draw note note - console.warn('Def=', stateDef); const noteDef = { descriptions: [], id: stateDef.id + '-note', @@ -205,27 +201,23 @@ const renderDoc = (doc, diagram, parentId) => { } } - console.info('Count=', graph.nodeCount()); + logger.info('Count=', graph.nodeCount()); relations.forEach(function(relation) { - console.warn('Rendering edge', relation); graph.setEdge(relation.id1, relation.id2, { relation: relation, width: getLabelWidth(relation.title), height: 16, labelpos: 'c' }); - console.warn(getGraphId(relation.id1), relation.id2, { - relation: relation - }); }); dagre.layout(graph); - console.warn('Graph after layout', graph.nodes()); + logger.debug('Graph after layout', graph.nodes()); graph.nodes().forEach(function(v) { if (typeof v !== 'undefined' && typeof graph.node(v) !== 'undefined') { - console.warn('Node ' + v + ': ' + JSON.stringify(graph.node(v))); + logger.debug('Node ' + v + ': ' + JSON.stringify(graph.node(v))); d3.select('#' + v).attr( 'transform', 'translate(' + @@ -254,12 +246,11 @@ const renderDoc = (doc, diagram, parentId) => { divider.setAttribute('x2', pWidth - pShift); }); } else { - console.warn('No Node ' + v + ': ' + JSON.stringify(graph.node(v))); + logger.debug('No Node ' + v + ': ' + JSON.stringify(graph.node(v))); } }); let stateBox = diagram.node().getBBox(); - console.warn('Node before labels ', stateBox.width); graph.edges().forEach(function(e) { if (typeof e !== 'undefined' && typeof graph.edge(e) !== 'undefined') { @@ -269,7 +260,6 @@ const renderDoc = (doc, diagram, parentId) => { }); stateBox = diagram.node().getBBox(); - console.warn('Node after labels ', stateBox.width); const stateInfo = { id: parentId ? parentId : 'root', label: parentId ? parentId : 'root', @@ -280,7 +270,7 @@ const renderDoc = (doc, diagram, parentId) => { stateInfo.width = stateBox.width + 2 * conf.padding; stateInfo.height = stateBox.height + 2 * conf.padding; - console.warn('Doc rendered', stateInfo, graph); + logger.info('Doc rendered', stateInfo, graph); return stateInfo; }; From 0678f61ce99a0ba898ba33e7ca286160aa4f4e0f Mon Sep 17 00:00:00 2001 From: Alejandro Di Leo Date: Sun, 6 Oct 2019 13:15:36 -0300 Subject: [PATCH 070/200] Updates node-sass to 4.12 and regenerates lockfiles --- package-lock.json | 272 ++- package.json | 2 +- yarn.lock | 5263 +++++++++++++++++++++++++++------------------ 3 files changed, 3246 insertions(+), 2291 deletions(-) diff --git a/package-lock.json b/package-lock.json index 89e138064..4fc945363 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1271,9 +1271,9 @@ "dev": true }, "@hapi/hoek": { - "version": "8.2.5", - "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-8.2.5.tgz", - "integrity": "sha512-rmGFzok1zR3xZKd5m3ihWdqafXFxvPHoQ/78+AG5URKbEbJiwBBfRgzbu+07W5f3+07JRshw6QqGbVmCp8ntig==", + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-8.3.0.tgz", + "integrity": "sha512-C0QL9bmgUXTSuf8nDeGrpMjtJG7tPUr8wG6/wxPbP62tGwCwQtdMSJYfESowmY4P3Hn593f+8OzNY5bckcu/LQ==", "dev": true }, "@hapi/joi": { @@ -1289,37 +1289,37 @@ } }, "@hapi/topo": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-3.1.4.tgz", - "integrity": "sha512-aVWQTOI9wBD6zawmOr6f+tdEIxQC8JXfQVLTjgGe8YEStAWGn/GNNVTobKJhbWKveQj2RyYF3oYbO9SC8/eOCA==", + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-3.1.5.tgz", + "integrity": "sha512-bi9m1jrui9LlvtVdLaHv0DqeOoe+I8dep+nEcTgW6XxJHL3xArQcilYz3tIp0cRC4gWlsVtABK7vNKg4jzEmAA==", "dev": true, "requires": { "@hapi/hoek": "8.x.x" } }, "@nodelib/fs.scandir": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.2.tgz", - "integrity": "sha512-wrIBsjA5pl13f0RN4Zx4FNWmU71lv03meGKnqRUoCyan17s4V3WL92f3w3AIuWbNnpcrQyFBU5qMavJoB8d27w==", + "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.2", + "@nodelib/fs.stat": "2.0.3", "run-parallel": "^1.1.9" } }, "@nodelib/fs.stat": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.2.tgz", - "integrity": "sha512-z8+wGWV2dgUhLqrtRYa03yDx4HWMvXKi1z8g3m2JyxAx8F7xk74asqPk5LAETjqDSGLFML/6CDl0+yFunSYicw==", + "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.3", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.3.tgz", - "integrity": "sha512-l6t8xEhfK9Sa4YO5mIRdau7XSOADfmh3jCr0evNHdY+HNkW6xuQhgMH7D73VV6WpZOagrW0UludvMTiifiwTfA==", + "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.2", + "@nodelib/fs.scandir": "2.1.3", "fastq": "^1.6.0" } }, @@ -1436,9 +1436,9 @@ "dev": true }, "@percy/agent": { - "version": "0.17.0", - "resolved": "https://registry.npmjs.org/@percy/agent/-/agent-0.17.0.tgz", - "integrity": "sha512-C5jr8EQKBctdHazl5DRmLaoy0D0dJhiGzidgyP2kBKIhT5MRRGvjfLUI6u2tVYyo2ZFAfTIJKj438IGue7ns+A==", + "version": "0.18.3", + "resolved": "https://registry.npmjs.org/@percy/agent/-/agent-0.18.3.tgz", + "integrity": "sha512-nlh/ZDPGLOpInEZOaIVcTbjA0BioQeLSvh+6BH4vE5UwS/OvlcXzJYIFG4C8ZI2lwGtmuOeA6avxP1IeATailg==", "dev": true, "requires": { "@oclif/command": "1.5.16", @@ -1536,9 +1536,9 @@ "dev": true }, "@types/node": { - "version": "12.7.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.7.9.tgz", - "integrity": "sha512-P57oKTJ/vYivL2BCfxCC5tQjlS8qW31pbOL6qt99Yrjm95YdHgNZwjrTTjMBh+C2/y6PXIX4oz253+jUzxKKfQ==", + "version": "12.7.11", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.7.11.tgz", + "integrity": "sha512-Otxmr2rrZLKRYIybtdG/sgeO+tHY20GxeDjcGmUnmmlCWyEnv2a2x1ZXBo3BTec4OiTXMQCiazB8NMBf0iRlFw==", "dev": true }, "@types/unist": { @@ -3454,9 +3454,9 @@ } }, "caniuse-lite": { - "version": "1.0.30000997", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000997.tgz", - "integrity": "sha512-BQLFPIdj2ntgBNWp9Q64LGUIEmvhKkzzHhUHR3CD5A9Lb7ZKF20/+sgadhFap69lk5XmK1fTUleDclaRFvgVUA==", + "version": "1.0.30000999", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000999.tgz", + "integrity": "sha512-1CUyKyecPeksKwXZvYw0tEoaMCo/RwBlXmEtN5vVnabvO0KPd9RQLcaAuR9/1F+KDMv6esmOFWlsXuzDk+8rxg==", "dev": true }, "capture-exit": { @@ -4943,6 +4943,7 @@ "version": "4.1.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, "requires": { "ms": "^2.1.1" } @@ -5848,9 +5849,9 @@ "dev": true }, "electron-to-chromium": { - "version": "1.3.272", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.272.tgz", - "integrity": "sha512-TjsDKYOZGgaD8tUJtRiiBNlIrv2Ol6SxNMy4yeTX0goRmoBhV941m4EN8QjA3vfshs16F5KLDyUv2m7GdTqIgg==", + "version": "1.3.275", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.275.tgz", + "integrity": "sha512-/YWtW/VapMnuYA1lNOaa1F4GhR1LBf+CUTp60lzDPEEh0XOzyOAyULyYZVF9vziZ3qSbTqCwmKwsyRXp66STbw==", "dev": true }, "elegant-spinner": { @@ -5955,9 +5956,9 @@ } }, "es-abstract": { - "version": "1.14.2", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.14.2.tgz", - "integrity": "sha512-DgoQmbpFNOofkjJtKwr87Ma5EW4Dc8fWhD0R+ndq7Oc456ivUfGOOP6oAZTTKl5/CcNMP+EN+e3/iUzgE0veZg==", + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.15.0.tgz", + "integrity": "sha512-bhkEqWJ2t2lMeaJDuk7okMkJWI/yqgH/EoGwpcvv0XW9RWQsRspI4wt6xuyuvMvvQE3gg/D9HXppgk21w78GyQ==", "dev": true, "requires": { "es-to-primitive": "^1.2.0", @@ -5968,8 +5969,8 @@ "is-regex": "^1.0.4", "object-inspect": "^1.6.0", "object-keys": "^1.1.1", - "string.prototype.trimleft": "^2.0.0", - "string.prototype.trimright": "^2.0.0" + "string.prototype.trimleft": "^2.1.0", + "string.prototype.trimright": "^2.1.0" } }, "es-to-primitive": { @@ -6124,9 +6125,9 @@ } }, "eslint-config-prettier": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-6.3.0.tgz", - "integrity": "sha512-EWaGjlDAZRzVFveh2Jsglcere2KK5CJBhkNSa1xs3KfMUGdRiT7lG089eqPdvlzWHpAqaekubOsOMu8W8Yk71A==", + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-6.4.0.tgz", + "integrity": "sha512-YrKucoFdc7SEko5Sxe4r6ixqXPDP1tunGw91POeZTTRKItf/AMFYt/YLEQtZMkR2LVpAVhcAcZgcWpm1oGPW7w==", "dev": true, "requires": { "get-stdin": "^6.0.0" @@ -6572,16 +6573,15 @@ "dev": true }, "fast-glob": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.0.4.tgz", - "integrity": "sha512-wkIbV6qg37xTJwqSsdnIphL1e+LaGz4AIQqr00mIubMaEhv1/HEmJ0uuCGZRNRUkZZmOB5mJKO0ZUTVq+SxMQg==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.1.0.tgz", + "integrity": "sha512-TrUz3THiq2Vy3bjfQUB2wNyPdGBeGmdjbzzBLhfHN4YFurYptCKwGq/TfiRavbGywFRzY6U2CdmQ1zmsY5yYaw==", "dev": true, "requires": { - "@nodelib/fs.stat": "^2.0.1", - "@nodelib/fs.walk": "^1.2.1", - "glob-parent": "^5.0.0", - "is-glob": "^4.0.1", - "merge2": "^1.2.3", + "@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" } }, @@ -7354,7 +7354,8 @@ "ansi-regex": { "version": "2.1.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "aproba": { "version": "1.2.0", @@ -7375,12 +7376,14 @@ "balanced-match": { "version": "1.0.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "brace-expansion": { "version": "1.1.11", "bundled": true, "dev": true, + "optional": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -7395,17 +7398,20 @@ "code-point-at": { "version": "1.1.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "concat-map": { "version": "0.0.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "console-control-strings": { "version": "1.1.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "core-util-is": { "version": "1.0.2", @@ -7522,7 +7528,8 @@ "inherits": { "version": "2.0.3", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "ini": { "version": "1.3.5", @@ -7534,6 +7541,7 @@ "version": "1.0.0", "bundled": true, "dev": true, + "optional": true, "requires": { "number-is-nan": "^1.0.0" } @@ -7548,6 +7556,7 @@ "version": "3.0.4", "bundled": true, "dev": true, + "optional": true, "requires": { "brace-expansion": "^1.1.7" } @@ -7555,12 +7564,14 @@ "minimist": { "version": "0.0.8", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "minipass": { "version": "2.3.5", "bundled": true, "dev": true, + "optional": true, "requires": { "safe-buffer": "^5.1.2", "yallist": "^3.0.0" @@ -7579,6 +7590,7 @@ "version": "0.5.1", "bundled": true, "dev": true, + "optional": true, "requires": { "minimist": "0.0.8" } @@ -7659,7 +7671,8 @@ "number-is-nan": { "version": "1.0.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "object-assign": { "version": "4.1.1", @@ -7671,6 +7684,7 @@ "version": "1.4.0", "bundled": true, "dev": true, + "optional": true, "requires": { "wrappy": "1" } @@ -7756,7 +7770,8 @@ "safe-buffer": { "version": "5.1.2", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "safer-buffer": { "version": "2.1.2", @@ -7792,6 +7807,7 @@ "version": "1.0.2", "bundled": true, "dev": true, + "optional": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -7811,6 +7827,7 @@ "version": "3.0.1", "bundled": true, "dev": true, + "optional": true, "requires": { "ansi-regex": "^2.0.0" } @@ -7854,12 +7871,14 @@ "wrappy": { "version": "1.0.2", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "yallist": { "version": "3.0.3", "bundled": true, - "dev": true + "dev": true, + "optional": true } } }, @@ -8273,9 +8292,9 @@ "dev": true }, "handlebars": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.4.0.tgz", - "integrity": "sha512-xkRtOt3/3DzTKMOt3xahj2M/EqNhY988T+imYSlMgs5fVhLN2fmKVVj0LtEGmb+3UUYV5Qmm1052Mm3dIQxOvw==", + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.4.2.tgz", + "integrity": "sha512-cIv17+GhL8pHHnRJzGu2wwcthL5sb8uDKBHvZ2Dtu5s1YNt0ljbzKbamnc+gr69y7bzwQiBdr5+hOpRd5pnOdg==", "dev": true, "requires": { "neo-async": "^2.6.0", @@ -11313,9 +11332,9 @@ "dev": true }, "json5": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz", - "integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.1.tgz", + "integrity": "sha512-l+3HXD0GEI3huGq1njuqtzYK8OYJyXMkOLtQ53pjWh89tvWS2h6l+1zMkYWqlb57+SiQodKZyvMEFb2X+KrFhQ==", "dev": true, "requires": { "minimist": "^1.2.0" @@ -12225,6 +12244,16 @@ "terser": "^4.0.0", "try-catch": "^2.0.0", "try-to-catch": "^1.0.2" + }, + "dependencies": { + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "requires": { + "ms": "^2.1.1" + } + } } }, "minimalistic-assert": { @@ -12631,12 +12660,20 @@ } }, "node-releases": { - "version": "1.1.33", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.33.tgz", - "integrity": "sha512-I0V30bWQEoHb+10W8oedVoUrdjW5wIkYm0w7vvcrPO95pZY738m1k77GF5sO0vKg5eXYg9oGtrMAETbgZGm11A==", + "version": "1.1.34", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.34.tgz", + "integrity": "sha512-fNn12JTEfniTuCqo0r9jXgl44+KxRH/huV7zM/KAGOKxDKrHr6EbT7SSs4B+DNxyBE2mks28AD+Jw6PkfY5uwA==", "dev": true, "requires": { - "semver": "^5.3.0" + "semver": "^6.3.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 + } } }, "node-sass": { @@ -16257,24 +16294,24 @@ "dev": true }, "start-server-and-test": { - "version": "1.10.3", - "resolved": "https://registry.npmjs.org/start-server-and-test/-/start-server-and-test-1.10.3.tgz", - "integrity": "sha512-9XF9ezFrrz8+c3I2+PNeON2egbucjIzwcCDqldaUQbEkf6IZEf+CdXJEVCh/zkn7hgqIl3md0CtyRYT1yUI9rw==", + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/start-server-and-test/-/start-server-and-test-1.10.4.tgz", + "integrity": "sha512-Oi1YzmHzDSRMA4cwVrewZbVYoAcWeXdB73H5kutQex3cVhS8Thlwj8d4lXTp7hq1nXarIC91kCNMI17/78u/sQ==", "dev": true, "requires": { "bluebird": "3.7.0", "check-more-types": "2.24.0", "debug": "4.1.1", - "execa": "2.0.4", + "execa": "2.0.5", "lazy-ass": "1.6.0", "ps-tree": "1.2.0", "wait-on": "3.3.0" }, "dependencies": { "execa": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/execa/-/execa-2.0.4.tgz", - "integrity": "sha512-VcQfhuGD51vQUQtKIq2fjGDLDbL6N1DTQVpYzxZ7LPIXw3HqTuIz6uxRmpV1qf8i31LHf2kjiaGI+GdHwRgbnQ==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/execa/-/execa-2.0.5.tgz", + "integrity": "sha512-SwmwZZyJjflcqLSgllk4EQlMLst2p9muyzwNugKGFlpAz6rZ7M+s2nBR97GAq4Vzjwx2y9rcMcmqzojwN+xwNA==", "dev": true, "requires": { "cross-spawn": "^6.0.5", @@ -16771,9 +16808,9 @@ } }, "terser": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.3.4.tgz", - "integrity": "sha512-Kcrn3RiW8NtHBP0ssOAzwa2MsIRQ8lJWiBG/K7JgqPlomA3mtb2DEmp4/hrUA+Jujx+WZ02zqd7GYD+QRBB/2Q==", + "version": "4.3.8", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.3.8.tgz", + "integrity": "sha512-otmIRlRVmLChAWsnSFNO0Bfk6YySuBp6G9qrHiJwlLDd4mxe2ta4sjI7TzIR+W1nBMjilzrMcPOz9pSusgx3hQ==", "requires": { "commander": "^2.20.0", "source-map": "~0.6.1", @@ -17792,69 +17829,20 @@ } }, "wait-port": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/wait-port/-/wait-port-0.2.2.tgz", - "integrity": "sha1-1RpJHkhKF791qUfnEaLwErTm8uM=", + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/wait-port/-/wait-port-0.2.4.tgz", + "integrity": "sha512-PI0x+Q+IJdHo/ODGVw2qmsZUr/TmfoVJc4o6wNENbpYQ/y4KiuGzdyxYSBC3GCHFeM4YHreP34ZfzEk3+znc7Q==", "dev": true, "requires": { - "chalk": "^1.1.3", - "commander": "^2.9.0", - "debug": "^2.6.6" + "chalk": "^2.3.0", + "commander": "^3.0.0", + "debug": "^4.1.0" }, "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.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" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "^2.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=", + "commander": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/commander/-/commander-3.0.2.tgz", + "integrity": "sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow==", "dev": true } } @@ -18435,9 +18423,9 @@ } }, "webpack-dev-server": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.8.1.tgz", - "integrity": "sha512-9F5DnfFA9bsrhpUCAfQic/AXBVHvq+3gQS+x6Zj0yc1fVVE0erKh2MV4IV12TBewuTrYeeTIRwCH9qLMvdNvTw==", + "version": "3.8.2", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.8.2.tgz", + "integrity": "sha512-0xxogS7n5jHDQWy0WST0q6Ykp7UGj4YvWh+HVN71JoE7BwPxMZrwgraBvmdEMbDVMBzF0u+mEzn8TQzBm5NYJQ==", "dev": true, "requires": { "ansi-html": "0.0.7", @@ -18449,18 +18437,18 @@ "del": "^4.1.1", "express": "^4.17.1", "html-entities": "^1.2.1", - "http-proxy-middleware": "^0.19.1", + "http-proxy-middleware": "0.19.1", "import-local": "^2.0.0", "internal-ip": "^4.3.0", "ip": "^1.1.5", - "is-absolute-url": "^3.0.2", + "is-absolute-url": "^3.0.3", "killable": "^1.0.1", "loglevel": "^1.6.4", "opn": "^5.5.0", "p-retry": "^3.0.1", "portfinder": "^1.0.24", "schema-utils": "^1.0.0", - "selfsigned": "^1.10.6", + "selfsigned": "^1.10.7", "semver": "^6.3.0", "serve-index": "^1.9.1", "sockjs": "0.3.19", @@ -18469,7 +18457,7 @@ "strip-ansi": "^3.0.1", "supports-color": "^6.1.0", "url": "^0.11.0", - "webpack-dev-middleware": "^3.7.1", + "webpack-dev-middleware": "^3.7.2", "webpack-log": "^2.0.0", "ws": "^6.2.1", "yargs": "12.0.5" diff --git a/package.json b/package.json index 56b0e0466..76c65dd3a 100644 --- a/package.json +++ b/package.json @@ -83,7 +83,7 @@ "jest-puppeteer": "^4.2.0", "jison": "^0.4.18", "moment": "^2.23.0", - "node-sass": "^4.11.0", + "node-sass": "^4.12.0", "puppeteer": "^1.17.0", "sass-loader": "^7.1.0", "start-server-and-test": "^1.10.0", diff --git a/yarn.lock b/yarn.lock index 860b5949b..bd0b28da5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,79 +2,54 @@ # yarn lockfile v1 -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.0.0-beta.35": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0.tgz#06e2ab19bdb535385559aabb5ba59729482800f8" +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.0.0-beta.35", "@babel/code-frame@^7.5.5": + version "7.5.5" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.5.5.tgz#bc0782f6d69f7b7d49531219699b988f669a8f9d" + integrity sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw== dependencies: "@babel/highlight" "^7.0.0" -"@babel/core@^7.1.2": - version "7.5.4" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.5.4.tgz#4c32df7ad5a58e9ea27ad025c11276324e0b4ddd" +"@babel/core@^7.1.2", "@babel/core@^7.2.2": + version "7.6.2" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.6.2.tgz#069a776e8d5e9eefff76236bc8845566bd31dd91" + integrity sha512-l8zto/fuoZIbncm+01p8zPSDZu/VuuJhAfA7d/AbzM09WR7iVhavvfNDYCNpo1VvLk6E6xgAoP9P+/EMJHuRkQ== dependencies: - "@babel/code-frame" "^7.0.0" - "@babel/generator" "^7.5.0" - "@babel/helpers" "^7.5.4" - "@babel/parser" "^7.5.0" - "@babel/template" "^7.4.4" - "@babel/traverse" "^7.5.0" - "@babel/types" "^7.5.0" + "@babel/code-frame" "^7.5.5" + "@babel/generator" "^7.6.2" + "@babel/helpers" "^7.6.2" + "@babel/parser" "^7.6.2" + "@babel/template" "^7.6.0" + "@babel/traverse" "^7.6.2" + "@babel/types" "^7.6.0" convert-source-map "^1.1.0" debug "^4.1.0" json5 "^2.1.0" - lodash "^4.17.11" + lodash "^4.17.13" resolve "^1.3.2" semver "^5.4.1" source-map "^0.5.0" -"@babel/core@^7.2.2": - version "7.2.2" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.2.2.tgz#07adba6dde27bb5ad8d8672f15fde3e08184a687" +"@babel/generator@^7.1.3", "@babel/generator@^7.6.2": + version "7.6.2" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.6.2.tgz#dac8a3c2df118334c2a29ff3446da1636a8f8c03" + integrity sha512-j8iHaIW4gGPnViaIHI7e9t/Hl8qLjERI6DcV9kEpAIDJsAOrcnXqRS7t+QbhL76pwbtqP+QCQLL0z1CyVmtjjQ== dependencies: - "@babel/code-frame" "^7.0.0" - "@babel/generator" "^7.2.2" - "@babel/helpers" "^7.2.0" - "@babel/parser" "^7.2.2" - "@babel/template" "^7.2.2" - "@babel/traverse" "^7.2.2" - "@babel/types" "^7.2.2" - convert-source-map "^1.1.0" - debug "^4.1.0" - json5 "^2.1.0" - lodash "^4.17.10" - resolve "^1.3.2" - semver "^5.4.1" - source-map "^0.5.0" - -"@babel/generator@^7.1.3", "@babel/generator@^7.5.0": - version "7.5.0" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.5.0.tgz#f20e4b7a91750ee8b63656073d843d2a736dca4a" - dependencies: - "@babel/types" "^7.5.0" + "@babel/types" "^7.6.0" jsesc "^2.5.1" - lodash "^4.17.11" + lodash "^4.17.13" source-map "^0.5.0" - trim-right "^1.0.1" - -"@babel/generator@^7.2.2": - version "7.2.2" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.2.2.tgz#18c816c70962640eab42fe8cae5f3947a5c65ccc" - dependencies: - "@babel/types" "^7.2.2" - jsesc "^2.5.1" - lodash "^4.17.10" - source-map "^0.5.0" - trim-right "^1.0.1" "@babel/helper-annotate-as-pure@^7.0.0": version "7.0.0" resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz#323d39dd0b50e10c7c06ca7d7638e6864d8c5c32" + integrity sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q== dependencies: "@babel/types" "^7.0.0" "@babel/helper-builder-binary-assignment-operator-visitor@^7.1.0": version "7.1.0" resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz#6b69628dfe4087798e0c4ed98e3d4a6b2fbd2f5f" + integrity sha512-qNSR4jrmJ8M1VMM9tibvyRAHXQs2PmaksQF7c1CGJNipfe3D8p+wgNwgso/P2A2r2mdgBWAXljNWR0QRZAMW8w== dependencies: "@babel/helper-explode-assignable-expression" "^7.1.0" "@babel/types" "^7.0.0" @@ -82,56 +57,45 @@ "@babel/helper-builder-react-jsx@^7.3.0": version "7.3.0" resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.3.0.tgz#a1ac95a5d2b3e88ae5e54846bf462eeb81b318a4" + integrity sha512-MjA9KgwCuPEkQd9ncSXvSyJ5y+j2sICHyrI0M3L+6fnS4wMSNDc1ARXsbTfbb2cXHn17VisSnU/sHFTCxVxSMw== dependencies: "@babel/types" "^7.3.0" esutils "^2.0.0" -"@babel/helper-call-delegate@^7.1.0": - version "7.1.0" - resolved "https://registry.yarnpkg.com/@babel/helper-call-delegate/-/helper-call-delegate-7.1.0.tgz#6a957f105f37755e8645343d3038a22e1449cc4a" - dependencies: - "@babel/helper-hoist-variables" "^7.0.0" - "@babel/traverse" "^7.1.0" - "@babel/types" "^7.0.0" - "@babel/helper-call-delegate@^7.4.4": version "7.4.4" resolved "https://registry.yarnpkg.com/@babel/helper-call-delegate/-/helper-call-delegate-7.4.4.tgz#87c1f8ca19ad552a736a7a27b1c1fcf8b1ff1f43" + integrity sha512-l79boDFJ8S1c5hvQvG+rc+wHw6IuH7YldmRKsYtpbawsxURu/paVy57FZMomGK22/JckepaikOkY0MoAmdyOlQ== dependencies: "@babel/helper-hoist-variables" "^7.4.4" "@babel/traverse" "^7.4.4" "@babel/types" "^7.4.4" -"@babel/helper-create-class-features-plugin@^7.4.4", "@babel/helper-create-class-features-plugin@^7.5.0": - version "7.5.0" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.5.0.tgz#02edb97f512d44ba23b3227f1bf2ed43454edac5" +"@babel/helper-create-class-features-plugin@^7.5.5", "@babel/helper-create-class-features-plugin@^7.6.0": + version "7.6.0" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.6.0.tgz#769711acca889be371e9bc2eb68641d55218021f" + integrity sha512-O1QWBko4fzGju6VoVvrZg0RROCVifcLxiApnGP3OWfWzvxRZFCoBD81K5ur5e3bVY2Vf/5rIJm8cqPKn8HUJng== dependencies: "@babel/helper-function-name" "^7.1.0" - "@babel/helper-member-expression-to-functions" "^7.0.0" + "@babel/helper-member-expression-to-functions" "^7.5.5" "@babel/helper-optimise-call-expression" "^7.0.0" "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-replace-supers" "^7.4.4" + "@babel/helper-replace-supers" "^7.5.5" "@babel/helper-split-export-declaration" "^7.4.4" -"@babel/helper-define-map@^7.1.0": - version "7.1.0" - resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.1.0.tgz#3b74caec329b3c80c116290887c0dd9ae468c20c" +"@babel/helper-define-map@^7.5.5": + version "7.5.5" + resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.5.5.tgz#3dec32c2046f37e09b28c93eb0b103fd2a25d369" + integrity sha512-fTfxx7i0B5NJqvUOBBGREnrqbTxRh7zinBANpZXAVDlsZxYdclDp467G1sQ8VZYMnAURY3RpBUAgOYT9GfzHBg== dependencies: "@babel/helper-function-name" "^7.1.0" - "@babel/types" "^7.0.0" - lodash "^4.17.10" - -"@babel/helper-define-map@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.4.4.tgz#6969d1f570b46bdc900d1eba8e5d59c48ba2c12a" - dependencies: - "@babel/helper-function-name" "^7.1.0" - "@babel/types" "^7.4.4" - lodash "^4.17.11" + "@babel/types" "^7.5.5" + lodash "^4.17.13" "@babel/helper-explode-assignable-expression@^7.1.0": version "7.1.0" resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz#537fa13f6f1674df745b0c00ec8fe4e99681c8f6" + integrity sha512-NRQpfHrJ1msCHtKjbzs9YcMmJZOg6mQMmGRB+hbamEdG5PNpaSm95275VD92DvJKuyl0s2sFiDmMZ+EnnvufqA== dependencies: "@babel/traverse" "^7.1.0" "@babel/types" "^7.0.0" @@ -139,6 +103,7 @@ "@babel/helper-function-name@^7.1.0": version "7.1.0" resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz#a0ceb01685f73355d4360c1247f582bfafc8ff53" + integrity sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw== dependencies: "@babel/helper-get-function-arity" "^7.0.0" "@babel/template" "^7.1.0" @@ -147,80 +112,66 @@ "@babel/helper-get-function-arity@^7.0.0": version "7.0.0" resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz#83572d4320e2a4657263734113c42868b64e49c3" - dependencies: - "@babel/types" "^7.0.0" - -"@babel/helper-hoist-variables@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.0.0.tgz#46adc4c5e758645ae7a45deb92bab0918c23bb88" + integrity sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ== dependencies: "@babel/types" "^7.0.0" "@babel/helper-hoist-variables@^7.4.4": version "7.4.4" resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.4.4.tgz#0298b5f25c8c09c53102d52ac4a98f773eb2850a" + integrity sha512-VYk2/H/BnYbZDDg39hr3t2kKyifAm1W6zHRfhx8jGjIHpQEBv9dry7oQ2f3+J703TLu69nYdxsovl0XYfcnK4w== dependencies: "@babel/types" "^7.4.4" -"@babel/helper-member-expression-to-functions@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0.tgz#8cd14b0a0df7ff00f009e7d7a436945f47c7a16f" +"@babel/helper-member-expression-to-functions@^7.5.5": + version "7.5.5" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.5.5.tgz#1fb5b8ec4453a93c439ee9fe3aeea4a84b76b590" + integrity sha512-5qZ3D1uMclSNqYcXqiHoA0meVdv+xUEex9em2fqMnrk/scphGlGgg66zjMrPJESPwrFJ6sbfFQYUSa0Mz7FabA== dependencies: - "@babel/types" "^7.0.0" + "@babel/types" "^7.5.5" "@babel/helper-module-imports@^7.0.0": version "7.0.0" resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz#96081b7111e486da4d2cd971ad1a4fe216cc2e3d" + integrity sha512-aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A== dependencies: "@babel/types" "^7.0.0" -"@babel/helper-module-transforms@^7.1.0": - version "7.2.2" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.2.2.tgz#ab2f8e8d231409f8370c883d20c335190284b963" - dependencies: - "@babel/helper-module-imports" "^7.0.0" - "@babel/helper-simple-access" "^7.1.0" - "@babel/helper-split-export-declaration" "^7.0.0" - "@babel/template" "^7.2.2" - "@babel/types" "^7.2.2" - lodash "^4.17.10" - -"@babel/helper-module-transforms@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.4.4.tgz#96115ea42a2f139e619e98ed46df6019b94414b8" +"@babel/helper-module-transforms@^7.1.0", "@babel/helper-module-transforms@^7.4.4": + version "7.5.5" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.5.5.tgz#f84ff8a09038dcbca1fd4355661a500937165b4a" + integrity sha512-jBeCvETKuJqeiaCdyaheF40aXnnU1+wkSiUs/IQg3tB85up1LyL8x77ClY8qJpuRJUcXQo+ZtdNESmZl4j56Pw== dependencies: "@babel/helper-module-imports" "^7.0.0" "@babel/helper-simple-access" "^7.1.0" "@babel/helper-split-export-declaration" "^7.4.4" "@babel/template" "^7.4.4" - "@babel/types" "^7.4.4" - lodash "^4.17.11" + "@babel/types" "^7.5.5" + lodash "^4.17.13" "@babel/helper-optimise-call-expression@^7.0.0": version "7.0.0" resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz#a2920c5702b073c15de51106200aa8cad20497d5" + integrity sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g== dependencies: "@babel/types" "^7.0.0" "@babel/helper-plugin-utils@^7.0.0": version "7.0.0" resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz#bbb3fbee98661c569034237cc03967ba99b4f250" + integrity sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA== -"@babel/helper-regex@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.0.0.tgz#2c1718923b57f9bbe64705ffe5640ac64d9bdb27" +"@babel/helper-regex@^7.0.0", "@babel/helper-regex@^7.4.4": + version "7.5.5" + resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.5.5.tgz#0aa6824f7100a2e0e89c1527c23936c152cab351" + integrity sha512-CkCYQLkfkiugbRDO8eZn6lRuR8kzZoGXCg3149iTk5se7g6qykSpy3+hELSwquhu+TgHn8nkLiBwHvNX8Hofcw== dependencies: - lodash "^4.17.10" - -"@babel/helper-regex@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.4.4.tgz#a47e02bc91fb259d2e6727c2a30013e3ac13c4a2" - dependencies: - lodash "^4.17.11" + lodash "^4.17.13" "@babel/helper-remap-async-to-generator@^7.1.0": version "7.1.0" resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz#361d80821b6f38da75bd3f0785ece20a88c5fe7f" + integrity sha512-3fOK0L+Fdlg8S5al8u/hWE6vhufGSn0bN09xm2LXMy//REAF8kDCrYoOBKYmA8m5Nom+sV9LyLCwrFynA8/slg== dependencies: "@babel/helper-annotate-as-pure" "^7.0.0" "@babel/helper-wrap-function" "^7.1.0" @@ -228,71 +179,54 @@ "@babel/traverse" "^7.1.0" "@babel/types" "^7.0.0" -"@babel/helper-replace-supers@^7.1.0": - version "7.1.0" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.1.0.tgz#5fc31de522ec0ef0899dc9b3e7cf6a5dd655f362" +"@babel/helper-replace-supers@^7.5.5": + version "7.5.5" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.5.5.tgz#f84ce43df031222d2bad068d2626cb5799c34bc2" + integrity sha512-XvRFWrNnlsow2u7jXDuH4jDDctkxbS7gXssrP4q2nUD606ukXHRvydj346wmNg+zAgpFx4MWf4+usfC93bElJg== dependencies: - "@babel/helper-member-expression-to-functions" "^7.0.0" + "@babel/helper-member-expression-to-functions" "^7.5.5" "@babel/helper-optimise-call-expression" "^7.0.0" - "@babel/traverse" "^7.1.0" - "@babel/types" "^7.0.0" - -"@babel/helper-replace-supers@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.4.4.tgz#aee41783ebe4f2d3ab3ae775e1cc6f1a90cefa27" - dependencies: - "@babel/helper-member-expression-to-functions" "^7.0.0" - "@babel/helper-optimise-call-expression" "^7.0.0" - "@babel/traverse" "^7.4.4" - "@babel/types" "^7.4.4" + "@babel/traverse" "^7.5.5" + "@babel/types" "^7.5.5" "@babel/helper-simple-access@^7.1.0": version "7.1.0" resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz#65eeb954c8c245beaa4e859da6188f39d71e585c" + integrity sha512-Vk+78hNjRbsiu49zAPALxTb+JUQCz1aolpd8osOF16BGnLtseD21nbHgLPGUwrXEurZgiCOUmvs3ExTu4F5x6w== dependencies: "@babel/template" "^7.1.0" "@babel/types" "^7.0.0" -"@babel/helper-split-export-declaration@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz#3aae285c0311c2ab095d997b8c9a94cad547d813" - dependencies: - "@babel/types" "^7.0.0" - "@babel/helper-split-export-declaration@^7.4.4": version "7.4.4" resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz#ff94894a340be78f53f06af038b205c49d993677" + integrity sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q== dependencies: "@babel/types" "^7.4.4" "@babel/helper-wrap-function@^7.1.0", "@babel/helper-wrap-function@^7.2.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz#c4e0012445769e2815b55296ead43a958549f6fa" + integrity sha512-o9fP1BZLLSrYlxYEYyl2aS+Flun5gtjTIG8iln+XuEzQTs0PLagAGSXUcqruJwD5fM48jzIEggCKpIfWTcR7pQ== dependencies: "@babel/helper-function-name" "^7.1.0" "@babel/template" "^7.1.0" "@babel/traverse" "^7.1.0" "@babel/types" "^7.2.0" -"@babel/helpers@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.2.0.tgz#8335f3140f3144270dc63c4732a4f8b0a50b7a21" +"@babel/helpers@^7.6.2": + version "7.6.2" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.6.2.tgz#681ffe489ea4dcc55f23ce469e58e59c1c045153" + integrity sha512-3/bAUL8zZxYs1cdX2ilEE0WobqbCmKWr/889lf2SS0PpDcpEIY8pb1CCyz0pEcX3pEb+MCbks1jIokz2xLtGTA== dependencies: - "@babel/template" "^7.1.2" - "@babel/traverse" "^7.1.5" - "@babel/types" "^7.2.0" - -"@babel/helpers@^7.5.4": - version "7.5.4" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.5.4.tgz#2f00608aa10d460bde0ccf665d6dcf8477357cf0" - dependencies: - "@babel/template" "^7.4.4" - "@babel/traverse" "^7.5.0" - "@babel/types" "^7.5.0" + "@babel/template" "^7.6.0" + "@babel/traverse" "^7.6.2" + "@babel/types" "^7.6.0" "@babel/highlight@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0.tgz#f710c38c8d458e6dd9a201afb637fcb781ce99e4" + version "7.5.0" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.5.0.tgz#56d11312bd9248fa619591d02472be6e8cb32540" + integrity sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ== dependencies: chalk "^2.0.0" esutils "^2.0.2" @@ -301,41 +235,43 @@ "@babel/parser@7.1.3": version "7.1.3" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.1.3.tgz#2c92469bac2b7fbff810b67fca07bd138b48af77" + integrity sha512-gqmspPZOMW3MIRb9HlrnbZHXI1/KHTOroBwN1NcLL6pWxzqzEKGvRTq0W/PxS45OtQGbaFikSQpkS5zbnsQm2w== -"@babel/parser@^7.2.2": - version "7.2.2" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.2.2.tgz#37ebdbc88a2e1ebc6c8dd3d35ea9436e3e39e477" - -"@babel/parser@^7.4.4", "@babel/parser@^7.5.0": - version "7.5.0" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.5.0.tgz#3e0713dff89ad6ae37faec3b29dcfc5c979770b7" +"@babel/parser@^7.6.0", "@babel/parser@^7.6.2": + version "7.6.2" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.6.2.tgz#205e9c95e16ba3b8b96090677a67c9d6075b70a1" + integrity sha512-mdFqWrSPCmikBoaBYMuBulzTIKuXVPtEISFbRRVNwMWpCms/hmE2kRq0bblUHaNRKrjRlmVbx1sDHmjmRgD2Xg== "@babel/plugin-proposal-async-generator-functions@^7.2.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.2.0.tgz#b289b306669dce4ad20b0252889a15768c9d417e" + integrity sha512-+Dfo/SCQqrwx48ptLVGLdE39YtWRuKc/Y9I5Fy0P1DDBB9lsAHpjcEJQt+4IifuSOSTLBKJObJqMvaO1pIE8LQ== dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/helper-remap-async-to-generator" "^7.1.0" "@babel/plugin-syntax-async-generators" "^7.2.0" "@babel/plugin-proposal-class-properties@^7.1.0": - version "7.5.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.5.0.tgz#5bc6a0537d286fcb4fd4e89975adbca334987007" + version "7.5.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.5.5.tgz#a974cfae1e37c3110e71f3c6a2e48b8e71958cd4" + integrity sha512-AF79FsnWFxjlaosgdi421vmYG6/jg79bVD0dpD44QdgobzHKuLZ6S3vl8la9qIeSwGi8i1fS0O1mfuDAAdo1/A== dependencies: - "@babel/helper-create-class-features-plugin" "^7.5.0" + "@babel/helper-create-class-features-plugin" "^7.5.5" "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-proposal-decorators@^7.1.2": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.4.4.tgz#de9b2a1a8ab0196f378e2a82f10b6e2a36f21cc0" + version "7.6.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.6.0.tgz#6659d2572a17d70abd68123e89a12a43d90aa30c" + integrity sha512-ZSyYw9trQI50sES6YxREXKu+4b7MAg6Qx2cvyDDYjP2Hpzd3FleOUwC9cqn1+za8d0A2ZU8SHujxFao956efUg== dependencies: - "@babel/helper-create-class-features-plugin" "^7.4.4" + "@babel/helper-create-class-features-plugin" "^7.6.0" "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-decorators" "^7.2.0" "@babel/plugin-proposal-do-expressions@^7.0.0": - version "7.5.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-do-expressions/-/plugin-proposal-do-expressions-7.5.0.tgz#ceb594d4a618545b00aa0b5cd61cad4aaaeb7a5a" + version "7.6.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-do-expressions/-/plugin-proposal-do-expressions-7.6.0.tgz#192953fed8620d13d12a61f68defd26f41059193" + integrity sha512-qJDaoBDbLySwU1tG0jbAomOwz8W1PEiiiK0iLQAnHLr4PYIMVX4ltDGkj3uAKx4HDs1WJ0tozGW1zAQjuTIiWg== dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-do-expressions" "^7.2.0" @@ -343,6 +279,7 @@ "@babel/plugin-proposal-dynamic-import@^7.5.0": version "7.5.0" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.5.0.tgz#e532202db4838723691b10a67b8ce509e397c506" + integrity sha512-x/iMjggsKTFHYC6g11PL7Qy58IK8H5zqfm9e6hu4z1iH2IRyAp9u9dL80zA6R76yFovETFLKz2VJIC2iIPBuFw== dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-dynamic-import" "^7.2.0" @@ -350,6 +287,7 @@ "@babel/plugin-proposal-export-default-from@^7.0.0": version "7.5.2" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.5.2.tgz#2c0ac2dcc36e3b2443fead2c3c5fc796fb1b5145" + integrity sha512-wr9Itk05L1/wyyZKVEmXWCdcsp/e185WUNl6AfYZeEKYaUPPvHXRDqO5K1VH7/UamYqGJowFRuCv30aDYZawsg== dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-export-default-from" "^7.2.0" @@ -357,6 +295,7 @@ "@babel/plugin-proposal-export-namespace-from@^7.0.0": version "7.5.2" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.5.2.tgz#ccd5ed05b06d700688ff1db01a9dd27155e0d2a0" + integrity sha512-TKUdOL07anjZEbR1iSxb5WFh810KyObdd29XLFLGo1IDsSuGrjH3ouWSbAxHNmrVKzr9X71UYl2dQ7oGGcRp0g== dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-export-namespace-from" "^7.2.0" @@ -364,6 +303,7 @@ "@babel/plugin-proposal-function-bind@^7.0.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-function-bind/-/plugin-proposal-function-bind-7.2.0.tgz#94dc2cdc505cafc4e225c0014335a01648056bf7" + integrity sha512-qOFJ/eX1Is78sywwTxDcsntLOdb5ZlHVVqUz5xznq8ldAfOVIyZzp1JE2rzHnaksZIhrqMrwIpQL/qcEprnVbw== dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-function-bind" "^7.2.0" @@ -371,6 +311,7 @@ "@babel/plugin-proposal-function-sent@^7.1.0": version "7.5.0" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-function-sent/-/plugin-proposal-function-sent-7.5.0.tgz#39233aa801145e7d8072077cdb2d25f781c1ffd7" + integrity sha512-JXdfiQpKoC6UgQliZkp3NX7K3MVec1o1nfTWiCCIORE5ag/QZXhL0aSD8/Y2K+hIHonSTxuJF9rh9zsB6hBi2A== dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/helper-wrap-function" "^7.2.0" @@ -379,6 +320,7 @@ "@babel/plugin-proposal-json-strings@^7.0.0", "@babel/plugin-proposal-json-strings@^7.2.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.2.0.tgz#568ecc446c6148ae6b267f02551130891e29f317" + integrity sha512-MAFV1CA/YVmYwZG0fBQyXhmj0BHCB5egZHCKWIFVv/XCxAeVGIHfos3SwDck4LvCllENIAg7xMKOG5kH0dzyUg== dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-json-strings" "^7.2.0" @@ -386,6 +328,7 @@ "@babel/plugin-proposal-logical-assignment-operators@^7.0.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.2.0.tgz#8a5cea6c42a7c87446959e02fff5fad012c56f57" + integrity sha512-0w797xwdPXKk0m3Js74hDi0mCTZplIu93MOSfb1ZLd/XFe3abWypx1QknVk0J+ohnsjYpvjH4Gwfo2i3RicB6Q== dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-logical-assignment-operators" "^7.2.0" @@ -393,6 +336,7 @@ "@babel/plugin-proposal-nullish-coalescing-operator@^7.0.0": version "7.4.4" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.4.4.tgz#41c360d59481d88e0ce3a3f837df10121a769b39" + integrity sha512-Amph7Epui1Dh/xxUxS2+K22/MUi6+6JVTvy3P58tja3B6yKTSjwwx0/d83rF7551D6PVSSoplQb8GCwqec7HRw== dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.2.0" @@ -400,20 +344,15 @@ "@babel/plugin-proposal-numeric-separator@^7.0.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.2.0.tgz#646854daf4cd22fd6733f6076013a936310443ac" + integrity sha512-DohMOGDrZiMKS7LthjUZNNcWl8TAf5BZDwZAH4wpm55FuJTHgfqPGdibg7rZDmont/8Yg0zA03IgT6XLeP+4sg== dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-numeric-separator" "^7.2.0" -"@babel/plugin-proposal-object-rest-spread@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.2.0.tgz#88f5fec3e7ad019014c97f7ee3c992f0adbf7fb8" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-object-rest-spread" "^7.2.0" - -"@babel/plugin-proposal-object-rest-spread@^7.5.4": - version "7.5.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.5.4.tgz#250de35d867ce8260a31b1fdac6c4fc1baa99331" +"@babel/plugin-proposal-object-rest-spread@^7.6.2": + version "7.6.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.6.2.tgz#8ffccc8f3a6545e9f78988b6bf4fe881b88e8096" + integrity sha512-LDBXlmADCsMZV1Y9OQwMc0MyGZ8Ta/zlD9N67BfQT8uYwkRswiu2hU6nJKrjrt/58aH/vqfQlR/9yId/7A2gWw== dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-object-rest-spread" "^7.2.0" @@ -421,13 +360,15 @@ "@babel/plugin-proposal-optional-catch-binding@^7.2.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.2.0.tgz#135d81edb68a081e55e56ec48541ece8065c38f5" + integrity sha512-mgYj3jCcxug6KUcX4OBoOJz3CMrwRfQELPQ5560F70YQUBZB7uac9fqaWamKR1iWUzGiK2t0ygzjTScZnVz75g== dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-optional-catch-binding" "^7.2.0" "@babel/plugin-proposal-optional-chaining@^7.0.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.2.0.tgz#ae454f4c21c6c2ce8cb2397dc332ae8b420c5441" + version "7.6.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.6.0.tgz#e9bf1f9b9ba10c77c033082da75f068389041af8" + integrity sha512-kj4gkZ6qUggkprRq3Uh5KP8XnE1MdIO0J7MhdDX8+rAbB6dJ2UrensGIS+0NPZAaaJ1Vr0PN6oLUgXMU1uMcSg== dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-optional-chaining" "^7.2.0" @@ -435,6 +376,7 @@ "@babel/plugin-proposal-pipeline-operator@^7.0.0": version "7.5.0" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-pipeline-operator/-/plugin-proposal-pipeline-operator-7.5.0.tgz#4100ec55ef4f6a4c2490b5f5a4f2a22dfa272c06" + integrity sha512-HFYuu/yGnkn69ligXxU0ohOVvQDsMNOUJs/c4PYLUVS6ntCYOyGmRQQaSYJARJ9rvc7/ulZKIzxd4wk91hN63A== dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-pipeline-operator" "^7.5.0" @@ -442,163 +384,171 @@ "@babel/plugin-proposal-throw-expressions@^7.0.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-throw-expressions/-/plugin-proposal-throw-expressions-7.2.0.tgz#2d9e452d370f139000e51db65d0a85dc60c64739" + integrity sha512-adsydM8DQF4i5DLNO4ySAU5VtHTPewOtNBV3u7F4lNMPADFF9bWQ+iDtUUe8+033cYCUz+bFlQdXQJmJOwoLpw== dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-throw-expressions" "^7.2.0" -"@babel/plugin-proposal-unicode-property-regex@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.2.0.tgz#abe7281fe46c95ddc143a65e5358647792039520" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-regex" "^7.0.0" - regexpu-core "^4.2.0" - -"@babel/plugin-proposal-unicode-property-regex@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.4.4.tgz#501ffd9826c0b91da22690720722ac7cb1ca9c78" +"@babel/plugin-proposal-unicode-property-regex@^7.6.2": + version "7.6.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.6.2.tgz#05413762894f41bfe42b9a5e80919bd575dcc802" + integrity sha512-NxHETdmpeSCtiatMRYWVJo7266rrvAC3DTeG5exQBIH/fMIUK7ejDNznBbn3HQl/o9peymRRg7Yqkx6PdUXmMw== dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/helper-regex" "^7.4.4" - regexpu-core "^4.5.4" + regexpu-core "^4.6.0" "@babel/plugin-syntax-async-generators@^7.2.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.2.0.tgz#69e1f0db34c6f5a0cf7e2b3323bf159a76c8cb7f" + integrity sha512-1ZrIRBv2t0GSlcwVoQ6VgSLpLgiN/FVQUzt9znxo7v2Ov4jJrs8RY8tv0wvDmFN3qIdMKWrmMMW6yZ0G19MfGg== dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-decorators@^7.2.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.2.0.tgz#c50b1b957dcc69e4b1127b65e1c33eef61570c1b" + integrity sha512-38QdqVoXdHUQfTpZo3rQwqQdWtCn5tMv4uV6r2RMfTqNBuv4ZBhz79SfaQWKTVmxHjeFv/DnXVC/+agHCklYWA== dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-do-expressions@^7.2.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-do-expressions/-/plugin-syntax-do-expressions-7.2.0.tgz#f3d4b01be05ecde2892086d7cfd5f1fa1ead5a2a" + integrity sha512-/u4rJ+XEmZkIhspVuKRS+7WLvm7Dky9j9TvGK5IgId8B3FKir9MG+nQxDZ9xLn10QMBvW58dZ6ABe2juSmARjg== dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-dynamic-import@^7.0.0", "@babel/plugin-syntax-dynamic-import@^7.2.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.2.0.tgz#69c159ffaf4998122161ad8ebc5e6d1f55df8612" + integrity sha512-mVxuJ0YroI/h/tbFTPGZR8cv6ai+STMKNBq0f8hFxsxWjl94qqhsb+wXbpNMDPU3cfR1TIsVFzU3nXyZMqyK4w== dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-export-default-from@^7.2.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.2.0.tgz#edd83b7adc2e0d059e2467ca96c650ab6d2f3820" + integrity sha512-c7nqUnNST97BWPtoe+Ssi+fJukc9P9/JMZ71IOMNQWza2E+Psrd46N6AEvtw6pqK+gt7ChjXyrw4SPDO79f3Lw== dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-export-namespace-from@^7.2.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.2.0.tgz#8d257838c6b3b779db52c0224443459bd27fb039" + integrity sha512-1zGA3UNch6A+A11nIzBVEaE3DDJbjfB+eLIcf0GGOh/BJr/8NxL3546MGhV/r0RhH4xADFIEso39TKCfEMlsGA== dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-flow@^7.2.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.2.0.tgz#a765f061f803bc48f240c26f8747faf97c26bf7c" + integrity sha512-r6YMuZDWLtLlu0kqIim5o/3TNRAlWb073HwT3e2nKf9I8IIvOggPrnILYPsrrKilmn/mYEMCf/Z07w3yQJF6dg== dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-function-bind@^7.2.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-function-bind/-/plugin-syntax-function-bind-7.2.0.tgz#68fe85b0c0da67125f87bf239c68051b06c66309" + integrity sha512-/WzU1lLU2l0wDfB42Wkg6tahrmtBbiD8C4H6EGSX0M4GAjzN6JiOpq/Uh8G6GSoR6lPMvhjM0MNiV6znj6y/zg== dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-function-sent@^7.2.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-function-sent/-/plugin-syntax-function-sent-7.2.0.tgz#91474d4d400604e4c6cbd4d77cd6cb3b8565576c" + integrity sha512-2MOVuJ6IMAifp2cf0RFkHQaOvHpbBYyWCvgtF/WVqXhTd7Bgtov8iXVCadLXp2FN1BrI2EFl+JXuwXy0qr3KoQ== dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-import-meta@^7.0.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.2.0.tgz#2333ef4b875553a3bcd1e93f8ebc09f5b9213a40" + integrity sha512-Hq6kFSZD7+PHkmBN8bCpHR6J8QEoCuEV/B38AIQscYjgMZkGlXB7cHNFzP5jR4RCh5545yP1ujHdmO7hAgKtBA== dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-json-strings@^7.2.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.2.0.tgz#72bd13f6ffe1d25938129d2a186b11fd62951470" + integrity sha512-5UGYnMSLRE1dqqZwug+1LISpA403HzlSfsg6P9VXU6TBjcSHeNlw4DxDx7LgpF+iKZoOG/+uzqoRHTdcUpiZNg== dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-jsx@^7.2.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.2.0.tgz#0b85a3b4bc7cdf4cc4b8bf236335b907ca22e7c7" + integrity sha512-VyN4QANJkRW6lDBmENzRszvZf3/4AXaj9YR7GwrWeeN9tEBPuXbmDYVU9bYBN0D70zCWVwUy0HWq2553VCb6Hw== dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-logical-assignment-operators@^7.2.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.2.0.tgz#fcab7388530e96c6f277ce494c55caa6c141fcfb" + integrity sha512-l/NKSlrnvd73/EL540t9hZhcSo4TULBrIPs9Palju8Oc/A8DXDO+xQf04whfeuZLpi8AuIvCAdpKmmubLN4EfQ== dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-nullish-coalescing-operator@^7.2.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.2.0.tgz#f75083dfd5ade73e783db729bbd87e7b9efb7624" + integrity sha512-lRCEaKE+LTxDQtgbYajI04ddt6WW0WJq57xqkAZ+s11h4YgfRHhVA/Y2VhfPzzFD4qeLHWg32DMp9HooY4Kqlg== dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-numeric-separator@^7.2.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.2.0.tgz#7470fe070c2944469a756752a69a6963135018be" + integrity sha512-DroeVNkO/BnGpL2R7+ZNZqW+E24aR/4YWxP3Qb15d6lPU8KDzF8HlIUIRCOJRn4X77/oyW4mJY+7FHfY82NLtQ== dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-object-rest-spread@^7.2.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz#3b7a3e733510c57e820b9142a6579ac8b0dfad2e" + integrity sha512-t0JKGgqk2We+9may3t0xDdmneaXmyxq0xieYcKHxIsrJO64n1OiMWNUtc5gQK1PA0NpdCRrtZp4z+IUaKugrSA== dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-optional-catch-binding@^7.2.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.2.0.tgz#a94013d6eda8908dfe6a477e7f9eda85656ecf5c" + integrity sha512-bDe4xKNhb0LI7IvZHiA13kff0KEfaGX/Hv4lMA9+7TEc63hMNvfKo6ZFpXhKuEp+II/q35Gc4NoMeDZyaUbj9w== dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-optional-chaining@^7.2.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.2.0.tgz#a59d6ae8c167e7608eaa443fda9fa8fa6bf21dff" + integrity sha512-HtGCtvp5Uq/jH/WNUPkK6b7rufnCPLLlDAFN7cmACoIjaOOiXxUt3SswU5loHqrhtqTsa/WoLQ1OQ1AGuZqaWA== dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-pipeline-operator@^7.5.0": version "7.5.0" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-pipeline-operator/-/plugin-syntax-pipeline-operator-7.5.0.tgz#8ea7c2c22847c797748bf07752722a317079dc1e" + integrity sha512-5FVxPiMTMXWk4R7Kq9pt272nDu8VImJdaIzvXFSTcXFbgKWWaOdbic12TvUvl6cK+AE5EgnhwvxuWik4ZYYdzg== dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-throw-expressions@^7.2.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-throw-expressions/-/plugin-syntax-throw-expressions-7.2.0.tgz#79001ee2afe1b174b1733cdc2fc69c9a46a0f1f8" + integrity sha512-ngwynuqu1Rx0JUS9zxSDuPgW1K8TyVZCi2hHehrL4vyjqE7RGoNHWlZsS7KQT2vw9Yjk4YLa0+KldBXTRdPLRg== dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-transform-arrow-functions@^7.2.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz#9aeafbe4d6ffc6563bf8f8372091628f00779550" + integrity sha512-ER77Cax1+8/8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg== dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-async-to-generator@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.2.0.tgz#68b8a438663e88519e65b776f8938f3445b1a2ff" - dependencies: - "@babel/helper-module-imports" "^7.0.0" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-remap-async-to-generator" "^7.1.0" - "@babel/plugin-transform-async-to-generator@^7.5.0": version "7.5.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.5.0.tgz#89a3848a0166623b5bc481164b5936ab947e887e" + integrity sha512-mqvkzwIGkq0bEF1zLRRiTdjfomZJDV33AH3oQzHVGkI2VzEmXLpKKOBvEVaFZBJdN0XTyH38s9j/Kiqr68dggg== dependencies: "@babel/helper-module-imports" "^7.0.0" "@babel/helper-plugin-utils" "^7.0.0" @@ -607,98 +557,66 @@ "@babel/plugin-transform-block-scoped-functions@^7.2.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.2.0.tgz#5d3cc11e8d5ddd752aa64c9148d0db6cb79fd190" + integrity sha512-ntQPR6q1/NKuphly49+QiQiTN0O63uOwjdD6dhIjSWBI5xlrbUFh720TIpzBhpnrLfv2tNH/BXvLIab1+BAI0w== dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-block-scoping@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.2.0.tgz#f17c49d91eedbcdf5dd50597d16f5f2f770132d4" +"@babel/plugin-transform-block-scoping@^7.6.2": + version "7.6.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.6.2.tgz#96c33ab97a9ae500cc6f5b19e04a7e6553360a79" + integrity sha512-zZT8ivau9LOQQaOGC7bQLQOT4XPkPXgN2ERfUgk1X8ql+mVkLc4E8eKk+FO3o0154kxzqenWCorfmEXpEZcrSQ== dependencies: "@babel/helper-plugin-utils" "^7.0.0" - lodash "^4.17.10" + lodash "^4.17.13" -"@babel/plugin-transform-block-scoping@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.4.4.tgz#c13279fabf6b916661531841a23c4b7dae29646d" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - lodash "^4.17.11" - -"@babel/plugin-transform-classes@^7.2.0": - version "7.2.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.2.2.tgz#6c90542f210ee975aa2aa8c8b5af7fa73a126953" +"@babel/plugin-transform-classes@^7.5.5": + version "7.5.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.5.5.tgz#d094299d9bd680a14a2a0edae38305ad60fb4de9" + integrity sha512-U2htCNK/6e9K7jGyJ++1p5XRU+LJjrwtoiVn9SzRlDT2KubcZ11OOwy3s24TjHxPgxNwonCYP7U2K51uVYCMDg== dependencies: "@babel/helper-annotate-as-pure" "^7.0.0" - "@babel/helper-define-map" "^7.1.0" + "@babel/helper-define-map" "^7.5.5" "@babel/helper-function-name" "^7.1.0" "@babel/helper-optimise-call-expression" "^7.0.0" "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-replace-supers" "^7.1.0" - "@babel/helper-split-export-declaration" "^7.0.0" - globals "^11.1.0" - -"@babel/plugin-transform-classes@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.4.4.tgz#0ce4094cdafd709721076d3b9c38ad31ca715eb6" - dependencies: - "@babel/helper-annotate-as-pure" "^7.0.0" - "@babel/helper-define-map" "^7.4.4" - "@babel/helper-function-name" "^7.1.0" - "@babel/helper-optimise-call-expression" "^7.0.0" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-replace-supers" "^7.4.4" + "@babel/helper-replace-supers" "^7.5.5" "@babel/helper-split-export-declaration" "^7.4.4" globals "^11.1.0" "@babel/plugin-transform-computed-properties@^7.2.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.2.0.tgz#83a7df6a658865b1c8f641d510c6f3af220216da" + integrity sha512-kP/drqTxY6Xt3NNpKiMomfgkNn4o7+vKxK2DDKcBG9sHj51vHqMBGy8wbDS/J4lMxnqs153/T3+DmCEAkC5cpA== dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-destructuring@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.2.0.tgz#e75269b4b7889ec3a332cd0d0c8cff8fed0dc6f3" +"@babel/plugin-transform-destructuring@^7.6.0": + version "7.6.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.6.0.tgz#44bbe08b57f4480094d57d9ffbcd96d309075ba6" + integrity sha512-2bGIS5P1v4+sWTCnKNDZDxbGvEqi0ijeqM/YqHtVGrvG2y0ySgnEEhXErvE9dA0bnIzY9bIzdFK0jFA46ASIIQ== dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-destructuring@^7.5.0": - version "7.5.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.5.0.tgz#f6c09fdfe3f94516ff074fe877db7bc9ef05855a" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-dotall-regex@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.2.0.tgz#f0aabb93d120a8ac61e925ea0ba440812dbe0e49" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-regex" "^7.0.0" - regexpu-core "^4.1.3" - -"@babel/plugin-transform-dotall-regex@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.4.4.tgz#361a148bc951444312c69446d76ed1ea8e4450c3" +"@babel/plugin-transform-dotall-regex@^7.6.2": + version "7.6.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.6.2.tgz#44abb948b88f0199a627024e1508acaf8dc9b2f9" + integrity sha512-KGKT9aqKV+9YMZSkowzYoYEiHqgaDhGmPNZlZxX6UeHC4z30nC1J9IrZuGqbYFB1jaIGdv91ujpze0exiVK8bA== dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/helper-regex" "^7.4.4" - regexpu-core "^4.5.4" - -"@babel/plugin-transform-duplicate-keys@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.2.0.tgz#d952c4930f312a4dbfff18f0b2914e60c35530b3" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + regexpu-core "^4.6.0" "@babel/plugin-transform-duplicate-keys@^7.5.0": version "7.5.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.5.0.tgz#c5dbf5106bf84cdf691222c0974c12b1df931853" + integrity sha512-igcziksHizyQPlX9gfSjHkE2wmoCH3evvD2qR5w29/Dk0SMKE/eOI7f1HhBdNhR/zxJDqrgpoDTq5YSLH/XMsQ== dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-transform-exponentiation-operator@^7.2.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.2.0.tgz#a63868289e5b4007f7054d46491af51435766008" + integrity sha512-umh4hR6N7mu4Elq9GG8TOu9M0bakvlsREEC+ialrQN6ABS4oDQ69qJv1VtR3uxlKMCQMCvzk7vr17RHKcjx68A== dependencies: "@babel/helper-builder-binary-assignment-operator-visitor" "^7.1.0" "@babel/helper-plugin-utils" "^7.0.0" @@ -706,32 +624,22 @@ "@babel/plugin-transform-flow-strip-types@^7.0.0": version "7.4.4" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.4.4.tgz#d267a081f49a8705fc9146de0768c6b58dccd8f7" + integrity sha512-WyVedfeEIILYEaWGAUWzVNyqG4sfsNooMhXWsu/YzOvVGcsnPb5PguysjJqI3t3qiaYj0BR8T2f5njdjTGe44Q== dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-flow" "^7.2.0" -"@babel/plugin-transform-for-of@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.2.0.tgz#ab7468befa80f764bb03d3cb5eef8cc998e1cad9" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-transform-for-of@^7.4.4": version "7.4.4" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.4.4.tgz#0267fc735e24c808ba173866c6c4d1440fc3c556" + integrity sha512-9T/5Dlr14Z9TIEXLXkt8T1DU7F24cbhwhMNUziN3hB1AXoZcdzPcTiKGRn/6iOymDqtTKWnr/BtRKN9JwbKtdQ== dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-function-name@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.2.0.tgz#f7930362829ff99a3174c39f0afcc024ef59731a" - dependencies: - "@babel/helper-function-name" "^7.1.0" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-transform-function-name@^7.4.4": version "7.4.4" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.4.4.tgz#e1436116abb0610c2259094848754ac5230922ad" + integrity sha512-iU9pv7U+2jC9ANQkKeNF6DrPy4GBa4NWQtl6dHB4Pb3izX2JOEvDTFarlNsBj/63ZEzNNIAMs3Qw4fNCcSOXJA== dependencies: "@babel/helper-function-name" "^7.1.0" "@babel/helper-plugin-utils" "^7.0.0" @@ -739,57 +647,40 @@ "@babel/plugin-transform-literals@^7.2.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.2.0.tgz#690353e81f9267dad4fd8cfd77eafa86aba53ea1" + integrity sha512-2ThDhm4lI4oV7fVQ6pNNK+sx+c/GM5/SaML0w/r4ZB7sAneD/piDJtwdKlNckXeyGK7wlwg2E2w33C/Hh+VFCg== dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-transform-member-expression-literals@^7.2.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.2.0.tgz#fa10aa5c58a2cb6afcf2c9ffa8cb4d8b3d489a2d" + integrity sha512-HiU3zKkSU6scTidmnFJ0bMX8hz5ixC93b4MHMiYebmk2lUVNGOboPsqQvx5LzooihijUoLR/v7Nc1rbBtnc7FA== dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-modules-amd@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.2.0.tgz#82a9bce45b95441f617a24011dc89d12da7f4ee6" - dependencies: - "@babel/helper-module-transforms" "^7.1.0" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-transform-modules-amd@^7.5.0": version "7.5.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.5.0.tgz#ef00435d46da0a5961aa728a1d2ecff063e4fb91" + integrity sha512-n20UsQMKnWrltocZZm24cRURxQnWIvsABPJlw/fvoy9c6AgHZzoelAIzajDHAQrDpuKFFPPcFGd7ChsYuIUMpg== dependencies: "@babel/helper-module-transforms" "^7.1.0" "@babel/helper-plugin-utils" "^7.0.0" babel-plugin-dynamic-import-node "^2.3.0" -"@babel/plugin-transform-modules-commonjs@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.2.0.tgz#c4f1933f5991d5145e9cfad1dfd848ea1727f404" - dependencies: - "@babel/helper-module-transforms" "^7.1.0" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-simple-access" "^7.1.0" - -"@babel/plugin-transform-modules-commonjs@^7.5.0": - version "7.5.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.5.0.tgz#425127e6045231360858eeaa47a71d75eded7a74" +"@babel/plugin-transform-modules-commonjs@^7.6.0": + version "7.6.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.6.0.tgz#39dfe957de4420445f1fcf88b68a2e4aa4515486" + integrity sha512-Ma93Ix95PNSEngqomy5LSBMAQvYKVe3dy+JlVJSHEXZR5ASL9lQBedMiCyVtmTLraIDVRE3ZjTZvmXXD2Ozw3g== dependencies: "@babel/helper-module-transforms" "^7.4.4" "@babel/helper-plugin-utils" "^7.0.0" "@babel/helper-simple-access" "^7.1.0" babel-plugin-dynamic-import-node "^2.3.0" -"@babel/plugin-transform-modules-systemjs@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.2.0.tgz#912bfe9e5ff982924c81d0937c92d24994bb9068" - dependencies: - "@babel/helper-hoist-variables" "^7.0.0" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-transform-modules-systemjs@^7.5.0": version "7.5.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.5.0.tgz#e75266a13ef94202db2a0620977756f51d52d249" + integrity sha512-Q2m56tyoQWmuNGxEtUyeEkm6qJYFqs4c+XyXH5RAuYxObRNz9Zgj/1g2GMnjYp2EUyEy7YTrxliGCXzecl/vJg== dependencies: "@babel/helper-hoist-variables" "^7.4.4" "@babel/helper-plugin-utils" "^7.0.0" @@ -798,46 +689,37 @@ "@babel/plugin-transform-modules-umd@^7.2.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.2.0.tgz#7678ce75169f0877b8eb2235538c074268dd01ae" + integrity sha512-BV3bw6MyUH1iIsGhXlOK6sXhmSarZjtJ/vMiD9dNmpY8QXFFQTj+6v92pcfy1iqa8DeAfJFwoxcrS/TUZda6sw== dependencies: "@babel/helper-module-transforms" "^7.1.0" "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-named-capturing-groups-regex@^7.4.5": - version "7.4.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.4.5.tgz#9d269fd28a370258199b4294736813a60bbdd106" +"@babel/plugin-transform-named-capturing-groups-regex@^7.6.2": + version "7.6.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.6.2.tgz#c1ca0bb84b94f385ca302c3932e870b0fb0e522b" + integrity sha512-xBdB+XOs+lgbZc2/4F5BVDVcDNS4tcSKQc96KmlqLEAwz6tpYPEvPdmDfvVG0Ssn8lAhronaRs6Z6KSexIpK5g== dependencies: - regexp-tree "^0.1.6" - -"@babel/plugin-transform-new-target@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.0.0.tgz#ae8fbd89517fa7892d20e6564e641e8770c3aa4a" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + regexpu-core "^4.6.0" "@babel/plugin-transform-new-target@^7.4.4": version "7.4.4" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.4.4.tgz#18d120438b0cc9ee95a47f2c72bc9768fbed60a5" + integrity sha512-r1z3T2DNGQwwe2vPGZMBNjioT2scgWzK9BCnDEh+46z8EEwXBq24uRzd65I7pjtugzPSj921aM15RpESgzsSuA== dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-object-super@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.2.0.tgz#b35d4c10f56bab5d650047dad0f1d8e8814b6598" +"@babel/plugin-transform-object-super@^7.5.5": + version "7.5.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.5.5.tgz#c70021df834073c65eb613b8679cc4a381d1a9f9" + integrity sha512-un1zJQAhSosGFBduPgN/YFNvWVpRuHKU7IHBglLoLZsGmruJPOo6pbInneflUdmq7YvSVqhpPs5zdBvLnteltQ== dependencies: "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-replace-supers" "^7.1.0" - -"@babel/plugin-transform-parameters@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.2.0.tgz#0d5ad15dc805e2ea866df4dd6682bfe76d1408c2" - dependencies: - "@babel/helper-call-delegate" "^7.1.0" - "@babel/helper-get-function-arity" "^7.0.0" - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-replace-supers" "^7.5.5" "@babel/plugin-transform-parameters@^7.4.4": version "7.4.4" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.4.4.tgz#7556cf03f318bd2719fe4c922d2d808be5571e16" + integrity sha512-oMh5DUO1V63nZcu/ZVLQFqiihBGo4OpxJxR1otF50GMeCLiRx5nUdtokd+u9SuVJrvvuIh9OosRFPP4pIPnwmw== dependencies: "@babel/helper-call-delegate" "^7.4.4" "@babel/helper-get-function-arity" "^7.0.0" @@ -846,18 +728,21 @@ "@babel/plugin-transform-property-literals@^7.2.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.2.0.tgz#03e33f653f5b25c4eb572c98b9485055b389e905" + integrity sha512-9q7Dbk4RhgcLp8ebduOpCbtjh7C0itoLYHXd9ueASKAG/is5PQtMR5VJGka9NKqGhYEGn5ITahd4h9QeBMylWQ== dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-transform-react-display-name@^7.0.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.2.0.tgz#ebfaed87834ce8dc4279609a4f0c324c156e3eb0" + integrity sha512-Htf/tPa5haZvRMiNSQSFifK12gtr/8vwfr+A9y69uF0QcU77AVu4K7MiHEkTxF7lQoHOL0F9ErqgfNEAKgXj7A== dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-transform-react-jsx-self@^7.0.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.2.0.tgz#461e21ad9478f1031dd5e276108d027f1b5240ba" + integrity sha512-v6S5L/myicZEy+jr6ielB0OR8h+EH/1QFx/YJ7c7Ua+7lqsjj/vW6fD5FR9hB/6y7mGbfT4vAURn3xqBxsUcdg== dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-jsx" "^7.2.0" @@ -865,6 +750,7 @@ "@babel/plugin-transform-react-jsx-source@^7.0.0": version "7.5.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.5.0.tgz#583b10c49cf057e237085bcbd8cc960bd83bd96b" + integrity sha512-58Q+Jsy4IDCZx7kqEZuSDdam/1oW8OdDX8f+Loo6xyxdfg1yF0GE2XNJQSTZCaMol93+FBzpWiPEwtbMloAcPg== dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-jsx" "^7.2.0" @@ -872,58 +758,52 @@ "@babel/plugin-transform-react-jsx@^7.0.0": version "7.3.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.3.0.tgz#f2cab99026631c767e2745a5368b331cfe8f5290" + integrity sha512-a/+aRb7R06WcKvQLOu4/TpjKOdvVEKRLWFpKcNuHhiREPgGRB4TQJxq07+EZLS8LFVYpfq1a5lDUnuMdcCpBKg== dependencies: "@babel/helper-builder-react-jsx" "^7.3.0" "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-jsx" "^7.2.0" -"@babel/plugin-transform-regenerator@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.0.0.tgz#5b41686b4ed40bef874d7ed6a84bdd849c13e0c1" - dependencies: - regenerator-transform "^0.13.3" - "@babel/plugin-transform-regenerator@^7.4.5": version "7.4.5" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.4.5.tgz#629dc82512c55cee01341fb27bdfcb210354680f" + integrity sha512-gBKRh5qAaCWntnd09S8QC7r3auLCqq5DI6O0DlfoyDjslSBVqBibrMdsqO+Uhmx3+BlOmE/Kw1HFxmGbv0N9dA== dependencies: regenerator-transform "^0.14.0" "@babel/plugin-transform-reserved-words@^7.2.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.2.0.tgz#4792af87c998a49367597d07fedf02636d2e1634" + integrity sha512-fz43fqW8E1tAB3DKF19/vxbpib1fuyCwSPE418ge5ZxILnBhWyhtPgz8eh1RCGGJlwvksHkyxMxh0eenFi+kFw== dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-transform-shorthand-properties@^7.2.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.2.0.tgz#6333aee2f8d6ee7e28615457298934a3b46198f0" + integrity sha512-QP4eUM83ha9zmYtpbnyjTLAGKQritA5XW/iG9cjtuOI8s1RuL/3V6a3DeSHfKutJQ+ayUfeZJPcnCYEQzaPQqg== dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-spread@^7.2.0": - version "7.2.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.2.2.tgz#3103a9abe22f742b6d406ecd3cd49b774919b406" +"@babel/plugin-transform-spread@^7.6.2": + version "7.6.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.6.2.tgz#fc77cf798b24b10c46e1b51b1b88c2bf661bb8dd" + integrity sha512-DpSvPFryKdK1x+EDJYCy28nmAaIMdxmhot62jAXF/o99iA33Zj2Lmcp3vDmz+MUh0LNYVPvfj5iC3feb3/+PFg== dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-transform-sticky-regex@^7.2.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.2.0.tgz#a1e454b5995560a9c1e0d537dfc15061fd2687e1" + integrity sha512-KKYCoGaRAf+ckH8gEL3JHUaFVyNHKe3ASNsZ+AlktgHevvxGigoIttrEJb8iKN03Q7Eazlv1s6cx2B2cQ3Jabw== dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/helper-regex" "^7.0.0" -"@babel/plugin-transform-template-literals@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.2.0.tgz#d87ed01b8eaac7a92473f608c97c089de2ba1e5b" - dependencies: - "@babel/helper-annotate-as-pure" "^7.0.0" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-transform-template-literals@^7.4.4": version "7.4.4" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.4.4.tgz#9d28fea7bbce637fb7612a0750989d8321d4bcb0" + integrity sha512-mQrEC4TWkhLN0z8ygIvEL9ZEToPhG5K7KDW3pzGqOfIGZ28Jb0POUkeWcoz8HnHvhFy6dwAT1j8OzqN8s804+g== dependencies: "@babel/helper-annotate-as-pure" "^7.0.0" "@babel/helper-plugin-utils" "^7.0.0" @@ -931,37 +811,32 @@ "@babel/plugin-transform-typeof-symbol@^7.2.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.2.0.tgz#117d2bcec2fbf64b4b59d1f9819894682d29f2b2" + integrity sha512-2LNhETWYxiYysBtrBTqL8+La0jIoQQnIScUJc74OYvUGRmkskNY4EzLCnjHBzdmb38wqtTaixpo1NctEcvMDZw== dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-unicode-regex@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.2.0.tgz#4eb8db16f972f8abb5062c161b8b115546ade08b" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-regex" "^7.0.0" - regexpu-core "^4.1.3" - -"@babel/plugin-transform-unicode-regex@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.4.4.tgz#ab4634bb4f14d36728bf5978322b35587787970f" +"@babel/plugin-transform-unicode-regex@^7.6.2": + version "7.6.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.6.2.tgz#b692aad888a7e8d8b1b214be6b9dc03d5031f698" + integrity sha512-orZI6cWlR3nk2YmYdb0gImrgCUwb5cBUwjf6Ks6dvNVvXERkwtJWOQaEOjPiu0Gu1Tq6Yq/hruCZZOOi9F34Dw== dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/helper-regex" "^7.4.4" - regexpu-core "^4.5.4" + regexpu-core "^4.6.0" -"@babel/preset-env@^7.1.0": - version "7.5.4" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.5.4.tgz#64bc15041a3cbb0798930319917e70fcca57713d" +"@babel/preset-env@^7.1.0", "@babel/preset-env@^7.2.0": + version "7.6.2" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.6.2.tgz#abbb3ed785c7fe4220d4c82a53621d71fc0c75d3" + integrity sha512-Ru7+mfzy9M1/YTEtlDS8CD45jd22ngb9tXnn64DvQK3ooyqSw9K4K9DUWmYknTTVk4TqygL9dqCrZgm1HMea/Q== dependencies: "@babel/helper-module-imports" "^7.0.0" "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-proposal-async-generator-functions" "^7.2.0" "@babel/plugin-proposal-dynamic-import" "^7.5.0" "@babel/plugin-proposal-json-strings" "^7.2.0" - "@babel/plugin-proposal-object-rest-spread" "^7.5.4" + "@babel/plugin-proposal-object-rest-spread" "^7.6.2" "@babel/plugin-proposal-optional-catch-binding" "^7.2.0" - "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" + "@babel/plugin-proposal-unicode-property-regex" "^7.6.2" "@babel/plugin-syntax-async-generators" "^7.2.0" "@babel/plugin-syntax-dynamic-import" "^7.2.0" "@babel/plugin-syntax-json-strings" "^7.2.0" @@ -970,11 +845,11 @@ "@babel/plugin-transform-arrow-functions" "^7.2.0" "@babel/plugin-transform-async-to-generator" "^7.5.0" "@babel/plugin-transform-block-scoped-functions" "^7.2.0" - "@babel/plugin-transform-block-scoping" "^7.4.4" - "@babel/plugin-transform-classes" "^7.4.4" + "@babel/plugin-transform-block-scoping" "^7.6.2" + "@babel/plugin-transform-classes" "^7.5.5" "@babel/plugin-transform-computed-properties" "^7.2.0" - "@babel/plugin-transform-destructuring" "^7.5.0" - "@babel/plugin-transform-dotall-regex" "^7.4.4" + "@babel/plugin-transform-destructuring" "^7.6.0" + "@babel/plugin-transform-dotall-regex" "^7.6.2" "@babel/plugin-transform-duplicate-keys" "^7.5.0" "@babel/plugin-transform-exponentiation-operator" "^7.2.0" "@babel/plugin-transform-for-of" "^7.4.4" @@ -982,78 +857,33 @@ "@babel/plugin-transform-literals" "^7.2.0" "@babel/plugin-transform-member-expression-literals" "^7.2.0" "@babel/plugin-transform-modules-amd" "^7.5.0" - "@babel/plugin-transform-modules-commonjs" "^7.5.0" + "@babel/plugin-transform-modules-commonjs" "^7.6.0" "@babel/plugin-transform-modules-systemjs" "^7.5.0" "@babel/plugin-transform-modules-umd" "^7.2.0" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.4.5" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.6.2" "@babel/plugin-transform-new-target" "^7.4.4" - "@babel/plugin-transform-object-super" "^7.2.0" + "@babel/plugin-transform-object-super" "^7.5.5" "@babel/plugin-transform-parameters" "^7.4.4" "@babel/plugin-transform-property-literals" "^7.2.0" "@babel/plugin-transform-regenerator" "^7.4.5" "@babel/plugin-transform-reserved-words" "^7.2.0" "@babel/plugin-transform-shorthand-properties" "^7.2.0" - "@babel/plugin-transform-spread" "^7.2.0" + "@babel/plugin-transform-spread" "^7.6.2" "@babel/plugin-transform-sticky-regex" "^7.2.0" "@babel/plugin-transform-template-literals" "^7.4.4" "@babel/plugin-transform-typeof-symbol" "^7.2.0" - "@babel/plugin-transform-unicode-regex" "^7.4.4" - "@babel/types" "^7.5.0" + "@babel/plugin-transform-unicode-regex" "^7.6.2" + "@babel/types" "^7.6.0" browserslist "^4.6.0" core-js-compat "^3.1.1" invariant "^2.2.2" js-levenshtein "^1.1.3" semver "^5.5.0" -"@babel/preset-env@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.2.0.tgz#a5030e7e4306af5a295dd5d7c78dc5464af3fee2" - dependencies: - "@babel/helper-module-imports" "^7.0.0" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-proposal-async-generator-functions" "^7.2.0" - "@babel/plugin-proposal-json-strings" "^7.2.0" - "@babel/plugin-proposal-object-rest-spread" "^7.2.0" - "@babel/plugin-proposal-optional-catch-binding" "^7.2.0" - "@babel/plugin-proposal-unicode-property-regex" "^7.2.0" - "@babel/plugin-syntax-async-generators" "^7.2.0" - "@babel/plugin-syntax-object-rest-spread" "^7.2.0" - "@babel/plugin-syntax-optional-catch-binding" "^7.2.0" - "@babel/plugin-transform-arrow-functions" "^7.2.0" - "@babel/plugin-transform-async-to-generator" "^7.2.0" - "@babel/plugin-transform-block-scoped-functions" "^7.2.0" - "@babel/plugin-transform-block-scoping" "^7.2.0" - "@babel/plugin-transform-classes" "^7.2.0" - "@babel/plugin-transform-computed-properties" "^7.2.0" - "@babel/plugin-transform-destructuring" "^7.2.0" - "@babel/plugin-transform-dotall-regex" "^7.2.0" - "@babel/plugin-transform-duplicate-keys" "^7.2.0" - "@babel/plugin-transform-exponentiation-operator" "^7.2.0" - "@babel/plugin-transform-for-of" "^7.2.0" - "@babel/plugin-transform-function-name" "^7.2.0" - "@babel/plugin-transform-literals" "^7.2.0" - "@babel/plugin-transform-modules-amd" "^7.2.0" - "@babel/plugin-transform-modules-commonjs" "^7.2.0" - "@babel/plugin-transform-modules-systemjs" "^7.2.0" - "@babel/plugin-transform-modules-umd" "^7.2.0" - "@babel/plugin-transform-new-target" "^7.0.0" - "@babel/plugin-transform-object-super" "^7.2.0" - "@babel/plugin-transform-parameters" "^7.2.0" - "@babel/plugin-transform-regenerator" "^7.0.0" - "@babel/plugin-transform-shorthand-properties" "^7.2.0" - "@babel/plugin-transform-spread" "^7.2.0" - "@babel/plugin-transform-sticky-regex" "^7.2.0" - "@babel/plugin-transform-template-literals" "^7.2.0" - "@babel/plugin-transform-typeof-symbol" "^7.2.0" - "@babel/plugin-transform-unicode-regex" "^7.2.0" - browserslist "^4.3.4" - invariant "^2.2.2" - js-levenshtein "^1.1.3" - semver "^5.3.0" - "@babel/preset-flow@^7.0.0": version "7.0.0" resolved "https://registry.yarnpkg.com/@babel/preset-flow/-/preset-flow-7.0.0.tgz#afd764835d9535ec63d8c7d4caf1c06457263da2" + integrity sha512-bJOHrYOPqJZCkPVbG1Lot2r5OSsB+iUOaxiHdlOeB1yPWS6evswVHwvkDLZ54WTaTRIk89ds0iHmGZSnxlPejQ== dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-transform-flow-strip-types" "^7.0.0" @@ -1061,6 +891,7 @@ "@babel/preset-react@^7.0.0": version "7.0.0" resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.0.0.tgz#e86b4b3d99433c7b3e9e91747e2653958bc6b3c0" + integrity sha512-oayxyPS4Zj+hF6Et11BwuBkmpgT/zMxyuZgFrMeZID6Hdh3dGlk4sHCAhdBCpuCKW2ppBfl2uCCetlrUIJRY3w== dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-transform-react-display-name" "^7.0.0" @@ -1071,86 +902,61 @@ "@babel/preset-stage-0@^7.0.0": version "7.0.0" resolved "https://registry.yarnpkg.com/@babel/preset-stage-0/-/preset-stage-0-7.0.0.tgz#999aaec79ee8f0a763042c68c06539c97c6e0646" + integrity sha512-FBMd0IiARPtH5aaOFUVki6evHiJQiY0pFy7fizyRF7dtwc+el3nwpzvhb9qBNzceG1OIJModG1xpE0DDFjPXwA== "@babel/register@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.0.0.tgz#fa634bae1bfa429f60615b754fc1f1d745edd827" + version "7.6.2" + resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.6.2.tgz#25765a922202cb06f8bdac5a3b1e70cd6bf3dd45" + integrity sha512-xgZk2LRZvt6i2SAUWxc7ellk4+OYRgS3Zpsnr13nMS1Qo25w21Uu8o6vTOAqNaxiqrnv30KTYzh9YWY2k21CeQ== dependencies: - core-js "^2.5.7" - find-cache-dir "^1.0.0" - home-or-tmp "^3.0.0" - lodash "^4.17.10" + find-cache-dir "^2.0.0" + lodash "^4.17.13" mkdirp "^0.5.1" pirates "^4.0.0" source-map-support "^0.5.9" -"@babel/template@^7.1.0", "@babel/template@^7.1.2", "@babel/template@^7.2.2": - version "7.2.2" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.2.2.tgz#005b3fdf0ed96e88041330379e0da9a708eb2907" +"@babel/template@^7.1.0", "@babel/template@^7.4.4", "@babel/template@^7.6.0": + version "7.6.0" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.6.0.tgz#7f0159c7f5012230dad64cca42ec9bdb5c9536e6" + integrity sha512-5AEH2EXD8euCk446b7edmgFdub/qfH1SN6Nii3+fyXP807QRx9Q73A2N5hNwRRslC2H9sNzaFhsPubkS4L8oNQ== dependencies: "@babel/code-frame" "^7.0.0" - "@babel/parser" "^7.2.2" - "@babel/types" "^7.2.2" + "@babel/parser" "^7.6.0" + "@babel/types" "^7.6.0" -"@babel/template@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.4.4.tgz#f4b88d1225689a08f5bc3a17483545be9e4ed237" +"@babel/traverse@^7.1.0", "@babel/traverse@^7.1.4", "@babel/traverse@^7.4.4", "@babel/traverse@^7.5.5", "@babel/traverse@^7.6.2": + version "7.6.2" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.6.2.tgz#b0e2bfd401d339ce0e6c05690206d1e11502ce2c" + integrity sha512-8fRE76xNwNttVEF2TwxJDGBLWthUkHWSldmfuBzVRmEDWOtu4XdINTgN7TDWzuLg4bbeIMLvfMFD9we5YcWkRQ== dependencies: - "@babel/code-frame" "^7.0.0" - "@babel/parser" "^7.4.4" - "@babel/types" "^7.4.4" - -"@babel/traverse@^7.1.0", "@babel/traverse@^7.1.5", "@babel/traverse@^7.2.2": - version "7.2.2" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.2.2.tgz#961039de1f9bcb946d807efe2dba9c92e859d188" - dependencies: - "@babel/code-frame" "^7.0.0" - "@babel/generator" "^7.2.2" - "@babel/helper-function-name" "^7.1.0" - "@babel/helper-split-export-declaration" "^7.0.0" - "@babel/parser" "^7.2.2" - "@babel/types" "^7.2.2" - debug "^4.1.0" - globals "^11.1.0" - lodash "^4.17.10" - -"@babel/traverse@^7.1.4", "@babel/traverse@^7.4.4", "@babel/traverse@^7.5.0": - version "7.5.0" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.5.0.tgz#4216d6586854ef5c3c4592dab56ec7eb78485485" - dependencies: - "@babel/code-frame" "^7.0.0" - "@babel/generator" "^7.5.0" + "@babel/code-frame" "^7.5.5" + "@babel/generator" "^7.6.2" "@babel/helper-function-name" "^7.1.0" "@babel/helper-split-export-declaration" "^7.4.4" - "@babel/parser" "^7.5.0" - "@babel/types" "^7.5.0" + "@babel/parser" "^7.6.2" + "@babel/types" "^7.6.0" debug "^4.1.0" globals "^11.1.0" - lodash "^4.17.11" + lodash "^4.17.13" -"@babel/types@^7.0.0", "@babel/types@^7.2.0", "@babel/types@^7.2.2": - version "7.2.2" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.2.2.tgz#44e10fc24e33af524488b716cdaee5360ea8ed1e" +"@babel/types@^7.0.0", "@babel/types@^7.1.3", "@babel/types@^7.2.0", "@babel/types@^7.3.0", "@babel/types@^7.4.4", "@babel/types@^7.5.5", "@babel/types@^7.6.0": + version "7.6.1" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.6.1.tgz#53abf3308add3ac2a2884d539151c57c4b3ac648" + integrity sha512-X7gdiuaCmA0uRjCmRtYJNAVCc/q+5xSgsfKJHqMN4iNLILX39677fJE1O40arPMh0TTtS9ItH67yre6c7k6t0g== dependencies: esutils "^2.0.2" - lodash "^4.17.10" - to-fast-properties "^2.0.0" - -"@babel/types@^7.1.3", "@babel/types@^7.3.0", "@babel/types@^7.4.4", "@babel/types@^7.5.0": - version "7.5.0" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.5.0.tgz#e47d43840c2e7f9105bc4d3a2c371b4d0c7832ab" - dependencies: - esutils "^2.0.2" - lodash "^4.17.11" + lodash "^4.17.13" to-fast-properties "^2.0.0" "@braintree/sanitize-url@^3.1.0": version "3.1.0" resolved "https://registry.yarnpkg.com/@braintree/sanitize-url/-/sanitize-url-3.1.0.tgz#8ff71d51053cd5ee4981e5a501d80a536244f7fd" + integrity sha512-GcIY79elgB+azP74j8vqkiXz8xLFfIzbQJdlwOPisgbKT00tviJQuEghOXSMVxJ00HoYJbGswr4kcllUc4xCcg== "@cypress/listr-verbose-renderer@0.4.1": version "0.4.1" resolved "https://registry.yarnpkg.com/@cypress/listr-verbose-renderer/-/listr-verbose-renderer-0.4.1.tgz#a77492f4b11dcc7c446a34b3e28721afd33c642a" + integrity sha1-p3SS9LEdzHxEajSz4ochr9M8ZCo= dependencies: chalk "^1.1.3" cli-cursor "^1.0.2" @@ -1160,25 +966,30 @@ "@cypress/xvfb@1.2.4": version "1.2.4" resolved "https://registry.yarnpkg.com/@cypress/xvfb/-/xvfb-1.2.4.tgz#2daf42e8275b39f4aa53c14214e557bd14e7748a" + integrity sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q== dependencies: debug "^3.1.0" lodash.once "^4.1.1" "@hapi/address@2.x.x": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@hapi/address/-/address-2.1.1.tgz#61395b5ed94c4cb19c2dc4c85969cff3d40d583f" + version "2.1.2" + resolved "https://registry.yarnpkg.com/@hapi/address/-/address-2.1.2.tgz#1c794cd6dbf2354d1eb1ef10e0303f573e1c7222" + integrity sha512-O4QDrx+JoGKZc6aN64L04vqa7e41tIiLU+OvKdcYaEMP97UttL0f9GIi9/0A4WAMx0uBd6SidDIhktZhgOcN8Q== "@hapi/bourne@1.x.x": version "1.3.2" resolved "https://registry.yarnpkg.com/@hapi/bourne/-/bourne-1.3.2.tgz#0a7095adea067243ce3283e1b56b8a8f453b242a" + integrity sha512-1dVNHT76Uu5N3eJNTYcvxee+jzX4Z9lfciqRRHCU27ihbUcYi+iSc2iml5Ke1LXe1SyJCLA0+14Jh4tXJgOppA== "@hapi/hoek@8.x.x": - version "8.2.4" - resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-8.2.4.tgz#684a14f4ca35d46f44abc87dfc696e5e4fe8a020" + version "8.3.0" + resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-8.3.0.tgz#2b9db1cd00f3891005c77b3a8d608b88a6d0aa4d" + integrity sha512-C0QL9bmgUXTSuf8nDeGrpMjtJG7tPUr8wG6/wxPbP62tGwCwQtdMSJYfESowmY4P3Hn593f+8OzNY5bckcu/LQ== "@hapi/joi@^15.0.3": version "15.1.1" resolved "https://registry.yarnpkg.com/@hapi/joi/-/joi-15.1.1.tgz#c675b8a71296f02833f8d6d243b34c57b8ce19d7" + integrity sha512-entf8ZMOK8sc+8YfeOlM8pCfg3b5+WZIKBfUaaJT8UsjAAPjartzxIYm3TIbjvA4u+u++KbcXD38k682nVHDAQ== dependencies: "@hapi/address" "2.x.x" "@hapi/bourne" "1.x.x" @@ -1186,32 +997,37 @@ "@hapi/topo" "3.x.x" "@hapi/topo@3.x.x": - version "3.1.3" - resolved "https://registry.yarnpkg.com/@hapi/topo/-/topo-3.1.3.tgz#c7a02e0d936596d29f184e6d7fdc07e8b5efce11" + version "3.1.5" + resolved "https://registry.yarnpkg.com/@hapi/topo/-/topo-3.1.5.tgz#3baea17e456530edad69a75c3fc7cde97dd6d331" + integrity sha512-bi9m1jrui9LlvtVdLaHv0DqeOoe+I8dep+nEcTgW6XxJHL3xArQcilYz3tIp0cRC4gWlsVtABK7vNKg4jzEmAA== dependencies: "@hapi/hoek" "8.x.x" -"@nodelib/fs.scandir@2.1.2": - version "2.1.2" - resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.2.tgz#1f981cd5b83e85cfdeb386fc693d4baab392fa54" +"@nodelib/fs.scandir@2.1.3": + version "2.1.3" + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz#3a582bdb53804c6ba6d146579c46e52130cf4a3b" + integrity sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw== dependencies: - "@nodelib/fs.stat" "2.0.2" + "@nodelib/fs.stat" "2.0.3" run-parallel "^1.1.9" -"@nodelib/fs.stat@2.0.2", "@nodelib/fs.stat@^2.0.1": - version "2.0.2" - resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.2.tgz#2762aea8fe78ea256860182dcb52d61ee4b8fda6" +"@nodelib/fs.stat@2.0.3", "@nodelib/fs.stat@^2.0.2": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz#34dc5f4cabbc720f4e60f75a747e7ecd6c175bd3" + integrity sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA== -"@nodelib/fs.walk@^1.2.1": - version "1.2.3" - resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.3.tgz#a555dc256acaf00c62b0db29529028dd4d4cb141" +"@nodelib/fs.walk@^1.2.3": + version "1.2.4" + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz#011b9202a70a6366e436ca5c065844528ab04976" + integrity sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ== dependencies: - "@nodelib/fs.scandir" "2.1.2" + "@nodelib/fs.scandir" "2.1.3" fastq "^1.6.0" "@oclif/color@^0.0.0": version "0.0.0" resolved "https://registry.yarnpkg.com/@oclif/color/-/color-0.0.0.tgz#54939bbd16d1387511bf1a48ccda1a417248e6a9" + integrity sha512-KKd3W7eNwfNF061tr663oUNdt8EMnfuyf5Xv55SGWA1a0rjhWqS/32P7OeB7CbXcJUBdfVrPyR//1afaW12AWw== dependencies: ansi-styles "^3.2.1" supports-color "^5.4.0" @@ -1220,6 +1036,7 @@ "@oclif/command@1.5.16": version "1.5.16" resolved "https://registry.yarnpkg.com/@oclif/command/-/command-1.5.16.tgz#88b578d37e981034303effbcbdd73c332a6f5543" + integrity sha512-bzqNz9/EblkohokXbico/14r05oRe8aa06S3MLEo4GlmyOce2abIOx1oZfUDl8ekQuKO+Ycw9Jco+hN2aL423A== dependencies: "@oclif/errors" "^1.2.2" "@oclif/parser" "^3.7.3" @@ -1229,6 +1046,7 @@ "@oclif/command@^1.5.13", "@oclif/command@^1.5.3": version "1.5.19" resolved "https://registry.yarnpkg.com/@oclif/command/-/command-1.5.19.tgz#13f472450eb83bd6c6871a164c03eadb5e1a07ed" + integrity sha512-6+iaCMh/JXJaB2QWikqvGE9//wLEVYYwZd5sud8aLoLKog1Q75naZh2vlGVtg5Mq/NqpqGQvdIjJb3Bm+64AUQ== dependencies: "@oclif/config" "^1" "@oclif/errors" "^1.2.2" @@ -1240,6 +1058,7 @@ "@oclif/config@^1": version "1.13.3" resolved "https://registry.yarnpkg.com/@oclif/config/-/config-1.13.3.tgz#1b13e18d0e4242ddbd9cbd100f0eec819aa2bf8c" + integrity sha512-qs5XvGRw+1M41abOKCjd0uoeHCgsMxa2MurD2g2K8CtQlzlMXl0rW5idVeimIg5208LLuxkfzQo8TKAhhRCWLg== dependencies: "@oclif/parser" "^3.8.0" debug "^4.1.1" @@ -1248,6 +1067,7 @@ "@oclif/errors@^1.2.2": version "1.2.2" resolved "https://registry.yarnpkg.com/@oclif/errors/-/errors-1.2.2.tgz#9d8f269b15f13d70aa93316fed7bebc24688edc2" + integrity sha512-Eq8BFuJUQcbAPVofDxwdE0bL14inIiwt5EaKRVY9ZDIG11jwdXZqiQEECJx0VfnLyUZdYfRd/znDI/MytdJoKg== dependencies: clean-stack "^1.3.0" fs-extra "^7.0.0" @@ -1258,10 +1078,12 @@ "@oclif/linewrap@^1.0.0": version "1.0.0" resolved "https://registry.yarnpkg.com/@oclif/linewrap/-/linewrap-1.0.0.tgz#aedcb64b479d4db7be24196384897b5000901d91" + integrity sha512-Ups2dShK52xXa8w6iBWLgcjPJWjais6KPJQq3gQ/88AY6BXoTX+MIGFPrWQO1KLMiQfoTpcLnUwloN4brrVUHw== "@oclif/parser@^3.7.3", "@oclif/parser@^3.8.0", "@oclif/parser@^3.8.3": version "3.8.4" resolved "https://registry.yarnpkg.com/@oclif/parser/-/parser-3.8.4.tgz#1a90fc770a42792e574fb896325618aebbe8c9e4" + integrity sha512-cyP1at3l42kQHZtqDS3KfTeyMvxITGwXwH1qk9ktBYvqgMp5h4vHT+cOD74ld3RqJUOZY/+Zi9lb4Tbza3BtuA== dependencies: "@oclif/linewrap" "^1.0.0" chalk "^2.4.2" @@ -1270,6 +1092,7 @@ "@oclif/plugin-help@^2": version "2.2.1" resolved "https://registry.yarnpkg.com/@oclif/plugin-help/-/plugin-help-2.2.1.tgz#cb4d23e453b19340b07c48fb299948b7c74366d3" + integrity sha512-psEA3t41MSGBErLk6xCaAq2jKrRtx3Br+kHpd43vZeGEeZ7Gos4wgK0JAaHBbvhvUQskCHg8dzoqv4XEeTWeVQ== dependencies: "@oclif/command" "^1.5.13" chalk "^2.4.1" @@ -1283,6 +1106,7 @@ "@oclif/plugin-not-found@^1.2": version "1.2.3" resolved "https://registry.yarnpkg.com/@oclif/plugin-not-found/-/plugin-not-found-1.2.3.tgz#00f9e7a0a793a5e2f616d8280075f4592de8f079" + integrity sha512-Igbw2T4gLrb/f28Llr730FeMXBSI2PXdky2YvQfsZeQGDsyBZmC4gprJJtmrMWQcjz0B51IInRBnZYERvwfIpw== dependencies: "@oclif/color" "^0.0.0" "@oclif/command" "^1.5.3" @@ -1293,10 +1117,12 @@ "@oclif/screen@^1.0.3": version "1.0.4" resolved "https://registry.yarnpkg.com/@oclif/screen/-/screen-1.0.4.tgz#b740f68609dfae8aa71c3a6cab15d816407ba493" + integrity sha512-60CHpq+eqnTxLZQ4PGHYNwUX572hgpMHGPtTWMjdTMsAvlm69lZV/4ly6O3sAYkomo4NggGcomrDpBe34rxUqw== "@percy/agent@~0": - version "0.11.0" - resolved "https://registry.yarnpkg.com/@percy/agent/-/agent-0.11.0.tgz#70fa19c2649298ac318fce181713e366d5f687e0" + version "0.18.3" + resolved "https://registry.yarnpkg.com/@percy/agent/-/agent-0.18.3.tgz#9379bc5731039ad1bd666148d574bd10d89aeeff" + integrity sha512-nlh/ZDPGLOpInEZOaIVcTbjA0BioQeLSvh+6BH4vE5UwS/OvlcXzJYIFG4C8ZI2lwGtmuOeA6avxP1IeATailg== dependencies: "@oclif/command" "1.5.16" "@oclif/config" "^1" @@ -1306,31 +1132,37 @@ body-parser "^1.18.3" colors "^1.3.2" cors "^2.8.4" + cosmiconfig "^5.2.1" cross-spawn "^6.0.5" deepmerge "^4.0.0" express "^4.16.3" + follow-redirects "^1.9.0" generic-pool "^3.7.1" globby "^10.0.1" + image-size "^0.8.2" js-yaml "^3.13.1" - percy-client "^3.0.3" + percy-client "^3.1.0" puppeteer "^1.13.0" retry-axios "^1.0.1" - winston "^2.0.0" + winston "^3.0.0" "@percy/cypress@^2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@percy/cypress/-/cypress-2.0.1.tgz#65b2277d26d2ee6195af80a6d18b046fce60accd" + version "2.1.1" + resolved "https://registry.yarnpkg.com/@percy/cypress/-/cypress-2.1.1.tgz#c52973bf2c62340c084899989fbb83744e04d069" + integrity sha512-5e5N5HuStZDwcxBcGC9zL9m8vc1qP++hY5oMBW1jjjMpboYj3QIkUN8WP3RRXXMcK17tWJleOKJOvQKmyr4RNA== dependencies: "@percy/agent" "~0" axios "^0.19.0" "@types/events@*": version "3.0.0" - resolved "https://registry.yarnpkg.com/@types%2fevents/-/events-3.0.0.tgz#2862f3f58a9a7f7c3e78d79f130dd4d71c25c2a7" + resolved "https://registry.yarnpkg.com/@types/events/-/events-3.0.0.tgz#2862f3f58a9a7f7c3e78d79f130dd4d71c25c2a7" + integrity sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g== "@types/glob@^7.1.1": version "7.1.1" - resolved "https://registry.yarnpkg.com/@types%2fglob/-/glob-7.1.1.tgz#aa59a1c6e3fbc421e07ccd31a944c30eba521575" + resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.1.tgz#aa59a1c6e3fbc421e07ccd31a944c30eba521575" + integrity sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w== dependencies: "@types/events" "*" "@types/minimatch" "*" @@ -1338,156 +1170,184 @@ "@types/minimatch@*": version "3.0.3" - resolved "https://registry.yarnpkg.com/@types%2fminimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d" + resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d" + integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA== "@types/node@*": - version "12.0.4" - resolved "https://registry.yarnpkg.com/@types%2fnode/-/node-12.0.4.tgz#46832183115c904410c275e34cf9403992999c32" + version "12.7.11" + resolved "https://registry.yarnpkg.com/@types/node/-/node-12.7.11.tgz#be879b52031cfb5d295b047f5462d8ef1a716446" + integrity sha512-Otxmr2rrZLKRYIybtdG/sgeO+tHY20GxeDjcGmUnmmlCWyEnv2a2x1ZXBo3BTec4OiTXMQCiazB8NMBf0iRlFw== "@types/unist@^2.0.0", "@types/unist@^2.0.2": version "2.0.3" resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.3.tgz#9c088679876f374eb5983f150d4787aa6fb32d7e" + integrity sha512-FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ== -"@webassemblyjs/ast@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.7.11.tgz#b988582cafbb2b095e8b556526f30c90d057cace" +"@webassemblyjs/ast@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.8.5.tgz#51b1c5fe6576a34953bf4b253df9f0d490d9e359" + integrity sha512-aJMfngIZ65+t71C3y2nBBg5FFG0Okt9m0XEgWZ7Ywgn1oMAT8cNwx00Uv1cQyHtidq0Xn94R4TAywO+LCQ+ZAQ== dependencies: - "@webassemblyjs/helper-module-context" "1.7.11" - "@webassemblyjs/helper-wasm-bytecode" "1.7.11" - "@webassemblyjs/wast-parser" "1.7.11" + "@webassemblyjs/helper-module-context" "1.8.5" + "@webassemblyjs/helper-wasm-bytecode" "1.8.5" + "@webassemblyjs/wast-parser" "1.8.5" -"@webassemblyjs/floating-point-hex-parser@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.7.11.tgz#a69f0af6502eb9a3c045555b1a6129d3d3f2e313" +"@webassemblyjs/floating-point-hex-parser@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.8.5.tgz#1ba926a2923613edce496fd5b02e8ce8a5f49721" + integrity sha512-9p+79WHru1oqBh9ewP9zW95E3XAo+90oth7S5Re3eQnECGq59ly1Ri5tsIipKGpiStHsUYmY3zMLqtk3gTcOtQ== -"@webassemblyjs/helper-api-error@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.7.11.tgz#c7b6bb8105f84039511a2b39ce494f193818a32a" +"@webassemblyjs/helper-api-error@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.8.5.tgz#c49dad22f645227c5edb610bdb9697f1aab721f7" + integrity sha512-Za/tnzsvnqdaSPOUXHyKJ2XI7PDX64kWtURyGiJJZKVEdFOsdKUCPTNEVFZq3zJ2R0G5wc2PZ5gvdTRFgm81zA== -"@webassemblyjs/helper-buffer@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.7.11.tgz#3122d48dcc6c9456ed982debe16c8f37101df39b" +"@webassemblyjs/helper-buffer@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.8.5.tgz#fea93e429863dd5e4338555f42292385a653f204" + integrity sha512-Ri2R8nOS0U6G49Q86goFIPNgjyl6+oE1abW1pS84BuhP1Qcr5JqMwRFT3Ah3ADDDYGEgGs1iyb1DGX+kAi/c/Q== -"@webassemblyjs/helper-code-frame@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.7.11.tgz#cf8f106e746662a0da29bdef635fcd3d1248364b" +"@webassemblyjs/helper-code-frame@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.8.5.tgz#9a740ff48e3faa3022b1dff54423df9aa293c25e" + integrity sha512-VQAadSubZIhNpH46IR3yWO4kZZjMxN1opDrzePLdVKAZ+DFjkGD/rf4v1jap744uPVU6yjL/smZbRIIJTOUnKQ== dependencies: - "@webassemblyjs/wast-printer" "1.7.11" + "@webassemblyjs/wast-printer" "1.8.5" -"@webassemblyjs/helper-fsm@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.7.11.tgz#df38882a624080d03f7503f93e3f17ac5ac01181" +"@webassemblyjs/helper-fsm@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.8.5.tgz#ba0b7d3b3f7e4733da6059c9332275d860702452" + integrity sha512-kRuX/saORcg8se/ft6Q2UbRpZwP4y7YrWsLXPbbmtepKr22i8Z4O3V5QE9DbZK908dh5Xya4Un57SDIKwB9eow== -"@webassemblyjs/helper-module-context@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.7.11.tgz#d874d722e51e62ac202476935d649c802fa0e209" - -"@webassemblyjs/helper-wasm-bytecode@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.7.11.tgz#dd9a1e817f1c2eb105b4cf1013093cb9f3c9cb06" - -"@webassemblyjs/helper-wasm-section@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.7.11.tgz#9c9ac41ecf9fbcfffc96f6d2675e2de33811e68a" +"@webassemblyjs/helper-module-context@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.8.5.tgz#def4b9927b0101dc8cbbd8d1edb5b7b9c82eb245" + integrity sha512-/O1B236mN7UNEU4t9X7Pj38i4VoU8CcMHyy3l2cV/kIF4U5KoHXDVqcDuOs1ltkac90IM4vZdHc52t1x8Yfs3g== dependencies: - "@webassemblyjs/ast" "1.7.11" - "@webassemblyjs/helper-buffer" "1.7.11" - "@webassemblyjs/helper-wasm-bytecode" "1.7.11" - "@webassemblyjs/wasm-gen" "1.7.11" + "@webassemblyjs/ast" "1.8.5" + mamacro "^0.0.3" -"@webassemblyjs/ieee754@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.7.11.tgz#c95839eb63757a31880aaec7b6512d4191ac640b" +"@webassemblyjs/helper-wasm-bytecode@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.8.5.tgz#537a750eddf5c1e932f3744206551c91c1b93e61" + integrity sha512-Cu4YMYG3Ddl72CbmpjU/wbP6SACcOPVbHN1dI4VJNJVgFwaKf1ppeFJrwydOG3NDHxVGuCfPlLZNyEdIYlQ6QQ== + +"@webassemblyjs/helper-wasm-section@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.8.5.tgz#74ca6a6bcbe19e50a3b6b462847e69503e6bfcbf" + integrity sha512-VV083zwR+VTrIWWtgIUpqfvVdK4ff38loRmrdDBgBT8ADXYsEZ5mPQ4Nde90N3UYatHdYoDIFb7oHzMncI02tA== + dependencies: + "@webassemblyjs/ast" "1.8.5" + "@webassemblyjs/helper-buffer" "1.8.5" + "@webassemblyjs/helper-wasm-bytecode" "1.8.5" + "@webassemblyjs/wasm-gen" "1.8.5" + +"@webassemblyjs/ieee754@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.8.5.tgz#712329dbef240f36bf57bd2f7b8fb9bf4154421e" + integrity sha512-aaCvQYrvKbY/n6wKHb/ylAJr27GglahUO89CcGXMItrOBqRarUMxWLJgxm9PJNuKULwN5n1csT9bYoMeZOGF3g== dependencies: "@xtuc/ieee754" "^1.2.0" -"@webassemblyjs/leb128@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.7.11.tgz#d7267a1ee9c4594fd3f7e37298818ec65687db63" +"@webassemblyjs/leb128@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.8.5.tgz#044edeb34ea679f3e04cd4fd9824d5e35767ae10" + integrity sha512-plYUuUwleLIziknvlP8VpTgO4kqNaH57Y3JnNa6DLpu/sGcP6hbVdfdX5aHAV716pQBKrfuU26BJK29qY37J7A== dependencies: - "@xtuc/long" "4.2.1" + "@xtuc/long" "4.2.2" -"@webassemblyjs/utf8@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.7.11.tgz#06d7218ea9fdc94a6793aa92208160db3d26ee82" +"@webassemblyjs/utf8@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.8.5.tgz#a8bf3b5d8ffe986c7c1e373ccbdc2a0915f0cedc" + integrity sha512-U7zgftmQriw37tfD934UNInokz6yTmn29inT2cAetAsaU9YeVCveWEwhKL1Mg4yS7q//NGdzy79nlXh3bT8Kjw== -"@webassemblyjs/wasm-edit@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.7.11.tgz#8c74ca474d4f951d01dbae9bd70814ee22a82005" +"@webassemblyjs/wasm-edit@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.8.5.tgz#962da12aa5acc1c131c81c4232991c82ce56e01a" + integrity sha512-A41EMy8MWw5yvqj7MQzkDjU29K7UJq1VrX2vWLzfpRHt3ISftOXqrtojn7nlPsZ9Ijhp5NwuODuycSvfAO/26Q== dependencies: - "@webassemblyjs/ast" "1.7.11" - "@webassemblyjs/helper-buffer" "1.7.11" - "@webassemblyjs/helper-wasm-bytecode" "1.7.11" - "@webassemblyjs/helper-wasm-section" "1.7.11" - "@webassemblyjs/wasm-gen" "1.7.11" - "@webassemblyjs/wasm-opt" "1.7.11" - "@webassemblyjs/wasm-parser" "1.7.11" - "@webassemblyjs/wast-printer" "1.7.11" + "@webassemblyjs/ast" "1.8.5" + "@webassemblyjs/helper-buffer" "1.8.5" + "@webassemblyjs/helper-wasm-bytecode" "1.8.5" + "@webassemblyjs/helper-wasm-section" "1.8.5" + "@webassemblyjs/wasm-gen" "1.8.5" + "@webassemblyjs/wasm-opt" "1.8.5" + "@webassemblyjs/wasm-parser" "1.8.5" + "@webassemblyjs/wast-printer" "1.8.5" -"@webassemblyjs/wasm-gen@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.7.11.tgz#9bbba942f22375686a6fb759afcd7ac9c45da1a8" +"@webassemblyjs/wasm-gen@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.8.5.tgz#54840766c2c1002eb64ed1abe720aded714f98bc" + integrity sha512-BCZBT0LURC0CXDzj5FXSc2FPTsxwp3nWcqXQdOZE4U7h7i8FqtFK5Egia6f9raQLpEKT1VL7zr4r3+QX6zArWg== dependencies: - "@webassemblyjs/ast" "1.7.11" - "@webassemblyjs/helper-wasm-bytecode" "1.7.11" - "@webassemblyjs/ieee754" "1.7.11" - "@webassemblyjs/leb128" "1.7.11" - "@webassemblyjs/utf8" "1.7.11" + "@webassemblyjs/ast" "1.8.5" + "@webassemblyjs/helper-wasm-bytecode" "1.8.5" + "@webassemblyjs/ieee754" "1.8.5" + "@webassemblyjs/leb128" "1.8.5" + "@webassemblyjs/utf8" "1.8.5" -"@webassemblyjs/wasm-opt@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.7.11.tgz#b331e8e7cef8f8e2f007d42c3a36a0580a7d6ca7" +"@webassemblyjs/wasm-opt@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.8.5.tgz#b24d9f6ba50394af1349f510afa8ffcb8a63d264" + integrity sha512-HKo2mO/Uh9A6ojzu7cjslGaHaUU14LdLbGEKqTR7PBKwT6LdPtLLh9fPY33rmr5wcOMrsWDbbdCHq4hQUdd37Q== dependencies: - "@webassemblyjs/ast" "1.7.11" - "@webassemblyjs/helper-buffer" "1.7.11" - "@webassemblyjs/wasm-gen" "1.7.11" - "@webassemblyjs/wasm-parser" "1.7.11" + "@webassemblyjs/ast" "1.8.5" + "@webassemblyjs/helper-buffer" "1.8.5" + "@webassemblyjs/wasm-gen" "1.8.5" + "@webassemblyjs/wasm-parser" "1.8.5" -"@webassemblyjs/wasm-parser@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.7.11.tgz#6e3d20fa6a3519f6b084ef9391ad58211efb0a1a" +"@webassemblyjs/wasm-parser@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.8.5.tgz#21576f0ec88b91427357b8536383668ef7c66b8d" + integrity sha512-pi0SYE9T6tfcMkthwcgCpL0cM9nRYr6/6fjgDtL6q/ZqKHdMWvxitRi5JcZ7RI4SNJJYnYNaWy5UUrHQy998lw== dependencies: - "@webassemblyjs/ast" "1.7.11" - "@webassemblyjs/helper-api-error" "1.7.11" - "@webassemblyjs/helper-wasm-bytecode" "1.7.11" - "@webassemblyjs/ieee754" "1.7.11" - "@webassemblyjs/leb128" "1.7.11" - "@webassemblyjs/utf8" "1.7.11" + "@webassemblyjs/ast" "1.8.5" + "@webassemblyjs/helper-api-error" "1.8.5" + "@webassemblyjs/helper-wasm-bytecode" "1.8.5" + "@webassemblyjs/ieee754" "1.8.5" + "@webassemblyjs/leb128" "1.8.5" + "@webassemblyjs/utf8" "1.8.5" -"@webassemblyjs/wast-parser@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.7.11.tgz#25bd117562ca8c002720ff8116ef9072d9ca869c" +"@webassemblyjs/wast-parser@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.8.5.tgz#e10eecd542d0e7bd394f6827c49f3df6d4eefb8c" + integrity sha512-daXC1FyKWHF1i11obK086QRlsMsY4+tIOKgBqI1lxAnkp9xe9YMcgOxm9kLe+ttjs5aWV2KKE1TWJCN57/Btsg== dependencies: - "@webassemblyjs/ast" "1.7.11" - "@webassemblyjs/floating-point-hex-parser" "1.7.11" - "@webassemblyjs/helper-api-error" "1.7.11" - "@webassemblyjs/helper-code-frame" "1.7.11" - "@webassemblyjs/helper-fsm" "1.7.11" - "@xtuc/long" "4.2.1" + "@webassemblyjs/ast" "1.8.5" + "@webassemblyjs/floating-point-hex-parser" "1.8.5" + "@webassemblyjs/helper-api-error" "1.8.5" + "@webassemblyjs/helper-code-frame" "1.8.5" + "@webassemblyjs/helper-fsm" "1.8.5" + "@xtuc/long" "4.2.2" -"@webassemblyjs/wast-printer@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.7.11.tgz#c4245b6de242cb50a2cc950174fdbf65c78d7813" +"@webassemblyjs/wast-printer@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.8.5.tgz#114bbc481fd10ca0e23b3560fa812748b0bae5bc" + integrity sha512-w0U0pD4EhlnvRyeJzBqaVSJAo9w/ce7/WPogeXLzGkO6hzhr4GnQIZ4W4uUt5b9ooAaXPtnXlj0gzsXEOUNYMg== dependencies: - "@webassemblyjs/ast" "1.7.11" - "@webassemblyjs/wast-parser" "1.7.11" - "@xtuc/long" "4.2.1" + "@webassemblyjs/ast" "1.8.5" + "@webassemblyjs/wast-parser" "1.8.5" + "@xtuc/long" "4.2.2" "@xtuc/ieee754@^1.2.0": version "1.2.0" resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" + integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== -"@xtuc/long@4.2.1": - version "4.2.1" - resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.1.tgz#5c85d662f76fa1d34575766c5dcd6615abcd30d8" +"@xtuc/long@4.2.2": + version "4.2.2" + resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" + integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== JSONSelect@0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/JSONSelect/-/JSONSelect-0.4.0.tgz#a08edcc67eb3fcbe99ed630855344a0cf282bb8d" + integrity sha1-oI7cxn6z/L6Z7WMIVTRKDPKCu40= JSONStream@^1.0.3: version "1.3.5" resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0" + integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ== dependencies: jsonparse "^1.2.0" through ">=2.2.7 <3" @@ -1495,31 +1355,30 @@ JSONStream@^1.0.3: "JSV@>= 4.0.x": version "4.0.2" resolved "https://registry.yarnpkg.com/JSV/-/JSV-4.0.2.tgz#d077f6825571f82132f9dffaed587b4029feff57" + integrity sha1-0Hf2glVx+CEy+d/67Vh7QCn+/1c= abab@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.0.tgz#aba0ab4c5eee2d4c79d3487d85450fb2376ebb0f" + version "2.0.2" + resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.2.tgz#a2fba1b122c69a85caa02d10f9270c7219709a9d" + integrity sha512-2scffjvioEmNz0OyDSLGWDfKCVwaKc6l9Pm9kOIREU13ClXZvHpg/nRL5xyjSSSLhOnXqft2HpsAzNEEA8cFFg== abbrev@1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.0.tgz#d0554c2256636e2f56e7c2e5ad183f859428d81f" + version "1.1.1" + resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" + integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.7: version "1.3.7" resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd" + integrity sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA== dependencies: mime-types "~2.1.24" negotiator "0.6.2" -acorn-dynamic-import@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/acorn-dynamic-import/-/acorn-dynamic-import-3.0.0.tgz#901ceee4c7faaef7e07ad2a47e890675da50a278" - dependencies: - acorn "^5.0.0" - acorn-globals@^4.1.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-4.3.0.tgz#e3b6f8da3c1552a95ae627571f7dd6923bb54103" + version "4.3.4" + resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-4.3.4.tgz#9fa1926addc11c97308c4e66d7add0d40c3272e7" + integrity sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A== dependencies: acorn "^6.0.1" acorn-walk "^6.0.1" @@ -1530,45 +1389,43 @@ acorn-jsx@^5.0.2: integrity sha512-tiNTrP1MP0QrChmD2DdupCr6HWSFeKVw5d/dHTu4Y7rkAkRhU/Dt7dphAfIUyxtHpl/eBVip5uTNSpQJHylpAw== acorn-walk@^6.0.1: - version "6.1.1" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-6.1.1.tgz#d363b66f5fac5f018ff9c3a1e7b6f8e310cc3913" + version "6.2.0" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-6.2.0.tgz#123cb8f3b84c2171f1f7fb252615b1c78a6b1a8c" + integrity sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA== -acorn@^5.0.0, acorn@^5.2.1, acorn@^5.5.3, acorn@^5.6.2: +acorn@^5.2.1, acorn@^5.5.3: version "5.7.3" resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.3.tgz#67aa231bf8812974b85235a96771eb6bd07ea279" + integrity sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw== -acorn@^6.0.1: - version "6.0.4" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.0.4.tgz#77377e7353b72ec5104550aa2d2097a2fd40b754" +acorn@^6.0.1, acorn@^6.2.1: + version "6.3.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.3.0.tgz#0087509119ffa4fc0a0041d1e93a417e68cb856e" + integrity sha512-/czfa8BwS88b9gWQVhc8eknunSA2DoJpJyTQkhheIf5E48u1N0R4q/YxxsAeqRrmK9TQ/uYfgLDfZo91UlANIA== acorn@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.0.0.tgz#26b8d1cd9a9b700350b71c0905546f64d1284e7a" - integrity sha512-PaF/MduxijYYt7unVGRuds1vBC9bFxbNf+VWqhOClfdgy7RlVkQqt610ig1/yxTgsDIfW1cWDel5EBbOy3jdtQ== + version "7.1.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.1.0.tgz#949d36f2c292535da602283586c2477c57eb2d6c" + integrity sha512-kL5CuoXA/dgxlBbVrflsflzQ3PAas7RYZB52NOm/6839iVYJgKMJ3cQJD+t2i5+qFa8h3MDpEOJiS64E8JLnSQ== -agent-base@^4.1.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-4.2.1.tgz#d89e5999f797875674c07d87f260fc41e83e8ca9" +agent-base@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-4.3.0.tgz#8165f01c436009bccad0b1d122f05ed770efc6ee" + integrity sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg== dependencies: es6-promisify "^5.0.0" ajv-errors@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d" + integrity sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ== -ajv-keywords@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.1.0.tgz#ac2b27939c543e95d2c06e7f7f5c27be4aa543be" +ajv-keywords@^3.1.0, ajv-keywords@^3.4.1: + version "3.4.1" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.4.1.tgz#ef916e271c64ac12171fd8384eaae6b2345854da" + integrity sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ== -ajv@^6.1.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.3.0.tgz#1650a41114ef00574cac10b8032d8f4c14812da7" - dependencies: - fast-deep-equal "^1.0.0" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.3.0" - -ajv@^6.10.0, ajv@^6.10.2: +ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.5.5: version "6.10.2" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.10.2.tgz#d3cea04d6b017b2894ad69040fec8b623eb4bd52" integrity sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw== @@ -1578,32 +1435,22 @@ ajv@^6.10.0, ajv@^6.10.2: json-schema-traverse "^0.4.1" uri-js "^4.2.2" -ajv@^6.5.5: - version "6.6.2" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.6.2.tgz#caceccf474bf3fc3ce3b147443711a24063cc30d" - dependencies: - fast-deep-equal "^2.0.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - amdefine@>=0.0.4: version "1.0.1" resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" + integrity sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU= ansi-colors@^3.0.0: version "3.2.4" resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.4.tgz#e3a3da4bfbae6c86a9c285625de124a234026fbf" + integrity sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA== ansi-escapes@^1.0.0: version "1.4.0" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e" + integrity sha1-06ioOzGapneTZisT52HHkRQiMG4= -ansi-escapes@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.0.0.tgz#ec3e8b4e9f8064fc02c3ac9b65f1c275bda8ef92" - -ansi-escapes@^3.1.0, ansi-escapes@^3.2.0: +ansi-escapes@^3.0.0, ansi-escapes@^3.1.0, ansi-escapes@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ== @@ -1611,40 +1458,49 @@ ansi-escapes@^3.1.0, ansi-escapes@^3.2.0: ansi-html@0.0.7, ansi-html@^0.0.7: version "0.0.7" resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e" + integrity sha1-gTWEAhliqenm/QOflA0S9WynhZ4= ansi-regex@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" + integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= ansi-regex@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" + integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= ansi-regex@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" + integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== -ansi-styles@^2.0.1, ansi-styles@^2.2.1: +ansi-styles@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" + integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4= ansi-styles@^3.2.0, ansi-styles@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== dependencies: color-convert "^1.9.0" ansi-styles@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-1.0.0.tgz#cb102df1c56f5123eab8b67cd7b98027a0279178" + integrity sha1-yxAt8cVvUSPquLZ817mAJ6AnkXg= ansicolors@~0.3.2: version "0.3.2" resolved "https://registry.yarnpkg.com/ansicolors/-/ansicolors-0.3.2.tgz#665597de86a9ffe3aa9bfbe6cae5c6ea426b4979" + integrity sha1-ZlWX3oap/+Oqm/vmyuXG6kJrSXk= anymatch@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" + integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== dependencies: micromatch "^3.1.4" normalize-path "^2.1.1" @@ -1652,30 +1508,31 @@ anymatch@^2.0.0: append-buffer@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/append-buffer/-/append-buffer-1.0.2.tgz#d8220cf466081525efea50614f3de6514dfa58f1" + integrity sha1-2CIM9GYIFSXv6lBhTz3mUU36WPE= dependencies: buffer-equal "^1.0.0" append-transform@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/append-transform/-/append-transform-0.4.0.tgz#d76ebf8ca94d276e247a36bad44a4b74ab611991" + integrity sha1-126/jKlNJ24keja61EpLdKthGZE= dependencies: default-require-extensions "^1.0.0" -aproba@^1.0.3: - version "1.1.2" - resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.1.2.tgz#45c6629094de4e96f693ef7eab74ae079c240fc1" - -aproba@^1.1.1: +aproba@^1.0.3, aproba@^1.1.1: version "1.2.0" resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" + integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== arch@2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/arch/-/arch-2.1.1.tgz#8f5c2731aa35a30929221bb0640eed65175ec84e" + integrity sha512-BLM56aPo9vLLFVa8+/+pJLnrZ7QGGTVHWsCwieAWT9o9K8UeGaQbzZbGoabWLOo2ksBCztoXdqBZBplqLDDCSg== are-we-there-yet@~1.1.2: - version "1.1.4" - resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz#bb5dca382bb94f05e15194373d16fd3ba1ca110d" + version "1.1.5" + resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21" + integrity sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w== dependencies: delegates "^1.0.0" readable-stream "^2.0.6" @@ -1683,72 +1540,88 @@ are-we-there-yet@~1.1.2: argparse@^1.0.7: version "1.0.10" resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== dependencies: sprintf-js "~1.0.2" arr-diff@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" + integrity sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8= dependencies: arr-flatten "^1.0.1" arr-diff@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" + integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= arr-flatten@^1.0.1, arr-flatten@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" + integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== arr-union@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" + integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= array-equal@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93" + integrity sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM= array-find-index@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" + integrity sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E= array-flatten@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" + integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI= array-flatten@^2.1.0: version "2.1.2" resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-2.1.2.tgz#24ef80a28c1a893617e2149b0c6d0d788293b099" + integrity sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ== array-union@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" + integrity sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk= dependencies: array-uniq "^1.0.1" array-union@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" + integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== array-uniq@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" + integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY= array-unique@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" + integrity sha1-odl8yvy8JiXMcPrc6zalDFiwGlM= array-unique@^0.3.2: version "0.3.2" resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" + integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= arrify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" + integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= asn1.js@^4.0.0: version "4.10.1" resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.10.1.tgz#b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0" + integrity sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw== dependencies: bn.js "^4.0.0" inherits "^2.0.1" @@ -1757,82 +1630,91 @@ asn1.js@^4.0.0: asn1@~0.2.3: version "0.2.4" resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" + integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg== dependencies: safer-buffer "~2.1.0" assert-plus@1.0.0, assert-plus@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= assert@^1.1.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91" + version "1.5.0" + resolved "https://registry.yarnpkg.com/assert/-/assert-1.5.0.tgz#55c109aaf6e0aefdb3dc4b71240c70bf574b18eb" + integrity sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA== dependencies: + object-assign "^4.1.1" util "0.10.3" assign-symbols@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" + integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= astral-regex@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" - -async-each@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" + integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg== async-each@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf" + integrity sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ== async-foreach@^0.1.3: version "0.1.3" resolved "https://registry.yarnpkg.com/async-foreach/-/async-foreach-0.1.3.tgz#36121f845c0578172de419a97dbeb1d16ec34542" + integrity sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI= async-limiter@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.0.tgz#78faed8c3d074ab81f22b4e985d79e8738f720f8" + version "1.0.1" + resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" + integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== async@2.6.1: version "2.6.1" resolved "https://registry.yarnpkg.com/async/-/async-2.6.1.tgz#b245a23ca71930044ec53fa46aa00a3e87c6a610" + integrity sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ== dependencies: lodash "^4.17.10" async@^1.5.2: version "1.5.2" resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" + integrity sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo= -async@^2.1.4: - version "2.6.2" - resolved "https://registry.yarnpkg.com/async/-/async-2.6.2.tgz#18330ea7e6e313887f5d2f2a904bac6fe4dd5381" +async@^2.1.4, async@^2.6.1: + version "2.6.3" + resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff" + integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg== dependencies: - lodash "^4.17.11" - -async@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/async/-/async-1.0.0.tgz#f8fc04ca3a13784ade9e1641af98578cfbd647a9" + lodash "^4.17.14" asynckit@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= -atob@^2.0.0: +atob@^2.1.1: version "2.1.2" resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" + integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== aws-sign2@~0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" + integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= aws4@^1.8.0: version "1.8.0" resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f" + integrity sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ== axios@^0.18.1: version "0.18.1" resolved "https://registry.yarnpkg.com/axios/-/axios-0.18.1.tgz#ff3f0de2e7b5d180e757ad98000f1081b87bcea3" + integrity sha512-0BfJq4NSfQXd+SkFdrvFbG7addhYSBA2mQwISr46pD6E5iqkWg02RAs8vyTT/j0RTnoYmeXauBuSv1qKwR179g== dependencies: follow-redirects "1.5.10" is-buffer "^2.0.2" @@ -1840,6 +1722,7 @@ axios@^0.18.1: axios@^0.19.0: version "0.19.0" resolved "https://registry.yarnpkg.com/axios/-/axios-0.19.0.tgz#8e09bff3d9122e133f7b8101c8fbdd00ed3d2ab8" + integrity sha512-1uvKqKQta3KBxIz14F2v06AEHZ/dIoeKfbTRkK1E5oqjDnuEerLmYTgJB5AiQZHJcljpg1TuRzdjDR06qNk0DQ== dependencies: follow-redirects "1.5.10" is-buffer "^2.0.2" @@ -1847,6 +1730,7 @@ axios@^0.19.0: babel-code-frame@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" + integrity sha1-Y/1D99weO7fONZR9uP42mj9Yx0s= dependencies: chalk "^1.1.3" esutils "^2.0.2" @@ -1855,10 +1739,12 @@ babel-code-frame@^6.26.0: babel-core@7.0.0-bridge.0: version "7.0.0-bridge.0" resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-7.0.0-bridge.0.tgz#95a492ddd90f9b4e9a4a1da14eb335b87b634ece" + integrity sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg== babel-core@^6.0.0, babel-core@^6.26.0: version "6.26.3" resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.3.tgz#b2e2f09e342d0f0c88e2f02e067794125e75c207" + integrity sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA== dependencies: babel-code-frame "^6.26.0" babel-generator "^6.26.0" @@ -1883,6 +1769,7 @@ babel-core@^6.0.0, babel-core@^6.26.0: babel-generator@^6.18.0, babel-generator@^6.26.0: version "6.26.1" resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.26.1.tgz#1844408d3b8f0d35a404ea7ac180f087a601bd90" + integrity sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA== dependencies: babel-messages "^6.23.0" babel-runtime "^6.26.0" @@ -1896,6 +1783,7 @@ babel-generator@^6.18.0, babel-generator@^6.26.0: babel-helpers@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.24.1.tgz#3471de9caec388e5c850e597e58a26ddf37602b2" + integrity sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI= dependencies: babel-runtime "^6.22.0" babel-template "^6.24.1" @@ -1903,34 +1791,39 @@ babel-helpers@^6.24.1: babel-jest@^23.6.0: version "23.6.0" resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-23.6.0.tgz#a644232366557a2240a0c083da6b25786185a2f1" + integrity sha512-lqKGG6LYXYu+DQh/slrQ8nxXQkEkhugdXsU6St7GmhVS7Ilc/22ArwqXNJrf0QaOBjZB0360qZMwXqDYQHXaew== dependencies: babel-plugin-istanbul "^4.1.6" babel-preset-jest "^23.2.0" babel-loader@^8.0.4: - version "8.0.4" - resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.0.4.tgz#7bbf20cbe4560629e2e41534147692d3fecbdce6" + version "8.0.6" + resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.0.6.tgz#e33bdb6f362b03f4bb141a0c21ab87c501b70dfb" + integrity sha512-4BmWKtBOBm13uoUwd08UwjZlaw3O9GWf456R9j+5YykFZ6LUIjIKLc0zEZf+hauxPOJs96C8k6FvYD09vWzhYw== dependencies: - find-cache-dir "^1.0.0" + find-cache-dir "^2.0.0" loader-utils "^1.0.2" mkdirp "^0.5.1" - util.promisify "^1.0.0" + pify "^4.0.1" babel-messages@^6.23.0: version "6.23.0" resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e" + integrity sha1-8830cDhYA1sqKVHG7F7fbGLyYw4= dependencies: babel-runtime "^6.22.0" babel-plugin-dynamic-import-node@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz#f00f507bdaa3c3e3ff6e7e5e98d90a7acab96f7f" + integrity sha512-o6qFkpeQEBxcqt0XYlWzAVxNCSCZdUgcR8IRlhD/8DylxjjO4foPcvTW0GGKa/cVt3rvxZ7o5ippJ+/0nvLhlQ== dependencies: object.assign "^4.1.0" babel-plugin-istanbul@^4.1.6: version "4.1.6" resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-4.1.6.tgz#36c59b2192efce81c5b378321b74175add1c9a45" + integrity sha512-PWP9FQ1AhZhS01T/4qLSKoHGY/xvkZdVBGlKM/HuxxS3+sC66HhTNR7+MpbO/so/cz/wY94MeSWJuP1hXIPfwQ== dependencies: babel-plugin-syntax-object-rest-spread "^6.13.0" find-up "^2.1.0" @@ -1940,14 +1833,17 @@ babel-plugin-istanbul@^4.1.6: babel-plugin-jest-hoist@^23.2.0: version "23.2.0" resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-23.2.0.tgz#e61fae05a1ca8801aadee57a6d66b8cefaf44167" + integrity sha1-5h+uBaHKiAGq3uV6bWa4zvr0QWc= babel-plugin-syntax-object-rest-spread@^6.13.0: version "6.13.0" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz#fd6536f2bce13836ffa3a5458c4903a597bb3bf5" + integrity sha1-/WU28rzhODb/o6VFjEkDpZe7O/U= babel-preset-jest@^23.2.0: version "23.2.0" resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-23.2.0.tgz#8ec7a03a138f001a1a8fb1e8113652bf1a55da46" + integrity sha1-jsegOhOPABoaj7HoETZSvxpV2kY= dependencies: babel-plugin-jest-hoist "^23.2.0" babel-plugin-syntax-object-rest-spread "^6.13.0" @@ -1955,6 +1851,7 @@ babel-preset-jest@^23.2.0: babel-register@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.26.0.tgz#6ed021173e2fcb486d7acb45c6009a856f647071" + integrity sha1-btAhFz4vy0htestFxgCahW9kcHE= dependencies: babel-core "^6.26.0" babel-runtime "^6.26.0" @@ -1964,16 +1861,10 @@ babel-register@^6.26.0: mkdirp "^0.5.1" source-map-support "^0.4.15" -babel-runtime@^6.22.0: - version "6.25.0" - resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.25.0.tgz#33b98eaa5d482bb01a8d1aa6b437ad2b01aec41c" - dependencies: - core-js "^2.4.0" - regenerator-runtime "^0.10.0" - -babel-runtime@^6.26.0: +babel-runtime@^6.22.0, babel-runtime@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" + integrity sha1-llxwWGaOgrVde/4E/yM3vItWR/4= dependencies: core-js "^2.4.0" regenerator-runtime "^0.11.0" @@ -1981,6 +1872,7 @@ babel-runtime@^6.26.0: babel-template@^6.16.0, babel-template@^6.24.1, babel-template@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.26.0.tgz#de03e2d16396b069f46dd9fff8521fb1a0e35e02" + integrity sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI= dependencies: babel-runtime "^6.26.0" babel-traverse "^6.26.0" @@ -1991,6 +1883,7 @@ babel-template@^6.16.0, babel-template@^6.24.1, babel-template@^6.26.0: babel-traverse@^6.0.0, babel-traverse@^6.18.0, babel-traverse@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee" + integrity sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4= dependencies: babel-code-frame "^6.26.0" babel-messages "^6.23.0" @@ -2005,6 +1898,7 @@ babel-traverse@^6.0.0, babel-traverse@^6.18.0, babel-traverse@^6.26.0: babel-types@^6.0.0, babel-types@^6.18.0, babel-types@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497" + integrity sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc= dependencies: babel-runtime "^6.26.0" esutils "^2.0.2" @@ -2014,30 +1908,32 @@ babel-types@^6.0.0, babel-types@^6.18.0, babel-types@^6.26.0: babelify@^10.0.0: version "10.0.0" resolved "https://registry.yarnpkg.com/babelify/-/babelify-10.0.0.tgz#fe73b1a22583f06680d8d072e25a1e0d1d1d7fb5" + integrity sha512-X40FaxyH7t3X+JFAKvb1H9wooWKLRCi8pg3m8poqtdZaIng+bjzp9RvKQCvRjF9isHiPkXspbbXT/zwXLtwgwg== babylon@^6.18.0: version "6.18.0" resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" + integrity sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ== bail@^1.0.0: version "1.0.4" resolved "https://registry.yarnpkg.com/bail/-/bail-1.0.4.tgz#7181b66d508aa3055d3f6c13f0a0c720641dde9b" + integrity sha512-S8vuDB4w6YpRhICUDET3guPlQpaJl7od94tpZ0Fvnyp+MKW/HyDTcRDck+29C9g+d/qQHnddRH3+94kZdrW0Ww== balanced-match@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" + integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= -base64-js@^1.0.2: - version "1.3.0" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.0.tgz#cab1e6118f051095e58b5281aea8c1cd22bfc0e3" - -base64-js@^1.2.3: +base64-js@^1.0.2, base64-js@^1.2.3: version "1.3.1" resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1" + integrity sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g== base@^0.11.1: version "0.11.2" resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" + integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== dependencies: cache-base "^1.0.1" class-utils "^0.3.5" @@ -2050,50 +1946,61 @@ base@^0.11.1: batch@0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16" + integrity sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY= bcrypt-pbkdf@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" + integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= dependencies: tweetnacl "^0.14.3" big.js@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.1.3.tgz#4cada2193652eb3ca9ec8e55c9015669c9806978" + version "3.2.0" + resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.2.0.tgz#a5fc298b81b9e0dca2e458824784b65c52ba588e" + integrity sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q== + +big.js@^5.2.2: + version "5.2.2" + resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" + integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== binary-extensions@^1.0.0: - version "1.11.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.11.0.tgz#46aa1751fb6a2f93ee5e689bb1087d4b14c6c205" + version "1.13.1" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65" + integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw== block-stream@*: version "0.0.9" resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" + integrity sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo= dependencies: inherits "~2.0.0" bluebird-retry@^0.11.0: version "0.11.0" resolved "https://registry.yarnpkg.com/bluebird-retry/-/bluebird-retry-0.11.0.tgz#1289ab22cbbc3a02587baad35595351dd0c1c047" + integrity sha1-EomrIsu8OgJYe6rTVZU1HdDBwEc= bluebird@3.5.0: version "3.5.0" resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.0.tgz#791420d7f551eea2897453a8a77653f96606d67c" + integrity sha1-eRQg1/VR7qKJdFOop3ZT+WYG1nw= -bluebird@3.5.5, bluebird@^3.5.0: - version "3.5.5" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.5.tgz#a8d0afd73251effbbd5fe384a77d73003c17a71f" - -bluebird@^3.5.1: - version "3.5.3" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.3.tgz#7d01c6f9616c9a51ab0f8c549a79dfe6ec33efa7" +bluebird@3.7.0, bluebird@^3.5.0, bluebird@^3.5.1, bluebird@^3.5.5: + version "3.7.0" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.0.tgz#56a6a886e03f6ae577cffedeb524f8f2450293cf" + integrity sha512-aBQ1FxIa7kSWCcmKHlcHFlT2jt6J/l4FzC7KcPELkOJOsPOb/bccdhmIrKDfXhwFrmc7vDoDrrepFvGqjyXGJg== bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0: version "4.11.8" resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f" + integrity sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA== body-parser@1.19.0, body-parser@^1.18.3: version "1.19.0" resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.0.tgz#96b2709e57c9c4e09a6fd66a8fd979844f69f08a" + integrity sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw== dependencies: bytes "3.1.0" content-type "~1.0.4" @@ -2109,6 +2016,7 @@ body-parser@1.19.0, body-parser@^1.18.3: body@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/body/-/body-5.1.0.tgz#e4ba0ce410a46936323367609ecb4e6553125069" + integrity sha1-5LoM5BCkaTYyM2dgnstOZVMSUGk= dependencies: continuable-cache "^0.3.1" error "^7.0.0" @@ -2118,6 +2026,7 @@ body@^5.1.0: bonjour@^3.5.0: version "3.5.0" resolved "https://registry.yarnpkg.com/bonjour/-/bonjour-3.5.0.tgz#8e890a183d8ee9a2393b3844c691a42bcf7bc9f5" + integrity sha1-jokKGD2O6aI5OzhExpGkK897yfU= dependencies: array-flatten "^2.1.0" deep-equal "^1.0.1" @@ -2129,6 +2038,7 @@ bonjour@^3.5.0: brace-expansion@^1.1.7: version "1.1.11" resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== dependencies: balanced-match "^1.0.0" concat-map "0.0.1" @@ -2136,31 +2046,16 @@ brace-expansion@^1.1.7: braces@^1.8.2: version "1.8.5" resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7" + integrity sha1-uneWLhLf+WnWt2cR6RS3N4V79qc= dependencies: expand-range "^1.8.1" preserve "^0.2.0" repeat-element "^1.1.2" -braces@^2.3.0, braces@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.1.tgz#7086c913b4e5a08dbe37ac0ee6a2500c4ba691bb" - dependencies: - arr-flatten "^1.1.0" - array-unique "^0.3.2" - define-property "^1.0.0" - extend-shallow "^2.0.1" - fill-range "^4.0.0" - isobject "^3.0.1" - kind-of "^6.0.2" - repeat-element "^1.1.2" - snapdragon "^0.8.1" - snapdragon-node "^2.0.1" - split-string "^3.0.2" - to-regex "^3.0.1" - -braces@^2.3.2: +braces@^2.3.1, braces@^2.3.2: version "2.3.2" resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" + integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== dependencies: arr-flatten "^1.1.0" array-unique "^0.3.2" @@ -2176,26 +2071,31 @@ braces@^2.3.2: braces@^3.0.1: version "3.0.2" resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== dependencies: fill-range "^7.0.1" brorand@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" + integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= browser-process-hrtime@^0.1.2: version "0.1.3" resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-0.1.3.tgz#616f00faef1df7ec1b5bf9cfe2bdc3170f26c7b4" + integrity sha512-bRFnI4NnjO6cnyLmOV/7PVoDEMJChlcfN0z4s1YMBY989/SvlfMI1lgCnkFUs53e9gQF+w7qu7XdllSTiSl8Aw== browser-resolve@^1.11.3, browser-resolve@^1.7.0: version "1.11.3" resolved "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-1.11.3.tgz#9b7cbb3d0f510e4cb86bdbd796124d28b5890af6" + integrity sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ== dependencies: resolve "1.1.7" browserify-aes@^1.0.0, browserify-aes@^1.0.4: version "1.2.0" resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" + integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== dependencies: buffer-xor "^1.0.3" cipher-base "^1.0.0" @@ -2207,6 +2107,7 @@ browserify-aes@^1.0.0, browserify-aes@^1.0.4: browserify-cipher@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" + integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w== dependencies: browserify-aes "^1.0.4" browserify-des "^1.0.0" @@ -2215,6 +2116,7 @@ browserify-cipher@^1.0.0: browserify-des@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c" + integrity sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A== dependencies: cipher-base "^1.0.1" des.js "^1.0.0" @@ -2224,6 +2126,7 @@ browserify-des@^1.0.0: browserify-rsa@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524" + integrity sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ= dependencies: bn.js "^4.1.0" randombytes "^2.0.1" @@ -2231,6 +2134,7 @@ browserify-rsa@^4.0.0: browserify-sign@^4.0.0: version "4.0.4" resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.0.4.tgz#aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298" + integrity sha1-qk62jl17ZYuqa/alfmMMvXqT0pg= dependencies: bn.js "^4.1.1" browserify-rsa "^4.0.0" @@ -2243,105 +2147,110 @@ browserify-sign@^4.0.0: browserify-zlib@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" + integrity sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA== dependencies: pako "~1.0.5" -browserslist@^4.3.4: - version "4.3.6" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.3.6.tgz#0f9d9081afc66b36f477c6bdf3813f784f42396a" +browserslist@^4.6.0, browserslist@^4.6.6: + version "4.7.0" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.7.0.tgz#9ee89225ffc07db03409f2fee524dc8227458a17" + integrity sha512-9rGNDtnj+HaahxiVV38Gn8n8Lr8REKsel68v1sPFfIGEK6uSXTY3h9acgiT1dZVtOOUtifo/Dn8daDQ5dUgVsA== dependencies: - caniuse-lite "^1.0.30000921" - electron-to-chromium "^1.3.92" - node-releases "^1.1.1" - -browserslist@^4.6.0, browserslist@^4.6.2: - version "4.6.6" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.6.6.tgz#6e4bf467cde520bc9dbdf3747dafa03531cec453" - dependencies: - caniuse-lite "^1.0.30000984" - electron-to-chromium "^1.3.191" - node-releases "^1.1.25" + caniuse-lite "^1.0.30000989" + electron-to-chromium "^1.3.247" + node-releases "^1.1.29" bser@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/bser/-/bser-2.0.0.tgz#9ac78d3ed5d915804fd87acb158bc797147a1719" + version "2.1.0" + resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.0.tgz#65fc784bf7f87c009b973c12db6546902fa9c7b5" + integrity sha512-8zsjWrQkkBoLK6uxASk1nJ2SKv97ltiGDo6A3wA0/yRPz+CwmEyDo0hUrhIuukG2JHpAl3bvFIixw2/3Hi0DOg== dependencies: node-int64 "^0.4.0" buffer-crc32@~0.2.3: version "0.2.13" resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" + integrity sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI= buffer-equal@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/buffer-equal/-/buffer-equal-1.0.0.tgz#59616b498304d556abd466966b22eeda3eca5fbe" + integrity sha1-WWFrSYME1Var1GaWayLu2j7KX74= buffer-from@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" + integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== buffer-indexof@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/buffer-indexof/-/buffer-indexof-1.1.1.tgz#52fabcc6a606d1a00302802648ef68f639da268c" + integrity sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g== buffer-shims@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/buffer-shims/-/buffer-shims-1.0.0.tgz#9978ce317388c649ad8793028c3477ef044a8b51" + integrity sha1-mXjOMXOIxkmth5MCjDR37wRKi1E= buffer-xor@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" + integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk= buffer@^4.3.0: version "4.9.1" resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298" + integrity sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg= dependencies: base64-js "^1.0.2" ieee754 "^1.1.4" isarray "^1.0.0" -builtin-modules@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" - builtin-status-codes@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" + integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug= bytes@1: version "1.0.0" resolved "https://registry.yarnpkg.com/bytes/-/bytes-1.0.0.tgz#3569ede8ba34315fab99c3e92cb04c7220de1fa8" + integrity sha1-NWnt6Lo0MV+rmcPpLLBMciDeH6g= bytes@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" + integrity sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg= bytes@3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" + integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== -cacache@^11.0.2: - version "11.3.1" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-11.3.1.tgz#d09d25f6c4aca7a6d305d141ae332613aa1d515f" +cacache@^12.0.2: + version "12.0.3" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-12.0.3.tgz#be99abba4e1bf5df461cd5a2c1071fc432573390" + integrity sha512-kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw== dependencies: - bluebird "^3.5.1" - chownr "^1.0.1" - figgy-pudding "^3.1.0" - glob "^7.1.2" - graceful-fs "^4.1.11" - lru-cache "^4.1.3" + bluebird "^3.5.5" + chownr "^1.1.1" + figgy-pudding "^3.5.1" + glob "^7.1.4" + graceful-fs "^4.1.15" + infer-owner "^1.0.3" + lru-cache "^5.1.1" mississippi "^3.0.0" mkdirp "^0.5.1" move-concurrently "^1.0.1" promise-inflight "^1.0.1" - rimraf "^2.6.2" - ssri "^6.0.0" - unique-filename "^1.1.0" + rimraf "^2.6.3" + ssri "^6.0.1" + unique-filename "^1.1.1" y18n "^4.0.0" cache-base@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" + integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== dependencies: collection-visit "^1.0.0" component-emitter "^1.2.1" @@ -2356,37 +2265,43 @@ cache-base@^1.0.1: cached-path-relative@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/cached-path-relative/-/cached-path-relative-1.0.2.tgz#a13df4196d26776220cc3356eb147a52dba2c6db" + integrity sha512-5r2GqsoEb4qMTTN9J+WzXfjov+hjxT+j3u5K+kIVNIwAd99DLCJE9pBIMP1qVeybV6JiijL385Oz0DcYxfbOIg== cachedir@1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/cachedir/-/cachedir-1.3.0.tgz#5e01928bf2d95b5edd94b0942188246740e0dbc4" + integrity sha512-O1ji32oyON9laVPJL1IZ5bmwd2cB46VfpxkDequezH+15FDzzVddEyrGEeX4WusDSqKxdyFdDQDEG1yo1GoWkg== dependencies: os-homedir "^1.0.1" caller-callsite@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/caller-callsite/-/caller-callsite-2.0.0.tgz#847e0fce0a223750a9a027c54b33731ad3154134" + integrity sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ= dependencies: callsites "^2.0.0" caller-path@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-2.0.0.tgz#468f83044e369ab2010fac5f06ceee15bb2cb1f4" + integrity sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ= dependencies: caller-callsite "^2.0.0" callsites@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50" + integrity sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA= callsites@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== -camel-case@3.0.x: +camel-case@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-3.0.0.tgz#ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73" + integrity sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M= dependencies: no-case "^2.2.0" upper-case "^1.1.1" @@ -2394,6 +2309,7 @@ camel-case@3.0.x: camelcase-keys@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" + integrity sha1-MIvur/3ygRkFHvodkyITyRuPkuc= dependencies: camelcase "^2.0.0" map-obj "^1.0.0" @@ -2401,36 +2317,39 @@ camelcase-keys@^2.0.0: camelcase@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" + integrity sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8= camelcase@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" + integrity sha1-MvxLn82vhF/N9+c7uXysImHwqwo= camelcase@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" + integrity sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0= -camelcase@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.0.0.tgz#03295527d58bd3cd4aa75363f35b2e8d97be2f42" +camelcase@^5.0.0, camelcase@^5.2.0: + version "5.3.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== -caniuse-lite@^1.0.30000921: - version "1.0.30000921" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000921.tgz#7a607c1623444b22351d834e093aedda3c42fbe8" - -caniuse-lite@^1.0.30000984: - version "1.0.30000984" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000984.tgz#dc96c3c469e9bcfc6ad5bdd24c77ec918ea76fe0" +caniuse-lite@^1.0.30000989: + version "1.0.30000999" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000999.tgz#427253a69ad7bea4aa8d8345687b8eec51ca0e43" + integrity sha512-1CUyKyecPeksKwXZvYw0tEoaMCo/RwBlXmEtN5vVnabvO0KPd9RQLcaAuR9/1F+KDMv6esmOFWlsXuzDk+8rxg== capture-exit@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-1.2.0.tgz#1c5fcc489fd0ab00d4f1ac7ae1072e3173fbab6f" + integrity sha1-HF/MSJ/QqwDU8ax64QcuMXP7q28= dependencies: rsvp "^3.3.3" cardinal@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/cardinal/-/cardinal-2.1.1.tgz#7cc1055d822d212954d07b085dea251cc7bc5505" + integrity sha1-fMEFXYItISlU0HsIXeolHMe8VQU= dependencies: ansicolors "~0.3.2" redeyed "~2.1.0" @@ -2438,14 +2357,17 @@ cardinal@^2.1.1: caseless@~0.12.0: version "0.12.0" resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" + integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= ccount@^1.0.0: version "1.0.4" resolved "https://registry.yarnpkg.com/ccount/-/ccount-1.0.4.tgz#9cf2de494ca84060a2a8d2854edd6dfb0445f386" + integrity sha512-fpZ81yYfzentuieinmGnphk0pLkOTMm6MZdVqwd77ROvhko6iujLNGrHH5E7utq3ygWklwfmwuG+A7P+NpqT6w== -chalk@2.4.2, chalk@^2.3.0, chalk@^2.4.2: +chalk@2.4.2, chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.0, chalk@^2.4.1, chalk@^2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== dependencies: ansi-styles "^3.2.1" escape-string-regexp "^1.0.5" @@ -2454,6 +2376,7 @@ chalk@2.4.2, chalk@^2.3.0, chalk@^2.4.2: chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" + integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg= dependencies: ansi-styles "^2.2.1" escape-string-regexp "^1.0.2" @@ -2461,25 +2384,10 @@ chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3: strip-ansi "^3.0.0" supports-color "^2.0.0" -chalk@^2.0.0: - version "2.3.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.3.2.tgz#250dc96b07491bfd601e648d66ddf5f60c7a5c65" - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -chalk@^2.0.1, chalk@^2.1.0, chalk@^2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.1.tgz#18c49ab16a037b6eb0152cc83e3471338215b66e" - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - chalk@~0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/chalk/-/chalk-0.4.0.tgz#5199a3ddcd0c1efe23bc08c1b027b06176e0c64f" + integrity sha1-UZmj3c0MHv4jvAjBsCewYXbgxk8= dependencies: ansi-styles "~1.0.0" has-color "~0.1.0" @@ -2488,18 +2396,22 @@ chalk@~0.4.0: character-entities-html4@^1.0.0: version "1.1.3" resolved "https://registry.yarnpkg.com/character-entities-html4/-/character-entities-html4-1.1.3.tgz#5ce6e01618e47048ac22f34f7f39db5c6fd679ef" + integrity sha512-SwnyZ7jQBCRHELk9zf2CN5AnGEc2nA+uKMZLHvcqhpPprjkYhiLn0DywMHgN5ttFZuITMATbh68M6VIVKwJbcg== character-entities-legacy@^1.0.0: version "1.1.3" resolved "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-1.1.3.tgz#3c729991d9293da0ede6dddcaf1f2ce1009ee8b4" + integrity sha512-YAxUpPoPwxYFsslbdKkhrGnXAtXoHNgYjlBM3WMXkWGTl5RsY3QmOyhwAgL8Nxm9l5LBThXGawxKPn68y6/fww== character-entities@^1.0.0: version "1.2.3" resolved "https://registry.yarnpkg.com/character-entities/-/character-entities-1.2.3.tgz#bbed4a52fe7ef98cc713c6d80d9faa26916d54e6" + integrity sha512-yB4oYSAa9yLcGyTbB4ItFwHw43QHdH129IJ5R+WvxOkWlyFnR5FAaBNnUq4mcxsTVZGh28bHoeTHMKXH1wZf3w== character-reference-invalid@^1.0.0: version "1.1.3" resolved "https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-1.1.3.tgz#1647f4f726638d3ea4a750cf5d1975c1c7919a85" + integrity sha512-VOq6PRzQBam/8Jm6XBGk2fNEnHXAdGd6go0rtd4weAGECBamHDwwCQSOT12TACIYUZegUXnV6xBXqUssijtxIg== chardet@^0.7.0: version "0.7.0" @@ -2509,29 +2421,12 @@ chardet@^0.7.0: check-more-types@2.24.0: version "2.24.0" resolved "https://registry.yarnpkg.com/check-more-types/-/check-more-types-2.24.0.tgz#1420ffb10fd444dcfc79b43891bbfffd32a84600" + integrity sha1-FCD/sQ/URNz8ebQ4kbv//TKoRgA= -chokidar@^2.0.2: - version "2.0.4" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.0.4.tgz#356ff4e2b0e8e43e322d18a372460bbcf3accd26" - dependencies: - anymatch "^2.0.0" - async-each "^1.0.0" - braces "^2.3.0" - glob-parent "^3.1.0" - inherits "^2.0.1" - is-binary-path "^1.0.0" - is-glob "^4.0.0" - lodash.debounce "^4.0.8" - normalize-path "^2.1.1" - path-is-absolute "^1.0.0" - readdirp "^2.0.0" - upath "^1.0.5" - optionalDependencies: - fsevents "^1.2.2" - -chokidar@^2.0.4, chokidar@^2.1.6: - version "2.1.6" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.6.tgz#b6cad653a929e244ce8a834244164d241fa954c5" +chokidar@^2.0.2, chokidar@^2.0.4, chokidar@^2.1.8: + version "2.1.8" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917" + integrity sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg== dependencies: anymatch "^2.0.0" async-each "^1.0.1" @@ -2547,23 +2442,32 @@ chokidar@^2.0.4, chokidar@^2.1.6: optionalDependencies: fsevents "^1.2.7" -chownr@^1.0.1, chownr@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.1.tgz#54726b8b8fff4df053c42187e801fb4412df1494" +chownr@^1.1.1: + version "1.1.3" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.3.tgz#42d837d5239688d55f303003a508230fa6727142" + integrity sha512-i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw== -chrome-trace-event@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.0.tgz#45a91bd2c20c9411f0963b5aaeb9a1b95e09cc48" +chrome-trace-event@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz#234090ee97c7d4ad1a2c4beae27505deffc608a4" + integrity sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ== dependencies: tslib "^1.9.0" ci-info@^1.5.0: version "1.6.0" resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.6.0.tgz#2ca20dbb9ceb32d4524a683303313f0304b1e497" + integrity sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A== + +ci-info@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" + integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: version "1.0.4" resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" + integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== dependencies: inherits "^2.0.1" safe-buffer "^5.0.1" @@ -2571,51 +2475,60 @@ cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: cjson@0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/cjson/-/cjson-0.3.0.tgz#e6439b90703d312ff6e2224097bea92ce3d02a14" + integrity sha1-5kObkHA9MS/24iJAl76pLOPQKhQ= dependencies: jsonlint "1.6.0" class-utils@^0.3.5: version "0.3.6" resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" + integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== dependencies: arr-union "^3.1.0" define-property "^0.2.5" isobject "^3.0.0" static-extend "^0.1.1" -clean-css@4.2.x, clean-css@^4.1.6: +clean-css@^4.1.6, clean-css@^4.2.1: version "4.2.1" resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.1.tgz#2d411ef76b8569b6d0c84068dabe85b0aa5e5c17" + integrity sha512-4ZxI6dy4lrY6FHzfiy1aEOXgu4LIsW2MhwG0VBKdcoGoH/XLFgaHSdLTGr4O8Be6A8r3MOphEiI8Gc1n0ecf3g== dependencies: source-map "~0.6.0" clean-stack@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-1.3.0.tgz#9e821501ae979986c46b1d66d2d432db2fd4ae31" + integrity sha1-noIVAa6XmYbEax1m0tQy2y/UrjE= clean-stack@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" + integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== cli-cursor@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987" + integrity sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc= dependencies: restore-cursor "^1.0.1" cli-cursor@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" + integrity sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU= dependencies: restore-cursor "^2.0.0" cli-spinners@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-0.1.2.tgz#bb764d88e185fb9e1e6a2a1f19772318f605e31c" + integrity sha1-u3ZNiOGF+54eaiofGXcjGPYF4xw= cli-truncate@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-0.2.1.tgz#9f15cfbb0705005369216c626ac7d05ab90dd574" + integrity sha1-nxXPuwcFAFNpIWxiasfQWrkN1XQ= dependencies: slice-ansi "0.0.4" string-width "^1.0.1" @@ -2623,6 +2536,7 @@ cli-truncate@^0.2.1: cli-ux@^4.9.0: version "4.9.3" resolved "https://registry.yarnpkg.com/cli-ux/-/cli-ux-4.9.3.tgz#4c3e070c1ea23eef010bbdb041192e0661be84ce" + integrity sha512-/1owvF0SZ5Gn54cgrikJ0QskgTzeg30HGjkmjFoaHDJzAqFpuX1DBpFR8aLvsE1J5s9MgeYRENQK4BFwOag5VA== dependencies: "@oclif/errors" "^1.2.2" "@oclif/linewrap" "^1.0.0" @@ -2649,30 +2563,44 @@ cli-ux@^4.9.0: cli-width@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639" + integrity sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk= cliui@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" + integrity sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0= dependencies: string-width "^1.0.1" strip-ansi "^3.0.1" wrap-ansi "^2.0.0" cliui@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-4.0.0.tgz#743d4650e05f36d1ed2575b59638d87322bfbbcc" + version "4.1.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49" + integrity sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ== dependencies: string-width "^2.1.1" strip-ansi "^4.0.0" wrap-ansi "^2.0.0" +cliui@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" + integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA== + dependencies: + string-width "^3.1.0" + strip-ansi "^5.2.0" + wrap-ansi "^5.1.0" + clone-buffer@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/clone-buffer/-/clone-buffer-1.0.0.tgz#e3e25b207ac4e701af721e2cb5a16792cac3dc58" + integrity sha1-4+JbIHrE5wGvch4staFnksrD3Fg= clone-deep@^0.2.4: version "0.2.4" resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-0.2.4.tgz#4e73dd09e9fb971cc38670c5dced9c1896481cc6" + integrity sha1-TnPdCen7lxzDhnDF3O2cGJZIHMY= dependencies: for-own "^0.1.3" is-plain-object "^2.0.1" @@ -2680,26 +2608,29 @@ clone-deep@^0.2.4: lazy-cache "^1.0.3" shallow-clone "^0.1.2" -clone-deep@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-2.0.2.tgz#00db3a1e173656730d1188c3d6aced6d7ea97713" +clone-deep@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" + integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== dependencies: - for-own "^1.0.0" is-plain-object "^2.0.4" - kind-of "^6.0.0" - shallow-clone "^1.0.0" + kind-of "^6.0.2" + shallow-clone "^3.0.0" clone-stats@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-1.0.0.tgz#b3782dff8bb5474e18b9b6bf0fdfe782f8777680" + integrity sha1-s3gt/4u1R04Yuba/D9/ngvh3doA= clone@^2.1.1: version "2.1.2" resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f" + integrity sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18= cloneable-readable@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/cloneable-readable/-/cloneable-readable-1.1.2.tgz#d591dee4a8f8bc15da43ce97dceeba13d43e2a65" + version "1.1.3" + resolved "https://registry.yarnpkg.com/cloneable-readable/-/cloneable-readable-1.1.3.tgz#120a00cb053bfb63a222e709f9683ea2e11d8cec" + integrity sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ== dependencies: inherits "^2.0.1" process-nextick-args "^2.0.0" @@ -2708,91 +2639,135 @@ cloneable-readable@^1.0.0: co@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" + integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= code-point-at@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" + integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= collapse-white-space@^1.0.0, collapse-white-space@^1.0.2: version "1.0.5" resolved "https://registry.yarnpkg.com/collapse-white-space/-/collapse-white-space-1.0.5.tgz#c2495b699ab1ed380d29a1091e01063e75dbbe3a" + integrity sha512-703bOOmytCYAX9cXYqoikYIx6twmFCXsnzRQheBcTG3nzKYBR4P/+wkYeH+Mvj7qUz8zZDtdyzbxfnEi/kYzRQ== collection-visit@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" + integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= dependencies: map-visit "^1.0.0" object-visit "^1.0.0" -color-convert@^1.9.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.0.tgz#1accf97dd739b983bf994d56fec8f95853641b7a" +color-convert@^1.9.0, color-convert@^1.9.1: + version "1.9.3" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== dependencies: - color-name "^1.1.1" + color-name "1.1.3" -color-name@^1.1.1: +color-name@1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= + +color-name@^1.0.0: + version "1.1.4" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +color-string@^1.5.2: + version "1.5.3" + resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.5.3.tgz#c9bbc5f01b58b5492f3d6857459cb6590ce204cc" + integrity sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw== + dependencies: + color-name "^1.0.0" + simple-swizzle "^0.2.2" + +color@3.0.x: + version "3.0.0" + resolved "https://registry.yarnpkg.com/color/-/color-3.0.0.tgz#d920b4328d534a3ac8295d68f7bd4ba6c427be9a" + integrity sha512-jCpd5+s0s0t7p3pHQKpnJ0TpQKKdleP71LWcA0aqiljpiuAkOSUFN/dyH8ZwF0hRmFlrIuRhufds1QyEP9EB+w== + dependencies: + color-convert "^1.9.1" + color-string "^1.5.2" + +colornames@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/colornames/-/colornames-1.1.1.tgz#f8889030685c7c4ff9e2a559f5077eb76a816f96" + integrity sha1-+IiQMGhcfE/54qVZ9Qd+t2qBb5Y= colors@0.5.x: version "0.5.1" resolved "https://registry.yarnpkg.com/colors/-/colors-0.5.1.tgz#7d0023eaeb154e8ee9fce75dcb923d0ed1667774" + integrity sha1-fQAj6usVTo7p/Oddy5I9DtFmd3Q= -colors@1.0.x: - version "1.0.3" - resolved "https://registry.yarnpkg.com/colors/-/colors-1.0.3.tgz#0433f44d809680fdeb60ed260f1b0c262e82a40b" +colors@^1.2.1, colors@^1.3.2: + version "1.4.0" + resolved "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78" + integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA== -colors@^1.3.2: - version "1.3.3" - resolved "https://registry.yarnpkg.com/colors/-/colors-1.3.3.tgz#39e005d546afe01e01f9c4ca8fa50f686a01205d" +colorspace@1.1.x: + version "1.1.2" + resolved "https://registry.yarnpkg.com/colorspace/-/colorspace-1.1.2.tgz#e0128950d082b86a2168580796a0aa5d6c68d8c5" + integrity sha512-vt+OoIP2d76xLhjwbBaucYlNSpPsrJWPlBTtwCpQKIu6/CSMutyzX93O/Do0qzpH3YoHEes8YEFXyZ797rEhzQ== + dependencies: + color "3.0.x" + text-hex "1.0.x" combined-stream@^1.0.6, combined-stream@~1.0.6: - version "1.0.7" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.7.tgz#2d1d24317afb8abe95d6d2c0b07b57813539d828" + version "1.0.8" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== dependencies: delayed-stream "~1.0.0" comma-separated-tokens@^1.0.1: version "1.0.7" resolved "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-1.0.7.tgz#419cd7fb3258b1ed838dc0953167a25e152f5b59" + integrity sha512-Jrx3xsP4pPv4AwJUDWY9wOXGtwPXARej6Xd99h4TUGotmf8APuquKMpK+dnD3UgyxK7OEWaisjZz+3b5jtL6xQ== -commander@2, commander@^2.19.0: - version "2.19.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a" +commander@2, commander@^2.11.0, commander@^2.19.0, commander@^2.20.0, commander@~2.20.0: + version "2.20.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.1.tgz#3863ce3ca92d0831dcf2a102f5fb4b5926afd0f9" + integrity sha512-cCuLsMhJeWQ/ZpsFTbE765kvVfoeSddc4nU3up4fV+fDBcfUXnbITJ+JzhkdjzOqhURjZgujxaioam4RM9yGUg== commander@2.15.1: version "2.15.1" resolved "https://registry.yarnpkg.com/commander/-/commander-2.15.1.tgz#df46e867d0fc2aec66a34662b406a9ccafff5b0f" + integrity sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag== -commander@2.17.x, commander@~2.17.1: - version "2.17.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf" - -commander@^2.11.0, commander@^2.9.0: - version "2.20.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.0.tgz#d58bb2b5c1ee8f87b0d340027e9e94e222c5a422" +commander@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/commander/-/commander-3.0.2.tgz#6837c3fb677ad9933d1cfba42dd14d5117d6b39e" + integrity sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow== common-tags@1.8.0: version "1.8.0" resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.0.tgz#8e3153e542d4a39e9b10554434afaaf98956a937" + integrity sha512-6P6g0uetGpW/sdyUy/iQQCbFF0kWVMSIVSyYz7Zgjcgh8mgw8PQzDNZeyZ5DQ2gM7LBoZPHmnjz8rUthkBG5tw== commondir@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" + integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= component-emitter@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6" + version "1.3.0" + resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" + integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== compressible@~2.0.16: version "2.0.17" resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.17.tgz#6e8c108a16ad58384a977f3a482ca20bff2f38c1" + integrity sha512-BGHeLCK1GV7j1bSmQQAi26X+GgWcTjLr/0tzSvMCl3LH1w1IJ4PFSPoV5316b30cneTziC+B1a+3OjoSUcQYmw== dependencies: mime-db ">= 1.40.0 < 2" compression@^1.7.4: version "1.7.4" resolved "https://registry.yarnpkg.com/compression/-/compression-1.7.4.tgz#95523eff170ca57c29a0ca41e6fe131f41e5bb8f" + integrity sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ== dependencies: accepts "~1.3.5" bytes "3.0.0" @@ -2805,10 +2780,12 @@ compression@^1.7.4: concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= concat-stream@1.6.2, concat-stream@^1.5.0, concat-stream@^1.6.0: version "1.6.2" resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" + integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== dependencies: buffer-from "^1.0.0" inherits "^2.0.3" @@ -2818,6 +2795,7 @@ concat-stream@1.6.2, concat-stream@^1.5.0, concat-stream@^1.6.0: concat-stream@~1.5.0: version "1.5.2" resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.5.2.tgz#708978624d856af41a5a741defdd261da752c266" + integrity sha1-cIl4Yk2FavQaWnQd790mHadSwmY= dependencies: inherits "~2.0.1" readable-stream "~2.0.0" @@ -2826,56 +2804,63 @@ concat-stream@~1.5.0: connect-history-api-fallback@^1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz#8b32089359308d111115d81cad3fceab888f97bc" + integrity sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg== console-browserify@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.1.0.tgz#f0241c45730a9fc6323b206dbf38edc741d0bb10" + integrity sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA= dependencies: date-now "^0.1.4" console-control-strings@^1.0.0, console-control-strings@~1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" + integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4= constants-browserify@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" + integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U= content-disposition@0.5.3: version "0.5.3" resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd" + integrity sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g== dependencies: safe-buffer "5.1.2" content-type@~1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" + integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== continuable-cache@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/continuable-cache/-/continuable-cache-0.3.1.tgz#bd727a7faed77e71ff3985ac93351a912733ad0f" + integrity sha1-vXJ6f67XfnH/OYWskzUakSczrQ8= -convert-source-map@^1.1.0, convert-source-map@^1.4.0, convert-source-map@^1.5.1: +convert-source-map@^1.1.0, convert-source-map@^1.4.0, convert-source-map@^1.5.0, convert-source-map@^1.5.1: version "1.6.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.6.0.tgz#51b537a8c43e0f04dec1993bffcdd504e758ac20" + integrity sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A== dependencies: safe-buffer "~5.1.1" -convert-source-map@^1.5.0: - version "1.5.1" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.1.tgz#b8278097b9bc229365de5c62cf5fcaed8b5599e5" - cookie-signature@1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" + integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw= cookie@0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.0.tgz#beb437e7022b3b6d49019d088665303ebe9c14ba" + integrity sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg== copy-concurrently@^1.0.0: version "1.0.5" resolved "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0" + integrity sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A== dependencies: aproba "^1.1.1" fs-write-stream-atomic "^1.0.8" @@ -2887,65 +2872,60 @@ copy-concurrently@^1.0.0: copy-descriptor@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" + integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= core-js-compat@^3.1.1: - version "3.1.4" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.1.4.tgz#e4d0c40fbd01e65b1d457980fe4112d4358a7408" + version "3.2.1" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.2.1.tgz#0cbdbc2e386e8e00d3b85dc81c848effec5b8150" + integrity sha512-MwPZle5CF9dEaMYdDeWm73ao/IflDH+FjeJCWEADcEgFSE9TLimFKwJsfmkwzI8eC0Aj0mgvMDjeQjrElkz4/A== dependencies: - browserslist "^4.6.2" - core-js-pure "3.1.4" - semver "^6.1.1" + browserslist "^4.6.6" + semver "^6.3.0" -core-js-pure@3.1.4: - version "3.1.4" - resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.1.4.tgz#5fa17dc77002a169a3566cc48dc774d2e13e3769" - -core-js@^2.4.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.0.tgz#569c050918be6486b3837552028ae0466b717086" - -core-js@^2.5.0, core-js@^2.6.5: +core-js@^2.4.0, core-js@^2.5.0, core-js@^2.6.5: version "2.6.9" resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.9.tgz#6b4b214620c834152e179323727fc19741b084f2" - -core-js@^2.5.7: - version "2.6.0" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.0.tgz#1e30793e9ee5782b307e37ffa22da0eacddd84d4" + integrity sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A== core-util-is@1.0.2, core-util-is@~1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= cors@^2.8.4: version "2.8.5" resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.5.tgz#eac11da51592dd86b9f06f6e7ac293b3df875d29" + integrity sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g== dependencies: object-assign "^4" vary "^1" -cosmiconfig@^5.0.7: - version "5.0.7" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.0.7.tgz#39826b292ee0d78eda137dfa3173bd1c21a43b04" +cosmiconfig@^5.0.7, cosmiconfig@^5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a" + integrity sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA== dependencies: import-fresh "^2.0.0" is-directory "^0.3.1" - js-yaml "^3.9.0" + js-yaml "^3.13.1" parse-json "^4.0.0" coveralls@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/coveralls/-/coveralls-3.0.2.tgz#f5a0bcd90ca4e64e088b710fa8dda640aea4884f" + version "3.0.6" + resolved "https://registry.yarnpkg.com/coveralls/-/coveralls-3.0.6.tgz#5c63b2759b6781118e7439bd870ba5e9ee428b25" + integrity sha512-Pgh4v3gCI4T/9VijVrm8Ym5v0OgjvGLKj3zTUwkvsCiwqae/p6VLzpsFNjQS2i6ewV7ef+DjFJ5TSKxYt/mCrA== dependencies: growl "~> 1.10.0" - js-yaml "^3.11.0" + js-yaml "^3.13.1" lcov-parse "^0.0.10" log-driver "^1.2.7" minimist "^1.2.0" - request "^2.85.0" + request "^2.86.0" create-ecdh@^4.0.0: version "4.0.3" resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.3.tgz#c9111b6f33045c4697f144787f9254cdc77c45ff" + integrity sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw== dependencies: bn.js "^4.1.0" elliptic "^6.0.0" @@ -2953,6 +2933,7 @@ create-ecdh@^4.0.0: create-hash@^1.1.0, create-hash@^1.1.2: version "1.2.0" resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" + integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== dependencies: cipher-base "^1.0.1" inherits "^2.0.1" @@ -2963,6 +2944,7 @@ create-hash@^1.1.0, create-hash@^1.1.2: create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4: version "1.1.7" resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" + integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== dependencies: cipher-base "^1.0.3" create-hash "^1.1.0" @@ -2971,24 +2953,10 @@ create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4: safe-buffer "^5.0.1" sha.js "^2.4.8" -cross-spawn@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-3.0.1.tgz#1256037ecb9f0c5f79e3d6ef135e30770184b982" - dependencies: - lru-cache "^4.0.1" - which "^1.2.9" - -cross-spawn@^5.0.1: - version "5.1.0" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" - dependencies: - lru-cache "^4.0.1" - shebang-command "^1.2.0" - which "^1.2.9" - -cross-spawn@^6.0.0, cross-spawn@^6.0.5: +cross-spawn@6.0.5, cross-spawn@^6.0.0, cross-spawn@^6.0.5: version "6.0.5" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" + integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== dependencies: nice-try "^1.0.4" path-key "^2.0.1" @@ -2996,9 +2964,27 @@ cross-spawn@^6.0.0, cross-spawn@^6.0.5: shebang-command "^1.2.0" which "^1.2.9" +cross-spawn@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-3.0.1.tgz#1256037ecb9f0c5f79e3d6ef135e30770184b982" + integrity sha1-ElYDfsufDF9549bvE14wdwGEuYI= + dependencies: + lru-cache "^4.0.1" + which "^1.2.9" + +cross-spawn@^5.0.1: + version "5.1.0" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" + integrity sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk= + dependencies: + lru-cache "^4.0.1" + shebang-command "^1.2.0" + which "^1.2.9" + crypto-browserify@^3.11.0: version "3.12.0" resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" + integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg== dependencies: browserify-cipher "^1.0.0" browserify-sign "^4.0.0" @@ -3012,77 +2998,83 @@ crypto-browserify@^3.11.0: randombytes "^2.0.0" randomfill "^1.0.3" +crypto-random-string@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-3.0.1.tgz#29d7dc759d577a768afb3b7b2765dd9bd7ffe36a" + integrity sha512-dUL0cJ4PBLanJGJQBHQUkvZ3C4q13MXzl54oRqAIiJGiNkOZ4JDwkg/SBo7daGghzlJv16yW1p/4lIQukmbedA== + dependencies: + type-fest "^0.5.2" + css-b64-images@~0.2.5: version "0.2.5" resolved "https://registry.yarnpkg.com/css-b64-images/-/css-b64-images-0.2.5.tgz#42005d83204b2b4a5d93b6b1a5644133b5927a02" + integrity sha1-QgBdgyBLK0pdk7axpWRBM7WSegI= css-loader@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-2.0.1.tgz#2e51a15449ab3f7195b7e1bc00a407460016a3b3" + version "2.1.1" + resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-2.1.1.tgz#d8254f72e412bb2238bb44dd674ffbef497333ea" + integrity sha512-OcKJU/lt232vl1P9EEDamhoO9iKY3tIjY5GU+XDLblAykTdgs6Ux9P1hTHve8nFKy5KPpOXOsVI/hIwi3841+w== dependencies: - icss-utils "^4.0.0" - loader-utils "^1.0.2" - lodash "^4.17.11" - postcss "^7.0.6" + camelcase "^5.2.0" + icss-utils "^4.1.0" + loader-utils "^1.2.3" + normalize-path "^3.0.0" + postcss "^7.0.14" postcss-modules-extract-imports "^2.0.0" - postcss-modules-local-by-default "^2.0.2" - postcss-modules-scope "^2.0.0" + postcss-modules-local-by-default "^2.0.6" + postcss-modules-scope "^2.1.0" postcss-modules-values "^2.0.0" postcss-value-parser "^3.3.0" schema-utils "^1.0.0" -css-selector-tokenizer@^0.7.0: - version "0.7.1" - resolved "https://registry.yarnpkg.com/css-selector-tokenizer/-/css-selector-tokenizer-0.7.1.tgz#a177271a8bca5019172f4f891fc6eed9cbf68d5d" - dependencies: - cssesc "^0.1.0" - fastparse "^1.1.1" - regexpu-core "^1.0.0" - css-to-string-loader@^0.1.3: version "0.1.3" resolved "https://registry.yarnpkg.com/css-to-string-loader/-/css-to-string-loader-0.1.3.tgz#c937175f2ec783969aefe14a4fba055f7b4f9562" + integrity sha1-yTcXXy7Hg5aa7+FKT7oFX3tPlWI= dependencies: loader-utils "^0.2.15" -cssesc@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-0.1.0.tgz#c814903e45623371a0477b40109aaafbeeaddbb4" +cssesc@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" + integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0": - version "0.3.4" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.4.tgz#8cd52e8a3acfd68d3aed38ee0a640177d2f9d797" + version "0.3.8" + resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" + integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== cssstyle@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-1.1.1.tgz#18b038a9c44d65f7a8e428a653b9f6fe42faf5fb" + version "1.4.0" + resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-1.4.0.tgz#9d31328229d3c565c61e586b02041a28fccdccf1" + integrity sha512-GBrLZYZ4X4x6/QEoBnIrqb8B/f5l4+8me2dkom/j1Gtbxy0kBv6OGzKuAsGM75bkGwGAFkt56Iwg28S3XTZgSA== dependencies: cssom "0.3.x" currently-unhandled@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" + integrity sha1-mI3zP+qxke95mmE2nddsF635V+o= dependencies: array-find-index "^1.0.1" cwd@^0.10.0: version "0.10.0" resolved "https://registry.yarnpkg.com/cwd/-/cwd-0.10.0.tgz#172400694057c22a13b0cf16162c7e4b7a7fe567" + integrity sha1-FyQAaUBXwioTsM8WFix+S3p/5Wc= dependencies: find-pkg "^0.1.2" fs-exists-sync "^0.1.0" -cycle@1.0.x: - version "1.0.3" - resolved "https://registry.yarnpkg.com/cycle/-/cycle-1.0.3.tgz#21e80b2be8580f98b468f379430662b046c34ad2" - -cyclist@~0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-0.2.2.tgz#1b33792e11e914a2fd6d6ed6447464444e5fa640" +cyclist@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9" + integrity sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk= cypress@3.4.0: version "3.4.0" resolved "https://registry.yarnpkg.com/cypress/-/cypress-3.4.0.tgz#8053ee107eb6309f26abd57e882d05578bdc3391" + integrity sha512-vUE+sK3l23fhs5qTN3dKpveyP0fGr37VmK3FSYaTEjbqC/qh4DbA1Ych/3bLStUpHP4rpE5KAx7i1s/tpdD9vQ== dependencies: "@cypress/listr-verbose-renderer" "0.4.1" "@cypress/xvfb" "1.2.4" @@ -3119,14 +3111,17 @@ cypress@3.4.0: d3-array@1, d3-array@^1.1.1, d3-array@^1.2.0: version "1.2.4" resolved "https://registry.yarnpkg.com/d3-array/-/d3-array-1.2.4.tgz#635ce4d5eea759f6f605863dbcfc30edc737f71f" + integrity sha512-KHW6M86R+FUPYGb3R5XiYjXPq7VzwxZ22buHhAEVG5ztoEcZZMLov530mmccaqA1GghZArjQV46fuc8kUqhhHw== d3-axis@1: version "1.0.12" resolved "https://registry.yarnpkg.com/d3-axis/-/d3-axis-1.0.12.tgz#cdf20ba210cfbb43795af33756886fb3638daac9" + integrity sha512-ejINPfPSNdGFKEOAtnBtdkpr24c4d4jsei6Lg98mxf424ivoDP2956/5HDpIAtmHo85lqT4pruy+zEgvRUBqaQ== d3-brush@1: - version "1.0.6" - resolved "https://registry.yarnpkg.com/d3-brush/-/d3-brush-1.0.6.tgz#33691f2032d9db6c5d8cb684ff255a9883629e21" + version "1.1.3" + resolved "https://registry.yarnpkg.com/d3-brush/-/d3-brush-1.1.3.tgz#a04900a71fa5390f7f7afe1504b02a382709f380" + integrity sha512-v8bbYyCFKjyCzFk/tdWqXwDykY8YWqhXYjcYxfILIit085VZOpj4XJKOMccTsvWxgzSLMJQg5SiqHjslsipEDg== dependencies: d3-dispatch "1" d3-drag "1" @@ -3137,6 +3132,7 @@ d3-brush@1: d3-chord@1: version "1.0.6" resolved "https://registry.yarnpkg.com/d3-chord/-/d3-chord-1.0.6.tgz#309157e3f2db2c752f0280fedd35f2067ccbb15f" + integrity sha512-JXA2Dro1Fxw9rJe33Uv+Ckr5IrAa74TlfDEhE/jfLOaXegMQFQTAgAw9WnZL8+HxVBRXaRGCkrNU7pJeylRIuA== dependencies: d3-array "1" d3-path "1" @@ -3144,31 +3140,37 @@ d3-chord@1: d3-collection@1: version "1.0.7" resolved "https://registry.yarnpkg.com/d3-collection/-/d3-collection-1.0.7.tgz#349bd2aa9977db071091c13144d5e4f16b5b310e" + integrity sha512-ii0/r5f4sjKNTfh84Di+DpztYwqKhEyUlKoPrzUFfeSkWxjW49xU2QzO9qrPrNkpdI0XJkfzvmTu8V2Zylln6A== d3-color@1: - version "1.2.3" - resolved "https://registry.yarnpkg.com/d3-color/-/d3-color-1.2.3.tgz#6c67bb2af6df3cc8d79efcc4d3a3e83e28c8048f" + version "1.4.0" + resolved "https://registry.yarnpkg.com/d3-color/-/d3-color-1.4.0.tgz#89c45a995ed773b13314f06460df26d60ba0ecaf" + integrity sha512-TzNPeJy2+iEepfiL92LAAB7fvnp/dV2YwANPVHdDWmYMm23qIJBYww3qT8I8C1wXrmrg4UWs7BKc2tKIgyjzHg== d3-contour@1: version "1.3.2" resolved "https://registry.yarnpkg.com/d3-contour/-/d3-contour-1.3.2.tgz#652aacd500d2264cb3423cee10db69f6f59bead3" + integrity sha512-hoPp4K/rJCu0ladiH6zmJUEz6+u3lgR+GSm/QdM2BBvDraU39Vr7YdDCicJcxP1z8i9B/2dJLgDC1NcvlF8WCg== dependencies: d3-array "^1.1.1" d3-dispatch@1: version "1.0.5" resolved "https://registry.yarnpkg.com/d3-dispatch/-/d3-dispatch-1.0.5.tgz#e25c10a186517cd6c82dd19ea018f07e01e39015" + integrity sha512-vwKx+lAqB1UuCeklr6Jh1bvC4SZgbSqbkGBLClItFBIYH4vqDJCA7qfoy14lXmJdnBOdxndAMxjCbImJYW7e6g== d3-drag@1: - version "1.2.3" - resolved "https://registry.yarnpkg.com/d3-drag/-/d3-drag-1.2.3.tgz#46e206ad863ec465d88c588098a1df444cd33c64" + version "1.2.4" + resolved "https://registry.yarnpkg.com/d3-drag/-/d3-drag-1.2.4.tgz#ba9331d68158ad14cf0b4b28a8afa9e78c7d99ad" + integrity sha512-ICPurDETFAelF1CTHdIyiUM4PsyZLaM+7oIBhmyP+cuVjze5vDZ8V//LdOFjg0jGnFIZD/Sfmk0r95PSiu78rw== dependencies: d3-dispatch "1" d3-selection "1" d3-dsv@1: - version "1.0.10" - resolved "https://registry.yarnpkg.com/d3-dsv/-/d3-dsv-1.0.10.tgz#4371c489a2a654a297aca16fcaf605a6f31a6f51" + version "1.1.1" + resolved "https://registry.yarnpkg.com/d3-dsv/-/d3-dsv-1.1.1.tgz#aaa830ecb76c4b5015572c647cc6441e3c7bb701" + integrity sha512-1EH1oRGSkeDUlDRbhsFytAXU6cAmXFzc52YUe6MRlPClmWb85MP1J5x+YJRzya4ynZWnbELdSAvATFW/MbxaXw== dependencies: commander "2" iconv-lite "0.4" @@ -3177,16 +3179,19 @@ d3-dsv@1: d3-ease@1: version "1.0.5" resolved "https://registry.yarnpkg.com/d3-ease/-/d3-ease-1.0.5.tgz#8ce59276d81241b1b72042d6af2d40e76d936ffb" + integrity sha512-Ct1O//ly5y5lFM9YTdu+ygq7LleSgSE4oj7vUt9tPLHUi8VCV7QoizGpdWRWAwCO9LdYzIrQDg97+hGVdsSGPQ== d3-fetch@1: version "1.1.2" resolved "https://registry.yarnpkg.com/d3-fetch/-/d3-fetch-1.1.2.tgz#957c8fbc6d4480599ba191b1b2518bf86b3e1be2" + integrity sha512-S2loaQCV/ZeyTyIF2oP8D1K9Z4QizUzW7cWeAOAS4U88qOt3Ucf6GsmgthuYSdyB2HyEm4CeGvkQxWsmInsIVA== dependencies: d3-dsv "1" d3-force@1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/d3-force/-/d3-force-1.1.2.tgz#16664d0ac71d8727ef5effe0b374feac8050d6cd" + version "1.2.1" + resolved "https://registry.yarnpkg.com/d3-force/-/d3-force-1.2.1.tgz#fd29a5d1ff181c9e7f0669e4bd72bdb0e914ec0b" + integrity sha512-HHvehyaiUlVo5CxBJ0yF/xny4xoaxFxDnBXNvNcfW9adORGZfyNF1dj6DGLKyk4Yh3brP/1h3rnDzdIAwL08zg== dependencies: d3-collection "1" d3-dispatch "1" @@ -3194,51 +3199,61 @@ d3-force@1: d3-timer "1" d3-format@1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/d3-format/-/d3-format-1.3.2.tgz#6a96b5e31bcb98122a30863f7d92365c00603562" + version "1.4.1" + resolved "https://registry.yarnpkg.com/d3-format/-/d3-format-1.4.1.tgz#c45f74b17c5a290c072a4ba7039dd19662cd5ce6" + integrity sha512-TUswGe6hfguUX1CtKxyG2nymO+1lyThbkS1ifLX0Sr+dOQtAD5gkrffpHnx+yHNKUZ0Bmg5T4AjUQwugPDrm0g== d3-geo@1: - version "1.11.3" - resolved "https://registry.yarnpkg.com/d3-geo/-/d3-geo-1.11.3.tgz#5bb08388f45e4b281491faa72d3abd43215dbd1c" + version "1.11.6" + resolved "https://registry.yarnpkg.com/d3-geo/-/d3-geo-1.11.6.tgz#134f2ef035ff75a448075fafdea92702a2e0e0cf" + integrity sha512-z0J8InXR9e9wcgNtmVnPTj0TU8nhYT6lD/ak9may2PdKqXIeHUr8UbFLoCtrPYNsjv6YaLvSDQVl578k6nm7GA== dependencies: d3-array "1" d3-hierarchy@1: version "1.1.8" resolved "https://registry.yarnpkg.com/d3-hierarchy/-/d3-hierarchy-1.1.8.tgz#7a6317bd3ed24e324641b6f1e76e978836b008cc" + integrity sha512-L+GHMSZNwTpiq4rt9GEsNcpLa4M96lXMR8M/nMG9p5hBE0jy6C+3hWtyZMenPQdwla249iJy7Nx0uKt3n+u9+w== d3-interpolate@1: version "1.3.2" resolved "https://registry.yarnpkg.com/d3-interpolate/-/d3-interpolate-1.3.2.tgz#417d3ebdeb4bc4efcc8fd4361c55e4040211fd68" + integrity sha512-NlNKGopqaz9qM1PXh9gBF1KSCVh+jSFErrSlD/4hybwoNX/gt1d8CDbDW+3i+5UOHhjC6s6nMvRxcuoMVNgL2w== dependencies: d3-color "1" d3-path@1: - version "1.0.7" - resolved "https://registry.yarnpkg.com/d3-path/-/d3-path-1.0.7.tgz#8de7cd693a75ac0b5480d3abaccd94793e58aae8" + version "1.0.8" + resolved "https://registry.yarnpkg.com/d3-path/-/d3-path-1.0.8.tgz#4a0606a794d104513ec4a8af43525f374b278719" + integrity sha512-J6EfUNwcMQ+aM5YPOB8ZbgAZu6wc82f/0WFxrxwV6Ll8wBwLaHLKCqQ5Imub02JriCVVdPjgI+6P3a4EWJCxAg== d3-polygon@1: version "1.0.5" resolved "https://registry.yarnpkg.com/d3-polygon/-/d3-polygon-1.0.5.tgz#9a645a0a64ff6cbf9efda96ee0b4a6909184c363" + integrity sha512-RHhh1ZUJZfhgoqzWWuRhzQJvO7LavchhitSTHGu9oj6uuLFzYZVeBzaWTQ2qSO6bz2w55RMoOCf0MsLCDB6e0w== d3-quadtree@1: - version "1.0.5" - resolved "https://registry.yarnpkg.com/d3-quadtree/-/d3-quadtree-1.0.5.tgz#305394840b01f51a341a0da5008585e837fe7e9b" + version "1.0.6" + resolved "https://registry.yarnpkg.com/d3-quadtree/-/d3-quadtree-1.0.6.tgz#d1ab2a95a7f27bbde88582c94166f6ae35f32056" + integrity sha512-NUgeo9G+ENQCQ1LsRr2qJg3MQ4DJvxcDNCiohdJGHt5gRhBW6orIB5m5FJ9kK3HNL8g9F4ERVoBzcEwQBfXWVA== d3-random@1: version "1.1.2" resolved "https://registry.yarnpkg.com/d3-random/-/d3-random-1.1.2.tgz#2833be7c124360bf9e2d3fd4f33847cfe6cab291" + integrity sha512-6AK5BNpIFqP+cx/sreKzNjWbwZQCSUatxq+pPRmFIQaWuoD+NrbVWw7YWpHiXpCQ/NanKdtGDuB+VQcZDaEmYQ== d3-scale-chromatic@1: - version "1.3.3" - resolved "https://registry.yarnpkg.com/d3-scale-chromatic/-/d3-scale-chromatic-1.3.3.tgz#dad4366f0edcb288f490128979c3c793583ed3c0" + version "1.5.0" + resolved "https://registry.yarnpkg.com/d3-scale-chromatic/-/d3-scale-chromatic-1.5.0.tgz#54e333fc78212f439b14641fb55801dd81135a98" + integrity sha512-ACcL46DYImpRFMBcpk9HhtIyC7bTBR4fNOPxwVSl0LfulDAwyiHyPOTqcDG1+t5d4P9W7t/2NAuWu59aKko/cg== dependencies: d3-color "1" d3-interpolate "1" d3-scale@2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/d3-scale/-/d3-scale-2.1.2.tgz#4e932b7b60182aee9073ede8764c98423e5f9a94" + version "2.2.2" + resolved "https://registry.yarnpkg.com/d3-scale/-/d3-scale-2.2.2.tgz#4e880e0b2745acaaddd3ede26a9e908a9e17b81f" + integrity sha512-LbeEvGgIb8UMcAa0EATLNX0lelKWGYDQiPdHj+gLblGVhGLyNbaCn3EvrJf0A3Y/uOOU5aD6MTh5ZFCdEwGiCw== dependencies: d3-array "^1.2.0" d3-collection "1" @@ -3248,32 +3263,38 @@ d3-scale@2: d3-time-format "2" d3-selection@1, d3-selection@^1.1.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/d3-selection/-/d3-selection-1.3.2.tgz#6e70a9df60801c8af28ac24d10072d82cbfdf652" + version "1.4.0" + resolved "https://registry.yarnpkg.com/d3-selection/-/d3-selection-1.4.0.tgz#ab9ac1e664cf967ebf1b479cc07e28ce9908c474" + integrity sha512-EYVwBxQGEjLCKF2pJ4+yrErskDnz5v403qvAid96cNdCMr8rmCYfY5RGzWz24mdIbxmDf6/4EAH+K9xperD5jg== d3-shape@1: - version "1.2.2" - resolved "https://registry.yarnpkg.com/d3-shape/-/d3-shape-1.2.2.tgz#f9dba3777a5825f9a8ce8bc928da08c17679e9a7" + version "1.3.5" + resolved "https://registry.yarnpkg.com/d3-shape/-/d3-shape-1.3.5.tgz#e81aea5940f59f0a79cfccac012232a8987c6033" + integrity sha512-VKazVR3phgD+MUCldapHD7P9kcrvPcexeX/PkMJmkUov4JM8IxsSg1DvbYoYich9AtdTsa5nNk2++ImPiDiSxg== dependencies: d3-path "1" d3-time-format@2: version "2.1.3" resolved "https://registry.yarnpkg.com/d3-time-format/-/d3-time-format-2.1.3.tgz#ae06f8e0126a9d60d6364eac5b1533ae1bac826b" + integrity sha512-6k0a2rZryzGm5Ihx+aFMuO1GgelgIz+7HhB4PH4OEndD5q2zGn1mDfRdNrulspOfR6JXkb2sThhDK41CSK85QA== dependencies: d3-time "1" d3-time@1: - version "1.0.10" - resolved "https://registry.yarnpkg.com/d3-time/-/d3-time-1.0.10.tgz#8259dd71288d72eeacfd8de281c4bf5c7393053c" + version "1.1.0" + resolved "https://registry.yarnpkg.com/d3-time/-/d3-time-1.1.0.tgz#b1e19d307dae9c900b7e5b25ffc5dcc249a8a0f1" + integrity sha512-Xh0isrZ5rPYYdqhAVk8VLnMEidhz5aP7htAADH6MfzgmmicPkTo8LhkLxci61/lCB7n7UmE3bN0leRt+qvkLxA== d3-timer@1: version "1.0.9" resolved "https://registry.yarnpkg.com/d3-timer/-/d3-timer-1.0.9.tgz#f7bb8c0d597d792ff7131e1c24a36dd471a471ba" + integrity sha512-rT34J5HnQUHhcLvhSB9GjCkN0Ddd5Y8nCwDBG2u6wQEeYxT/Lf51fTFFkldeib/sE/J0clIe0pnCfs6g/lRbyg== d3-transition@1: - version "1.1.3" - resolved "https://registry.yarnpkg.com/d3-transition/-/d3-transition-1.1.3.tgz#3a435b05ce9cef9524fe0d38121cfb6905331ca6" + version "1.2.0" + resolved "https://registry.yarnpkg.com/d3-transition/-/d3-transition-1.2.0.tgz#f538c0e21b2aa1f05f3e965f8567e81284b3b2b8" + integrity sha512-VJ7cmX/FPIPJYuaL2r1o1EMHLttvoIuZhhuAlRoOxDzogV8iQS6jYulDm3xEU3TqL80IZIhI551/ebmCMrkvhw== dependencies: d3-color "1" d3-dispatch "1" @@ -3285,10 +3306,12 @@ d3-transition@1: d3-voronoi@1: version "1.1.4" resolved "https://registry.yarnpkg.com/d3-voronoi/-/d3-voronoi-1.1.4.tgz#dd3c78d7653d2bb359284ae478645d95944c8297" + integrity sha512-dArJ32hchFsrQ8uMiTBLq256MpnZjeuBtdHpaDlYuQyjU0CVzCJl/BVW+SkszaAeH95D/8gxqAhgx0ouAWAfRg== d3-zoom@1: - version "1.7.3" - resolved "https://registry.yarnpkg.com/d3-zoom/-/d3-zoom-1.7.3.tgz#f444effdc9055c38077c4299b4df999eb1d47ccb" + version "1.8.3" + resolved "https://registry.yarnpkg.com/d3-zoom/-/d3-zoom-1.8.3.tgz#b6a3dbe738c7763121cd05b8a7795ffe17f4fc0a" + integrity sha512-VoLXTK4wvy1a0JpH2Il+F2CiOhVu7VRXWF5M/LroMIh3/zBAC3WAt7QoIvPibOavVo20hN6/37vwAsdBejLyKQ== dependencies: d3-dispatch "1" d3-drag "1" @@ -3297,8 +3320,9 @@ d3-zoom@1: d3-transition "1" d3@^5.7.0: - version "5.7.0" - resolved "https://registry.yarnpkg.com/d3/-/d3-5.7.0.tgz#f189d338bdde62acf02f308918e0ec34dd7568f9" + version "5.12.0" + resolved "https://registry.yarnpkg.com/d3/-/d3-5.12.0.tgz#0ddeac879c28c882317cd439b495290acd59ab61" + integrity sha512-flYVMoVuhPFHd9zVCe2BxIszUWqBcd5fvQGMNRmSiBrgdnh6Vlruh60RJQTouAK9xPbOB0plxMvBm4MoyODXNg== dependencies: d3-array "1" d3-axis "1" @@ -3335,6 +3359,7 @@ d3@^5.7.0: dagre-d3-renderer@^0.5.8: version "0.5.8" resolved "https://registry.yarnpkg.com/dagre-d3-renderer/-/dagre-d3-renderer-0.5.8.tgz#aa071bb71d3c4d67426925906f3f6ddead49c1a3" + integrity sha512-XH2a86isUHRxzIYbjQVEuZtJnWEufb64H5DuXIUmn8esuB40jgLEbUUclulWOW62/ZoXlj2ZDyL8SJ+YRxs+jQ== dependencies: dagre-layout "^0.8.8" lodash "^4.17.5" @@ -3342,6 +3367,7 @@ dagre-d3-renderer@^0.5.8: dagre-layout@^0.8.8: version "0.8.8" resolved "https://registry.yarnpkg.com/dagre-layout/-/dagre-layout-0.8.8.tgz#9b6792f24229f402441c14162c1049e3f261f6d9" + integrity sha512-ZNV15T9za7X+fV8Z07IZquUKugCxm5owoiPPxfEx6OJRD331nkiIaF3vSt0JEY5FkrY0KfRQxcpQ3SpXB7pLPQ== dependencies: graphlibrary "^2.2.0" lodash "^4.17.5" @@ -3349,12 +3375,14 @@ dagre-layout@^0.8.8: dashdash@^1.12.0: version "1.14.1" resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= dependencies: assert-plus "^1.0.0" data-urls@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-1.1.0.tgz#15ee0582baa5e22bb59c77140da8f9c76963bbfe" + integrity sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ== dependencies: abab "^2.0.0" whatwg-mimetype "^2.2.0" @@ -3363,79 +3391,87 @@ data-urls@^1.0.0: date-fns@^1.27.2: version "1.30.1" resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-1.30.1.tgz#2e71bf0b119153dbb4cc4e88d9ea5acfb50dc05c" + integrity sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw== date-now@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b" + integrity sha1-6vQ5/U1ISK105cx9vvIAZyueNFs= de-indent@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/de-indent/-/de-indent-1.0.2.tgz#b2038e846dc33baa5796128d0804b455b8c1e21d" + integrity sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0= -debug@2.6.9, debug@^2.1.2, debug@^2.3.3, debug@^2.6.6, debug@^2.6.9: +debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.8, debug@^2.6.9: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== dependencies: ms "2.0.0" -debug@3.2.6, debug@^3.2.5, debug@^3.2.6: +debug@3.2.6, debug@^3.0.0, debug@^3.1.0, debug@^3.2.5, debug@^3.2.6: version "3.2.6" resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" + integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== dependencies: ms "^2.1.1" -debug@4.1.1, debug@^4.0.1, debug@^4.1.1: +debug@4.1.1, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== dependencies: ms "^2.1.1" -debug@=3.1.0, debug@^3.1.0: +debug@=3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" + integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g== dependencies: ms "2.0.0" -debug@^2.2.0, debug@^2.6.8: - version "2.6.8" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.8.tgz#e731531ca2ede27d188222427da17821d68ff4fc" - dependencies: - ms "2.0.0" - -debug@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.0.tgz#373687bffa678b38b1cd91f861b63850035ddc87" - dependencies: - ms "^2.1.1" - decamelize@^1.1.1, decamelize@^1.1.2, decamelize@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= decode-uri-component@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" + integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= deep-equal@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5" + version "1.1.0" + resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.1.0.tgz#3103cdf8ab6d32cf4a8df7865458f2b8d33f3745" + integrity sha512-ZbfWJq/wN1Z273o7mUSjILYqehAktR2NVoSrOukDkU9kg2v/Uv89yU4Cvz8seJeAmtN5oqiefKq8FPuXOboqLw== + dependencies: + is-arguments "^1.0.4" + is-date-object "^1.0.1" + is-regex "^1.0.4" + object-is "^1.0.1" + object-keys "^1.1.1" + regexp.prototype.flags "^1.2.0" deep-extend@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" + integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== deep-is@~0.1.3: version "0.1.3" resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" + integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= deepmerge@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.0.0.tgz#3e3110ca29205f120d7cb064960a39c3d2087c09" + integrity sha512-YZ1rOP5+kHor4hMAH+HRQnBQHg+wvS1un1hAOuIcxcBy0hzcUf6Jg2a1w65kpoOUnurOfZbERwjI1TfZxNjcww== default-gateway@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/default-gateway/-/default-gateway-4.2.0.tgz#167104c7500c2115f6dd69b0a536bb8ed720552b" + integrity sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA== dependencies: execa "^1.0.0" ip-regex "^2.1.0" @@ -3443,31 +3479,35 @@ default-gateway@^4.2.0: default-require-extensions@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/default-require-extensions/-/default-require-extensions-1.0.0.tgz#f37ea15d3e13ffd9b437d33e1a75b5fb97874cb8" + integrity sha1-836hXT4T/9m0N9M+GnW1+5eHTLg= dependencies: strip-bom "^2.0.0" -define-properties@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.2.tgz#83a73f2fea569898fb737193c8f873caf6d45c94" +define-properties@^1.1.2, define-properties@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" + integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== dependencies: - foreach "^2.0.5" - object-keys "^1.0.8" + object-keys "^1.0.12" define-property@^0.2.5: version "0.2.5" resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" + integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= dependencies: is-descriptor "^0.1.0" define-property@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" + integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= dependencies: is-descriptor "^1.0.0" define-property@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" + integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== dependencies: is-descriptor "^1.0.2" isobject "^3.0.1" @@ -3475,10 +3515,12 @@ define-property@^2.0.2: defined@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693" + integrity sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM= del@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/del/-/del-4.1.1.tgz#9e8f117222ea44a31ff3a156c049b99052a9f0b4" + integrity sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ== dependencies: "@types/glob" "^7.1.1" globby "^6.1.0" @@ -3491,18 +3533,22 @@ del@^4.1.1: delayed-stream@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= delegates@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" + integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= depd@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" + integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= des.js@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.0.tgz#c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc" + integrity sha1-wHTS4qpqipoH29YfmhXCzYPsjsw= dependencies: inherits "^2.0.1" minimalistic-assert "^1.0.0" @@ -3510,49 +3556,73 @@ des.js@^1.0.0: destroy@~1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" + integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= detab@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/detab/-/detab-2.0.2.tgz#074970d1a807b045d0258a4235df5928dd683561" + integrity sha512-Q57yPrxScy816TTE1P/uLRXLDKjXhvYTbfxS/e6lPD+YrqghbsMlGB9nQzj/zVtSPaF0DFPSdO916EWO4sQUyQ== dependencies: repeat-string "^1.5.4" +detect-file@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-1.0.0.tgz#f0d66d03672a825cb1b73bdb3fe62310c8e552b7" + integrity sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc= + detect-indent@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208" + integrity sha1-920GQ1LN9Docts5hnE7jqUdd4gg= dependencies: repeating "^2.0.0" detect-libc@^1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" + integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups= detect-newline@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-2.1.0.tgz#f41f1c10be4b00e87b5f13da680759f2c5bfd3e2" + integrity sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I= detect-node@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.0.4.tgz#014ee8f8f669c5c58023da64b8179c083a28c46c" + integrity sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw== detective@^4.0.0: version "4.7.1" resolved "https://registry.yarnpkg.com/detective/-/detective-4.7.1.tgz#0eca7314338442febb6d65da54c10bb1c82b246e" + integrity sha512-H6PmeeUcZloWtdt4DAkFyzFL94arpHr3NOwwmVILFiy+9Qd4JTxxXrzfyGk/lmct2qVGBwTSwSXagqu2BxmWig== dependencies: acorn "^5.2.1" defined "^1.0.0" -diff@^1.3.2: - version "1.4.0" - resolved "https://registry.yarnpkg.com/diff/-/diff-1.4.0.tgz#7f28d2eb9ee7b15a97efd89ce63dcfdaa3ccbabf" +diagnostics@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/diagnostics/-/diagnostics-1.1.1.tgz#cab6ac33df70c9d9a727490ae43ac995a769b22a" + integrity sha512-8wn1PmdunLJ9Tqbx+Fx/ZEuHfJf4NKSN2ZBj7SJC/OWRWha843+WsTjqMe1B5E3p28jqBlp+mJ2fPVxPyNgYKQ== + dependencies: + colorspace "1.1.x" + enabled "1.0.x" + kuler "1.0.x" diff@^3.2.0: version "3.5.0" resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" + integrity sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA== + +diff@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.1.tgz#0c667cb467ebbb5cea7f14f135cc2dba7780a8ff" + integrity sha512-s2+XdvhPCOF01LRQBC8hf4vhbVmI2CGS5aZnxLJlT5FtdhPCDFq80q++zK2KlrVorVDdL5BOGZ/VfLrVtYNF+Q== diffie-hellman@^5.0.0: version "5.0.3" resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" + integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg== dependencies: bn.js "^4.1.0" miller-rabin "^4.0.0" @@ -3561,23 +3631,19 @@ diffie-hellman@^5.0.0: dir-glob@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" + integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== dependencies: path-type "^4.0.0" -disparity@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/disparity/-/disparity-2.0.0.tgz#57ddacb47324ae5f58d2cc0da886db4ce9eeb718" - dependencies: - ansi-styles "^2.0.1" - diff "^1.3.2" - dns-equal@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/dns-equal/-/dns-equal-1.0.0.tgz#b39e7f1da6eb0a75ba9c17324b34753c47e0654d" + integrity sha1-s55/HabrCnW6nBcySzR1PEfgZU0= dns-packet@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-1.3.1.tgz#12aa426981075be500b910eedcd0b47dd7deda5a" + integrity sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg== dependencies: ip "^1.1.0" safe-buffer "^5.0.1" @@ -3585,12 +3651,14 @@ dns-packet@^1.3.1: dns-txt@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/dns-txt/-/dns-txt-2.0.2.tgz#b91d806f5d27188e4ab3e7d107d881a1cc4642b6" + integrity sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY= dependencies: buffer-indexof "^1.0.0" doctrine-temporary-fork@2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/doctrine-temporary-fork/-/doctrine-temporary-fork-2.1.0.tgz#36f2154f556ee4f1e60311d391cd23de5187ed57" + integrity sha512-nliqOv5NkE4zMON4UA6AMJE6As35afs8aYXATpU4pTUdIKiARZwrJVEP1boA3Rx1ZXHVkwxkhcq4VkqvsuRLsA== dependencies: esutils "^2.0.2" @@ -3602,8 +3670,9 @@ doctrine@^3.0.0: esutils "^2.0.2" documentation@^12.0.1: - version "12.0.1" - resolved "https://registry.yarnpkg.com/documentation/-/documentation-12.0.1.tgz#4abe263d5415f3ed7ee737829921ef6159e6a335" + version "12.1.2" + resolved "https://registry.yarnpkg.com/documentation/-/documentation-12.1.2.tgz#4ed9ab511363504da7a0c120d192a366bd6b994a" + integrity sha512-k0orsM458oU4m2P7yaXuLwM/0TPC1y0AWeiM5qLIT39oGjUgHLY+VOlb9x2cty5LyENxLQl4rtQzTMWKJ6l5Ng== dependencies: "@babel/core" "^7.1.2" "@babel/generator" "^7.1.3" @@ -3635,7 +3704,7 @@ documentation@^12.0.1: chalk "^2.3.0" chokidar "^2.0.4" concat-stream "^1.6.0" - disparity "^2.0.0" + diff "^4.0.1" doctrine-temporary-fork "2.1.0" get-port "^4.0.0" git-url-parse "^10.0.1" @@ -3643,6 +3712,7 @@ documentation@^12.0.1: glob "^7.1.2" globals-docs "^2.4.0" highlight.js "^9.15.5" + ini "^1.3.5" js-yaml "^3.10.0" lodash "^4.17.10" mdast-util-inject "^1.1.0" @@ -3656,7 +3726,6 @@ documentation@^12.0.1: remark-html "^8.0.0" remark-reference-links "^4.0.1" remark-toc "^5.0.0" - remote-origin-url "0.4.0" resolve "^1.8.1" stream-array "^1.1.2" strip-json-comments "^2.0.1" @@ -3674,26 +3743,36 @@ documentation@^12.0.1: domain-browser@^1.1.1: version "1.2.0" resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" + integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA== domexception@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/domexception/-/domexception-1.0.1.tgz#937442644ca6a31261ef36e3ec677fe805582c90" + integrity sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug== dependencies: webidl-conversions "^4.0.2" +dotenv@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.1.0.tgz#d811e178652bfb8a1e593c6dd704ec7e90d85ea2" + integrity sha512-GUE3gqcDCaMltj2++g6bRQ5rBJWtkWTmqmD0fo1RnnMuUqHNCt2oTPeDnS9n6fKYvlhn7AeBkb38lymBtWBQdA== + duplexer2@^0.1.2, duplexer2@~0.1.0: version "0.1.4" resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.1.4.tgz#8b12dab878c0d69e3e7891051662a32fc6bddcc1" + integrity sha1-ixLauHjA1p4+eJEFFmKjL8a93ME= dependencies: readable-stream "^2.0.2" duplexer@~0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1" + integrity sha1-rOb/gIwc5mtX0ev5eXessCM0z8E= duplexify@^3.4.2, duplexify@^3.6.0: - version "3.6.1" - resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.6.1.tgz#b1a7a29c4abfd639585efaecce80d666b1e34125" + version "3.7.1" + resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309" + integrity sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g== dependencies: end-of-stream "^1.0.0" inherits "^2.0.1" @@ -3703,10 +3782,12 @@ duplexify@^3.4.2, duplexify@^3.6.0: ebnf-parser@0.1.10: version "0.1.10" resolved "https://registry.yarnpkg.com/ebnf-parser/-/ebnf-parser-0.1.10.tgz#cd1f6ba477c5638c40c97ed9b572db5bab5d8331" + integrity sha1-zR9rpHfFY4xAyX7ZtXLbW6tdgzE= ecc-jsbn@~0.1.1: version "0.1.2" resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" + integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= dependencies: jsbn "~0.1.0" safer-buffer "^2.1.0" @@ -3714,22 +3795,22 @@ ecc-jsbn@~0.1.1: ee-first@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" + integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= -electron-to-chromium@^1.3.191: - version "1.3.191" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.191.tgz#c451b422cd8b2eab84dedabab5abcae1eaefb6f0" - -electron-to-chromium@^1.3.92: - version "1.3.92" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.92.tgz#9027b5abaea400045edd652c0e4838675c814399" +electron-to-chromium@^1.3.247: + version "1.3.275" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.275.tgz#19a38436e34216f51820fa2f4326d5ce141fa36f" + integrity sha512-/YWtW/VapMnuYA1lNOaa1F4GhR1LBf+CUTp60lzDPEEh0XOzyOAyULyYZVF9vziZ3qSbTqCwmKwsyRXp66STbw== elegant-spinner@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/elegant-spinner/-/elegant-spinner-1.0.1.tgz#db043521c95d7e303fd8f345bedc3349cfb0729e" + integrity sha1-2wQ1IcldfjA/2PNFvtwzSc+wcp4= elliptic@^6.0.0: - version "6.4.1" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.4.1.tgz#c2d0b7776911b86722c632c3c06c60f2f819939a" + version "6.5.1" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.1.tgz#c380f5f909bf1b9b4428d028cd18d3b0efd6b52b" + integrity sha512-xvJINNLbTeWQjrl6X+7eQCrIy/YPv5XCpKW6kB5mKvtnGILoLDcySuwomfdzt0BMdLNVnuRNTuzKNHj0bva1Cg== dependencies: bn.js "^4.4.0" brorand "^1.0.1" @@ -3742,109 +3823,138 @@ elliptic@^6.0.0: "emoji-regex@>=6.0.0 <=6.1.1": version "6.1.1" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-6.1.1.tgz#c6cd0ec1b0642e2a3c67a1137efc5e796da4f88e" + integrity sha1-xs0OwbBkLio8Z6ETfvxeeW2k+I4= emoji-regex@^7.0.1: version "7.0.3" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" + integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== emoji-regex@^8.0.0: version "8.0.0" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== emojis-list@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" + integrity sha1-TapNnbAPmBmIDHn6RXrlsJof04k= + +enabled@1.0.x: + version "1.0.2" + resolved "https://registry.yarnpkg.com/enabled/-/enabled-1.0.2.tgz#965f6513d2c2d1c5f4652b64a2e3396467fc2f93" + integrity sha1-ll9lE9LC0cX0ZStkouM5ZGf8L5M= + dependencies: + env-variable "0.0.x" encodeurl@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" + integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= end-of-stream@^1.0.0, end-of-stream@^1.1.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43" + version "1.4.4" + resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" + integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== dependencies: once "^1.4.0" -enhanced-resolve@^4.1.0: +enhanced-resolve@4.1.0, enhanced-resolve@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz#41c7e0bfdfe74ac1ffe1e57ad6a5c6c9f3742a7f" + integrity sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng== dependencies: graceful-fs "^4.1.2" memory-fs "^0.4.0" tapable "^1.0.0" -errno@^0.1.3: - version "0.1.4" - resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.4.tgz#b896e23a9e5e8ba33871fc996abd3635fc9a1c7d" - dependencies: - prr "~0.0.0" +env-variable@0.0.x: + version "0.0.5" + resolved "https://registry.yarnpkg.com/env-variable/-/env-variable-0.0.5.tgz#913dd830bef11e96a039c038d4130604eba37f88" + integrity sha512-zoB603vQReOFvTg5xMl9I1P2PnHsHQQKTEowsKKD7nseUfJq6UWzK+4YtlWUO1nhiQUxe6XMkk+JleSZD1NZFA== -errno@~0.1.7: +errno@^0.1.3, errno@~0.1.7: version "0.1.7" resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618" + integrity sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg== dependencies: prr "~1.0.1" error-ex@^1.2.0, error-ex@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.1.tgz#f855a86ce61adc4e8621c3cda21e7a7612c3a8dc" + version "1.3.2" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== dependencies: is-arrayish "^0.2.1" error@^7.0.0: - version "7.0.2" - resolved "https://registry.yarnpkg.com/error/-/error-7.0.2.tgz#a5f75fff4d9926126ddac0ea5dc38e689153cb02" + version "7.2.0" + resolved "https://registry.yarnpkg.com/error/-/error-7.2.0.tgz#80c989885635b41df9309d145834a4f125ae2245" + integrity sha512-M6t3j3Vt3uDicrViMP5fLq2AeADNrCVFD8Oj4Qt2MHsX0mPYG7D5XdnEfSdRpaHQzjAJ19wu+I1mw9rQYMTAPg== dependencies: string-template "~0.2.1" - xtend "~4.0.0" es-abstract@^1.5.1: - version "1.10.0" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.10.0.tgz#1ecb36c197842a00d8ee4c2dfd8646bb97d60864" + version "1.15.0" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.15.0.tgz#8884928ec7e40a79e3c9bc812d37d10c8b24cc57" + integrity sha512-bhkEqWJ2t2lMeaJDuk7okMkJWI/yqgH/EoGwpcvv0XW9RWQsRspI4wt6xuyuvMvvQE3gg/D9HXppgk21w78GyQ== dependencies: - es-to-primitive "^1.1.1" + es-to-primitive "^1.2.0" function-bind "^1.1.1" - has "^1.0.1" - is-callable "^1.1.3" + has "^1.0.3" + has-symbols "^1.0.0" + is-callable "^1.1.4" is-regex "^1.0.4" + object-inspect "^1.6.0" + object-keys "^1.1.1" + string.prototype.trimleft "^2.1.0" + string.prototype.trimright "^2.1.0" -es-to-primitive@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.1.1.tgz#45355248a88979034b6792e19bb81f2b7975dd0d" +es-to-primitive@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.0.tgz#edf72478033456e8dda8ef09e00ad9650707f377" + integrity sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg== dependencies: - is-callable "^1.1.1" + is-callable "^1.1.4" is-date-object "^1.0.1" - is-symbol "^1.0.1" + is-symbol "^1.0.2" es6-promise-pool@^2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/es6-promise-pool/-/es6-promise-pool-2.5.0.tgz#147c612b36b47f105027f9d2bf54a598a99d9ccb" + integrity sha1-FHxhKza0fxBQJ/nSv1SlmKmdnMs= es6-promise@^4.0.3: - version "4.2.6" - resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.6.tgz#b685edd8258886365ea62b57d30de28fadcd974f" + version "4.2.8" + resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.8.tgz#4eb21594c972bc40553d276e510539143db53e0a" + integrity sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w== es6-promisify@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/es6-promisify/-/es6-promisify-5.0.0.tgz#5109d62f3e56ea967c4b63505aef08291c8a5203" + integrity sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM= dependencies: es6-promise "^4.0.3" escape-html@~1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" + integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= escaper@^2.5.3: version "2.5.3" resolved "https://registry.yarnpkg.com/escaper/-/escaper-2.5.3.tgz#8b8fe90ba364054151ab7eff18b4ce43b1e13ab5" + integrity sha512-QGb9sFxBVpbzMggrKTX0ry1oiI4CSDAl9vIL702hzl1jGW8VZs7qfqTRX7WDOjoNDoEVGcEtu1ZOQgReSfT2kQ== escodegen@1.3.x: version "1.3.3" resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.3.3.tgz#f024016f5a88e046fd12005055e939802e6c5f23" + integrity sha1-8CQBb1qI4Eb9EgBQVek5gC5sXyM= dependencies: esprima "~1.1.1" estraverse "~1.5.0" @@ -3853,8 +3963,9 @@ escodegen@1.3.x: source-map "~0.1.33" escodegen@^1.9.1: - version "1.11.0" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.11.0.tgz#b27a9389481d5bfd5bec76f7bb1eb3f8f4556589" + version "1.12.0" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.12.0.tgz#f763daf840af172bb3a2b6dd7219c0e17f7ff541" + integrity sha512-TuA+EhsanGcme5T3R0L80u4t8CpbXQjegRmf7+FPTJrtCTErXFeelblRgHQa1FofEzqYYJmJ/OqjTwREp9qgmg== dependencies: esprima "^3.1.3" estraverse "^4.2.0" @@ -3864,22 +3975,23 @@ escodegen@^1.9.1: source-map "~0.6.1" eslint-config-prettier@^6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-6.3.0.tgz#e73b48e59dc49d950843f3eb96d519e2248286a3" - integrity sha512-EWaGjlDAZRzVFveh2Jsglcere2KK5CJBhkNSa1xs3KfMUGdRiT7lG089eqPdvlzWHpAqaekubOsOMu8W8Yk71A== + version "6.4.0" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-6.4.0.tgz#0a04f147e31d33c6c161b2dd0971418ac52d0477" + integrity sha512-YrKucoFdc7SEko5Sxe4r6ixqXPDP1tunGw91POeZTTRKItf/AMFYt/YLEQtZMkR2LVpAVhcAcZgcWpm1oGPW7w== dependencies: get-stdin "^6.0.0" eslint-plugin-prettier@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-3.1.0.tgz#8695188f95daa93b0dc54b249347ca3b79c4686d" - integrity sha512-XWX2yVuwVNLOUhQijAkXz+rMPPoCr7WFiAl8ig6I7Xn+pPVhDhzg4DxHpmbeb0iqjO9UronEA3Tb09ChnFVHHA== + version "3.1.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-3.1.1.tgz#507b8562410d02a03f0ddc949c616f877852f2ba" + integrity sha512-A+TZuHZ0KU0cnn56/9mfR7/KjUJ9QNVXUhwvRFSR7PGPe0zQR6PTkmyqg1AtUUEOzTqeRsUwyKFh0oVZKVCrtA== dependencies: prettier-linter-helpers "^1.0.0" -eslint-scope@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.0.tgz#50bf3071e9338bcdc43331794a0cb533f0136172" +eslint-scope@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848" + integrity sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg== dependencies: esrecurse "^4.1.0" estraverse "^4.1.1" @@ -3905,9 +4017,9 @@ eslint-visitor-keys@^1.0.0, eslint-visitor-keys@^1.1.0: integrity sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A== eslint@^6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-6.3.0.tgz#1f1a902f67bfd4c354e7288b81e40654d927eb6a" - integrity sha512-ZvZTKaqDue+N8Y9g0kp6UPZtS4FSY3qARxBs7p4f0H0iof381XHduqVerFWtK8DPtKmemqbqCFENWSQgPR/Gow== + version "6.5.1" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-6.5.1.tgz#828e4c469697d43bb586144be152198b91e96ed6" + integrity sha512-32h99BoLYStT1iq1v2P9uwpyznQ4M2jRiFB6acitKz52Gqn+vPaMDUTB1bYi1WN4Nquj2w+t+bimYUG83DC55A== dependencies: "@babel/code-frame" "^7.0.0" ajv "^6.10.0" @@ -3959,51 +4071,61 @@ espree@^6.1.1: esprima@1.1.x, esprima@~1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/esprima/-/esprima-1.1.1.tgz#5b6f1547f4d102e670e140c509be6771d6aeb549" + integrity sha1-W28VR/TRAuZw4UDFCb5ncdautUk= esprima@^3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633" + integrity sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM= esprima@^4.0.0, esprima@~4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== esquery@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.1.tgz#406c51658b1f5991a5f9b62b1dc25b00e3e5c708" + integrity sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA== dependencies: estraverse "^4.0.0" esrecurse@^4.1.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.0.tgz#fa9568d98d3823f9a41d91e902dcab9ea6e5b163" + version "4.2.1" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf" + integrity sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ== dependencies: estraverse "^4.1.0" - object-assign "^4.0.1" estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1, estraverse@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" + version "4.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== estraverse@~1.5.0: version "1.5.1" resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-1.5.1.tgz#867a3e8e58a9f84618afb6c2ddbcd916b7cbaf71" + integrity sha1-hno+jlip+EYYr7bC3bzZFrfLr3E= esutils@^2.0.0, esutils@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" + version "2.0.3" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== esutils@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/esutils/-/esutils-1.0.0.tgz#8151d358e20c8acc7fb745e7472c0025fe496570" + integrity sha1-gVHTWOIMisx/t0XnRywAJf5JZXA= etag@~1.8.1: version "1.8.1" resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" + integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= event-stream@=3.3.4: version "3.3.4" resolved "https://registry.yarnpkg.com/event-stream/-/event-stream-3.3.4.tgz#4ab4c9a0f5a54db9338b4c34d86bfce8f4b35571" + integrity sha1-SrTJoPWlTbkzi0w02Gv86PSzVXE= dependencies: duplexer "~0.1.1" from "~0" @@ -4013,23 +4135,27 @@ event-stream@=3.3.4: stream-combiner "~0.0.4" through "~2.3.1" -eventemitter3@^3.0.0: - version "3.1.2" - resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.2.tgz#2d3d48f9c346698fce83a85d7d664e98535df6e7" +eventemitter3@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.0.tgz#d65176163887ee59f386d64c82610b696a4a74eb" + integrity sha512-qerSRB0p+UDEssxTtm6EDKcE7W4OaoisfIMl4CngyEhjpYglocpNg6UEqCvemdGhosAsg4sO2dXJOdyBifPGCg== -events@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" +events@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/events/-/events-3.0.0.tgz#9a0a0dfaf62893d92b875b8f2698ca4114973e88" + integrity sha512-Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA== eventsource@^1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/eventsource/-/eventsource-1.0.7.tgz#8fbc72c93fcd34088090bc0a4e64f4b5cee6d8d0" + integrity sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ== dependencies: original "^1.0.0" evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" + integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== dependencies: md5.js "^1.3.4" safe-buffer "^5.1.1" @@ -4037,12 +4163,14 @@ evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: exec-sh@^0.2.0: version "0.2.2" resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.2.2.tgz#2a5e7ffcbd7d0ba2755bdecb16e5a427dfbdec36" + integrity sha512-FIUCJz1RbuS0FKTdaAafAByGS0CPvU3R0MeHxgtl+djzCc//F8HakL8GzmVNZanasTbTAY/3DRFA0KpVqj/eAw== dependencies: merge "^1.2.0" -execa@0.10.0, execa@^0.10.0: +execa@0.10.0: version "0.10.0" resolved "https://registry.yarnpkg.com/execa/-/execa-0.10.0.tgz#ff456a8f53f90f8eccc71a96d11bdfc7f082cb50" + integrity sha512-7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw== dependencies: cross-spawn "^6.0.0" get-stream "^3.0.0" @@ -4052,21 +4180,25 @@ execa@0.10.0, execa@^0.10.0: signal-exit "^3.0.0" strip-eof "^1.0.0" -execa@0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-0.11.0.tgz#0b3c71daf9b9159c252a863cd981af1b4410d97a" +execa@2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/execa/-/execa-2.0.5.tgz#5be3e2ea7e61bd038da5a0e11dc6ab2097357f2f" + integrity sha512-SwmwZZyJjflcqLSgllk4EQlMLst2p9muyzwNugKGFlpAz6rZ7M+s2nBR97GAq4Vzjwx2y9rcMcmqzojwN+xwNA== dependencies: - 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" + cross-spawn "^6.0.5" + get-stream "^5.0.0" + is-stream "^2.0.0" + merge-stream "^2.0.0" + npm-run-path "^3.0.0" + onetime "^5.1.0" + p-finally "^2.0.0" + signal-exit "^3.0.2" + strip-final-newline "^2.0.0" execa@^0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777" + integrity sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c= dependencies: cross-spawn "^5.0.1" get-stream "^3.0.0" @@ -4079,6 +4211,7 @@ execa@^0.7.0: execa@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" + integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== dependencies: cross-spawn "^6.0.0" get-stream "^4.0.0" @@ -4091,26 +4224,31 @@ execa@^1.0.0: executable@4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/executable/-/executable-4.1.1.tgz#41532bff361d3e57af4d763b70582db18f5d133c" + integrity sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg== dependencies: pify "^2.2.0" exit-hook@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/exit-hook/-/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8" + integrity sha1-8FyiM7SMBdVP/wd2XfhQfpXAL/g= exit@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" + integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= expand-brackets@^0.1.4: version "0.1.5" resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" + integrity sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s= dependencies: is-posix-bracket "^0.1.0" expand-brackets@^2.1.4: version "2.1.4" resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" + integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= dependencies: debug "^2.3.3" define-property "^0.2.5" @@ -4123,22 +4261,33 @@ expand-brackets@^2.1.4: expand-range@^1.8.1: version "1.8.2" resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337" + integrity sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc= dependencies: fill-range "^2.1.0" expand-tilde@^1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-1.2.2.tgz#0b81eba897e5a3d31d1c3d102f8f01441e559449" + integrity sha1-C4HrqJflo9MdHD0QL48BRB5VlEk= dependencies: os-homedir "^1.0.1" -expect-puppeteer@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/expect-puppeteer/-/expect-puppeteer-4.1.1.tgz#cda2ab7b6fa27ac24eba273bbb0296a0de538e6d" +expand-tilde@^2.0.0, expand-tilde@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-2.0.2.tgz#97e801aa052df02454de46b02bf621642cdc8502" + integrity sha1-l+gBqgUt8CRU3kawK/YhZCzchQI= + dependencies: + homedir-polyfill "^1.0.1" + +expect-puppeteer@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/expect-puppeteer/-/expect-puppeteer-4.3.0.tgz#732a3c94ab44af0c7d947040ad3e3637a0359bf3" + integrity sha512-p8N/KSVPG9PAOJlftK5f1n3JrULJ6Qq1EQ8r/n9xzkX2NmXbK8PcnJnkSAEzEHrMycELKGnlJV7M5nkgm+wEWA== expect@^23.6.0: version "23.6.0" resolved "https://registry.yarnpkg.com/expect/-/expect-23.6.0.tgz#1e0c8d3ba9a581c87bd71fb9bc8862d443425f98" + integrity sha512-dgSoOHgmtn/aDGRVFWclQyPDKl2CQRq0hmIEoUAuQs/2rn2NcvCWcSCovm6BLeuB/7EZuLGu2QfnR+qRt5OM4w== dependencies: ansi-styles "^3.2.0" jest-diff "^23.6.0" @@ -4147,9 +4296,10 @@ expect@^23.6.0: jest-message-util "^23.4.0" jest-regex-util "^23.3.0" -express@^4.16.3, express@^4.17.0: +express@^4.16.3, express@^4.17.1: version "4.17.1" resolved "https://registry.yarnpkg.com/express/-/express-4.17.1.tgz#4491fc38605cf51f8629d39c2b5d026f98a4c134" + integrity sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g== dependencies: accepts "~1.3.7" array-flatten "1.1.1" @@ -4185,12 +4335,14 @@ express@^4.16.3, express@^4.17.0: extend-shallow@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" + integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= dependencies: is-extendable "^0.1.0" extend-shallow@^3.0.0, extend-shallow@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" + integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= dependencies: assign-symbols "^1.0.0" is-extendable "^1.0.1" @@ -4198,6 +4350,7 @@ extend-shallow@^3.0.0, extend-shallow@^3.0.2: extend@^3.0.0, extend@~3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== external-editor@^3.0.3: version "3.1.0" @@ -4211,12 +4364,14 @@ external-editor@^3.0.3: extglob@^0.3.1: version "0.3.2" resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1" + integrity sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE= dependencies: is-extglob "^1.0.0" extglob@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" + integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== dependencies: array-unique "^0.3.2" define-property "^1.0.0" @@ -4230,31 +4385,32 @@ extglob@^2.0.4: extract-stack@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/extract-stack/-/extract-stack-1.0.0.tgz#b97acaf9441eea2332529624b732fc5a1c8165fa" + integrity sha1-uXrK+UQe6iMyUpYktzL8WhyBZfo= extract-zip@1.6.7, extract-zip@^1.6.6: version "1.6.7" resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-1.6.7.tgz#a840b4b8af6403264c8db57f4f1a74333ef81fe9" + integrity sha1-qEC0uK9kAyZMjbV/Txp0Mz74H+k= dependencies: concat-stream "1.6.2" debug "2.6.9" mkdirp "0.5.1" yauzl "2.4.1" -extsprintf@1.3.0, extsprintf@^1.2.0: +extsprintf@1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" + integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= -eyes@0.1.x: - version "0.1.8" - resolved "https://registry.yarnpkg.com/eyes/-/eyes-0.1.8.tgz#62cf120234c683785d902348a800ef3e0cc20bc0" - -fast-deep-equal@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz#96256a3bc975595eb36d82e9929d060d893439ff" +extsprintf@^1.2.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" + integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= fast-deep-equal@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" + integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk= fast-diff@^1.1.2: version "1.2.0" @@ -4262,71 +4418,87 @@ fast-diff@^1.1.2: integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== fast-glob@^3.0.3: - version "3.0.4" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.0.4.tgz#d484a41005cb6faeb399b951fd1bd70ddaebb602" + version "3.1.0" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.1.0.tgz#77375a7e3e6f6fc9b18f061cddd28b8d1eec75ae" + integrity sha512-TrUz3THiq2Vy3bjfQUB2wNyPdGBeGmdjbzzBLhfHN4YFurYptCKwGq/TfiRavbGywFRzY6U2CdmQ1zmsY5yYaw== dependencies: - "@nodelib/fs.stat" "^2.0.1" - "@nodelib/fs.walk" "^1.2.1" - glob-parent "^5.0.0" - is-glob "^4.0.1" - merge2 "^1.2.3" + "@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" fast-json-stable-stringify@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" + integrity sha1-1RQsDK7msRifh9OnYREGT4bIu/I= fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.4: version "2.0.6" resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= -fastparse@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/fastparse/-/fastparse-1.1.2.tgz#91728c5a5942eced8531283c79441ee4122c35a9" +fast-safe-stringify@^2.0.4: + version "2.0.7" + resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz#124aa885899261f68aedb42a7c080de9da608743" + integrity sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA== fastq@^1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.6.0.tgz#4ec8a38f4ac25f21492673adb7eae9cfef47d1c2" + integrity sha512-jmxqQ3Z/nXoeyDmWAzF9kH1aGZSis6e/SbfPmJpUnyZ0ogr6iscHQaml4wsEepEWSdtmpy+eVXmCRIMpxaXqOA== dependencies: reusify "^1.0.0" faye-websocket@^0.10.0, faye-websocket@~0.10.0: version "0.10.0" resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.10.0.tgz#4e492f8d04dfb6f89003507f6edbf2d501e7c6f4" + integrity sha1-TkkvjQTftviQA1B/btvy1QHnxvQ= dependencies: websocket-driver ">=0.5.1" faye-websocket@~0.11.1: - version "0.11.1" - resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.1.tgz#f0efe18c4f56e4f40afc7e06c719fd5ee6188f38" + version "0.11.3" + resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.3.tgz#5c0e9a8968e8912c286639fde977a8b209f2508e" + integrity sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA== dependencies: websocket-driver ">=0.5.1" fb-watchman@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.0.tgz#54e9abf7dfa2f26cd9b1636c588c1afc05de5d58" + integrity sha1-VOmr99+i8mzZsWNsWIwa/AXeXVg= dependencies: bser "^2.0.0" fd-slicer@~1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.0.1.tgz#8b5bcbd9ec327c5041bf9ab023fd6750f1177e65" + integrity sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU= dependencies: pend "~1.2.0" fd-slicer@~1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e" + integrity sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4= dependencies: pend "~1.2.0" -figgy-pudding@^3.1.0, figgy-pudding@^3.5.1: +fecha@^2.3.3: + version "2.3.3" + resolved "https://registry.yarnpkg.com/fecha/-/fecha-2.3.3.tgz#948e74157df1a32fd1b12c3a3c3cdcb6ec9d96cd" + integrity sha512-lUGBnIamTAwk4znq5BcqsDaxSmZ9nDVJaij6NvRt/Tg4R69gERA+otPKbS86ROw9nxVMw2/mp1fnaiWqbs6Sdg== + +figgy-pudding@^3.5.1: version "3.5.1" resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.1.tgz#862470112901c727a0e495a80744bd5baa1d6790" + integrity sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w== figures@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e" + integrity sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4= dependencies: escape-string-regexp "^1.0.5" object-assign "^4.1.0" @@ -4334,6 +4506,7 @@ figures@^1.7.0: figures@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" + integrity sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI= dependencies: escape-string-regexp "^1.0.5" @@ -4347,27 +4520,31 @@ file-entry-cache@^5.0.1: filename-regex@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26" + integrity sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY= fileset@^2.0.2: version "2.0.3" resolved "https://registry.yarnpkg.com/fileset/-/fileset-2.0.3.tgz#8e7548a96d3cc2327ee5e674168723a333bba2a0" + integrity sha1-jnVIqW08wjJ+5eZ0FocjozO7oqA= dependencies: glob "^7.0.3" minimatch "^3.0.3" fill-range@^2.1.0: - version "2.2.3" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.3.tgz#50b77dfd7e469bc7492470963699fe7a8485a723" + version "2.2.4" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.4.tgz#eb1e773abb056dcd8df2bfdf6af59b8b3a936565" + integrity sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q== dependencies: is-number "^2.1.0" isobject "^2.0.0" - randomatic "^1.1.3" + randomatic "^3.0.0" repeat-element "^1.1.2" repeat-string "^1.5.2" fill-range@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" + integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= dependencies: extend-shallow "^2.0.1" is-number "^3.0.0" @@ -4377,12 +4554,14 @@ fill-range@^4.0.0: fill-range@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== dependencies: to-regex-range "^5.0.1" finalhandler@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d" + integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA== dependencies: debug "2.6.9" encodeurl "~1.0.2" @@ -4392,25 +4571,19 @@ finalhandler@~1.1.2: statuses "~1.5.0" unpipe "~1.0.0" -find-cache-dir@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-1.0.0.tgz#9288e3e9e3cc3748717d39eade17cf71fc30ee6f" +find-cache-dir@^2.0.0, find-cache-dir@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7" + integrity sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ== dependencies: commondir "^1.0.1" - make-dir "^1.0.0" - pkg-dir "^2.0.0" - -find-cache-dir@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.0.0.tgz#4c1faed59f45184530fb9d7fa123a4d04a98472d" - dependencies: - commondir "^1.0.1" - make-dir "^1.0.0" + make-dir "^2.0.0" pkg-dir "^3.0.0" find-file-up@^0.1.2: version "0.1.3" resolved "https://registry.yarnpkg.com/find-file-up/-/find-file-up-0.1.3.tgz#cf68091bcf9f300a40da411b37da5cce5a2fbea0" + integrity sha1-z2gJG8+fMApA2kEbN9pczlovvqA= dependencies: fs-exists-sync "^0.1.0" resolve-dir "^0.1.0" @@ -4418,12 +4591,14 @@ find-file-up@^0.1.2: find-pkg@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/find-pkg/-/find-pkg-0.1.2.tgz#1bdc22c06e36365532e2a248046854b9788da557" + integrity sha1-G9wiwG42NlUy4qJIBGhUuXiNpVc= dependencies: find-file-up "^0.1.2" -find-process@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/find-process/-/find-process-1.4.1.tgz#628c576a494d1525a27673fb26c77af90db5db02" +find-process@^1.4.2: + version "1.4.2" + resolved "https://registry.yarnpkg.com/find-process/-/find-process-1.4.2.tgz#8703cbb542df0e4cd646f581fbcce860d0131c31" + integrity sha512-O83EVJr4dWvHJ7QpUzANNAMeQVKukRzRqRx4AIzdLYRrQorRdbqDwLPigkd9PYPhJRhmNPAoVjOm9bcwSmcZaw== dependencies: chalk "^2.0.1" commander "^2.11.0" @@ -4432,6 +4607,7 @@ find-process@^1.4.1: find-up@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" + integrity sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8= dependencies: path-exists "^2.0.0" pinkie-promise "^2.0.0" @@ -4439,15 +4615,27 @@ find-up@^1.0.0: find-up@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" + integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= dependencies: locate-path "^2.0.0" find-up@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" + integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== dependencies: locate-path "^3.0.0" +findup-sync@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-3.0.0.tgz#17b108f9ee512dfb7a5c7f3c8b27ea9e1a9c08d1" + integrity sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg== + dependencies: + detect-file "^1.0.0" + is-glob "^4.0.0" + micromatch "^3.0.4" + resolve-dir "^1.0.1" + flat-cache@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0" @@ -4463,59 +4651,58 @@ flatted@^2.0.0: integrity sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg== flush-write-stream@^1.0.0, flush-write-stream@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.0.3.tgz#c5d586ef38af6097650b49bc41b55fabb19f35bd" + version "1.1.1" + resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8" + integrity sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w== dependencies: - inherits "^2.0.1" - readable-stream "^2.0.4" + inherits "^2.0.3" + readable-stream "^2.3.6" follow-redirects@1.5.10: version "1.5.10" resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.5.10.tgz#7b7a9f9aea2fdff36786a94ff643ed07f4ff5e2a" + integrity sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ== dependencies: debug "=3.1.0" -follow-redirects@^1.0.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.7.0.tgz#489ebc198dc0e7f64167bd23b03c4c19b5784c76" +follow-redirects@^1.0.0, follow-redirects@^1.9.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.9.0.tgz#8d5bcdc65b7108fe1508649c79c12d732dcedb4f" + integrity sha512-CRcPzsSIbXyVDl0QI01muNDu69S8trU4jArW9LpOt2WtC6LyUJetcIrmfHsRBx7/Jb6GHJUiuqyYxPooFfNt6A== dependencies: - debug "^3.2.6" + debug "^3.0.0" for-in@^0.1.3: version "0.1.8" resolved "https://registry.yarnpkg.com/for-in/-/for-in-0.1.8.tgz#d8773908e31256109952b1fdb9b3fa867d2775e1" + integrity sha1-2Hc5COMSVhCZUrH9ubP6hn0ndeE= for-in@^1.0.1, for-in@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" + integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= for-own@^0.1.3, for-own@^0.1.4: version "0.1.5" resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce" + integrity sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4= dependencies: for-in "^1.0.1" -for-own@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/for-own/-/for-own-1.0.0.tgz#c63332f415cedc4b04dbfe70cf836494c53cb44b" - dependencies: - for-in "^1.0.1" - -foreach@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99" - foreachasync@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/foreachasync/-/foreachasync-3.0.0.tgz#5502987dc8714be3392097f32e0071c9dee07cf6" + integrity sha1-VQKYfchxS+M5IJfzLgBxyd7gfPY= forever-agent@~0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= form-data@~2.3.2: version "2.3.3" resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" + integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== dependencies: asynckit "^0.4.0" combined-stream "^1.0.6" @@ -4524,20 +4711,24 @@ form-data@~2.3.2: forwarded@~0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84" + integrity sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ= fragment-cache@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" + integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= dependencies: map-cache "^0.2.2" fresh@0.5.2: version "0.5.2" resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" + integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= from2@^2.1.0: version "2.3.0" resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af" + integrity sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8= dependencies: inherits "^2.0.1" readable-stream "^2.0.0" @@ -4545,14 +4736,17 @@ from2@^2.1.0: from@~0: version "0.1.7" resolved "https://registry.yarnpkg.com/from/-/from-0.1.7.tgz#83c60afc58b9c56997007ed1a768b3ab303a44fe" + integrity sha1-g8YK/Fi5xWmXAH7Rp2izqzA6RP4= fs-exists-sync@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz#982d6893af918e72d08dec9e8673ff2b5a8d6add" + integrity sha1-mC1ok6+RjnLQjeyehnP/K1qNat0= fs-extra@5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-5.0.0.tgz#414d0110cdd06705734d055652c5411260c31abd" + integrity sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ== dependencies: graceful-fs "^4.1.2" jsonfile "^4.0.0" @@ -4561,20 +4755,23 @@ fs-extra@5.0.0: fs-extra@^7.0.0: version "7.0.1" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" + integrity sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw== dependencies: graceful-fs "^4.1.2" jsonfile "^4.0.0" universalify "^0.1.0" fs-minipass@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.5.tgz#06c277218454ec288df77ada54a03b8702aacb9d" + version "1.2.7" + resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.7.tgz#ccff8570841e7fe4265693da88936c55aed7f7c7" + integrity sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA== dependencies: - minipass "^2.2.1" + minipass "^2.6.0" fs-mkdirp-stream@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz#0b7815fc3201c6a69e14db98ce098c16935259eb" + integrity sha1-C3gV/DIBxqaeFNuYzgmMFpNSWes= dependencies: graceful-fs "^4.1.11" through2 "^2.0.3" @@ -4582,6 +4779,7 @@ fs-mkdirp-stream@^1.0.0: fs-write-stream-atomic@^1.0.8: version "1.0.10" resolved "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9" + integrity sha1-tH31NJPvkR33VzHnCp3tAYnbQMk= dependencies: graceful-fs "^4.1.2" iferr "^0.1.5" @@ -4591,45 +4789,40 @@ fs-write-stream-atomic@^1.0.8: fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - -fsevents@^1.2.2: - version "1.2.4" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.4.tgz#f41dcb1af2582af3692da36fc55cbd8e1041c426" - dependencies: - nan "^2.9.2" - node-pre-gyp "^0.10.0" + integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= fsevents@^1.2.3, fsevents@^1.2.7: version "1.2.9" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.9.tgz#3f5ed66583ccd6f400b5a00db6f7e861363e388f" + integrity sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw== dependencies: nan "^2.12.1" node-pre-gyp "^0.12.0" -fstream@^1.0.0, fstream@^1.0.2: +fstream@^1.0.0, fstream@^1.0.12: version "1.0.12" resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.12.tgz#4e8ba8ee2d48be4f7d0de505455548eae5932045" + integrity sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg== dependencies: graceful-fs "^4.1.2" inherits "~2.0.0" mkdirp ">=0.5 0" rimraf "2" -function-bind@^1.0.2: - version "1.1.0" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.0.tgz#16176714c801798e4e8f2cf7f7529467bb4a5771" - function-bind@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== functional-red-black-tree@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" + integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= gauge@~2.7.3: version "2.7.4" resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" + integrity sha1-LANAXHU4w51+s3sxcCLjJfsBi/c= dependencies: aproba "^1.0.3" console-control-strings "^1.0.0" @@ -4643,62 +4836,87 @@ gauge@~2.7.3: gaze@^1.0.0: version "1.1.3" resolved "https://registry.yarnpkg.com/gaze/-/gaze-1.1.3.tgz#c441733e13b927ac8c0ff0b4c3b033f28812924a" + integrity sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g== dependencies: globule "^1.0.0" generic-pool@^3.7.1: version "3.7.1" resolved "https://registry.yarnpkg.com/generic-pool/-/generic-pool-3.7.1.tgz#36fe5bb83e7e0e032e5d32cd05dc00f5ff119aa8" + integrity sha512-ug6DAZoNgWm6q5KhPFA+hzXfBLFQu5sTXxPpv44DmE0A2g+CiHoq9LTVdkXpZMkYVMoGw83F6W+WT0h0MFMK/w== get-caller-file@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5" + version "1.0.3" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" + integrity sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w== + +get-caller-file@^2.0.1: + version "2.0.5" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== get-port@^4.0.0: version "4.2.0" resolved "https://registry.yarnpkg.com/get-port/-/get-port-4.2.0.tgz#e37368b1e863b7629c43c5a323625f95cf24b119" + integrity sha512-/b3jarXkH8KJoOMQc3uVGHASwGLPq3gSFJ7tgJm2diza+bydJPTGOibin2steecKeOylE8oY2JERlVWkAJO6yw== get-stdin@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" + integrity sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4= get-stdin@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-5.0.1.tgz#122e161591e21ff4c52530305693f20e6393a398" + integrity sha1-Ei4WFZHiH/TFJTAwVpPyDmOTo5g= get-stdin@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-6.0.0.tgz#9e09bf712b360ab9225e812048f71fde9c89657b" + integrity sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g== get-stream@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" + integrity sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ= get-stream@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" + integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== + dependencies: + pump "^3.0.0" + +get-stream@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.1.0.tgz#01203cdc92597f9b909067c3e656cc1f4d3c4dc9" + integrity sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw== dependencies: pump "^3.0.0" get-value@^2.0.3, get-value@^2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" + integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= getos@3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/getos/-/getos-3.1.1.tgz#967a813cceafee0156b0483f7cffa5b3eff029c5" + integrity sha512-oUP1rnEhAr97rkitiszGP9EgDVYnmchgFzfqRzSkgtfv7ai6tEi7Ko8GgjNXts7VLWEqrTWyhsOKLe5C5b/Zkg== dependencies: async "2.6.1" getpass@^0.1.1: version "0.1.7" resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" + integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= dependencies: assert-plus "^1.0.0" git-up@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/git-up/-/git-up-2.1.0.tgz#2f14cfe78327e7c4a2b92fcac7bfc674fdfad40c" + integrity sha512-MJgwfcSd9qxgDyEYpRU/CDxNpUadrK80JHuEQDG4Urn0m7tpSOgCBrtiSIa9S9KH8Tbuo/TN8SSQmJBvsw1HkA== dependencies: is-ssh "^1.3.0" parse-url "^3.0.2" @@ -4706,24 +4924,28 @@ git-up@^2.0.0: git-url-parse@^10.0.1: version "10.1.0" resolved "https://registry.yarnpkg.com/git-url-parse/-/git-url-parse-10.1.0.tgz#a27813218f8777e91d15f1c121b83bf14721b67e" + integrity sha512-goZOORAtFjU1iG+4zZgWq+N7It09PqS3Xsy43ZwhP5unDD0tTSmXTpqULHodMdJXGejm3COwXIhIRT6Z8DYVZQ== dependencies: git-up "^2.0.0" github-slugger@1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/github-slugger/-/github-slugger-1.2.0.tgz#8ada3286fd046d8951c3c952a8d7854cfd90fd9a" + integrity sha512-wIaa75k1vZhyPm9yWrD08A5Xnx/V+RmzGrpjQuLemGKSb77Qukiaei58Bogrl/LZSADDfPzKJX8jhLs4CRTl7Q== dependencies: emoji-regex ">=6.0.0 <=6.1.1" github-slugger@^1.0.0, github-slugger@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/github-slugger/-/github-slugger-1.2.1.tgz#47e904e70bf2dccd0014748142d31126cfd49508" + integrity sha512-SsZUjg/P03KPzQBt7OxJPasGw6NRO5uOgiZ5RGXVud5iSIZ0eNZeNp5rTwCxtavrRUa/A77j8mePVc5lEvk0KQ== dependencies: emoji-regex ">=6.0.0 <=6.1.1" glob-base@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" + integrity sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q= dependencies: glob-parent "^2.0.0" is-glob "^2.0.0" @@ -4731,25 +4953,29 @@ glob-base@^0.3.0: glob-parent@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28" + integrity sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg= dependencies: is-glob "^2.0.0" glob-parent@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" + integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4= dependencies: is-glob "^3.1.0" path-dirname "^1.0.0" -glob-parent@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.0.0.tgz#1dc99f0f39b006d3e92c2c284068382f0c20e954" +glob-parent@^5.0.0, glob-parent@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.0.tgz#5f4c1d1e748d30cd73ad2944b3577a81b081e8c2" + integrity sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw== dependencies: is-glob "^4.0.1" glob-stream@^6.1.0: version "6.1.0" resolved "https://registry.yarnpkg.com/glob-stream/-/glob-stream-6.1.0.tgz#7045c99413b3eb94888d83ab46d0b404cc7bdde4" + integrity sha1-cEXJlBOz65SIjYOrRtC0BMx73eQ= dependencies: extend "^3.0.0" glob "^7.1.1" @@ -4762,9 +4988,10 @@ glob-stream@^6.1.0: to-absolute-glob "^2.0.0" unique-stream "^2.0.2" -glob@7.1.3, glob@^7.0.0, glob@~7.1.1: +glob@7.1.3: version "7.1.3" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1" + integrity sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ== dependencies: fs.realpath "^1.0.0" inflight "^1.0.4" @@ -4773,20 +5000,10 @@ glob@7.1.3, glob@^7.0.0, glob@~7.1.1: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^7.0.3, glob@^7.1.1, glob@^7.1.2: - version "7.1.2" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" - dependencies: - 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@^7.1.3: +glob@^7.0.0, glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@~7.1.1: version "7.1.4" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255" + integrity sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A== dependencies: fs.realpath "^1.0.0" inflight "^1.0.4" @@ -4798,44 +5015,83 @@ glob@^7.1.3: global-dirs@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-0.1.1.tgz#b319c0dd4607f353f3be9cca4c72fc148c49f445" + integrity sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU= dependencies: ini "^1.3.4" -global-modules-path@^2.3.0: - version "2.3.1" - resolved "https://registry.yarnpkg.com/global-modules-path/-/global-modules-path-2.3.1.tgz#e541f4c800a1a8514a990477b267ac67525b9931" +global-modules@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-2.0.0.tgz#997605ad2345f27f51539bea26574421215c7780" + integrity sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A== + dependencies: + global-prefix "^3.0.0" global-modules@^0.2.3: version "0.2.3" resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-0.2.3.tgz#ea5a3bed42c6d6ce995a4f8a1269b5dae223828d" + integrity sha1-6lo77ULG1s6ZWk+KEmm12uIjgo0= dependencies: global-prefix "^0.1.4" is-windows "^0.2.0" +global-modules@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-1.0.0.tgz#6d770f0eb523ac78164d72b5e71a8877265cc3ea" + integrity sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg== + dependencies: + global-prefix "^1.0.1" + is-windows "^1.0.1" + resolve-dir "^1.0.0" + global-prefix@^0.1.4: version "0.1.5" resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-0.1.5.tgz#8d3bc6b8da3ca8112a160d8d496ff0462bfef78f" + integrity sha1-jTvGuNo8qBEqFg2NSW/wRiv+948= dependencies: homedir-polyfill "^1.0.0" ini "^1.3.4" is-windows "^0.2.0" which "^1.2.12" +global-prefix@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-1.0.2.tgz#dbf743c6c14992593c655568cb66ed32c0122ebe" + integrity sha1-2/dDxsFJklk8ZVVoy2btMsASLr4= + dependencies: + expand-tilde "^2.0.2" + homedir-polyfill "^1.0.1" + ini "^1.3.4" + is-windows "^1.0.1" + which "^1.2.14" + +global-prefix@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-3.0.0.tgz#fc85f73064df69f50421f47f883fe5b913ba9b97" + integrity sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg== + dependencies: + ini "^1.3.5" + kind-of "^6.0.2" + which "^1.3.1" + globals-docs@^2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/globals-docs/-/globals-docs-2.4.0.tgz#f2c647544eb6161c7c38452808e16e693c2dafbb" + version "2.4.1" + resolved "https://registry.yarnpkg.com/globals-docs/-/globals-docs-2.4.1.tgz#d16887709f4a15eb22d97e96343591f87a2ee3db" + integrity sha512-qpPnUKkWnz8NESjrCvnlGklsgiQzlq+rcCxoG5uNQ+dNA7cFMCmn231slLAwS2N/PlkzZ3COL8CcS10jXmLHqg== globals@^11.1.0, globals@^11.7.0: - version "11.9.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-11.9.0.tgz#bde236808e987f290768a93d065060d78e6ab249" + version "11.12.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" + integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== globals@^9.18.0: version "9.18.0" resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a" + integrity sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ== globby@^10.0.1: version "10.0.1" resolved "https://registry.yarnpkg.com/globby/-/globby-10.0.1.tgz#4782c34cb75dd683351335c5829cc3420e606b22" + integrity sha512-sSs4inE1FB2YQiymcmTv6NWENryABjUNPeWhOvmn4SjtKybglsyPZxFB3U1/+L1bYi0rNZDqCLlHyLYDl1Pq5A== dependencies: "@types/glob" "^7.1.1" array-union "^2.1.0" @@ -4849,6 +5105,7 @@ globby@^10.0.1: globby@^6.1.0: version "6.1.0" resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" + integrity sha1-9abXDoOV4hyFj7BInWTfAkJNUGw= dependencies: array-union "^1.0.1" glob "^7.0.3" @@ -4859,36 +5116,48 @@ globby@^6.1.0: globule@^1.0.0: version "1.2.1" resolved "https://registry.yarnpkg.com/globule/-/globule-1.2.1.tgz#5dffb1b191f22d20797a9369b49eab4e9839696d" + integrity sha512-g7QtgWF4uYSL5/dn71WxubOrS7JVGCnFPEnoeChJmBnyR9Mw8nGoEwOgJL/RC2Te0WhbsEUCejfH8SZNJ+adYQ== dependencies: glob "~7.1.1" lodash "~4.17.10" minimatch "~3.0.2" -graceful-fs@^4.0.0, graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6: - version "4.2.0" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.0.tgz#8d8fdc73977cb04104721cb53666c1ca64cd328b" +glur@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/glur/-/glur-1.1.2.tgz#f20ea36db103bfc292343921f1f91e83c3467689" + integrity sha1-8g6jbbEDv8KSNDkh8fkeg8NGdok= + +graceful-fs@^4.0.0, graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6: + version "4.2.2" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.2.tgz#6f0952605d0140c1cfdb138ed005775b92d67b02" + integrity sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q== graphlibrary@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/graphlibrary/-/graphlibrary-2.2.0.tgz#017a14899775228dec4497a39babfdd6bf56eac6" + integrity sha512-XTcvT55L8u4MBZrM37zXoUxsgxs/7sow7YSygd9CIwfWTVO8RVu7AYXhhCiTuFEf+APKgx6Jk4SuQbYR0vYKmQ== dependencies: lodash "^4.17.5" "growl@~> 1.10.0": version "1.10.5" resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e" + integrity sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA== growly@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" + integrity sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE= handle-thing@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.0.tgz#0e039695ff50c93fc288557d696f3c1dc6776754" + integrity sha512-d4sze1JNC454Wdo2fkuyzCr6aHcbL6PGGuFAz0Li/NcOm1tCHGnWDRmJP85dh9IhQErTc2svWFEX5xHIOo//kQ== handlebars@^4.0.3: - version "4.1.2" - resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.1.2.tgz#b6b37c1ced0306b221e094fc7aca3ec23b131b67" + version "4.4.2" + resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.4.2.tgz#8810a9821a9d6d52cb2f57d326d6ce7c3dfe741d" + integrity sha512-cIv17+GhL8pHHnRJzGu2wwcthL5sb8uDKBHvZ2Dtu5s1YNt0ljbzKbamnc+gr69y7bzwQiBdr5+hOpRd5pnOdg== dependencies: neo-async "^2.6.0" optimist "^0.6.1" @@ -4899,10 +5168,12 @@ handlebars@^4.0.3: har-schema@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" + integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= har-validator@~5.1.0: version "5.1.3" resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.3.tgz#1ef89ebd3e4996557675eed9893110dc350fa080" + integrity sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g== dependencies: ajv "^6.5.5" har-schema "^2.0.0" @@ -4910,40 +5181,49 @@ har-validator@~5.1.0: harmony-reflect@^1.4.6: version "1.6.1" resolved "https://registry.yarnpkg.com/harmony-reflect/-/harmony-reflect-1.6.1.tgz#c108d4f2bb451efef7a37861fdbdae72c9bdefa9" + integrity sha512-WJTeyp0JzGtHcuMsi7rw2VwtkvLa+JyfEKJCFyfcS0+CDkjQ5lHPu7zEhFZP+PDSRrEgXa5Ah0l1MbgbE41XjA== has-ansi@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" + integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE= dependencies: ansi-regex "^2.0.0" has-color@~0.1.0: version "0.1.7" resolved "https://registry.yarnpkg.com/has-color/-/has-color-0.1.7.tgz#67144a5260c34fc3cca677d041daf52fe7b78b2f" + integrity sha1-ZxRKUmDDT8PMpnfQQdr1L+e3iy8= has-flag@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" + integrity sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo= has-flag@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51" + integrity sha1-6CB68cx7MNRGzHC3NLXovhj4jVE= has-flag@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= has-symbols@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.0.tgz#ba1a8f1af2a0fc39650f5c850367704122063b44" + integrity sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q= has-unicode@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" + integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk= has-value@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" + integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= dependencies: get-value "^2.0.3" has-values "^0.1.4" @@ -4952,6 +5232,7 @@ has-value@^0.3.1: has-value@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" + integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= dependencies: get-value "^2.0.6" has-values "^1.0.0" @@ -4960,23 +5241,27 @@ has-value@^1.0.0: has-values@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" + integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= has-values@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" + integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= dependencies: is-number "^3.0.0" kind-of "^4.0.0" -has@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.1.tgz#8461733f538b0837c9361e39a9ab9e9704dc2f28" +has@^1.0.1, has@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== dependencies: - function-bind "^1.0.2" + function-bind "^1.1.1" hash-base@^3.0.0: version "3.0.4" resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.0.4.tgz#5fc8686847ecd73499403319a6b0a3f3f6ae4918" + integrity sha1-X8hoaEfs1zSZQDMZprCj8/auSRg= dependencies: inherits "^2.0.1" safe-buffer "^5.0.1" @@ -4984,6 +5269,7 @@ hash-base@^3.0.0: hash.js@^1.0.0, hash.js@^1.0.3: version "1.1.7" resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" + integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== dependencies: inherits "^2.0.3" minimalistic-assert "^1.0.1" @@ -4991,16 +5277,19 @@ hash.js@^1.0.0, hash.js@^1.0.3: hast-util-is-element@^1.0.0: version "1.0.3" resolved "https://registry.yarnpkg.com/hast-util-is-element/-/hast-util-is-element-1.0.3.tgz#423b4b26fe8bf1f25950fe052e9ce8f83fd5f6a4" + integrity sha512-C62CVn7jbjp89yOhhy7vrkSaB7Vk906Gtcw/Ihd+Iufnq+2pwOZjdPmpzpKLWJXPJBMDX3wXg4FqmdOayPcewA== hast-util-sanitize@^1.0.0: version "1.3.1" resolved "https://registry.yarnpkg.com/hast-util-sanitize/-/hast-util-sanitize-1.3.1.tgz#4e60d66336bd67e52354d581967467029a933f2e" + integrity sha512-AIeKHuHx0Wk45nSkGVa2/ujQYTksnDl8gmmKo/mwQi7ag7IBZ8cM3nJ2G86SajbjGP/HRpud6kMkPtcM2i0Tlw== dependencies: xtend "^4.0.1" hast-util-to-html@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/hast-util-to-html/-/hast-util-to-html-4.0.1.tgz#3666b05afb62bd69f8f5e6c94db04dea19438e2a" + integrity sha512-2emzwyf0xEsc4TBIPmDJmBttIw8R4SXAJiJZoiRR/s47ODYWgOqNoDbf2SJAbMbfNdFWMiCSOrI3OVnX6Qq2Mg== dependencies: ccount "^1.0.0" comma-separated-tokens "^1.0.1" @@ -5016,55 +5305,51 @@ hast-util-to-html@^4.0.0: hast-util-whitespace@^1.0.0: version "1.0.3" resolved "https://registry.yarnpkg.com/hast-util-whitespace/-/hast-util-whitespace-1.0.3.tgz#6d161b307bd0693b5ec000c7c7e8b5445109ee34" + integrity sha512-AlkYiLTTwPOyxZ8axq2/bCwRUPjIPBfrHkXuCR92B38b3lSdU22R5F/Z4DL6a2kxWpekWq1w6Nj48tWat6GeRA== -he@1.2.x, he@^1.1.0, he@^1.2.0: +he@^1.1.0, he@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" + integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== highlight.js@^9.15.5: - version "9.15.8" - resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-9.15.8.tgz#f344fda123f36f1a65490e932cf90569e4999971" + version "9.15.10" + resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-9.15.10.tgz#7b18ed75c90348c045eef9ed08ca1319a2219ad2" + integrity sha512-RoV7OkQm0T3os3Dd2VHLNMoaoDVx77Wygln3n9l5YV172XonWG6rgQD3XnF/BuFFZw9A0TJgmMSO8FEWQgvcXw== hmac-drbg@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" + integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= dependencies: hash.js "^1.0.3" minimalistic-assert "^1.0.0" minimalistic-crypto-utils "^1.0.1" -hoek@5.x.x: - version "5.0.4" - resolved "https://registry.yarnpkg.com/hoek/-/hoek-5.0.4.tgz#0f7fa270a1cafeb364a4b2ddfaa33f864e4157da" - -hoek@6.x.x: - version "6.1.3" - resolved "https://registry.yarnpkg.com/hoek/-/hoek-6.1.3.tgz#73b7d33952e01fe27a38b0457294b79dd8da242c" - home-or-tmp@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8" + integrity sha1-42w/LSyufXRqhX440Y1fMqeILbg= dependencies: os-homedir "^1.0.0" os-tmpdir "^1.0.1" -home-or-tmp@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-3.0.0.tgz#57a8fe24cf33cdd524860a15821ddc25c86671fb" - -homedir-polyfill@^1.0.0: +homedir-polyfill@^1.0.0, homedir-polyfill@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz#743298cef4e5af3e194161fbadcc2151d3a058e8" + integrity sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA== dependencies: parse-passwd "^1.0.0" hosted-git-info@^2.1.4: - version "2.5.0" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.5.0.tgz#6d60e34b3abbc8313062c3b798ef8d901a07af3c" + version "2.8.4" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.4.tgz#44119abaf4bc64692a16ace34700fed9c03e2546" + integrity sha512-pzXIvANXEFrc5oFFXRMkbLPQ2rXRoDERwDLyrcUxGhaZhgP54BBSl9Oheh7Vv0T090cszWBxPjkQQ5Sq1PbBRQ== hpack.js@^2.1.6: version "2.1.6" resolved "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" + integrity sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI= dependencies: inherits "^2.0.1" obuf "^1.0.0" @@ -5074,36 +5359,42 @@ hpack.js@^2.1.6: html-encoding-sniffer@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz#e70d84b94da53aa375e11fe3a351be6642ca46f8" + integrity sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw== dependencies: whatwg-encoding "^1.0.1" html-entities@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.2.1.tgz#0df29351f0721163515dfb9e5543e5f6eed5162f" + integrity sha1-DfKTUfByEWNRXfueVUPl9u7VFi8= -html-minifier@^3.0.1: - version "3.5.21" - resolved "https://registry.yarnpkg.com/html-minifier/-/html-minifier-3.5.21.tgz#d0040e054730e354db008463593194015212d20c" +html-minifier@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/html-minifier/-/html-minifier-4.0.0.tgz#cca9aad8bce1175e02e17a8c33e46d8988889f56" + integrity sha512-aoGxanpFPLg7MkIl/DDFYtb0iWz7jMFGqFhvEDZga6/4QTjneiD8I/NXL1x5aaoCp7FSIT6h/OhykDdPsbtMig== dependencies: - camel-case "3.0.x" - clean-css "4.2.x" - commander "2.17.x" - he "1.2.x" - param-case "2.1.x" - relateurl "0.2.x" - uglify-js "3.4.x" + camel-case "^3.0.0" + clean-css "^4.2.1" + commander "^2.19.0" + he "^1.2.0" + param-case "^2.1.1" + relateurl "^0.2.7" + uglify-js "^3.5.1" html-void-elements@^1.0.0: version "1.0.4" resolved "https://registry.yarnpkg.com/html-void-elements/-/html-void-elements-1.0.4.tgz#95e8bb5ecd6b88766569c2645f2b5f1591db9ba5" + integrity sha512-yMk3naGPLrfvUV9TdDbuYXngh/TpHbA6TrOw3HL9kS8yhwx7i309BReNg7CbAJXGE+UMJ6je5OqJ7lC63o6YuQ== http-deceiver@^1.2.7: version "1.2.7" resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" + integrity sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc= -http-errors@1.7.2, http-errors@~1.7.2: +http-errors@1.7.2: version "1.7.2" resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.2.tgz#4f5029cf13239f31036e5b2e55292bcfbcc85c8f" + integrity sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg== dependencies: depd "~1.1.2" inherits "2.0.3" @@ -5114,19 +5405,33 @@ http-errors@1.7.2, http-errors@~1.7.2: http-errors@~1.6.2: version "1.6.3" resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" + integrity sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0= dependencies: depd "~1.1.2" inherits "2.0.3" setprototypeof "1.1.0" statuses ">= 1.4.0 < 2" -http-parser-js@>=0.4.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.0.tgz#d65edbede84349d0dc30320815a15d39cc3cbbd8" +http-errors@~1.7.2: + version "1.7.3" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06" + integrity sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw== + dependencies: + depd "~1.1.2" + inherits "2.0.4" + setprototypeof "1.1.1" + statuses ">= 1.5.0 < 2" + toidentifier "1.0.0" -http-proxy-middleware@^0.19.1: +"http-parser-js@>=0.4.0 <0.4.11": + version "0.4.10" + resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.4.10.tgz#92c9c1374c35085f75db359ec56cc257cbb93fa4" + integrity sha1-ksnBN0w1CF912zWexWzCV8u5P6Q= + +http-proxy-middleware@0.19.1: version "0.19.1" resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz#183c7dc4aa1479150306498c210cdaf96080a43a" + integrity sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q== dependencies: http-proxy "^1.17.0" is-glob "^4.0.0" @@ -5134,16 +5439,18 @@ http-proxy-middleware@^0.19.1: micromatch "^3.1.10" http-proxy@^1.17.0: - version "1.17.0" - resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.17.0.tgz#7ad38494658f84605e2f6db4436df410f4e5be9a" + version "1.18.0" + resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.0.tgz#dbe55f63e75a347db7f3d99974f2692a314a6a3a" + integrity sha512-84I2iJM/n1d4Hdgc6y2+qY5mDaz2PUVjlg9znE9byl+q0uC3DeByqBGReQu5tpLK0TAqTIXScRUV+dg7+bUPpQ== dependencies: - eventemitter3 "^3.0.0" + eventemitter3 "^4.0.0" follow-redirects "^1.0.0" requires-port "^1.0.0" http-signature@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" + integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= dependencies: assert-plus "^1.0.0" jsprim "^1.2.2" @@ -5152,23 +5459,26 @@ http-signature@~1.2.0: https-browserify@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" + integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM= https-proxy-agent@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-2.2.1.tgz#51552970fa04d723e04c56d04178c3f92592bbc0" + version "2.2.2" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-2.2.2.tgz#271ea8e90f836ac9f119daccd39c19ff7dfb0793" + integrity sha512-c8Ndjc9Bkpfx/vCJueCPy0jlP4ccCCSNDp8xwCZzPjKJUm+B+u9WX2x98Qx4n1PiMNTWo3D7KK5ifNV/yJyRzg== dependencies: - agent-base "^4.1.0" + agent-base "^4.3.0" debug "^3.1.0" husky@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/husky/-/husky-1.2.1.tgz#33628f7013e345c1790a4dbe4642ad047f772dee" + version "1.3.1" + resolved "https://registry.yarnpkg.com/husky/-/husky-1.3.1.tgz#26823e399300388ca2afff11cfa8a86b0033fae0" + integrity sha512-86U6sVVVf4b5NYSZ0yvv88dRgBSSXXmHaiq5pP4KDj5JVzdwKgBjEtUPOm8hcoytezFwbU+7gotXNhpHdystlg== dependencies: cosmiconfig "^5.0.7" execa "^1.0.0" find-up "^3.0.0" get-stdin "^6.0.0" - is-ci "^1.2.1" + is-ci "^2.0.0" pkg-dir "^3.0.0" please-upgrade-node "^3.1.1" read-pkg "^4.0.1" @@ -5178,40 +5488,48 @@ husky@^1.2.1: hyperlinker@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/hyperlinker/-/hyperlinker-1.0.0.tgz#23dc9e38a206b208ee49bc2d6c8ef47027df0c0e" + integrity sha512-Ty8UblRWFEcfSuIaajM34LdPXIhbs1ajEX/BBPv24J+enSVaEVY63xQ6lTO9VRYS5LAoghIG0IDJ+p+IPzKUQQ== iconv-lite@0.4, iconv-lite@0.4.24, iconv-lite@^0.4.24, iconv-lite@^0.4.4: version "0.4.24" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== dependencies: safer-buffer ">= 2.1.2 < 3" icss-replace-symbols@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz#06ea6f83679a7749e386cfe1fe812ae5db223ded" + integrity sha1-Bupvg2ead0njhs/h/oEq5dsiPe0= -icss-utils@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-4.0.0.tgz#d52cf4bcdcfa1c45c2dbefb4ffdf6b00ef608098" +icss-utils@^4.1.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-4.1.1.tgz#21170b53789ee27447c2f47dd683081403f9a467" + integrity sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA== dependencies: - postcss "^7.0.5" + postcss "^7.0.14" identity-obj-proxy@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz#94d2bda96084453ef36fbc5aaec37e0f79f1fc14" + integrity sha1-lNK9qWCERT7zb7xarsN+D3nx/BQ= dependencies: harmony-reflect "^1.4.6" ieee754@^1.1.4: - version "1.1.12" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.12.tgz#50bf24e5b9c8bb98af4964c941cdb0918da7b60b" + version "1.1.13" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84" + integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg== iferr@^0.1.5: version "0.1.5" resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" + integrity sha1-xg7taebY/bazEEofy8ocGS3FtQE= ignore-walk@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.1.tgz#a83e62e7d272ac0e3b551aaa82831a19b69f82f8" + version "3.0.2" + resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.2.tgz#99d83a246c196ea5c93ef9315ad7b0819c35069b" + integrity sha512-EXyErtpHbn75ZTsOADsfx6J/FPo6/5cjev46PXrcTpd8z3BoRkXgYu9/JVqrI7tusjmwCZutGeRJeU0Wo1e4Cw== dependencies: minimatch "^3.0.4" @@ -5223,10 +5541,19 @@ ignore@^4.0.6: ignore@^5.1.1: version "5.1.4" resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.4.tgz#84b7b3dbe64552b6ef0eca99f6743dbec6d97adf" + integrity sha512-MzbUSahkTW1u7JpKKjY7LCARd1fU5W2rLdxlM4kdkayuCwZImjkpluF9CM1aLewYJguPDqewLam18Y6AU69A8A== + +image-size@^0.8.2: + version "0.8.3" + resolved "https://registry.yarnpkg.com/image-size/-/image-size-0.8.3.tgz#f0b568857e034f29baffd37013587f2c0cad8b46" + integrity sha512-SMtq1AJ+aqHB45c3FsB4ERK0UCiA2d3H1uq8s+8T0Pf8A3W4teyBQyaFaktH6xvZqh+npwlKU7i4fJo0r7TYTg== + dependencies: + queue "6.0.1" import-fresh@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-2.0.0.tgz#d81355c15612d386c61f9ddd3922d4304822a546" + integrity sha1-2BNVwVYS04bGH53dOSLUMEgipUY= dependencies: caller-path "^2.0.0" resolve-from "^3.0.0" @@ -5239,68 +5566,81 @@ import-fresh@^3.0.0: parent-module "^1.0.0" resolve-from "^4.0.0" +import-local@2.0.0, import-local@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/import-local/-/import-local-2.0.0.tgz#55070be38a5993cf18ef6db7e961f5bee5c5a09d" + integrity sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ== + dependencies: + pkg-dir "^3.0.0" + resolve-cwd "^2.0.0" + import-local@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/import-local/-/import-local-1.0.0.tgz#5e4ffdc03f4fe6c009c6729beb29631c2f8227bc" + integrity sha512-vAaZHieK9qjGo58agRBg+bhHX3hoTZU/Oa3GESWLz7t1U62fk63aHuDJJEteXoDeTCcPmUT+z38gkHPZkkmpmQ== dependencies: pkg-dir "^2.0.0" resolve-cwd "^2.0.0" -import-local@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-2.0.0.tgz#55070be38a5993cf18ef6db7e961f5bee5c5a09d" - dependencies: - pkg-dir "^3.0.0" - resolve-cwd "^2.0.0" - imurmurhash@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= in-publish@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/in-publish/-/in-publish-2.0.0.tgz#e20ff5e3a2afc2690320b6dc552682a9c7fadf51" + integrity sha1-4g/146KvwmkDILbcVSaCqcf631E= indent-string@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" + integrity sha1-ji1INIdCEhtKghi3oTfppSBJ3IA= dependencies: repeating "^2.0.0" indent-string@^3.0.0, indent-string@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-3.2.0.tgz#4a5fd6d27cc332f37e5419a504dbb837105c9289" + integrity sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok= -indexof@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d" +indexes-of@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" + integrity sha1-8w9xbI4r00bHtn0985FVZqfAVgc= + +infer-owner@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" + integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A== inflight@^1.0.4: version "1.0.6" resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= dependencies: once "^1.3.0" wrappy "1" -inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3: +inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3: version "2.0.4" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== inherits@2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" + integrity sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE= inherits@2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= -ini@^1.3.3, ini@^1.3.4: +ini@^1.3.4, ini@^1.3.5, ini@~1.3.0: version "1.3.5" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" - -ini@~1.3.0: - version "1.3.4" - resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e" + integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== inquirer@^6.4.1: version "6.5.2" @@ -5324,49 +5664,62 @@ inquirer@^6.4.1: internal-ip@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/internal-ip/-/internal-ip-4.3.0.tgz#845452baad9d2ca3b69c635a137acb9a0dad0907" + integrity sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg== dependencies: default-gateway "^4.2.0" ipaddr.js "^1.9.0" -interpret@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.1.0.tgz#7ed1b1410c6a0e0f78cf95d3b8440c63f78b8614" +interpret@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.2.0.tgz#d5061a6224be58e8083985f5014d844359576296" + integrity sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw== -invariant@^2.2.2: - version "2.2.2" - resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.2.tgz#9e1f56ac0acdb6bf303306f338be3b204ae60360" - dependencies: - loose-envify "^1.0.0" - -invariant@^2.2.4: +invariant@^2.2.2, invariant@^2.2.4: version "2.2.4" resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" + integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== dependencies: loose-envify "^1.0.0" invert-kv@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" + integrity sha1-EEqOSqym09jNFXqO+L+rLXo//bY= invert-kv@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02" + integrity sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA== ip-regex@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" + integrity sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= ip@^1.1.0, ip@^1.1.5: version "1.1.5" resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" + integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo= -ipaddr.js@1.9.0, ipaddr.js@^1.9.0: +ipaddr.js@1.9.0: version "1.9.0" resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.0.tgz#37df74e430a0e47550fe54a2defe30d8acd95f65" + integrity sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA== + +ipaddr.js@^1.9.0: + version "1.9.1" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" + integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== + +is-absolute-url@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-3.0.3.tgz#96c6a22b6a23929b11ea0afb1836c36ad4a5d698" + integrity sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q== is-absolute@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-absolute/-/is-absolute-1.0.0.tgz#395e1ae84b11f26ad1795e73c17378e48a301576" + integrity sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA== dependencies: is-relative "^1.0.0" is-windows "^1.0.1" @@ -5374,91 +5727,114 @@ is-absolute@^1.0.0: is-accessor-descriptor@^0.1.6: version "0.1.6" resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" + integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= dependencies: kind-of "^3.0.2" is-accessor-descriptor@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" + integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== dependencies: kind-of "^6.0.0" is-alphabetical@^1.0.0: version "1.0.3" resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-1.0.3.tgz#eb04cc47219a8895d8450ace4715abff2258a1f8" + integrity sha512-eEMa6MKpHFzw38eKm56iNNi6GJ7lf6aLLio7Kr23sJPAECscgRtZvOBYybejWDQ2bM949Y++61PY+udzj5QMLA== is-alphanumeric@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-alphanumeric/-/is-alphanumeric-1.0.0.tgz#4a9cef71daf4c001c1d81d63d140cf53fd6889f4" + integrity sha1-Spzvcdr0wAHB2B1j0UDPU/1oifQ= is-alphanumerical@^1.0.0: version "1.0.3" resolved "https://registry.yarnpkg.com/is-alphanumerical/-/is-alphanumerical-1.0.3.tgz#57ae21c374277b3defe0274c640a5704b8f6657c" + integrity sha512-A1IGAPO5AW9vSh7omxIlOGwIqEvpW/TA+DksVOPM5ODuxKlZS09+TEM1E3275lJqO2oJ38vDpeAL3DCIiHE6eA== dependencies: is-alphabetical "^1.0.0" is-decimal "^1.0.0" +is-arguments@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.0.4.tgz#3faf966c7cba0ff437fb31f6250082fcf0448cf3" + integrity sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA== + is-arrayish@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= + +is-arrayish@^0.3.1: + version "0.3.2" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03" + integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== is-binary-path@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" + integrity sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg= dependencies: binary-extensions "^1.0.0" -is-buffer@^1.0.2, is-buffer@^1.1.4: +is-buffer@^1.0.2, is-buffer@^1.1.4, is-buffer@^1.1.5: version "1.1.6" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" - -is-buffer@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.5.tgz#1f3b26ef613b214b88cbca23cc6c01d87961eecc" + integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== is-buffer@^2.0.0, is-buffer@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.3.tgz#4ecf3fcf749cbd1e472689e109ac66261a25e725" + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.4.tgz#3e572f23c8411a5cfd9557c849e3665e0b290623" + integrity sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A== -is-builtin-module@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe" - dependencies: - builtin-modules "^1.0.0" +is-callable@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75" + integrity sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA== -is-callable@^1.1.1, is-callable@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.3.tgz#86eb75392805ddc33af71c92a0eedf74ee7604b2" - -is-ci@1.2.1, is-ci@^1.0.10, is-ci@^1.2.1: +is-ci@1.2.1, is-ci@^1.0.10: version "1.2.1" resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.2.1.tgz#e3779c8ee17fccf428488f6e281187f2e632841c" + integrity sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg== dependencies: ci-info "^1.5.0" +is-ci@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" + integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== + dependencies: + ci-info "^2.0.0" + is-data-descriptor@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" + integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= dependencies: kind-of "^3.0.2" is-data-descriptor@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" + integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== dependencies: kind-of "^6.0.0" is-date-object@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" + integrity sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY= is-decimal@^1.0.0: version "1.0.3" resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-1.0.3.tgz#381068759b9dc807d8c0dc0bfbae2b68e1da48b7" + integrity sha512-bvLSwoDg2q6Gf+E2LEPiklHZxxiSi3XAh4Mav65mKqTfCO1HM3uBs24TjEH8iJX3bbDdLXKJXBTmGzuTUuAEjQ== is-descriptor@^0.1.0: version "0.1.6" resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" + integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== dependencies: is-accessor-descriptor "^0.1.6" is-data-descriptor "^0.1.4" @@ -5467,6 +5843,7 @@ is-descriptor@^0.1.0: is-descriptor@^1.0.0, is-descriptor@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" + integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== dependencies: is-accessor-descriptor "^1.0.0" is-data-descriptor "^1.0.0" @@ -5475,90 +5852,101 @@ is-descriptor@^1.0.0, is-descriptor@^1.0.2: is-directory@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1" + integrity sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE= is-dotfile@^1.0.0: version "1.0.3" resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1" + integrity sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE= is-equal-shallow@^0.1.3: version "0.1.3" resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534" + integrity sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ= dependencies: is-primitive "^2.0.0" is-extendable@^0.1.0, is-extendable@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= is-extendable@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" + integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== dependencies: is-plain-object "^2.0.4" is-extglob@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" + integrity sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA= is-extglob@^2.1.0, is-extglob@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= is-finite@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" + integrity sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko= dependencies: number-is-nan "^1.0.0" is-fullwidth-code-point@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" + integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= dependencies: number-is-nan "^1.0.0" is-fullwidth-code-point@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= is-fullwidth-code-point@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== is-generator-fn@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-1.0.0.tgz#969d49e1bb3329f6bb7f09089be26578b2ddd46a" + integrity sha1-lp1J4bszKfa7fwkIm+JleLLd1Go= is-glob@^2.0.0, is-glob@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" + integrity sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM= dependencies: is-extglob "^1.0.0" is-glob@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" + integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo= dependencies: is-extglob "^2.1.0" -is-glob@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.0.tgz#9521c76845cc2610a85203ddf080a958c2ffabc0" - dependencies: - is-extglob "^2.1.1" - -is-glob@^4.0.1: +is-glob@^4.0.0, is-glob@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" + integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== dependencies: is-extglob "^2.1.1" is-hexadecimal@^1.0.0: version "1.0.3" resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-1.0.3.tgz#e8a426a69b6d31470d3a33a47bb825cda02506ee" + integrity sha512-zxQ9//Q3D/34poZf8fiy3m3XVpbQc7ren15iKqrTtLPwkPD/t3Scy9Imp63FujULGxuK0ZlCwoo5xNpktFgbOA== is-installed-globally@0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.1.0.tgz#0dfd98f5a9111716dd535dda6492f67bf3d25a80" + integrity sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA= dependencies: global-dirs "^0.1.0" is-path-inside "^1.0.0" @@ -5566,176 +5954,206 @@ is-installed-globally@0.1.0: is-negated-glob@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-negated-glob/-/is-negated-glob-1.0.0.tgz#6910bca5da8c95e784b5751b976cf5a10fee36d2" + integrity sha1-aRC8pdqMleeEtXUbl2z1oQ/uNtI= is-number@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" + integrity sha1-Afy7s5NGOlSPL0ZszhbezknbkI8= dependencies: kind-of "^3.0.2" is-number@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" + integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= dependencies: kind-of "^3.0.2" is-number@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-4.0.0.tgz#0026e37f5454d73e356dfe6564699867c6a7f0ff" + integrity sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ== is-number@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" - -is-odd@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-odd/-/is-odd-2.0.0.tgz#7646624671fd7ea558ccd9a2795182f2958f1b24" - dependencies: - is-number "^4.0.0" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== is-path-cwd@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-2.1.0.tgz#2e0c7e463ff5b7a0eb60852d851a6809347a124c" + version "2.2.0" + resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-2.2.0.tgz#67d43b82664a7b5191fd9119127eb300048a9fdb" + integrity sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ== is-path-in-cwd@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz#bfe2dca26c69f397265a4009963602935a053acb" + integrity sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ== dependencies: is-path-inside "^2.1.0" is-path-inside@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.1.tgz#8ef5b7de50437a3fdca6b4e865ef7aa55cb48036" + integrity sha1-jvW33lBDej/cprToZe96pVy0gDY= dependencies: path-is-inside "^1.0.1" is-path-inside@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-2.1.0.tgz#7c9810587d659a40d27bcdb4d5616eab059494b2" + integrity sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg== dependencies: path-is-inside "^1.0.2" is-plain-obj@^1.0.0, is-plain-obj@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" + integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== dependencies: isobject "^3.0.1" is-posix-bracket@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" + integrity sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q= is-primitive@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" + integrity sha1-IHurkWOEmcB7Kt8kCkGochADRXU= is-promise@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" + integrity sha1-eaKp7OfwlugPNtKy87wWwf9L8/o= is-regex@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" + integrity sha1-VRdIm1RwkbCTDglWVM7SXul+lJE= dependencies: has "^1.0.1" is-regexp@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" + integrity sha1-/S2INUXEa6xaYz57mgnof6LLUGk= is-relative@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-relative/-/is-relative-1.0.0.tgz#a1bb6935ce8c5dba1e8b9754b9b2dcc020e2260d" + integrity sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA== dependencies: is-unc-path "^1.0.0" is-ssh@^1.3.0: version "1.3.1" resolved "https://registry.yarnpkg.com/is-ssh/-/is-ssh-1.3.1.tgz#f349a8cadd24e65298037a522cf7520f2e81a0f3" + integrity sha512-0eRIASHZt1E68/ixClI8bp2YK2wmBPVWEismTs6M+M099jKgrzl/3E976zIbImSIob48N2/XGe9y7ZiYdImSlg== dependencies: protocols "^1.1.0" is-stream@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= -is-symbol@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.1.tgz#3cc59f00025194b6ab2e38dbae6689256b660572" +is-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" + integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== + +is-symbol@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.2.tgz#a055f6ae57192caee329e7a860118b497a950f38" + integrity sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw== + dependencies: + has-symbols "^1.0.0" is-typedarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= is-unc-path@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-unc-path/-/is-unc-path-1.0.0.tgz#d731e8898ed090a12c352ad2eaed5095ad322c9d" + integrity sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ== dependencies: unc-path-regex "^0.1.2" is-utf8@^0.2.0, is-utf8@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" + integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI= is-valid-glob@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-valid-glob/-/is-valid-glob-1.0.0.tgz#29bf3eff701be2d4d315dbacc39bc39fe8f601aa" + integrity sha1-Kb8+/3Ab4tTTFdusw5vDn+j2Aao= is-whitespace-character@^1.0.0: version "1.0.3" resolved "https://registry.yarnpkg.com/is-whitespace-character/-/is-whitespace-character-1.0.3.tgz#b3ad9546d916d7d3ffa78204bca0c26b56257fac" + integrity sha512-SNPgMLz9JzPccD3nPctcj8sZlX9DAMJSKH8bP7Z6bohCwuNgX8xbWr1eTAYXX9Vpi/aSn8Y1akL9WgM3t43YNQ== is-windows@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-0.2.0.tgz#de1aa6d63ea29dd248737b69f1ff8b8002d2108c" + integrity sha1-3hqm1j6indJIc3tp8f+LgALSEIw= is-windows@^1.0.1, is-windows@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" + integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== is-word-character@^1.0.0: version "1.0.3" resolved "https://registry.yarnpkg.com/is-word-character/-/is-word-character-1.0.3.tgz#264d15541cbad0ba833d3992c34e6b40873b08aa" + integrity sha512-0wfcrFgOOOBdgRNT9H33xe6Zi6yhX/uoc4U8NBZGeQQB0ctU1dnlNTyL9JM2646bHDTpsDm1Brb3VPoCIMrd/A== is-wsl@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" + integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - -isemail@3.x.x: - version "3.2.0" - resolved "https://registry.yarnpkg.com/isemail/-/isemail-3.2.0.tgz#59310a021931a9fb06bbb51e155ce0b3f236832c" - dependencies: - punycode "2.x.x" + integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= isexe@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= isobject@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" + integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= dependencies: isarray "1.0.0" isobject@^3.0.0, isobject@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= -isstream@0.1.x, isstream@~0.1.2: +isstream@~0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= istanbul-api@^1.3.1: version "1.3.7" resolved "https://registry.yarnpkg.com/istanbul-api/-/istanbul-api-1.3.7.tgz#a86c770d2b03e11e3f778cd7aedd82d2722092aa" + integrity sha512-4/ApBnMVeEPG3EkSzcw25wDe4N66wxwn+KKn6b47vyek8Xb3NBAcg4xfuQbS7BqcZuTX4wxfD5lVagdggR3gyA== dependencies: async "^2.1.4" fileset "^2.0.2" @@ -5752,16 +6170,19 @@ istanbul-api@^1.3.1: istanbul-lib-coverage@^1.2.0, istanbul-lib-coverage@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-1.2.1.tgz#ccf7edcd0a0bb9b8f729feeb0930470f9af664f0" + integrity sha512-PzITeunAgyGbtY1ibVIUiV679EFChHjoMNRibEIobvmrCRaIgwLxNucOSimtNWUhEib/oO7QY2imD75JVgCJWQ== istanbul-lib-hook@^1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/istanbul-lib-hook/-/istanbul-lib-hook-1.2.2.tgz#bc6bf07f12a641fbf1c85391d0daa8f0aea6bf86" + integrity sha512-/Jmq7Y1VeHnZEQ3TL10VHyb564mn6VrQXHchON9Jf/AEcmQ3ZIiyD1BVzNOKTZf/G3gE+kiGK6SmpF9y3qGPLw== dependencies: append-transform "^0.4.0" istanbul-lib-instrument@^1.10.1, istanbul-lib-instrument@^1.10.2: version "1.10.2" resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-1.10.2.tgz#1f55ed10ac3c47f2bdddd5307935126754d0a9ca" + integrity sha512-aWHxfxDqvh/ZlxR8BBaEPVSWDPUkGD63VjGQn3jcw8jCp7sHEMKcrj4xfJn/ABzdMEHiQNyvDQhqm5o8+SQg7A== dependencies: babel-generator "^6.18.0" babel-template "^6.16.0" @@ -5774,6 +6195,7 @@ istanbul-lib-instrument@^1.10.1, istanbul-lib-instrument@^1.10.2: istanbul-lib-report@^1.1.5: version "1.1.5" resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-1.1.5.tgz#f2a657fc6282f96170aaf281eb30a458f7f4170c" + integrity sha512-UsYfRMoi6QO/doUshYNqcKJqVmFe9w51GZz8BS3WB0lYxAllQYklka2wP9+dGZeHYaWIdcXUx8JGdbqaoXRXzw== dependencies: istanbul-lib-coverage "^1.2.1" mkdirp "^0.5.1" @@ -5783,6 +6205,7 @@ istanbul-lib-report@^1.1.5: istanbul-lib-source-maps@^1.2.4, istanbul-lib-source-maps@^1.2.6: version "1.2.6" resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.6.tgz#37b9ff661580f8fca11232752ee42e08c6675d8f" + integrity sha512-TtbsY5GIHgbMsMiRw35YBHGpZ1DVFEO19vxxeiDMYaeOFOCzfnYVxvl6pOUIZR4dtPhAGpSMup8OyF8ubsaqEg== dependencies: debug "^3.1.0" istanbul-lib-coverage "^1.2.1" @@ -5793,18 +6216,21 @@ istanbul-lib-source-maps@^1.2.4, istanbul-lib-source-maps@^1.2.6: istanbul-reports@^1.5.1: version "1.5.1" resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-1.5.1.tgz#97e4dbf3b515e8c484caea15d6524eebd3ff4e1a" + integrity sha512-+cfoZ0UXzWjhAdzosCPP3AN8vvef8XDkWtTfgaN+7L3YTpNYITnCaEkceo5SEYy644VkHka/P1FvkWvrG/rrJw== dependencies: handlebars "^4.0.3" jest-changed-files@^23.4.2: version "23.4.2" resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-23.4.2.tgz#1eed688370cd5eebafe4ae93d34bb3b64968fe83" + integrity sha512-EyNhTAUWEfwnK0Is/09LxoqNDOn7mU7S3EHskG52djOFS/z+IT0jT3h3Ql61+dklcG7bJJitIWEMB4Sp1piHmA== dependencies: throat "^4.0.0" jest-cli@^23.6.0: version "23.6.0" resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-23.6.0.tgz#61ab917744338f443ef2baa282ddffdd658a5da4" + integrity sha512-hgeD1zRUp1E1zsiyOXjEn4LzRLWdJBV//ukAHGlx6s5mfCNJTbhbHjgxnDUXA8fsKWN/HqFFF6X5XcCwC/IvYQ== dependencies: ansi-escapes "^3.0.0" chalk "^2.0.1" @@ -5846,6 +6272,7 @@ jest-cli@^23.6.0: jest-config@^23.6.0: version "23.6.0" resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-23.6.0.tgz#f82546a90ade2d8c7026fbf6ac5207fc22f8eb1d" + integrity sha512-i8V7z9BeDXab1+VNo78WM0AtWpBRXJLnkT+lyT+Slx/cbP5sZJ0+NDuLcmBE5hXAoK0aUp7vI+MOxR+R4d8SRQ== dependencies: babel-core "^6.0.0" babel-jest "^23.6.0" @@ -5862,21 +6289,23 @@ jest-config@^23.6.0: micromatch "^2.3.11" pretty-format "^23.6.0" -jest-dev-server@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/jest-dev-server/-/jest-dev-server-4.2.0.tgz#409c995fead62448a35ee30251dafa36ab366d5c" +jest-dev-server@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/jest-dev-server/-/jest-dev-server-4.3.0.tgz#27c9cdc96d9f735bc90a309ca39305b76f2c0edd" + integrity sha512-bC9flKY2G1honQ/UI0gEhb0wFnDhpFr7xidC8Nk+evi7TgnNtfsGIzzF2dcIhF1G9BGF0n/M7CJrMAzwQhyTPA== dependencies: chalk "^2.4.2" cwd "^0.10.0" - find-process "^1.4.1" - prompts "^2.0.4" + find-process "^1.4.2" + prompts "^2.1.0" spawnd "^4.0.0" tree-kill "^1.2.1" - wait-on "^3.2.0" + wait-on "^3.3.0" jest-diff@^23.6.0: version "23.6.0" resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-23.6.0.tgz#1500f3f16e850bb3d71233408089be099f610c7d" + integrity sha512-Gz9l5Ov+X3aL5L37IT+8hoCUsof1CVYBb2QEkOupK64XyRR3h+uRpYIm97K7sY8diFxowR8pIGEdyfMKTixo3g== dependencies: chalk "^2.0.1" diff "^3.2.0" @@ -5886,12 +6315,14 @@ jest-diff@^23.6.0: jest-docblock@^23.2.0: version "23.2.0" resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-23.2.0.tgz#f085e1f18548d99fdd69b20207e6fd55d91383a7" + integrity sha1-8IXh8YVI2Z/dabICB+b9VdkTg6c= dependencies: detect-newline "^2.1.0" jest-each@^23.6.0: version "23.6.0" resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-23.6.0.tgz#ba0c3a82a8054387016139c733a05242d3d71575" + integrity sha512-x7V6M/WGJo6/kLoissORuvLIeAoyo2YqLOoCDkohgJ4XOXSqOtyvr8FbInlAWS77ojBsZrafbozWoKVRdtxFCg== dependencies: chalk "^2.0.1" pretty-format "^23.6.0" @@ -5899,6 +6330,7 @@ jest-each@^23.6.0: jest-environment-jsdom@^23.4.0: version "23.4.0" resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-23.4.0.tgz#056a7952b3fea513ac62a140a2c368c79d9e6023" + integrity sha1-BWp5UrP+pROsYqFAosNox52eYCM= dependencies: jest-mock "^23.2.0" jest-util "^23.4.0" @@ -5907,26 +6339,30 @@ jest-environment-jsdom@^23.4.0: jest-environment-node@^23.4.0: version "23.4.0" resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-23.4.0.tgz#57e80ed0841dea303167cce8cd79521debafde10" + integrity sha1-V+gO0IQd6jAxZ8zozXlSHeuv3hA= dependencies: jest-mock "^23.2.0" jest-util "^23.4.0" -jest-environment-puppeteer@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/jest-environment-puppeteer/-/jest-environment-puppeteer-4.2.0.tgz#ec785c792af1b06445b61367759320e5adddbbe0" +jest-environment-puppeteer@^4.2.0, jest-environment-puppeteer@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/jest-environment-puppeteer/-/jest-environment-puppeteer-4.3.0.tgz#49ac781c4b50459485af031cfb16ad1fd75d31ac" + integrity sha512-ZighMsU39bnacn2ylyHb88CB+ldgCfXGD3lS78k4PEo8A8xyt6+2mxmSR62FH3Y7K+W2gPDu5+QM3/LZuq42fQ== dependencies: chalk "^2.4.2" cwd "^0.10.0" - jest-dev-server "^4.2.0" + jest-dev-server "^4.3.0" merge-deep "^3.0.2" jest-get-type@^22.1.0: version "22.4.3" resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-22.4.3.tgz#e3a8504d8479342dd4420236b322869f18900ce4" + integrity sha512-/jsz0Y+V29w1chdXVygEKSz2nBoHoYqNShPe+QgxSNjAuP1i8+k4LbQNrfoliKej0P45sivkSCh7yiD6ubHS3w== jest-haste-map@^23.6.0: version "23.6.0" resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-23.6.0.tgz#2e3eb997814ca696d62afdb3f2529f5bbc935e16" + integrity sha512-uyNhMyl6dr6HaXGHp8VF7cK6KpC6G9z9LiMNsst+rJIZ8l7wY0tk8qwjPmEghczojZ2/ZhtEdIabZ0OQRJSGGg== dependencies: fb-watchman "^2.0.0" graceful-fs "^4.1.11" @@ -5938,11 +6374,13 @@ jest-haste-map@^23.6.0: sane "^2.0.0" jest-image-snapshot@^2.8.2: - version "2.8.2" - resolved "https://registry.yarnpkg.com/jest-image-snapshot/-/jest-image-snapshot-2.8.2.tgz#d9e95b8987fdf176a94505cd1b1f22916b11c897" + version "2.11.0" + resolved "https://registry.yarnpkg.com/jest-image-snapshot/-/jest-image-snapshot-2.11.0.tgz#25d2977a9125bed5c889bc190b327b353a6106c8" + integrity sha512-InfWqQdqIl6ZDWbUs7cZnbbT82AlirB5B0O31HRltCPUOZMJy0D6ln4i+Pk5CtKHK9zVfU4AI2b3LR3YJD2Ddw== dependencies: chalk "^1.1.3" get-stdin "^5.0.1" + glur "^1.1.2" lodash "^4.17.4" mkdirp "^0.5.1" pixelmatch "^4.0.2" @@ -5952,6 +6390,7 @@ jest-image-snapshot@^2.8.2: jest-jasmine2@^23.6.0: version "23.6.0" resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-23.6.0.tgz#840e937f848a6c8638df24360ab869cc718592e0" + integrity sha512-pe2Ytgs1nyCs8IvsEJRiRTPC0eVYd8L/dXJGU08GFuBwZ4sYH/lmFDdOL3ZmvJR8QKqV9MFuwlsAi/EWkFUbsQ== dependencies: babel-traverse "^6.0.0" chalk "^2.0.1" @@ -5969,12 +6408,14 @@ jest-jasmine2@^23.6.0: jest-leak-detector@^23.6.0: version "23.6.0" resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-23.6.0.tgz#e4230fd42cf381a1a1971237ad56897de7e171de" + integrity sha512-f/8zA04rsl1Nzj10HIyEsXvYlMpMPcy0QkQilVZDFOaPbv2ur71X5u2+C4ZQJGyV/xvVXtCCZ3wQ99IgQxftCg== dependencies: pretty-format "^23.6.0" jest-matcher-utils@^23.6.0: version "23.6.0" resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-23.6.0.tgz#726bcea0c5294261a7417afb6da3186b4b8cac80" + integrity sha512-rosyCHQfBcol4NsckTn01cdelzWLU9Cq7aaigDf8VwwpIRvWE/9zLgX2bON+FkEW69/0UuYslUe22SOdEf2nog== dependencies: chalk "^2.0.1" jest-get-type "^22.1.0" @@ -5983,6 +6424,7 @@ jest-matcher-utils@^23.6.0: jest-message-util@^23.4.0: version "23.4.0" resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-23.4.0.tgz#17610c50942349508d01a3d1e0bda2c079086a9f" + integrity sha1-F2EMUJQjSVCNAaPR4L2iwHkIap8= dependencies: "@babel/code-frame" "^7.0.0-beta.35" chalk "^2.0.1" @@ -5993,21 +6435,25 @@ jest-message-util@^23.4.0: jest-mock@^23.2.0: version "23.2.0" resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-23.2.0.tgz#ad1c60f29e8719d47c26e1138098b6d18b261134" + integrity sha1-rRxg8p6HGdR8JuETgJi20YsmETQ= jest-puppeteer@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/jest-puppeteer/-/jest-puppeteer-4.2.0.tgz#94eb4fff491396a4eb0bb615492d0913c2d7ff18" + version "4.3.0" + resolved "https://registry.yarnpkg.com/jest-puppeteer/-/jest-puppeteer-4.3.0.tgz#432273c2c2c75fbec40d7659b75cbcc7c4ae57ad" + integrity sha512-WXhaWlbQl01xadZyNmdZntrtIr8uWUmgjPogDih7dOnr3G/xRr3A034SCqdjwV6fE0tqz7c5hwO8oBTyGZPRgA== dependencies: - expect-puppeteer "^4.1.1" - jest-environment-puppeteer "^4.2.0" + expect-puppeteer "^4.3.0" + jest-environment-puppeteer "^4.3.0" jest-regex-util@^23.3.0: version "23.3.0" resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-23.3.0.tgz#5f86729547c2785c4002ceaa8f849fe8ca471bc5" + integrity sha1-X4ZylUfCeFxAAs6qj4Sf6MpHG8U= jest-resolve-dependencies@^23.6.0: version "23.6.0" resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-23.6.0.tgz#b4526af24c8540d9a3fab102c15081cf509b723d" + integrity sha512-EkQWkFWjGKwRtRyIwRwI6rtPAEyPWlUC2MpzHissYnzJeHcyCn1Hc8j7Nn1xUVrS5C6W5+ZL37XTem4D4pLZdA== dependencies: jest-regex-util "^23.3.0" jest-snapshot "^23.6.0" @@ -6015,6 +6461,7 @@ jest-resolve-dependencies@^23.6.0: jest-resolve@^23.6.0: version "23.6.0" resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-23.6.0.tgz#cf1d1a24ce7ee7b23d661c33ba2150f3aebfa0ae" + integrity sha512-XyoRxNtO7YGpQDmtQCmZjum1MljDqUCob7XlZ6jy9gsMugHdN2hY4+Acz9Qvjz2mSsOnPSH7skBmDYCHXVZqkA== dependencies: browser-resolve "^1.11.3" chalk "^2.0.1" @@ -6023,6 +6470,7 @@ jest-resolve@^23.6.0: jest-runner@^23.6.0: version "23.6.0" resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-23.6.0.tgz#3894bd219ffc3f3cb94dc48a4170a2e6f23a5a38" + integrity sha512-kw0+uj710dzSJKU6ygri851CObtCD9cN8aNkg8jWJf4ewFyEa6kwmiH/r/M1Ec5IL/6VFa0wnAk6w+gzUtjJzA== dependencies: exit "^0.1.2" graceful-fs "^4.1.11" @@ -6041,6 +6489,7 @@ jest-runner@^23.6.0: jest-runtime@^23.6.0: version "23.6.0" resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-23.6.0.tgz#059e58c8ab445917cd0e0d84ac2ba68de8f23082" + integrity sha512-ycnLTNPT2Gv+TRhnAYAQ0B3SryEXhhRj1kA6hBPSeZaNQkJ7GbZsxOLUkwg6YmvWGdX3BB3PYKFLDQCAE1zNOw== dependencies: babel-core "^6.0.0" babel-plugin-istanbul "^4.1.6" @@ -6067,10 +6516,12 @@ jest-runtime@^23.6.0: jest-serializer@^23.0.1: version "23.0.1" resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-23.0.1.tgz#a3776aeb311e90fe83fab9e533e85102bd164165" + integrity sha1-o3dq6zEekP6D+rnlM+hRAr0WQWU= jest-snapshot@^23.6.0: version "23.6.0" resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-23.6.0.tgz#f9c2625d1b18acda01ec2d2b826c0ce58a5aa17a" + integrity sha512-tM7/Bprftun6Cvj2Awh/ikS7zV3pVwjRYU2qNYS51VZHgaAMBs5l4o/69AiDHhQrj5+LA2Lq4VIvK7zYk/bswg== dependencies: babel-types "^6.0.0" chalk "^2.0.1" @@ -6086,6 +6537,7 @@ jest-snapshot@^23.6.0: jest-util@^23.4.0: version "23.4.0" resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-23.4.0.tgz#4d063cb927baf0a23831ff61bec2cbbf49793561" + integrity sha1-TQY8uSe68KI4Mf9hvsLLv0l5NWE= dependencies: callsites "^2.0.0" chalk "^2.0.1" @@ -6099,6 +6551,7 @@ jest-util@^23.4.0: jest-validate@^23.6.0: version "23.6.0" resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-23.6.0.tgz#36761f99d1ed33fcd425b4e4c5595d62b6597474" + integrity sha512-OFKapYxe72yz7agrDAWi8v2WL8GIfVqcbKRCLbRG9PAxtzF9b1SEDdTpytNDN12z2fJynoBwpMpvj2R39plI2A== dependencies: chalk "^2.0.1" jest-get-type "^22.1.0" @@ -6108,6 +6561,7 @@ jest-validate@^23.6.0: jest-watcher@^23.4.0: version "23.4.0" resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-23.4.0.tgz#d2e28ce74f8dad6c6afc922b92cabef6ed05c91c" + integrity sha1-0uKM50+NrWxq/JIrksq+9u0FyRw= dependencies: ansi-escapes "^3.0.0" chalk "^2.0.1" @@ -6116,12 +6570,14 @@ jest-watcher@^23.4.0: jest-worker@^23.2.0: version "23.2.0" resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-23.2.0.tgz#faf706a8da36fae60eb26957257fa7b5d8ea02b9" + integrity sha1-+vcGqNo2+uYOsmlXJX+ntdjqArk= dependencies: merge-stream "^1.0.1" jest@^23.6.0: version "23.6.0" resolved "https://registry.yarnpkg.com/jest/-/jest-23.6.0.tgz#ad5835e923ebf6e19e7a1d7529a432edfee7813d" + integrity sha512-lWzcd+HSiqeuxyhG+EnZds6iO3Y3ZEnMrfZq/OTGvF/C+Z4fPMCdhWTGSAiO2Oym9rbEXfwddHhh6jqrTF3+Lw== dependencies: import-local "^1.0.0" jest-cli "^23.6.0" @@ -6129,6 +6585,7 @@ jest@^23.6.0: jison-lex@0.3.x: version "0.3.4" resolved "https://registry.yarnpkg.com/jison-lex/-/jison-lex-0.3.4.tgz#81ca28d84f84499dfa8c594dcde3d8a3f26ec7a5" + integrity sha1-gcoo2E+ESZ36jFlNzePYo/Jux6U= dependencies: lex-parser "0.1.x" nomnom "1.5.2" @@ -6136,6 +6593,7 @@ jison-lex@0.3.x: jison@^0.4.18: version "0.4.18" resolved "https://registry.yarnpkg.com/jison/-/jison-0.4.18.tgz#c68a6a54bfe7028fa40bcfc6cc8bbd9ed291f502" + integrity sha512-FKkCiJvozgC7VTHhMJ00a0/IApSxhlGsFIshLW6trWJ8ONX2TQJBBz6DlcO1Gffy4w9LT+uL+PA+CVnUSJMF7w== dependencies: JSONSelect "0.4.0" cjson "0.3.0" @@ -6146,33 +6604,30 @@ jison@^0.4.18: lex-parser "~0.1.3" nomnom "1.5.2" -joi@^13.0.0: - version "13.7.0" - resolved "https://registry.yarnpkg.com/joi/-/joi-13.7.0.tgz#cfd85ebfe67e8a1900432400b4d03bbd93fb879f" - dependencies: - hoek "5.x.x" - isemail "3.x.x" - topo "3.x.x" - js-base64@^2.1.8: - version "2.4.9" - resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.4.9.tgz#748911fb04f48a60c4771b375cac45a80df11c03" + version "2.5.1" + resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.5.1.tgz#1efa39ef2c5f7980bb1784ade4a8af2de3291121" + integrity sha512-M7kLczedRMYX4L8Mdh4MzyAMM9O5osx+4FcOQuTvr3A9F2D9S5JXheN0ewNbrvK2UatkTRhL5ejGmGSjNMiZuw== js-levenshtein@^1.1.3: - version "1.1.4" - resolved "https://registry.yarnpkg.com/js-levenshtein/-/js-levenshtein-1.1.4.tgz#3a56e3cbf589ca0081eb22cd9ba0b1290a16d26e" + version "1.1.6" + resolved "https://registry.yarnpkg.com/js-levenshtein/-/js-levenshtein-1.1.6.tgz#c6cee58eb3550372df8deb85fad5ce66ce01d59d" + integrity sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g== -js-tokens@^3.0.0, js-tokens@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" - -js-tokens@^4.0.0: +"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== -js-yaml@^3.10.0, js-yaml@^3.11.0, js-yaml@^3.13.1, js-yaml@^3.7.0, js-yaml@^3.9.0: +js-tokens@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" + integrity sha1-mGbfOVECEw449/mWvOtlRDIJwls= + +js-yaml@^3.10.0, js-yaml@^3.13.1, js-yaml@^3.7.0: version "3.13.1" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" + integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw== dependencies: argparse "^1.0.7" esprima "^4.0.0" @@ -6180,10 +6635,12 @@ js-yaml@^3.10.0, js-yaml@^3.11.0, js-yaml@^3.13.1, js-yaml@^3.7.0, js-yaml@^3.9. jsbn@~0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" + integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= jsdom@^11.5.1: version "11.12.0" resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-11.12.0.tgz#1a80d40ddd378a1de59656e9e6dc5a3ba8657bc8" + integrity sha512-y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw== dependencies: abab "^2.0.0" acorn "^5.5.3" @@ -6215,76 +6672,78 @@ jsdom@^11.5.1: jsesc@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" + integrity sha1-RsP+yMGJKxKwgz25vHYiF226s0s= jsesc@^2.5.1: version "2.5.2" resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" + integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== jsesc@~0.5.0: version "0.5.0" resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" + integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= -json-parse-better-errors@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.1.tgz#50183cd1b2d25275de069e9e71b467ac9eab973a" - -json-parse-better-errors@^1.0.2: +json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" - -json-schema-traverse@^0.3.0: - version "0.3.1" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340" + integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== json-schema-traverse@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== json-schema@0.2.3: version "0.2.3" resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" + integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= json-stable-stringify-without-jsonify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" - -json-stable-stringify@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" - dependencies: - jsonify "~0.0.0" + integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= json-stringify-safe@~5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= json3@^3.3.2: version "3.3.3" resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.3.tgz#7fc10e375fc5ae42c4705a5cc0aa6f62be305b81" + integrity sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA== json5@^0.5.0, json5@^0.5.1: version "0.5.1" resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" + integrity sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE= + +json5@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" + integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== + dependencies: + minimist "^1.2.0" json5@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.0.tgz#e7a0c62c48285c628d20a10b85c89bb807c32850" + version "2.1.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.1.tgz#81b6cb04e9ba496f1c7005d07b4368a2638f90b6" + integrity sha512-l+3HXD0GEI3huGq1njuqtzYK8OYJyXMkOLtQ53pjWh89tvWS2h6l+1zMkYWqlb57+SiQodKZyvMEFb2X+KrFhQ== dependencies: minimist "^1.2.0" jsonfile@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" + integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= optionalDependencies: graceful-fs "^4.1.6" -jsonify@~0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" - jsonlint@1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/jsonlint/-/jsonlint-1.6.0.tgz#88aa46bc289a7ac93bb46cae2d58a187a9bb494a" + integrity sha1-iKpGvCiaesk7tGyuLVihh6m7SUo= dependencies: JSV ">= 4.0.x" nomnom ">= 1.5.x" @@ -6292,10 +6751,12 @@ jsonlint@1.6.0: jsonparse@^1.2.0: version "1.3.1" resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" + integrity sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA= jsprim@^1.2.2: version "1.4.1" resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" + integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= dependencies: assert-plus "1.0.0" extsprintf "1.3.0" @@ -6305,102 +6766,123 @@ jsprim@^1.2.2: jssha@^2.1.0: version "2.3.1" resolved "https://registry.yarnpkg.com/jssha/-/jssha-2.3.1.tgz#147b2125369035ca4b2f7d210dc539f009b3de9a" + integrity sha1-FHshJTaQNcpLL30hDcU58Amz3po= killable@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/killable/-/killable-1.0.1.tgz#4c8ce441187a061c7474fb87ca08e2a638194892" + integrity sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg== kind-of@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-2.0.1.tgz#018ec7a4ce7e3a86cb9141be519d24c8faa981b5" + integrity sha1-AY7HpM5+OobLkUG+UZ0kyPqpgbU= dependencies: is-buffer "^1.0.2" kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: version "3.2.2" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" + integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= dependencies: is-buffer "^1.1.5" kind-of@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" + integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= dependencies: is-buffer "^1.1.5" kind-of@^5.0.0: version "5.1.0" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" + integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== kind-of@^6.0.0, kind-of@^6.0.2: version "6.0.2" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051" + integrity sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA== kleur@^2.0.1: version "2.0.2" resolved "https://registry.yarnpkg.com/kleur/-/kleur-2.0.2.tgz#b704f4944d95e255d038f0cb05fb8a602c55a300" + integrity sha512-77XF9iTllATmG9lSlIv0qdQ2BQ/h9t0bJllHlbvsQ0zUWfU7Yi0S8L5JXzPZgkefIiajLmBJJ4BsMJmqcf7oxQ== -kleur@^3.0.2: +kleur@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" + integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== + +kuler@1.0.x: + version "1.0.1" + resolved "https://registry.yarnpkg.com/kuler/-/kuler-1.0.1.tgz#ef7c784f36c9fb6e16dd3150d152677b2b0228a6" + integrity sha512-J9nVUucG1p/skKul6DU3PUZrhs0LPulNaeUOox0IyXDi8S4CztTHs1gQphhuZmzXG7VOQSf6NJfKuzteQLv9gQ== + dependencies: + colornames "^1.1.1" lazy-ass@1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/lazy-ass/-/lazy-ass-1.6.0.tgz#7999655e8646c17f089fdd187d150d3324d54513" + integrity sha1-eZllXoZGwX8In90YfRUNMyTVRRM= lazy-cache@^0.2.3: version "0.2.7" resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-0.2.7.tgz#7feddf2dcb6edb77d11ef1d117ab5ffdf0ab1b65" + integrity sha1-f+3fLctu23fRHvHRF6tf/fCrG2U= lazy-cache@^1.0.3: version "1.0.4" resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" - -lazy-cache@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-2.0.2.tgz#b9190a4f913354694840859f8a8f7084d8822264" - dependencies: - set-getter "^0.1.0" + integrity sha1-odePw6UEdMuAhF07O24dpJpEbo4= lazystream@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/lazystream/-/lazystream-1.0.0.tgz#f6995fe0f820392f61396be89462407bb77168e4" + integrity sha1-9plf4PggOS9hOWvolGJAe7dxaOQ= dependencies: readable-stream "^2.0.5" lcid@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" + integrity sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU= dependencies: invert-kv "^1.0.0" lcid@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/lcid/-/lcid-2.0.0.tgz#6ef5d2df60e52f82eb228a4c373e8d1f397253cf" + integrity sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA== dependencies: invert-kv "^2.0.0" lcov-parse@^0.0.10: version "0.0.10" resolved "https://registry.yarnpkg.com/lcov-parse/-/lcov-parse-0.0.10.tgz#1b0b8ff9ac9c7889250582b70b71315d9da6d9a3" + integrity sha1-GwuP+ayceIklBYK3C3ExXZ2m2aM= lead@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/lead/-/lead-1.0.0.tgz#6f14f99a37be3a9dd784f5495690e5903466ee42" + integrity sha1-bxT5mje+Op3XhPVJVpDlkDRm7kI= dependencies: flush-write-stream "^1.0.2" left-pad@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/left-pad/-/left-pad-1.3.0.tgz#5b8a3a7765dfe001261dde915589e782f8c94d1e" + integrity sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA== leven@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/leven/-/leven-2.1.0.tgz#c2e7a9f772094dee9d34202ae8acce4687875580" + integrity sha1-wuep93IJTe6dNCAq6KzORoeHVYA= levn@^0.3.0, levn@~0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= dependencies: prelude-ls "~1.1.2" type-check "~0.3.2" @@ -6408,14 +6890,17 @@ levn@^0.3.0, levn@~0.3.0: lex-parser@0.1.x, lex-parser@~0.1.3: version "0.1.4" resolved "https://registry.yarnpkg.com/lex-parser/-/lex-parser-0.1.4.tgz#64c4f025f17fd53bfb45763faeb16f015a747550" + integrity sha1-ZMTwJfF/1Tv7RXY/rrFvAVp0dVA= listr-silent-renderer@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/listr-silent-renderer/-/listr-silent-renderer-1.1.1.tgz#924b5a3757153770bf1a8e3fbf74b8bbf3f9242e" + integrity sha1-kktaN1cVN3C/Go4/v3S4u/P5JC4= listr-update-renderer@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/listr-update-renderer/-/listr-update-renderer-0.2.0.tgz#ca80e1779b4e70266807e8eed1ad6abe398550f9" + integrity sha1-yoDhd5tOcCZoB+ju0a1qvjmFUPk= dependencies: chalk "^1.1.3" cli-truncate "^0.2.1" @@ -6429,6 +6914,7 @@ listr-update-renderer@^0.2.0: listr-verbose-renderer@^0.4.0: version "0.4.1" resolved "https://registry.yarnpkg.com/listr-verbose-renderer/-/listr-verbose-renderer-0.4.1.tgz#8206f4cf6d52ddc5827e5fd14989e0e965933a35" + integrity sha1-ggb0z21S3cWCfl/RSYng6WWTOjU= dependencies: chalk "^1.1.3" cli-cursor "^1.0.2" @@ -6438,6 +6924,7 @@ listr-verbose-renderer@^0.4.0: listr@0.12.0: version "0.12.0" resolved "https://registry.yarnpkg.com/listr/-/listr-0.12.0.tgz#6bce2c0f5603fa49580ea17cd6a00cc0e5fa451a" + integrity sha1-a84sD1YD+klYDqF81qAMwOX6RRo= dependencies: chalk "^1.1.3" cli-truncate "^0.2.1" @@ -6459,10 +6946,12 @@ listr@0.12.0: livereload-js@^2.3.0: version "2.4.0" resolved "https://registry.yarnpkg.com/livereload-js/-/livereload-js-2.4.0.tgz#447c31cf1ea9ab52fc20db615c5ddf678f78009c" + integrity sha512-XPQH8Z2GDP/Hwz2PCDrh2mth4yFejwA1OZ/81Ti3LgKyhDcEjsSsqFWZojHG0va/duGd+WyosY7eXLDoOyqcPw== load-json-file@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" + integrity sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA= dependencies: graceful-fs "^4.1.2" parse-json "^2.2.0" @@ -6473,36 +6962,41 @@ load-json-file@^1.0.0: load-json-file@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" + integrity sha1-L19Fq5HjMhYjT9U62rZo607AmTs= dependencies: graceful-fs "^4.1.2" parse-json "^4.0.0" pify "^3.0.0" strip-bom "^3.0.0" -loader-runner@^2.3.0: - version "2.3.1" - resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.3.1.tgz#026f12fe7c3115992896ac02ba022ba92971b979" +loader-runner@^2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357" + integrity sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw== + +loader-utils@1.2.3, loader-utils@^1.0.1, loader-utils@^1.0.2, loader-utils@^1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.2.3.tgz#1ff5dc6911c9f0a062531a4c04b609406108c2c7" + integrity sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA== + dependencies: + big.js "^5.2.2" + emojis-list "^2.0.0" + json5 "^1.0.1" loader-utils@^0.2.15: version "0.2.17" resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-0.2.17.tgz#f86e6374d43205a6e6c60e9196f17c0299bfb348" + integrity sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g= dependencies: big.js "^3.1.3" emojis-list "^2.0.0" json5 "^0.5.0" object-assign "^4.0.1" -loader-utils@^1.0.1, loader-utils@^1.0.2, loader-utils@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.1.0.tgz#c98aef488bcceda2ffb5e2de646d6a754429f5cd" - dependencies: - big.js "^3.1.3" - emojis-list "^2.0.0" - json5 "^0.5.0" - locate-path@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" + integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= dependencies: p-locate "^2.0.0" path-exists "^3.0.0" @@ -6510,6 +7004,7 @@ locate-path@^2.0.0: locate-path@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" + integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== dependencies: p-locate "^3.0.0" path-exists "^3.0.0" @@ -6517,38 +7012,22 @@ locate-path@^3.0.0: lodash._reinterpolate@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" - -lodash.assign@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-4.2.0.tgz#0d99f3ccd7a6d261d19bdaeb9245005d285808e7" - -lodash.clonedeep@^4.3.2: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" - -lodash.debounce@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" - -lodash.mergewith@^4.6.0: - version "4.6.2" - resolved "https://registry.yarnpkg.com/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz#617121f89ac55f59047c7aec1ccd6654c6590f55" + integrity sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0= lodash.once@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac" + integrity sha1-DdOXEhPHxW34gJd9UEyI+0cal6w= lodash.sortby@^4.7.0: version "4.7.0" resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" - -lodash.tail@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/lodash.tail/-/lodash.tail-4.1.1.tgz#d2333a36d9e7717c8ad2f7cacafec7c32b444664" + integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= lodash.template@^4.4.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.5.0.tgz#f976195cf3f347d0d5f52483569fe8031ccce8ab" + integrity sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A== dependencies: lodash._reinterpolate "^3.0.0" lodash.templatesettings "^4.0.0" @@ -6556,18 +7035,16 @@ lodash.template@^4.4.0: lodash.templatesettings@^4.0.0: version "4.2.0" resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz#e481310f049d3cf6d47e912ad09313b154f0fb33" + integrity sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ== dependencies: lodash._reinterpolate "^3.0.0" lodash@4.17.11: version "4.17.11" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d" + integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg== -lodash@^4.0.0, lodash@^4.13.1, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.4, lodash@^4.17.5, lodash@~4.17.10: - version "4.17.13" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.13.tgz#0bdc3a6adc873d2f4e0c4bac285df91b64fc7b93" - -lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14: +lodash@^4.0.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.4, lodash@^4.17.5, lodash@~4.17.10: version "4.17.15" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== @@ -6575,43 +7052,62 @@ lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14: log-driver@^1.2.7: version "1.2.7" resolved "https://registry.yarnpkg.com/log-driver/-/log-driver-1.2.7.tgz#63b95021f0702fedfa2c9bb0a24e7797d71871d8" + integrity sha512-U7KCmLdqsGHBLeWqYlFA0V0Sl6P08EE1ZrmA9cxjUE0WVqT9qnyVDPz1kzpFEP0jdJuFnasWIfSd7fsaNXkpbg== log-symbols@2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-2.2.0.tgz#5740e1c5d6f0dfda4ad9323b5332107ef6b4c40a" + integrity sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg== dependencies: chalk "^2.0.1" log-symbols@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-1.0.2.tgz#376ff7b58ea3086a0f09facc74617eca501e1a18" + integrity sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg= dependencies: chalk "^1.0.0" log-update@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/log-update/-/log-update-1.0.2.tgz#19929f64c4093d2d2e7075a1dad8af59c296b8d1" + integrity sha1-GZKfZMQJPS0ucHWh2tivWcKWuNE= dependencies: ansi-escapes "^1.0.0" cli-cursor "^1.0.2" -loglevel@^1.6.1: - version "1.6.2" - resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.6.2.tgz#668c77948a03dbd22502a3513ace1f62a80cc372" +logform@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/logform/-/logform-2.1.2.tgz#957155ebeb67a13164069825ce67ddb5bb2dd360" + integrity sha512-+lZh4OpERDBLqjiwDLpAWNQu6KMjnlXH2ByZwCuSqVPJletw0kTWJf5CgSNAUKn1KUkv3m2cUz/LK8zyEy7wzQ== + dependencies: + colors "^1.2.1" + fast-safe-stringify "^2.0.4" + fecha "^2.3.3" + ms "^2.1.1" + triple-beam "^1.3.0" + +loglevel@^1.6.4: + version "1.6.4" + resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.6.4.tgz#f408f4f006db8354d0577dcf6d33485b3cb90d56" + integrity sha512-p0b6mOGKcGa+7nnmKbpzR6qloPbrgLcnio++E+14Vo/XffOGwZtRpUhr8dTH/x2oCMmEoIU0Zwm3ZauhvYD17g== longest-streak@^2.0.1: version "2.0.3" resolved "https://registry.yarnpkg.com/longest-streak/-/longest-streak-2.0.3.tgz#3de7a3f47ee18e9074ded8575b5c091f5d0a4105" + integrity sha512-9lz5IVdpwsKLMzQi0MQ+oD9EA0mIGcWYP7jXMTZVXP8D42PwuAk+M/HBFYQoxt1G5OR8m7aSIgb1UymfWGBWEw== loose-envify@^1.0.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848" + version "1.4.0" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" + integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== dependencies: - js-tokens "^3.0.0" + js-tokens "^3.0.0 || ^4.0.0" loud-rejection@^1.0.0: version "1.6.0" resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" + integrity sha1-W0b4AUft7leIcPCG0Eghz5mOVR8= dependencies: currently-unhandled "^0.4.1" signal-exit "^3.0.0" @@ -6619,68 +7115,91 @@ loud-rejection@^1.0.0: lower-case@^1.1.1: version "1.1.4" resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac" + integrity sha1-miyr0bno4K6ZOkv31YdcOcQujqw= lru-cache@^4.0.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.1.tgz#622e32e82488b49279114a4f9ecf45e7cd6bba55" - dependencies: - pseudomap "^1.0.2" - yallist "^2.1.2" - -lru-cache@^4.1.3: version "4.1.5" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" + integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== dependencies: pseudomap "^1.0.2" yallist "^2.1.2" -make-dir@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.2.0.tgz#6d6a49eead4aae296c53bbf3a1a008bd6c89469b" +lru-cache@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" + integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== dependencies: - pify "^3.0.0" + yallist "^3.0.2" + +make-dir@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" + integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== + dependencies: + pify "^4.0.1" + semver "^5.6.0" makeerror@1.0.x: version "1.0.11" resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c" + integrity sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw= dependencies: tmpl "1.0.x" +mamacro@^0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/mamacro/-/mamacro-0.0.3.tgz#ad2c9576197c9f1abf308d0787865bd975a3f3e4" + integrity sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA== + map-age-cleaner@^0.1.1: version "0.1.3" resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a" + integrity sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w== dependencies: p-defer "^1.0.0" map-cache@^0.2.0, map-cache@^0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" + integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= map-obj@^1.0.0, map-obj@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" + integrity sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0= map-stream@~0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/map-stream/-/map-stream-0.1.0.tgz#e56aa94c4c8055a16404a0674b78f215f7c8e194" + integrity sha1-5WqpTEyAVaFkBKBnS3jyFffI4ZQ= map-visit@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" + integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= dependencies: object-visit "^1.0.0" markdown-escapes@^1.0.0: version "1.0.3" resolved "https://registry.yarnpkg.com/markdown-escapes/-/markdown-escapes-1.0.3.tgz#6155e10416efaafab665d466ce598216375195f5" + integrity sha512-XUi5HJhhV5R74k8/0H2oCbCiYf/u4cO/rX8tnGkRvrqhsr5BRNU6Mg0yt/8UIx1iIS8220BNJsDb7XnILhLepw== markdown-table@^1.1.0: version "1.1.3" resolved "https://registry.yarnpkg.com/markdown-table/-/markdown-table-1.1.3.tgz#9fcb69bcfdb8717bfd0398c6ec2d93036ef8de60" + integrity sha512-1RUZVgQlpJSPWYbFSpmudq5nHY1doEIv89gBtF0s4gW1GF2XorxcA/70M5vq7rLv0a6mhOUccRsqkwhwLCIQ2Q== + +math-random@^1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/math-random/-/math-random-1.0.4.tgz#5dd6943c938548267016d4e34f057583080c514c" + integrity sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A== md5.js@^1.3.4: version "1.3.5" resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" + integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== dependencies: hash-base "^3.0.0" inherits "^2.0.1" @@ -6689,24 +7208,28 @@ md5.js@^1.3.4: mdast-util-compact@^1.0.0: version "1.0.3" resolved "https://registry.yarnpkg.com/mdast-util-compact/-/mdast-util-compact-1.0.3.tgz#98a25cc8a7865761a41477b3a87d1dcef0b1e79d" + integrity sha512-nRiU5GpNy62rZppDKbLwhhtw5DXoFMqw9UNZFmlPsNaQCZ//WLjGKUwWMdJrUH+Se7UvtO2gXtAMe0g/N+eI5w== dependencies: unist-util-visit "^1.1.0" mdast-util-definitions@^1.2.0: version "1.2.4" resolved "https://registry.yarnpkg.com/mdast-util-definitions/-/mdast-util-definitions-1.2.4.tgz#2b54ad4eecaff9d9fcb6bf6f9f6b68b232d77ca7" + integrity sha512-HfUArPog1j4Z78Xlzy9Q4aHLnrF/7fb57cooTHypyGoe2XFNbcx/kWZDoOz+ra8CkUzvg3+VHV434yqEd1DRmA== dependencies: unist-util-visit "^1.0.0" mdast-util-inject@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/mdast-util-inject/-/mdast-util-inject-1.1.0.tgz#db06b8b585be959a2dcd2f87f472ba9b756f3675" + integrity sha1-2wa4tYW+lZotzS+H9HK6m3VvNnU= dependencies: mdast-util-to-string "^1.0.0" mdast-util-to-hast@^3.0.0: version "3.0.4" resolved "https://registry.yarnpkg.com/mdast-util-to-hast/-/mdast-util-to-hast-3.0.4.tgz#132001b266031192348d3366a6b011f28e54dc40" + integrity sha512-/eIbly2YmyVgpJNo+bFLLMCI1XgolO/Ffowhf+pHDq3X4/V6FntC9sGQCDLM147eTS+uSXv5dRzJyFn+o0tazA== dependencies: collapse-white-space "^1.0.0" detab "^2.0.0" @@ -6723,10 +7246,12 @@ mdast-util-to-hast@^3.0.0: mdast-util-to-string@^1.0.0, mdast-util-to-string@^1.0.5: version "1.0.6" resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-1.0.6.tgz#7d85421021343b33de1552fc71cb8e5b4ae7536d" + integrity sha512-868pp48gUPmZIhfKrLbaDneuzGiw3OTDjHc5M1kAepR2CWBJ+HpEsm252K4aXdiP5coVZaJPOqGtVU6Po8xnXg== mdast-util-toc@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/mdast-util-toc/-/mdast-util-toc-3.1.0.tgz#395eeb877f067f9d2165d990d77c7eea6f740934" + integrity sha512-Za0hqL1PqWrvxGtA/3NH9D5nhGAUS9grMM4obEAz5+zsk1RIw/vWUchkaoDLNdrwk05A0CSC5eEXng36/1qE5w== dependencies: github-slugger "^1.2.1" mdast-util-to-string "^1.0.5" @@ -6736,28 +7261,33 @@ mdast-util-toc@^3.0.0: mdurl@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/mdurl/-/mdurl-1.0.1.tgz#fe85b2ec75a59037f2adfec100fd6c601761152e" + integrity sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4= media-typer@0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" + integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= mem@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/mem/-/mem-1.1.0.tgz#5edd52b485ca1d900fe64895505399a0dfa45f76" + integrity sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y= dependencies: mimic-fn "^1.0.0" mem@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/mem/-/mem-4.0.0.tgz#6437690d9471678f6cc83659c00cbafcd6b0cdaf" + version "4.3.0" + resolved "https://registry.yarnpkg.com/mem/-/mem-4.3.0.tgz#461af497bc4ae09608cdb2e60eefb69bff744178" + integrity sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w== dependencies: map-age-cleaner "^0.1.1" - mimic-fn "^1.0.0" - p-is-promise "^1.1.0" + mimic-fn "^2.0.0" + p-is-promise "^2.0.0" -memory-fs@^0.4.0, memory-fs@^0.4.1, memory-fs@~0.4.1: +memory-fs@^0.4.0, memory-fs@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" + integrity sha1-OpoguEYlI+RHz7x+i7gO1me/xVI= dependencies: errno "^0.1.3" readable-stream "^2.0.1" @@ -6765,6 +7295,7 @@ memory-fs@^0.4.0, memory-fs@^0.4.1, memory-fs@~0.4.1: meow@^3.7.0: version "3.7.0" resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" + integrity sha1-cstmi0JSKCkKu/qFaJJYcwioAfs= dependencies: camelcase-keys "^2.0.0" decamelize "^1.1.2" @@ -6780,6 +7311,7 @@ meow@^3.7.0: merge-deep@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/merge-deep/-/merge-deep-3.0.2.tgz#f39fa100a4f1bd34ff29f7d2bf4508fbb8d83ad2" + integrity sha512-T7qC8kg4Zoti1cFd8Cr0M+qaZfOwjlPDEdZIIPPB2JZctjaPM4fX+i7HOId69tAti2fvO6X5ldfYUONDODsrkA== dependencies: arr-union "^3.1.0" clone-deep "^0.2.4" @@ -6788,28 +7320,39 @@ merge-deep@^3.0.2: merge-descriptors@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" + integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= merge-stream@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-1.0.1.tgz#4041202d508a342ba00174008df0c251b8c135e1" + integrity sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE= dependencies: readable-stream "^2.0.1" -merge2@^1.2.3: - version "1.2.4" - resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.2.4.tgz#c9269589e6885a60cf80605d9522d4b67ca646e3" +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" + integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== + +merge2@^1.2.3, merge2@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.3.0.tgz#5b366ee83b2f1582c48f87e47cf1a9352103ca81" + integrity sha512-2j4DAdlBOkiSZIsaXk4mTE3sRS02yBHAtfy127xRV3bQUFqXkjHCHLW6Scv7DwNRbIWNHH8zpnz9zMaKXIdvYw== merge@^1.2.0: version "1.2.1" resolved "https://registry.yarnpkg.com/merge/-/merge-1.2.1.tgz#38bebf80c3220a8a487b6fcfb3941bb11720c145" + integrity sha512-VjFo4P5Whtj4vsLzsYBu5ayHhoHJ0UqNm7ibvShmbmoz7tGi0vXaoJbGdB+GmDMLUdg8DpQXEIeVDAe8MaABvQ== methods@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" + integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= micromatch@^2.3.11: version "2.3.11" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" + integrity sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU= dependencies: arr-diff "^2.0.0" array-unique "^0.2.1" @@ -6825,9 +7368,10 @@ micromatch@^2.3.11: parse-glob "^3.0.4" regex-cache "^0.4.2" -micromatch@^3.1.10, micromatch@^3.1.5, micromatch@^3.1.8: +micromatch@^3.0.4, micromatch@^3.1.10, micromatch@^3.1.4, micromatch@^3.1.5: version "3.1.10" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" + integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== dependencies: arr-diff "^4.0.0" array-unique "^0.3.2" @@ -6843,27 +7387,10 @@ micromatch@^3.1.10, micromatch@^3.1.5, micromatch@^3.1.8: snapdragon "^0.8.1" to-regex "^3.0.2" -micromatch@^3.1.4: - version "3.1.9" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.9.tgz#15dc93175ae39e52e93087847096effc73efcf89" - dependencies: - 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.1" - micromatch@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259" + integrity sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q== dependencies: braces "^3.0.1" picomatch "^2.0.5" @@ -6871,110 +7398,112 @@ micromatch@^4.0.2: miller-rabin@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" + integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA== dependencies: bn.js "^4.0.0" brorand "^1.0.1" -mime-db@1.40.0, "mime-db@>= 1.40.0 < 2": +mime-db@1.40.0: version "1.40.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.40.0.tgz#a65057e998db090f732a68f6c276d387d4126c32" + integrity sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA== -mime-db@~1.29.0: - version "1.29.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.29.0.tgz#48d26d235589651704ac5916ca06001914266878" +"mime-db@>= 1.40.0 < 2": + version "1.42.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.42.0.tgz#3e252907b4c7adb906597b4b65636272cf9e7bac" + integrity sha512-UbfJCR4UAVRNgMpfImz05smAXK7+c+ZntjaA26ANtkXLlOe947Aag5zdIcKQULAiF9Cq4WxBi9jUs5zkA84bYQ== -mime-db@~1.37.0: - version "1.37.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.37.0.tgz#0b6a0ce6fdbe9576e25f1f2d2fde8830dc0ad0d8" - -mime-types@^2.1.12: - version "2.1.16" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.16.tgz#2b858a52e5ecd516db897ac2be87487830698e23" - dependencies: - mime-db "~1.29.0" - -mime-types@~2.1.17, mime-types@~2.1.24: +mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24: version "2.1.24" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.24.tgz#b6f8d0b3e951efb77dedeca194cff6d16f676f81" + integrity sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ== dependencies: mime-db "1.40.0" -mime-types@~2.1.19: - version "2.1.21" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.21.tgz#28995aa1ecb770742fe6ae7e58f9181c744b3f96" - dependencies: - mime-db "~1.37.0" - mime@1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" + integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== -mime@^2.0.3, mime@^2.4.2: - version "2.4.3" - resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.3.tgz#229687331e86f68924e6cb59e1cdd937f18275fe" - -mime@^2.2.0: +mime@^2.0.3, mime@^2.2.0, mime@^2.4.4: version "2.4.4" resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.4.tgz#bd7b91135fc6b01cde3e9bae33d659b63d8857e5" + integrity sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA== mimic-fn@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.1.0.tgz#e667783d92e89dbd342818b5230b9d62a672ad18" + version "1.2.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" + integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== + +mimic-fn@^2.0.0, mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== minify@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/minify/-/minify-4.1.1.tgz#06d7a6faf5c171ac3075b79e5afdbe606c0c1fe5" + version "4.1.3" + resolved "https://registry.yarnpkg.com/minify/-/minify-4.1.3.tgz#58467922d14303f55a3a28fa79641371955b8fbd" + integrity sha512-ykuscavxivSmVpcCzsXmsVTukWYLUUtPhHj0w2ILvHDGqC+hsuTCihBn9+PJBd58JNvWTNg9132J9nrrI2anzA== dependencies: clean-css "^4.1.6" css-b64-images "~0.2.5" debug "^4.1.0" - html-minifier "^3.0.1" - terser "^3.16.1" + html-minifier "^4.0.0" + terser "^4.0.0" try-catch "^2.0.0" try-to-catch "^1.0.2" minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" + integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" + integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= -minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4, minimatch@~3.0.2: +minimatch@^3.0.3, minimatch@^3.0.4, minimatch@~3.0.2: version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== dependencies: brace-expansion "^1.1.7" minimist@0.0.8: version "0.0.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" + integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= minimist@1.2.0, minimist@^1.1.0, minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" + integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ= minimist@~0.0.1: version "0.0.10" resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" + integrity sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8= -minipass@^2.2.1, minipass@^2.3.4: - version "2.3.5" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.3.5.tgz#cacebe492022497f656b0f0f51e2682a9ed2d848" +minipass@^2.6.0, minipass@^2.8.6, minipass@^2.9.0: + version "2.9.0" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.9.0.tgz#e713762e7d3e32fed803115cf93e04bca9fcc9a6" + integrity sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg== dependencies: safe-buffer "^5.1.2" yallist "^3.0.0" -minizlib@^1.1.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.2.1.tgz#dd27ea6136243c7c880684e8672bb3a45fd9b614" +minizlib@^1.2.1: + version "1.3.3" + resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.3.3.tgz#2290de96818a34c29551c8a8d301216bd65a861d" + integrity sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q== dependencies: - minipass "^2.2.1" + minipass "^2.9.0" mississippi@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-3.0.0.tgz#ea0a3291f97e0b5e8776b363d5f0a12d94c67022" + integrity sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA== dependencies: concat-stream "^1.5.0" duplexify "^3.4.2" @@ -6990,6 +7519,7 @@ mississippi@^3.0.0: mixin-deep@^1.2.0: version "1.3.2" resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" + integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== dependencies: for-in "^1.0.2" is-extendable "^1.0.1" @@ -6997,19 +7527,22 @@ mixin-deep@^1.2.0: mixin-object@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/mixin-object/-/mixin-object-2.0.1.tgz#4fb949441dab182540f1fe035ba60e1947a5e57e" + integrity sha1-T7lJRB2rGCVA8f4DW6YOGUel5X4= dependencies: for-in "^0.1.3" is-extendable "^0.1.1" -mkdirp@0.5.1, mkdirp@0.5.x, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0: +mkdirp@0.5.1, mkdirp@0.5.x, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1: version "0.5.1" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" + integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= dependencies: minimist "0.0.8" module-deps-sortable@5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/module-deps-sortable/-/module-deps-sortable-5.0.0.tgz#99db5bb08f7eab55e4c31f6b7c722c6a2144ba74" + integrity sha512-bnGGeghQmz/t/6771/KC4FmxpVm126iR6AAzzq4N6hVZQVl4+ZZBv+VF3PJmDyxXtVtgcgTSSP7NL+jq1QAHrg== dependencies: JSONStream "^1.0.3" browser-resolve "^1.7.0" @@ -7029,14 +7562,17 @@ module-deps-sortable@5.0.0: moment-mini@^2.22.1: version "2.22.1" resolved "https://registry.yarnpkg.com/moment-mini/-/moment-mini-2.22.1.tgz#bc32d73e43a4505070be6b53494b17623183420d" + integrity sha512-OUCkHOz7ehtNMYuZjNciXUfwTuz8vmF1MTbAy59ebf+ZBYZO5/tZKuChVWCX+uDo+4idJBpGltNfV8st+HwsGw== moment@2.24.0, moment@^2.23.0: version "2.24.0" resolved "https://registry.yarnpkg.com/moment/-/moment-2.24.0.tgz#0d055d53f5052aa653c9f6eb68bb5d12bf5c2b5b" + integrity sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg== move-concurrently@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92" + integrity sha1-viwAX9oy4LKa8fBdfEszIUxwH5I= dependencies: aproba "^1.1.1" copy-concurrently "^1.0.0" @@ -7048,18 +7584,27 @@ move-concurrently@^1.0.1: ms@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= -ms@2.1.1, ms@^2.1.1: +ms@2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" + integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== + +ms@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== multicast-dns-service-types@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz#899f11d9686e5e05cb91b35d5f0e63b773cfc901" + integrity sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE= multicast-dns@^6.0.1: version "6.2.3" resolved "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-6.2.3.tgz#a0ec7bd9055c4282f790c3c82f4e28db3b31b229" + integrity sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g== dependencies: dns-packet "^1.3.1" thunky "^1.0.2" @@ -7067,25 +7612,23 @@ multicast-dns@^6.0.1: mute-stream@0.0.7: version "0.0.7" resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" + integrity sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s= -nan@^2.10.0, nan@^2.9.2: - version "2.12.0" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.12.0.tgz#9d443fdb5e13a20770cc5e602eee59760a685885" - -nan@^2.12.1: +nan@^2.12.1, nan@^2.13.2: version "2.14.0" resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c" + integrity sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg== nanomatch@^1.2.9: - version "1.2.9" - resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.9.tgz#879f7150cb2dab7a471259066c104eee6e0fa7c2" + version "1.2.13" + resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" + integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== dependencies: 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-odd "^2.0.0" is-windows "^1.0.2" kind-of "^6.0.2" object.pick "^1.3.0" @@ -7096,44 +7639,48 @@ nanomatch@^1.2.9: natural-compare@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= needle@^2.2.1: - version "2.2.4" - resolved "https://registry.yarnpkg.com/needle/-/needle-2.2.4.tgz#51931bff82533b1928b7d1d69e01f1b00ffd2a4e" + version "2.4.0" + resolved "https://registry.yarnpkg.com/needle/-/needle-2.4.0.tgz#6833e74975c444642590e15a750288c5f939b57c" + integrity sha512-4Hnwzr3mi5L97hMYeNl8wRW/Onhy4nUKR/lVemJ8gJedxxUyBLm9kkrDColJvoSfwi0jCNhD+xCdOtiGDQiRZg== dependencies: - debug "^2.1.2" + debug "^3.2.6" iconv-lite "^0.4.4" sax "^1.2.4" negotiator@0.6.2: version "0.6.2" resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" + integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw== -neo-async@^2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.5.0.tgz#76b1c823130cca26acfbaccc8fbaf0a2fa33b18f" - -neo-async@^2.6.0: +neo-async@^2.5.0, neo-async@^2.6.0, neo-async@^2.6.1: version "2.6.1" resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.1.tgz#ac27ada66167fa8849a6addd837f6b189ad2081c" + integrity sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw== nice-try@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.4.tgz#d93962f6c52f2c1558c0fbda6d512819f1efe1c4" + version "1.0.5" + resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" + integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== no-case@^2.2.0: version "2.3.2" resolved "https://registry.yarnpkg.com/no-case/-/no-case-2.3.2.tgz#60b813396be39b3f1288a4c1ed5d1e7d28b464ac" + integrity sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ== dependencies: lower-case "^1.1.1" -node-forge@0.7.5: - version "0.7.5" - resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.7.5.tgz#6c152c345ce11c52f465c2abd957e8639cd674df" +node-forge@0.9.0: + version "0.9.0" + resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.9.0.tgz#d624050edbb44874adca12bb9a52ec63cb782579" + integrity sha512-7ASaDa3pD+lJ3WvXFsxekJQelBKRpne+GOVbLbtHYdd7pFspyeuJHnWfLplGf3SwKGbfs/aYl5V/JCIaHVUKKQ== node-gyp@^3.8.0: version "3.8.0" resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-3.8.0.tgz#540304261c330e80d0d5edce253a68cb3964218c" + integrity sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA== dependencies: fstream "^1.0.0" glob "^7.0.3" @@ -7151,10 +7698,12 @@ node-gyp@^3.8.0: node-int64@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" + integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= -node-libs-browser@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.1.0.tgz#5f94263d404f6e44767d726901fff05478d600df" +node-libs-browser@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.1.tgz#b64f513d18338625f90346d27b0d235e631f6425" + integrity sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q== dependencies: assert "^1.1.1" browserify-zlib "^0.2.0" @@ -7163,10 +7712,10 @@ node-libs-browser@^2.0.0: constants-browserify "^1.0.0" crypto-browserify "^3.11.0" domain-browser "^1.1.1" - events "^1.0.0" + events "^3.0.0" https-browserify "^1.0.0" os-browserify "^0.3.0" - path-browserify "0.0.0" + path-browserify "0.0.1" process "^0.11.10" punycode "^1.2.4" querystring-es3 "^0.2.0" @@ -7177,40 +7726,29 @@ node-libs-browser@^2.0.0: timers-browserify "^2.0.4" tty-browserify "0.0.0" url "^0.11.0" - util "^0.10.3" - vm-browserify "0.0.4" + util "^0.11.0" + vm-browserify "^1.0.1" node-modules-regexp@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" + integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= node-notifier@^5.2.1: - version "5.3.0" - resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-5.3.0.tgz#c77a4a7b84038733d5fb351aafd8a268bfe19a01" + version "5.4.3" + resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-5.4.3.tgz#cb72daf94c93904098e28b9c590fd866e464bd50" + integrity sha512-M4UBGcs4jeOK9CjTsYwkvH6/MzuUmGCyTW+kCY7uO+1ZVr0+FHGdPdIf5CCLqAaxnRrWidyoQlNkMIIVwbKB8Q== dependencies: growly "^1.3.0" + is-wsl "^1.1.0" semver "^5.5.0" shellwords "^0.1.1" which "^1.3.0" -node-pre-gyp@^0.10.0: - version "0.10.3" - resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.10.3.tgz#3070040716afdc778747b61b6887bf78880b80fc" - dependencies: - detect-libc "^1.0.2" - mkdirp "^0.5.1" - needle "^2.2.1" - nopt "^4.0.1" - npm-packlist "^1.1.6" - npmlog "^4.0.2" - rc "^1.2.7" - rimraf "^2.6.1" - semver "^5.3.0" - tar "^4" - node-pre-gyp@^0.12.0: version "0.12.0" resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.12.0.tgz#39ba4bb1439da030295f899e3b520b7785766149" + integrity sha512-4KghwV8vH5k+g2ylT+sLTjy5wmUOb9vPhnM8NHvRf9dHmnW/CndrFXy2aRPaPST6dugXSdHXfeaHQm77PIz/1A== dependencies: detect-libc "^1.0.2" mkdirp "^0.5.1" @@ -7223,21 +7761,17 @@ node-pre-gyp@^0.12.0: semver "^5.3.0" tar "^4" -node-releases@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.1.tgz#8fff8aea1cfcad1fb4205f805149054fbf73cafd" +node-releases@^1.1.29: + version "1.1.34" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.34.tgz#ced4655ee1ba9c3a2c5dcbac385e19434155fd40" + integrity sha512-fNn12JTEfniTuCqo0r9jXgl44+KxRH/huV7zM/KAGOKxDKrHr6EbT7SSs4B+DNxyBE2mks28AD+Jw6PkfY5uwA== dependencies: - semver "^5.3.0" + semver "^6.3.0" -node-releases@^1.1.25: - version "1.1.25" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.25.tgz#0c2d7dbc7fed30fbe02a9ee3007b8c90bf0133d3" - dependencies: - semver "^5.3.0" - -node-sass@^4.11.0: - version "4.11.0" - resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-4.11.0.tgz#183faec398e9cbe93ba43362e2768ca988a6369a" +node-sass@^4.12.0: + version "4.12.0" + resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-4.12.0.tgz#0914f531932380114a30cc5fa4fa63233a25f017" + integrity sha512-A1Iv4oN+Iel6EPv77/HddXErL2a+gZ4uBeZUy+a8O35CFYTXhgA8MgLCWBtwpGZdCvTvQ9d+bQxX/QC36GDPpQ== dependencies: async-foreach "^0.1.3" chalk "^1.1.1" @@ -7246,12 +7780,10 @@ node-sass@^4.11.0: get-stdin "^4.0.1" glob "^7.0.3" in-publish "^2.0.0" - lodash.assign "^4.2.0" - lodash.clonedeep "^4.3.2" - lodash.mergewith "^4.6.0" + lodash "^4.17.11" meow "^3.7.0" mkdirp "^0.5.1" - nan "^2.10.0" + nan "^2.13.2" node-gyp "^3.8.0" npmlog "^4.0.0" request "^2.88.0" @@ -7262,6 +7794,7 @@ node-sass@^4.11.0: nomnom@1.5.2: version "1.5.2" resolved "https://registry.yarnpkg.com/nomnom/-/nomnom-1.5.2.tgz#f4345448a853cfbd5c0d26320f2477ab0526fe2f" + integrity sha1-9DRUSKhTz71cDSYyDyR3qwUm/i8= dependencies: colors "0.5.x" underscore "1.1.x" @@ -7269,6 +7802,7 @@ nomnom@1.5.2: "nomnom@>= 1.5.x": version "1.8.1" resolved "https://registry.yarnpkg.com/nomnom/-/nomnom-1.8.1.tgz#2151f722472ba79e50a76fc125bb8c8f2e4dc2a7" + integrity sha1-IVH3Ikcrp55Qp2/BJbuMjy5Nwqc= dependencies: chalk "~0.4.0" underscore "~1.6.0" @@ -7276,38 +7810,44 @@ nomnom@1.5.2: "nopt@2 || 3": version "3.0.6" resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" + integrity sha1-xkZdvwirzU2zWTF/eaxopkayj/k= dependencies: abbrev "1" nopt@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" + integrity sha1-0NRoWv1UFRk8jHUFYC0NF81kR00= dependencies: abbrev "1" osenv "^0.1.4" normalize-package-data@^2.3.2, normalize-package-data@^2.3.4: - version "2.4.0" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.4.0.tgz#12f95a307d58352075a04907b84ac8be98ac012f" + version "2.5.0" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" + integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== dependencies: hosted-git-info "^2.1.4" - is-builtin-module "^1.0.0" + resolve "^1.10.0" semver "2 || 3 || 4 || 5" validate-npm-package-license "^3.0.1" normalize-path@^2.0.1, normalize-path@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" + integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= dependencies: remove-trailing-separator "^1.0.1" normalize-path@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== normalize-url@^1.9.1: version "1.9.1" resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-1.9.1.tgz#2cc0d66b31ea23036458436e3620d85954c66c3c" + integrity sha1-LMDWazHqIwNkWENuNiDYWVTGbDw= dependencies: object-assign "^4.0.1" prepend-http "^1.0.0" @@ -7315,18 +7855,21 @@ normalize-url@^1.9.1: sort-keys "^1.0.0" now-and-later@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/now-and-later/-/now-and-later-2.0.0.tgz#bc61cbb456d79cb32207ce47ca05136ff2e7d6ee" + version "2.0.1" + resolved "https://registry.yarnpkg.com/now-and-later/-/now-and-later-2.0.1.tgz#8e579c8685764a7cc02cb680380e94f43ccb1f7c" + integrity sha512-KGvQ0cB70AQfg107Xvs/Fbu+dGmZoTRJp2TaPwcwQm3/7PteUyN2BCgk8KBMPGBUXZdVwyWS8fDCGFygBm19UQ== dependencies: once "^1.3.2" npm-bundled@^1.0.1: - version "1.0.5" - resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.5.tgz#3c1732b7ba936b3a10325aef616467c0ccbcc979" + version "1.0.6" + resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.6.tgz#e7ba9aadcef962bb61248f91721cd932b3fe6bdd" + integrity sha512-8/JCaftHwbd//k6y2rEWp6k1wxVfpFzB6t1p825+cUb7Ym2XQfhwIC5KwhrvzZRJu+LtDE585zVaS32+CGtf0g== npm-packlist@^1.1.6: - version "1.1.12" - resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.1.12.tgz#22bde2ebc12e72ca482abd67afc51eb49377243a" + version "1.4.4" + resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.4.4.tgz#866224233850ac534b63d1a6e76050092b5d2f44" + integrity sha512-zTLo8UcVYtDU3gdeaFu2Xu0n0EvelfHDGuqtNIn5RO7yQj4H1TqNdBc/yZjxnWA0PVB8D3Woyp0i5B43JwQ6Vw== dependencies: ignore-walk "^3.0.1" npm-bundled "^1.0.1" @@ -7334,12 +7877,21 @@ npm-packlist@^1.1.6: npm-run-path@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" + integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= dependencies: path-key "^2.0.0" +npm-run-path@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-3.1.0.tgz#7f91be317f6a466efed3c9f2980ad8a4ee8b0fa5" + integrity sha512-Dbl4A/VfiVGLgQv29URL9xshU8XDY1GeLy+fsaZ1AA8JDSfjvr5P5+pzRbWqRSBxk6/DW7MIh8lTM/PaGnP2kg== + dependencies: + path-key "^3.0.0" + "npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.0, npmlog@^4.0.2: version "4.1.2" resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" + integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg== dependencies: are-we-there-yet "~1.1.2" console-control-strings "~1.1.0" @@ -7349,44 +7901,58 @@ npm-run-path@^2.0.0: number-is-nan@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" + integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= nwsapi@^2.0.7: - version "2.0.9" - resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.0.9.tgz#77ac0cdfdcad52b6a1151a84e73254edc33ed016" + version "2.1.4" + resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.1.4.tgz#e006a878db23636f8e8a67d33ca0e4edf61a842f" + integrity sha512-iGfd9Y6SFdTNldEy2L0GUhcarIutFmk+MPWIn9dmj8NMIup03G08uUF2KGbbmv/Ux4RT0VZJoP/sVbWA6d/VIw== oauth-sign@~0.9.0: version "0.9.0" resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" + integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== -object-assign@^4, object-assign@^4.0.1, object-assign@^4.1.0: +object-assign@^4, object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= object-copy@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" + integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= dependencies: copy-descriptor "^0.1.0" define-property "^0.2.5" kind-of "^3.0.3" -object-keys@^1.0.11: - version "1.0.12" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.12.tgz#09c53855377575310cca62f55bb334abff7b3ed2" +object-inspect@^1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.6.0.tgz#c70b6cbf72f274aab4c34c0c82f5167bf82cf15b" + integrity sha512-GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ== -object-keys@^1.0.8: - version "1.0.11" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.11.tgz#c54601778ad560f1142ce0e01bcca8b56d13426d" +object-is@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.0.1.tgz#0aa60ec9989a0b3ed795cf4d06f62cf1ad6539b6" + integrity sha1-CqYOyZiaCz7Xlc9NBvYs8a1lObY= + +object-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" + integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== object-visit@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" + integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= dependencies: isobject "^3.0.0" object.assign@^4.0.4, object.assign@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da" + integrity sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w== dependencies: define-properties "^1.1.2" function-bind "^1.1.1" @@ -7396,6 +7962,7 @@ object.assign@^4.0.4, object.assign@^4.1.0: object.getownpropertydescriptors@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz#8758c846f5b407adab0f236e0986f14b051caa16" + integrity sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY= dependencies: define-properties "^1.1.2" es-abstract "^1.5.1" @@ -7403,6 +7970,7 @@ object.getownpropertydescriptors@^2.0.3: object.omit@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" + integrity sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo= dependencies: for-own "^0.1.4" is-extendable "^0.1.1" @@ -7410,48 +7978,69 @@ object.omit@^2.0.0: object.pick@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" + integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= dependencies: isobject "^3.0.1" obuf@^1.0.0, obuf@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" + integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== on-finished@~2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" + integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc= dependencies: ee-first "1.1.1" on-headers@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f" + integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA== once@^1.3.0, once@^1.3.1, once@^1.3.2, once@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= dependencies: wrappy "1" +one-time@0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/one-time/-/one-time-0.0.4.tgz#f8cdf77884826fe4dff93e3a9cc37b1e4480742e" + integrity sha1-+M33eISCb+Tf+T46nMN7HkSAdC4= + onetime@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789" + integrity sha1-ofeDj4MUxRbwXs78vEzP4EtO14k= onetime@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" + integrity sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ= dependencies: mimic-fn "^1.0.0" +onetime@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.0.tgz#fff0f3c91617fe62bb50189636e99ac8a6df7be5" + integrity sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q== + dependencies: + mimic-fn "^2.1.0" + opn@^5.5.0: version "5.5.0" resolved "https://registry.yarnpkg.com/opn/-/opn-5.5.0.tgz#fc7164fab56d235904c51c3b27da6758ca3b9bfc" + integrity sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA== dependencies: is-wsl "^1.1.0" optimist@^0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" + integrity sha1-2j6nRob6IaGaERwybpDrFaAZZoY= dependencies: minimist "~0.0.1" wordwrap "~0.0.2" @@ -7459,6 +8048,7 @@ optimist@^0.6.1: optionator@^0.8.1, optionator@^0.8.2: version "0.8.2" resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" + integrity sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q= dependencies: deep-is "~0.1.3" fast-levenshtein "~2.0.4" @@ -7470,6 +8060,7 @@ optionator@^0.8.1, optionator@^0.8.2: ora@^0.2.3: version "0.2.3" resolved "https://registry.yarnpkg.com/ora/-/ora-0.2.3.tgz#37527d220adcd53c39b73571d754156d5db657a4" + integrity sha1-N1J9Igrc1Tw5tzVx11QVbV22V6Q= dependencies: chalk "^1.1.1" cli-cursor "^1.0.2" @@ -7479,59 +8070,61 @@ ora@^0.2.3: ordered-read-streams@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz#77c0cb37c41525d64166d990ffad7ec6a0e1363e" + integrity sha1-d8DLN8QVJdZBZtmQ/61+xqDhNj4= dependencies: readable-stream "^2.0.1" original@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/original/-/original-1.0.2.tgz#e442a61cffe1c5fd20a65f3261c26663b303f25f" + integrity sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg== dependencies: url-parse "^1.4.3" os-browserify@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" + integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc= os-homedir@^1.0.0, os-homedir@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" + integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M= os-locale@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9" + integrity sha1-IPnxeuKe00XoveWDsT0gCYA8FNk= dependencies: lcid "^1.0.0" os-locale@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-2.1.0.tgz#42bc2900a6b5b8bd17376c8e882b65afccf24bf2" + integrity sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA== dependencies: execa "^0.7.0" lcid "^1.0.0" mem "^1.1.0" -os-locale@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-3.0.1.tgz#3b014fbf01d87f60a1e5348d80fe870dc82c4620" +os-locale@^3.0.0, os-locale@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-3.1.0.tgz#a802a6ee17f24c10483ab9935719cef4ed16bf1a" + integrity sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q== dependencies: - execa "^0.10.0" + execa "^1.0.0" lcid "^2.0.0" mem "^4.0.0" os-tmpdir@^1.0.0, os-tmpdir@^1.0.1, os-tmpdir@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" + integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= -osenv@0: +osenv@0, osenv@^0.1.4: version "0.1.5" resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" - dependencies: - os-homedir "^1.0.0" - os-tmpdir "^1.0.0" - -osenv@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.4.tgz#42fe6d5953df06c8064be6f176c3d05aaaa34644" + integrity sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g== dependencies: os-homedir "^1.0.0" os-tmpdir "^1.0.0" @@ -7539,64 +8132,96 @@ osenv@^0.1.4: p-defer@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c" + integrity sha1-n26xgvbJqozXQwBKfU+WsZaw+ww= p-finally@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= -p-is-promise@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-1.1.0.tgz#9c9456989e9f6588017b0434d56097675c3da05e" +p-finally@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-2.0.1.tgz#bd6fcaa9c559a096b680806f4d657b3f0f240561" + integrity sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw== + +p-is-promise@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-2.1.0.tgz#918cebaea248a62cf7ffab8e3bca8c5f882fc42e" + integrity sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg== p-limit@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.1.0.tgz#b07ff2d9a5d88bec806035895a2bab66a27988bc" + version "1.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" + integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== + dependencies: + p-try "^1.0.0" p-limit@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.0.0.tgz#e624ed54ee8c460a778b3c9f3670496ff8a57aec" + version "2.2.1" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.1.tgz#aa07a788cc3151c939b5131f63570f0dd2009537" + integrity sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg== dependencies: p-try "^2.0.0" p-locate@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" + integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= dependencies: p-limit "^1.1.0" p-locate@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" + integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== dependencies: p-limit "^2.0.0" p-map@^1.1.1: version "1.2.0" resolved "https://registry.yarnpkg.com/p-map/-/p-map-1.2.0.tgz#e4e94f311eabbc8633a1e79908165fca26241b6b" + integrity sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA== p-map@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/p-map/-/p-map-2.1.0.tgz#310928feef9c9ecc65b68b17693018a665cea175" + integrity sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw== + +p-retry@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/p-retry/-/p-retry-3.0.1.tgz#316b4c8893e2c8dc1cfa891f406c4b422bebf328" + integrity sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w== + dependencies: + retry "^0.12.0" + +p-try@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" + integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= p-try@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.0.0.tgz#85080bb87c64688fa47996fe8f7dfbe8211760b1" + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== pako@~1.0.5: - version "1.0.7" - resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.7.tgz#2473439021b57f1516c82f58be7275ad8ef1bb27" + version "1.0.10" + resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.10.tgz#4328badb5086a426aa90f541977d4955da5c9732" + integrity sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw== parallel-transform@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.1.0.tgz#d410f065b05da23081fcd10f28854c29bda33b06" + version "1.2.0" + resolved "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.2.0.tgz#9049ca37d6cb2182c3b1d2c720be94d14a5814fc" + integrity sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg== dependencies: - cyclist "~0.2.2" + cyclist "^1.0.1" inherits "^2.0.3" readable-stream "^2.1.5" -param-case@2.1.x: +param-case@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/param-case/-/param-case-2.1.1.tgz#df94fd8cf6531ecf75e6bef9a0858fbc72be2247" + integrity sha1-35T9jPZTHs915r75oIWPvHK+Ikc= dependencies: no-case "^2.2.0" @@ -7608,18 +8233,21 @@ parent-module@^1.0.0: callsites "^3.0.0" parse-asn1@^5.0.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.1.tgz#f6bf293818332bd0dab54efb16087724745e6ca8" + version "5.1.5" + resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.5.tgz#003271343da58dc94cace494faef3d2147ecea0e" + integrity sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ== dependencies: asn1.js "^4.0.0" browserify-aes "^1.0.0" create-hash "^1.1.0" evp_bytestokey "^1.0.0" pbkdf2 "^3.0.3" + safe-buffer "^5.1.1" parse-entities@^1.0.2, parse-entities@^1.1.0: version "1.2.2" resolved "https://registry.yarnpkg.com/parse-entities/-/parse-entities-1.2.2.tgz#c31bf0f653b6661354f8973559cb86dd1d5edf50" + integrity sha512-NzfpbxW/NPrzZ/yYSoQxyqUZMZXIdCfE0OIN4ESsnptHJECoUk3FZktxNuzQf4tjt5UEopnxpYJbvYuxIFDdsg== dependencies: character-entities "^1.0.0" character-entities-legacy "^1.0.0" @@ -7631,20 +8259,16 @@ parse-entities@^1.0.2, parse-entities@^1.1.0: parse-filepath@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/parse-filepath/-/parse-filepath-1.0.2.tgz#a632127f53aaf3d15876f5872f3ffac763d6c891" + integrity sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE= dependencies: is-absolute "^1.0.0" map-cache "^0.2.0" path-root "^0.1.1" -parse-git-config@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/parse-git-config/-/parse-git-config-0.2.0.tgz#272833fdd15fea146fb75d336d236b963b6ff706" - dependencies: - ini "^1.3.3" - parse-glob@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" + integrity sha1-ssN2z7EfNVE7rdFz7wu246OIORw= dependencies: glob-base "^0.3.0" is-dotfile "^1.0.0" @@ -7654,12 +8278,14 @@ parse-glob@^3.0.4: parse-json@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" + integrity sha1-9ID0BDTvgHQfhGkJn43qGPVaTck= dependencies: error-ex "^1.2.0" parse-json@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" + integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= dependencies: error-ex "^1.3.1" json-parse-better-errors "^1.0.1" @@ -7667,10 +8293,12 @@ parse-json@^4.0.0: parse-passwd@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" + integrity sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY= parse-path@^3.0.1: version "3.0.4" resolved "https://registry.yarnpkg.com/parse-path/-/parse-path-3.0.4.tgz#a48b7b529da41f34d9d1428602a39b29fc7180e4" + integrity sha512-wP70vtwv2DyrM2YoA7ZHVv4zIXa4P7dGgHlj+VwyXNDduLLVJ7NMY1zsFxjUUJ3DAwJLupGb1H5gMDDiNlJaxw== dependencies: is-ssh "^1.3.0" protocols "^1.4.0" @@ -7678,6 +8306,7 @@ parse-path@^3.0.1: parse-url@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/parse-url/-/parse-url-3.0.2.tgz#602787a7063a795d72b8673197505e72f60610be" + integrity sha1-YCeHpwY6eV1yuGcxl1BecvYGEL4= dependencies: is-ssh "^1.3.0" normalize-url "^1.9.1" @@ -7687,77 +8316,94 @@ parse-url@^3.0.2: parse5@4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/parse5/-/parse5-4.0.0.tgz#6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608" + integrity sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA== parseurl@~1.3.2, parseurl@~1.3.3: version "1.3.3" resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" + integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== pascalcase@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" + integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= password-prompt@^1.0.7: version "1.1.2" resolved "https://registry.yarnpkg.com/password-prompt/-/password-prompt-1.1.2.tgz#85b2f93896c5bd9e9f2d6ff0627fa5af3dc00923" + integrity sha512-bpuBhROdrhuN3E7G/koAju0WjVw9/uQOG5Co5mokNj0MiOSBVZS1JTwM4zl55hu0WFmIEFvO9cU9sJQiBIYeIA== dependencies: ansi-escapes "^3.1.0" cross-spawn "^6.0.5" -path-browserify@0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.0.tgz#a0b870729aae214005b7d5032ec2cbbb0fb4451a" +path-browserify@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.1.tgz#e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a" + integrity sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ== path-dirname@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" + integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA= path-exists@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" + integrity sha1-D+tsZPD8UY2adU3V77YscCJ2H0s= dependencies: pinkie-promise "^2.0.0" path-exists@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= path-is-absolute@^1.0.0, path-is-absolute@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= path-is-inside@^1.0.1, path-is-inside@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" + integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM= path-key@^2.0.0, path-key@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= -path-parse@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1" +path-key@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.0.tgz#99a10d870a803bdd5ee6f0470e58dfcd2f9a54d3" + integrity sha512-8cChqz0RP6SHJkMt48FW0A7+qUOn+OsnOsVtzI59tZ8m+5bCSk7hzwET0pulwOM2YMn9J1efb07KB9l9f30SGg== -path-parse@^1.0.6: +path-parse@^1.0.5, path-parse@^1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" + integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== path-root-regex@^0.1.0: version "0.1.2" resolved "https://registry.yarnpkg.com/path-root-regex/-/path-root-regex-0.1.2.tgz#bfccdc8df5b12dc52c8b43ec38d18d72c04ba96d" + integrity sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0= path-root@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/path-root/-/path-root-0.1.1.tgz#9a4a6814cac1c0cd73360a95f32083c8ea4745b7" + integrity sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc= dependencies: path-root-regex "^0.1.0" path-to-regexp@0.1.7: version "0.1.7" resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" + integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= path-type@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" + integrity sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE= dependencies: graceful-fs "^4.1.2" pify "^2.0.0" @@ -7766,22 +8412,26 @@ path-type@^1.0.0: path-type@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" + integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== dependencies: pify "^3.0.0" path-type@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== pause-stream@0.0.11: version "0.0.11" resolved "https://registry.yarnpkg.com/pause-stream/-/pause-stream-0.0.11.tgz#fe5a34b0cbce12b5aa6a2b403ee2e73b602f1445" + integrity sha1-/lo0sMvOErWqaitAPuLnO2AvFEU= dependencies: through "~2.3" pbkdf2@^3.0.3: version "3.0.17" resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.17.tgz#976c206530617b14ebb32114239f7b09336e93a6" + integrity sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA== dependencies: create-hash "^1.1.2" create-hmac "^1.1.4" @@ -7792,14 +8442,17 @@ pbkdf2@^3.0.3: pend@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" + integrity sha1-elfrVQpng/kRUzH89GY9XI4AelA= -percy-client@^3.0.3: - version "3.0.13" - resolved "https://registry.yarnpkg.com/percy-client/-/percy-client-3.0.13.tgz#86f48ac39bca8474a02917cea1756978d0214b83" +percy-client@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/percy-client/-/percy-client-3.1.0.tgz#f072e3c3e9c978a1666f77bb950ab804b9d1efa1" + integrity sha512-OzKg+o0dtt/LxcCNHNpe7B+oZ196fMiPFzySvFz1ouXNoEBITiborIGN49e8dN5puwIEILoePlX91q6C834XGg== dependencies: base64-js "^1.2.3" bluebird "^3.5.1" bluebird-retry "^0.11.0" + dotenv "^8.1.0" es6-promise-pool "^2.5.0" jssha "^2.1.0" regenerator-runtime "^0.13.1" @@ -7810,74 +8463,89 @@ percy-client@^3.0.3: performance-now@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" + integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= picomatch@^2.0.5: version "2.0.7" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.0.7.tgz#514169d8c7cd0bdbeecc8a2609e34a7163de69f6" + integrity sha512-oLHIdio3tZ0qH76NybpeneBhYVj0QFTfXEFTc/B3zKQspYfYYkWYgFsmzo+4kvId/bQRcNkVeguI3y+CD22BtA== pify@^2.0.0, pify@^2.2.0: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= pify@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" + integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= pify@^4.0.0, pify@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" + integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== pinkie-promise@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" + integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o= dependencies: pinkie "^2.0.0" pinkie@^2.0.0: version "2.0.4" resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" + integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= pirates@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.0.tgz#850b18781b4ac6ec58a43c9ed9ec5fe6796addbd" + version "4.0.1" + resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.1.tgz#643a92caf894566f91b2b986d2c66950a8e2fb87" + integrity sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA== dependencies: node-modules-regexp "^1.0.0" pixelmatch@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/pixelmatch/-/pixelmatch-4.0.2.tgz#8f47dcec5011b477b67db03c243bc1f3085e8854" + integrity sha1-j0fc7FARtHe2fbA8JDvB8wheiFQ= dependencies: pngjs "^3.0.0" pkg-dir@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" + integrity sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s= dependencies: find-up "^2.1.0" pkg-dir@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3" + integrity sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw== dependencies: find-up "^3.0.0" please-upgrade-node@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/please-upgrade-node/-/please-upgrade-node-3.1.1.tgz#ed320051dfcc5024fae696712c8288993595e8ac" + version "3.2.0" + resolved "https://registry.yarnpkg.com/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz#aeddd3f994c933e4ad98b99d9a556efa0e2fe942" + integrity sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg== dependencies: semver-compare "^1.0.0" pn@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/pn/-/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb" + integrity sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA== pngjs@^3.0.0, pngjs@^3.3.3: version "3.4.0" resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-3.4.0.tgz#99ca7d725965fb655814eaf65f38f12bbdbf555f" + integrity sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w== -portfinder@^1.0.20: - version "1.0.20" - resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.20.tgz#bea68632e54b2e13ab7b0c4775e9b41bf270e44a" +portfinder@^1.0.24: + version "1.0.24" + resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.24.tgz#11efbc6865f12f37624b6531ead1d809ed965cfa" + integrity sha512-ekRl7zD2qxYndYflwiryJwMioBI7LI7rVXg3EnLK3sjkouT5eOuhS3gS255XxBksa30VG8UPZYZCdgfGOfkSUg== dependencies: async "^1.5.2" debug "^2.2.0" @@ -7886,58 +8554,77 @@ portfinder@^1.0.20: posix-character-classes@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" + integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= postcss-modules-extract-imports@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz#818719a1ae1da325f9832446b01136eeb493cd7e" + integrity sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ== dependencies: postcss "^7.0.5" -postcss-modules-local-by-default@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-2.0.2.tgz#edfd6a874d326b52daaa3014bfc11e9e4b0cfafc" +postcss-modules-local-by-default@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-2.0.6.tgz#dd9953f6dd476b5fd1ef2d8830c8929760b56e63" + integrity sha512-oLUV5YNkeIBa0yQl7EYnxMgy4N6noxmiwZStaEJUSe2xPMcdNc8WmBQuQCx18H5psYbVxz8zoHk0RAAYZXP9gA== dependencies: - css-selector-tokenizer "^0.7.0" postcss "^7.0.6" + postcss-selector-parser "^6.0.0" postcss-value-parser "^3.3.1" -postcss-modules-scope@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-2.0.1.tgz#2c0f2394cde4cd09147db054c68917e38f6d43a4" +postcss-modules-scope@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-2.1.0.tgz#ad3f5bf7856114f6fcab901b0502e2a2bc39d4eb" + integrity sha512-91Rjps0JnmtUB0cujlc8KIKCsJXWjzuxGeT/+Q2i2HXKZ7nBUeF9YQTZZTNvHVoNYj1AthsjnGLtqDUE0Op79A== dependencies: - css-selector-tokenizer "^0.7.0" postcss "^7.0.6" + postcss-selector-parser "^6.0.0" postcss-modules-values@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-2.0.0.tgz#479b46dc0c5ca3dc7fa5270851836b9ec7152f64" + integrity sha512-Ki7JZa7ff1N3EIMlPnGTZfUMe69FFwiQPnVSXC9mnn3jozCRBYIxiZd44yJOV2AmabOo4qFf8s0dC/+lweG7+w== dependencies: icss-replace-symbols "^1.1.0" postcss "^7.0.6" +postcss-selector-parser@^6.0.0: + version "6.0.2" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz#934cf799d016c83411859e09dcecade01286ec5c" + integrity sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg== + dependencies: + cssesc "^3.0.0" + indexes-of "^1.0.1" + uniq "^1.0.1" + postcss-value-parser@^3.3.0, postcss-value-parser@^3.3.1: version "3.3.1" resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281" + integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ== -postcss@^7.0.5, postcss@^7.0.6: - version "7.0.7" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.7.tgz#2754d073f77acb4ef08f1235c36c5721a7201614" +postcss@^7.0.14, postcss@^7.0.5, postcss@^7.0.6: + version "7.0.18" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.18.tgz#4b9cda95ae6c069c67a4d933029eddd4838ac233" + integrity sha512-/7g1QXXgegpF+9GJj4iN7ChGF40sYuGYJ8WZu8DZWnmhQ/G36hfdk3q9LBJmoK+lZ+yzZ5KYpOoxq7LF1BxE8g== dependencies: - chalk "^2.4.1" + chalk "^2.4.2" source-map "^0.6.1" - supports-color "^5.5.0" + supports-color "^6.1.0" prelude-ls@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" + integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= prepend-http@^1.0.0: version "1.0.4" resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" + integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw= preserve@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" + integrity sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks= prettier-linter-helpers@^1.0.0: version "1.0.0" @@ -7954,6 +8641,7 @@ prettier@^1.18.2: pretty-format@^23.6.0: version "23.6.0" resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-23.6.0.tgz#5eaac8eeb6b33b987b7fe6097ea6a8a146ab5760" + integrity sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw== dependencies: ansi-regex "^3.0.0" ansi-styles "^3.2.0" @@ -7961,54 +8649,65 @@ pretty-format@^23.6.0: private@^0.1.6, private@^0.1.8: version "0.1.8" resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" + integrity sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg== process-nextick-args@^2.0.0, process-nextick-args@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa" + version "2.0.1" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" + integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== process-nextick-args@~1.0.6: version "1.0.7" resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" + integrity sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M= process@^0.11.10: version "0.11.10" resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" + integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI= progress@^2.0.0, progress@^2.0.1: version "2.0.3" resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" + integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== promise-inflight@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" + integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM= prompts@^0.1.9: version "0.1.14" resolved "https://registry.yarnpkg.com/prompts/-/prompts-0.1.14.tgz#a8e15c612c5c9ec8f8111847df3337c9cbd443b2" + integrity sha512-rxkyiE9YH6zAz/rZpywySLKkpaj0NMVyNw1qhsubdbjjSgcayjTShDreZGlFMcGSu5sab3bAKPfFk78PB90+8w== dependencies: kleur "^2.0.1" sisteransi "^0.1.1" -prompts@^2.0.4: - version "2.1.0" - resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.1.0.tgz#bf90bc71f6065d255ea2bdc0fe6520485c1b45db" +prompts@^2.1.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.2.1.tgz#f901dd2a2dfee080359c0e20059b24188d75ad35" + integrity sha512-VObPvJiWPhpZI6C5m60XOzTfnYg/xc/an+r9VYymj9WJW3B/DIH+REzjpAACPf8brwPeP+7vz3bIim3S+AaMjw== dependencies: - kleur "^3.0.2" - sisteransi "^1.0.0" + kleur "^3.0.3" + sisteransi "^1.0.3" property-information@^4.0.0: version "4.2.0" resolved "https://registry.yarnpkg.com/property-information/-/property-information-4.2.0.tgz#f0e66e07cbd6fed31d96844d958d153ad3eb486e" + integrity sha512-TlgDPagHh+eBKOnH2VYvk8qbwsCG/TAJdmTL7f1PROUcSO8qt/KSmShEQ/OKvock8X9tFjtqjCScyOkkkvIKVQ== dependencies: xtend "^4.0.1" protocols@^1.1.0, protocols@^1.4.0: version "1.4.7" resolved "https://registry.yarnpkg.com/protocols/-/protocols-1.4.7.tgz#95f788a4f0e979b291ffefcf5636ad113d037d32" + integrity sha512-Fx65lf9/YDn3hUX08XUc0J8rSux36rEsyiv21ZGUC1mOyeM3lTRpZLcrm8aAolzS4itwVfm7TAPyxC2E5zd6xg== proxy-addr@~2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.5.tgz#34cbd64a2d81f4b1fd21e76f9f06c8a45299ee34" + integrity sha512-t/7RxHXPH6cJtP0pRG6smSr9QJidhB+3kXu0KgXnbGYMgzEnUxRQ4/LDdfOwZEMyIh3/xHb8PX3t+lfL9z+YVQ== dependencies: forwarded "~0.1.2" ipaddr.js "1.9.0" @@ -8016,32 +8715,34 @@ proxy-addr@~2.0.5: proxy-from-env@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.0.0.tgz#33c50398f70ea7eb96d21f7b817630a55791c7ee" - -prr@~0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/prr/-/prr-0.0.0.tgz#1a84b85908325501411853d0081ee3fa86e2926a" + integrity sha1-M8UDmPcOp+uW0h97gXYwpVeRx+4= prr@~1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" + integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY= ps-tree@1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/ps-tree/-/ps-tree-1.2.0.tgz#5e7425b89508736cdd4f2224d028f7bb3f722ebd" + integrity sha512-0VnamPPYHl4uaU/nSFeZZpR21QAWRz+sRv4iW9+v/GS/J5U5iZB5BNN6J0RMoOvdx2gWM2+ZFMIm58q24e4UYA== dependencies: event-stream "=3.3.4" pseudomap@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" + integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= psl@^1.1.24, psl@^1.1.28: - version "1.1.31" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.1.31.tgz#e9aa86d0101b5b105cbe93ac6b784cd547276184" + version "1.4.0" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.4.0.tgz#5dd26156cdb69fa1fdb8ab1991667d3f80ced7c2" + integrity sha512-HZzqCGPecFLyoRj5HLfuDSKYTJkAfB5thKBIkRHtGjWwY7p1dAyveIbXIq4tO0KYfDF2tHqPUgY9SDnGm00uFw== public-encrypt@^4.0.0: version "4.0.3" resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" + integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q== dependencies: bn.js "^4.1.0" browserify-rsa "^4.0.0" @@ -8053,6 +8754,7 @@ public-encrypt@^4.0.0: pump@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" + integrity sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA== dependencies: end-of-stream "^1.1.0" once "^1.3.1" @@ -8060,6 +8762,7 @@ pump@^2.0.0: pump@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" + integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== dependencies: end-of-stream "^1.1.0" once "^1.3.1" @@ -8067,6 +8770,7 @@ pump@^3.0.0: pumpify@^1.3.3, pumpify@^1.3.5: version "1.5.1" resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce" + integrity sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ== dependencies: duplexify "^3.6.0" inherits "^2.0.3" @@ -8075,22 +8779,22 @@ pumpify@^1.3.3, pumpify@^1.3.5: punycode@1.3.2: version "1.3.2" resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" - -punycode@2.x.x, punycode@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" + integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= punycode@^1.2.4, punycode@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" + integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= -punycode@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.0.tgz#5f863edc89b96db09074bad7947bf09056ca4e7d" +punycode@^2.1.0, punycode@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" + integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== -puppeteer@^1.13.0: - version "1.19.0" - resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-1.19.0.tgz#e3b7b448c2c97933517078d7a2c53687361bebea" +puppeteer@^1.13.0, puppeteer@^1.17.0: + version "1.20.0" + resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-1.20.0.tgz#e3d267786f74e1d87cf2d15acc59177f471bbe38" + integrity sha512-bt48RDBy2eIwZPrkgbcwHtb51mj2nKvHOPMaSH2IsWiv7lOG9k9zhaRzpDZafrk05ajMc3cu+lSQYYOfH2DkVQ== dependencies: debug "^4.1.0" extract-zip "^1.6.6" @@ -8101,30 +8805,25 @@ puppeteer@^1.13.0: rimraf "^2.6.1" ws "^6.1.0" -puppeteer@^1.17.0: - version "1.17.0" - resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-1.17.0.tgz#371957d227a2f450fa74b78e78a2dadb2be7f14f" - dependencies: - debug "^4.1.0" - extract-zip "^1.6.6" - https-proxy-agent "^2.2.1" - mime "^2.0.3" - progress "^2.0.1" - proxy-from-env "^1.0.0" - rimraf "^2.6.1" - ws "^6.1.0" - -qs@6.7.0, qs@^6.4.0: +qs@6.7.0: version "6.7.0" resolved "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc" + integrity sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ== + +qs@^6.4.0: + version "6.9.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.9.0.tgz#d1297e2a049c53119cb49cca366adbbacc80b409" + integrity sha512-27RP4UotQORTpmNQDX8BHPukOnBP3p1uUJY5UnDhaJB+rMt9iMsok724XL+UHU23bEFOHRMQ2ZhI99qOWUMGFA== qs@~6.5.2: version "6.5.2" resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" + integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== query-string@^4.1.0: version "4.3.4" resolved "https://registry.yarnpkg.com/query-string/-/query-string-4.3.4.tgz#bbb693b9ca915c232515b228b1a02b609043dbeb" + integrity sha1-u7aTucqRXCMlFbIosaArYJBD2+s= dependencies: object-assign "^4.1.0" strict-uri-encode "^1.0.0" @@ -8132,35 +8831,50 @@ query-string@^4.1.0: querystring-es3@^0.2.0: version "0.2.1" resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" + integrity sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM= querystring@0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" + integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= querystringify@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.1.1.tgz#60e5a5fd64a7f8bfa4d2ab2ed6fdf4c85bad154e" + integrity sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA== + +queue@6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/queue/-/queue-6.0.1.tgz#abd5a5b0376912f070a25729e0b6a7d565683791" + integrity sha512-AJBQabRCCNr9ANq8v77RJEv73DPbn55cdTb+Giq4X0AVnNVZvMHlYp7XlQiN+1npCZj1DuSmaA2hYVUUDgxFDg== + dependencies: + inherits "~2.0.3" ramda@0.24.1: version "0.24.1" resolved "https://registry.yarnpkg.com/ramda/-/ramda-0.24.1.tgz#c3b7755197f35b8dc3502228262c4c91ddb6b857" + integrity sha1-w7d1UZfzW43DUCIoJixMkd22uFc= -randomatic@^1.1.3: - version "1.1.7" - resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.7.tgz#c7abe9cc8b87c0baa876b19fde83fd464797e38c" +randomatic@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-3.1.1.tgz#b776efc59375984e36c537b2f51a1f0aff0da1ed" + integrity sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw== dependencies: - is-number "^3.0.0" - kind-of "^4.0.0" + is-number "^4.0.0" + kind-of "^6.0.0" + math-random "^1.0.1" randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5: - version "2.0.6" - resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.0.6.tgz#d302c522948588848a8d300c932b44c24231da80" + version "2.1.0" + resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" + integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== dependencies: safe-buffer "^5.1.0" randomfill@^1.0.3: version "1.0.4" resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" + integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw== dependencies: randombytes "^2.0.5" safe-buffer "^5.1.0" @@ -8168,10 +8882,12 @@ randomfill@^1.0.3: range-parser@^1.2.1, range-parser@~1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" + integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== raw-body@2.4.0: version "2.4.0" resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.0.tgz#a1ce6fb9c9bc356ca52e89256ab59059e13d0332" + integrity sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q== dependencies: bytes "3.1.0" http-errors "1.7.2" @@ -8181,6 +8897,7 @@ raw-body@2.4.0: raw-body@~1.1.0: version "1.1.7" resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-1.1.7.tgz#1d027c2bfa116acc6623bca8f00016572a87d425" + integrity sha1-HQJ8K/oRasxmI7yo8AAWVyqH1CU= dependencies: bytes "1" string_decoder "0.10" @@ -8188,6 +8905,7 @@ raw-body@~1.1.0: rc@^1.2.7: version "1.2.8" resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" + integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== dependencies: deep-extend "^0.6.0" ini "~1.3.0" @@ -8197,6 +8915,7 @@ rc@^1.2.7: read-pkg-up@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" + integrity sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI= dependencies: find-up "^1.0.0" read-pkg "^1.0.0" @@ -8204,6 +8923,7 @@ read-pkg-up@^1.0.1: read-pkg-up@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-4.0.0.tgz#1b221c6088ba7799601c808f91161c66e58f8978" + integrity sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA== dependencies: find-up "^3.0.0" read-pkg "^3.0.0" @@ -8211,6 +8931,7 @@ read-pkg-up@^4.0.0: read-pkg@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" + integrity sha1-9f+qXs0pyzHAR0vKfXVra7KePyg= dependencies: load-json-file "^1.0.0" normalize-package-data "^2.3.2" @@ -8219,6 +8940,7 @@ read-pkg@^1.0.0: read-pkg@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" + integrity sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k= dependencies: load-json-file "^4.0.0" normalize-package-data "^2.3.2" @@ -8227,14 +8949,16 @@ read-pkg@^3.0.0: read-pkg@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-4.0.1.tgz#963625378f3e1c4d48c85872b5a6ec7d5d093237" + integrity sha1-ljYlN48+HE1IyFhytabsfV0JMjc= dependencies: normalize-package-data "^2.3.2" parse-json "^4.0.0" pify "^3.0.0" -"readable-stream@1 || 2", readable-stream@^2.0.5, readable-stream@^2.3.5, readable-stream@^2.3.6, readable-stream@~2.3.6: +"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@^2.3.6, readable-stream@~2.3.6: version "2.3.6" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" + integrity sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw== dependencies: core-util-is "~1.0.0" inherits "~2.0.3" @@ -8244,33 +8968,10 @@ read-pkg@^4.0.1: string_decoder "~1.1.1" util-deprecate "~1.0.1" -readable-stream@^2.0.0, readable-stream@^2.0.4, readable-stream@^2.3.3: - version "2.3.5" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.5.tgz#b4f85003a938cbb6ecbce2a124fb1012bd1a838d" - dependencies: - 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.0.3" - util-deprecate "~1.0.1" - -readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2: - version "2.3.3" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.3.tgz#368f2512d79f9d46fdfc71349ae7878bbc1eb95c" - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~1.0.6" - safe-buffer "~5.1.1" - string_decoder "~1.0.3" - util-deprecate "~1.0.1" - -readable-stream@^3.0.6: +readable-stream@^3.0.6, readable-stream@^3.1.1: version "3.4.0" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.4.0.tgz#a51c26754658e0a3c21dbf59163bd45ba6f447fc" + integrity sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ== dependencies: inherits "^2.0.3" string_decoder "^1.1.1" @@ -8279,6 +8980,7 @@ readable-stream@^3.0.6: readable-stream@~2.0.0: version "2.0.6" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.0.6.tgz#8f90341e68a53ccc928788dacfcd11b36eb9b78e" + integrity sha1-j5A0HmilPMySh4jaz80Rs265t44= dependencies: core-util-is "~1.0.0" inherits "~2.0.1" @@ -8290,6 +8992,7 @@ readable-stream@~2.0.0: readable-stream@~2.1.0: version "2.1.5" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.1.5.tgz#66fa8b720e1438b364681f2ad1a63c618448c9d0" + integrity sha1-ZvqLcg4UOLNkaB8q0aY8YYRIydA= dependencies: buffer-shims "^1.0.0" core-util-is "~1.0.0" @@ -8299,18 +9002,10 @@ readable-stream@~2.1.0: string_decoder "~0.10.x" util-deprecate "~1.0.1" -readdirp@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78" - dependencies: - graceful-fs "^4.1.2" - minimatch "^3.0.2" - readable-stream "^2.0.2" - set-immediate-shim "^1.0.1" - readdirp@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" + integrity sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ== dependencies: graceful-fs "^4.1.11" micromatch "^3.1.10" @@ -8319,12 +9014,14 @@ readdirp@^2.2.1: realpath-native@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/realpath-native/-/realpath-native-1.1.0.tgz#2003294fea23fb0672f2476ebe22fcf498a2d65c" + integrity sha512-wlgPA6cCIIg9gKz0fgAPjnzh4yR/LnXovwuo9hvyGvx3h8nX4+/iLZplfUWasXpqD8BdnGnP5njOFjkUwPzvjA== dependencies: util.promisify "^1.0.0" redent@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" + integrity sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94= dependencies: indent-string "^2.1.0" strip-indent "^1.0.1" @@ -8332,128 +9029,99 @@ redent@^1.0.0: redeyed@~2.1.0: version "2.1.1" resolved "https://registry.yarnpkg.com/redeyed/-/redeyed-2.1.1.tgz#8984b5815d99cb220469c99eeeffe38913e6cc0b" + integrity sha1-iYS1gV2ZyyIEacme7v/jiRPmzAs= dependencies: esprima "~4.0.0" -regenerate-unicode-properties@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-7.0.0.tgz#107405afcc4a190ec5ed450ecaa00ed0cafa7a4c" - dependencies: - regenerate "^1.4.0" - -regenerate-unicode-properties@^8.0.2: +regenerate-unicode-properties@^8.1.0: version "8.1.0" resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.1.0.tgz#ef51e0f0ea4ad424b77bf7cb41f3e015c70a3f0e" + integrity sha512-LGZzkgtLY79GeXLm8Dp0BVLdQlWICzBnJz/ipWUgo59qBaZ+BHtq51P2q1uVZlppMuUAT37SDk39qUbjTWB7bA== dependencies: regenerate "^1.4.0" -regenerate@^1.2.1, regenerate@^1.4.0: +regenerate@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11" - -regenerator-runtime@^0.10.0: - version "0.10.5" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz#336c3efc1220adcedda2c9fab67b5a7955a33658" + integrity sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg== regenerator-runtime@^0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.0.tgz#7e54fe5b5ccd5d6624ea6255c3473be090b802e1" + version "0.11.1" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" + integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== regenerator-runtime@^0.13.1: version "0.13.3" resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz#7cf6a77d8f5c6f60eb73c5fc1955b2ceb01e6bf5" - -regenerator-transform@^0.13.3: - version "0.13.3" - resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.13.3.tgz#264bd9ff38a8ce24b06e0636496b2c856b57bcbb" - dependencies: - private "^0.1.6" + integrity sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw== regenerator-transform@^0.14.0: - version "0.14.0" - resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.0.tgz#2ca9aaf7a2c239dd32e4761218425b8c7a86ecaf" + version "0.14.1" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.1.tgz#3b2fce4e1ab7732c08f665dfdb314749c7ddd2fb" + integrity sha512-flVuee02C3FKRISbxhXl9mGzdbWUVHubl1SMaknjxkFB1/iqpJhArQUvRxOOPEc/9tAiX0BaQ28FJH10E4isSQ== dependencies: private "^0.1.6" regex-cache@^0.4.2: - version "0.4.3" - resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.3.tgz#9b1a6c35d4d0dfcef5711ae651e8e9d3d7114145" + version "0.4.4" + resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.4.tgz#75bdc58a2a1496cec48a12835bc54c8d562336dd" + integrity sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ== dependencies: is-equal-shallow "^0.1.3" - is-primitive "^2.0.0" regex-not@^1.0.0, regex-not@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" + integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== dependencies: extend-shallow "^3.0.2" safe-regex "^1.1.0" -regexp-tree@^0.1.6: - version "0.1.11" - resolved "https://registry.yarnpkg.com/regexp-tree/-/regexp-tree-0.1.11.tgz#c9c7f00fcf722e0a56c7390983a7a63dd6c272f3" +regexp.prototype.flags@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.2.0.tgz#6b30724e306a27833eeb171b66ac8890ba37e41c" + integrity sha512-ztaw4M1VqgMwl9HlPpOuiYgItcHlunW0He2fE6eNfT6E/CF2FtYi9ofOYe4mKntstYk0Fyh/rDRBdS3AnxjlrA== + dependencies: + define-properties "^1.1.2" regexpp@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" + integrity sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw== -regexpu-core@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-1.0.0.tgz#86a763f58ee4d7c2f6b102e4764050de7ed90c6b" - dependencies: - regenerate "^1.2.1" - regjsgen "^0.2.0" - regjsparser "^0.1.4" - -regexpu-core@^4.1.3, regexpu-core@^4.2.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.4.0.tgz#8d43e0d1266883969720345e70c275ee0aec0d32" +regexpu-core@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.6.0.tgz#2037c18b327cfce8a6fea2a4ec441f2432afb8b6" + integrity sha512-YlVaefl8P5BnFYOITTNzDvan1ulLOiXJzCNZxduTIosN17b87h3bvG9yHMoHaRuo88H4mQ06Aodj5VtYGGGiTg== dependencies: regenerate "^1.4.0" - regenerate-unicode-properties "^7.0.0" - regjsgen "^0.5.0" - regjsparser "^0.6.0" - unicode-match-property-ecmascript "^1.0.4" - unicode-match-property-value-ecmascript "^1.0.2" - -regexpu-core@^4.5.4: - version "4.5.4" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.5.4.tgz#080d9d02289aa87fe1667a4f5136bc98a6aebaae" - dependencies: - regenerate "^1.4.0" - regenerate-unicode-properties "^8.0.2" + regenerate-unicode-properties "^8.1.0" regjsgen "^0.5.0" regjsparser "^0.6.0" unicode-match-property-ecmascript "^1.0.4" unicode-match-property-value-ecmascript "^1.1.0" -regjsgen@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7" - regjsgen@^0.5.0: version "0.5.0" resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.0.tgz#a7634dc08f89209c2049adda3525711fb97265dd" - -regjsparser@^0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c" - dependencies: - jsesc "~0.5.0" + integrity sha512-RnIrLhrXCX5ow/E5/Mh2O4e/oa1/jW0eaBKTSy3LaCj+M3Bqvm97GWDp2yUtzIs4LEn65zR2yiYGFqb2ApnzDA== regjsparser@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.0.tgz#f1e6ae8b7da2bae96c99399b868cd6c933a2ba9c" + integrity sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ== dependencies: jsesc "~0.5.0" -relateurl@0.2.x: +relateurl@^0.2.7: version "0.2.7" resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" + integrity sha1-VNvzd+UUQKypCkzSdGANP/LYiKk= remark-html@^8.0.0: version "8.0.0" resolved "https://registry.yarnpkg.com/remark-html/-/remark-html-8.0.0.tgz#9fcb859a6f3cb40f3ef15402950f1a62ec301b3a" + integrity sha512-3V2391GL3hxKhrkzYOyfPpxJ6taIKLCfuLVqumeWQOk3H9nTtSQ8St8kMYkBVIEAquXN1chT83qJ/2lAW+dpEg== dependencies: hast-util-sanitize "^1.0.0" hast-util-to-html "^4.0.0" @@ -8463,6 +9131,7 @@ remark-html@^8.0.0: remark-parse@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-5.0.0.tgz#4c077f9e499044d1d5c13f80d7a98cf7b9285d95" + integrity sha512-b3iXszZLH1TLoyUzrATcTQUZrwNl1rE70rVdSruJFlDaJ9z5aMkhrG43Pp68OgfHndL/ADz6V69Zow8cTQu+JA== dependencies: collapse-white-space "^1.0.2" is-alphabetical "^1.0.0" @@ -8483,12 +9152,14 @@ remark-parse@^5.0.0: remark-reference-links@^4.0.1: version "4.0.4" resolved "https://registry.yarnpkg.com/remark-reference-links/-/remark-reference-links-4.0.4.tgz#190579a0d6b002859d6cdbdc5aeb8bbdae4e06ab" + integrity sha512-+2X8hwSQqxG4tvjYZNrTcEC+bXp8shQvwRGG6J/rnFTvBoU4G0BBviZoqKGZizLh/DG+0gSYhiDDWCqyxXW1iQ== dependencies: unist-util-visit "^1.0.0" remark-slug@^5.0.0: version "5.1.2" resolved "https://registry.yarnpkg.com/remark-slug/-/remark-slug-5.1.2.tgz#715ecdef8df1226786204b1887d31ab16aa24609" + integrity sha512-DWX+Kd9iKycqyD+/B+gEFO3jjnt7Yg1O05lygYSNTe5i5PIxxxPjp5qPBDxPIzp5wreF7+1ROCwRgjEcqmzr3A== dependencies: github-slugger "^1.0.0" mdast-util-to-string "^1.0.0" @@ -8497,6 +9168,7 @@ remark-slug@^5.0.0: remark-stringify@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/remark-stringify/-/remark-stringify-5.0.0.tgz#336d3a4d4a6a3390d933eeba62e8de4bd280afba" + integrity sha512-Ws5MdA69ftqQ/yhRF9XhVV29mhxbfGhbz0Rx5bQH+oJcNhhSM6nCu1EpLod+DjrFGrU0BMPs+czVmJZU7xiS7w== dependencies: ccount "^1.0.0" is-alphanumeric "^1.0.0" @@ -8516,6 +9188,7 @@ remark-stringify@^5.0.0: remark-toc@^5.0.0: version "5.1.1" resolved "https://registry.yarnpkg.com/remark-toc/-/remark-toc-5.1.1.tgz#8c229d6f834cdb43fde6685e2d43248d3fc82d78" + integrity sha512-vCPW4YOsm2CfyuScdktM9KDnJXVHJsd/ZeRtst+dnBU3B3KKvt8bc+bs5syJjyptAHfqo7H+5Uhz+2blWBfwow== dependencies: mdast-util-toc "^3.0.0" remark-slug "^5.0.0" @@ -8523,20 +9196,16 @@ remark-toc@^5.0.0: remark@^9.0.0: version "9.0.0" resolved "https://registry.yarnpkg.com/remark/-/remark-9.0.0.tgz#c5cfa8ec535c73a67c4b0f12bfdbd3a67d8b2f60" + integrity sha512-amw8rGdD5lHbMEakiEsllmkdBP+/KpjW/PRK6NSGPZKCQowh0BT4IWXDAkRMyG3SB9dKPXWMviFjNusXzXNn3A== dependencies: remark-parse "^5.0.0" remark-stringify "^5.0.0" unified "^6.0.0" -remote-origin-url@0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/remote-origin-url/-/remote-origin-url-0.4.0.tgz#4d3e2902f34e2d37d1c263d87710b77eb4086a30" - dependencies: - parse-git-config "^0.2.0" - remove-bom-buffer@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz#c2bf1e377520d324f623892e33c10cac2c252b53" + integrity sha512-8v2rWhaakv18qcvNeli2mZ/TMTL2nEyAKRvzo1WtnZBl15SHyEhrCu2/xKlJyUFKHiHgfXIyuY6g2dObJJycXQ== dependencies: is-buffer "^1.1.5" is-utf8 "^0.2.1" @@ -8544,6 +9213,7 @@ remove-bom-buffer@^3.0.0: remove-bom-stream@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/remove-bom-stream/-/remove-bom-stream-1.2.0.tgz#05f1a593f16e42e1fb90ebf59de8e569525f9523" + integrity sha1-BfGlk/FuQuH7kOv1nejlaVJflSM= dependencies: remove-bom-buffer "^3.0.0" safe-buffer "^5.1.0" @@ -8552,63 +9222,67 @@ remove-bom-stream@^1.2.0: remove-trailing-separator@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" + integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= repeat-element@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a" + version "1.1.3" + resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" + integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g== repeat-string@^1.5.0, repeat-string@^1.5.2, repeat-string@^1.5.4, repeat-string@^1.6.1: version "1.6.1" resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= repeating@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" + integrity sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo= dependencies: is-finite "^1.0.0" replace-ext@1.0.0, replace-ext@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb" + integrity sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs= request-progress@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/request-progress/-/request-progress-3.0.0.tgz#4ca754081c7fec63f505e4faa825aa06cd669dbe" + integrity sha1-TKdUCBx/7GP1BeT6qCWqBs1mnb4= dependencies: throttleit "^1.0.0" -request-promise-core@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.1.tgz#3eee00b2c5aa83239cfb04c5700da36f81cd08b6" - dependencies: - lodash "^4.13.1" - request-promise-core@1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.2.tgz#339f6aababcafdb31c799ff158700336301d3346" + integrity sha512-UHYyq1MO8GsefGEt7EprS8UrXsm1TxEvFUX1IMTuSLU2Rh7fTIdFtl8xD7JiEYiWU2dl+NYAjCTksTehQUxPag== dependencies: lodash "^4.17.11" request-promise-native@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.5.tgz#5281770f68e0c9719e5163fd3fab482215f4fda5" + version "1.0.7" + resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.7.tgz#a49868a624bdea5069f1251d0a836e0d89aa2c59" + integrity sha512-rIMnbBdgNViL37nZ1b3L/VfPOpSi0TqVDQPAvO6U14lMzOLrt5nilxCQqtDKhZeDiW0/hkCXGoQjhgJd/tCh6w== dependencies: - request-promise-core "1.1.1" - stealthy-require "^1.1.0" - tough-cookie ">=2.3.3" + request-promise-core "1.1.2" + stealthy-require "^1.1.1" + tough-cookie "^2.3.3" request-promise@^4.2.2: version "4.2.4" resolved "https://registry.yarnpkg.com/request-promise/-/request-promise-4.2.4.tgz#1c5ed0d71441e38ad58c7ce4ea4ea5b06d54b310" + integrity sha512-8wgMrvE546PzbR5WbYxUQogUnUDfM0S7QIFZMID+J73vdFARkFy+HElj4T+MWYhpXwlLp0EQ8Zoj8xUA0he4Vg== dependencies: bluebird "^3.5.0" request-promise-core "1.1.2" stealthy-require "^1.1.1" tough-cookie "^2.3.3" -request@2.88.0, request@^2.85.0, request@^2.87.0, request@^2.88.0: +request@2.88.0, request@^2.86.0, request@^2.87.0, request@^2.88.0: version "2.88.0" resolved "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef" + integrity sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg== dependencies: aws-sign2 "~0.7.0" aws4 "^1.8.0" @@ -8634,31 +9308,50 @@ request@2.88.0, request@^2.85.0, request@^2.87.0, request@^2.88.0: require-directory@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= require-main-filename@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" + integrity sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE= + +require-main-filename@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" + integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== requires-port@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" + integrity sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8= resolve-cwd@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a" + integrity sha1-AKn3OHVW4nA46uIyyqNypqWbZlo= dependencies: resolve-from "^3.0.0" resolve-dir@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-0.1.1.tgz#b219259a5602fac5c5c496ad894a6e8cc430261e" + integrity sha1-shklmlYC+sXFxJatiUpujMQwJh4= dependencies: expand-tilde "^1.2.2" global-modules "^0.2.3" +resolve-dir@^1.0.0, resolve-dir@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-1.0.1.tgz#79a40644c362be82f26effe739c9bb5382046f43" + integrity sha1-eaQGRMNivoLybv/nOcm7U4IEb0M= + dependencies: + expand-tilde "^2.0.0" + global-modules "^1.0.0" + resolve-from@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" + integrity sha1-six699nWiBvItuZTM17rywoYh0g= resolve-from@^4.0.0: version "4.0.0" @@ -8668,32 +9361,31 @@ resolve-from@^4.0.0: resolve-options@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/resolve-options/-/resolve-options-1.1.0.tgz#32bb9e39c06d67338dc9378c0d6d6074566ad131" + integrity sha1-MrueOcBtZzONyTeMDW1gdFZq0TE= dependencies: value-or-function "^3.0.0" resolve-url@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" + integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= resolve@1.1.7: version "1.1.7" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" + integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs= -resolve@^1.1.3: - version "1.11.1" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.11.1.tgz#ea10d8110376982fef578df8fc30b9ac30a07a3e" +resolve@^1.1.3, resolve@^1.10.0, resolve@^1.3.2, resolve@^1.8.1: + version "1.12.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.12.0.tgz#3fc644a35c84a48554609ff26ec52b66fa577df6" + integrity sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w== dependencies: path-parse "^1.0.6" -resolve@^1.3.2, resolve@^1.8.1: - version "1.8.1" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.8.1.tgz#82f1ec19a423ac1fbd080b0bab06ba36e84a7a26" - dependencies: - path-parse "^1.0.5" - restore-cursor@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541" + integrity sha1-NGYfRohjJ/7SmRR5FSJS35LapUE= dependencies: exit-hook "^1.0.0" onetime "^1.0.0" @@ -8701,6 +9393,7 @@ restore-cursor@^1.0.1: restore-cursor@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" + integrity sha1-n37ih/gv0ybU/RYpI9YhKe7g368= dependencies: onetime "^2.0.0" signal-exit "^3.0.2" @@ -8708,24 +9401,41 @@ restore-cursor@^2.0.0: ret@~0.1.10: version "0.1.15" resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" + integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== retry-axios@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/retry-axios/-/retry-axios-1.0.1.tgz#c1e465126416d8aee7a0a2d4be28401cc0135029" + integrity sha512-aVnENElFbdmbsv1WbTi610Ukdper88yUPz4Y3eg/DUyHV7vNaLrj9orB6FOjvmFoXL9wZvbMAsOD87BmcyBVOw== + +retry@^0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/retry/-/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b" + integrity sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs= reusify@^1.0.0: version "1.0.4" resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== -rimraf@2, rimraf@2.6.3, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2, rimraf@^2.6.3: +rimraf@2, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2, rimraf@^2.6.3: + version "2.7.1" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" + integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== + dependencies: + glob "^7.1.3" + +rimraf@2.6.3: version "2.6.3" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" + integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== dependencies: glob "^7.1.3" ripemd160@^2.0.0, ripemd160@^2.0.1: version "2.0.2" resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" + integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== dependencies: hash-base "^3.0.0" inherits "^2.0.1" @@ -8733,38 +9443,46 @@ ripemd160@^2.0.0, ripemd160@^2.0.1: rsvp@^3.3.3: version "3.6.2" resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-3.6.2.tgz#2e96491599a96cde1b515d5674a8f7a91452926a" + integrity sha512-OfWGQTb9vnwRjwtA2QwpG2ICclHC3pgXZO5xt8H2EfgDquO0qVdSb5T88L4qJVAEugbS56pAuV4XZM58UX8ulw== run-async@^2.2.0: version "2.3.0" resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0" + integrity sha1-A3GrSuC91yDUFm19/aZP96RFpsA= dependencies: is-promise "^2.1.0" run-node@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/run-node/-/run-node-1.0.0.tgz#46b50b946a2aa2d4947ae1d886e9856fd9cabe5e" + integrity sha512-kc120TBlQ3mih1LSzdAJXo4xn/GWS2ec0l3S+syHDXP9uRr0JAT8Qd3mdMuyjqCzeZktgP3try92cEgf9Nks8A== run-parallel@^1.1.9: version "1.1.9" resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.1.9.tgz#c9dd3a7cf9f4b2c4b6244e173a6ed866e61dd679" + integrity sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q== run-queue@^1.0.0, run-queue@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47" + integrity sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec= dependencies: aproba "^1.1.1" rw@1: version "1.3.3" resolved "https://registry.yarnpkg.com/rw/-/rw-1.3.3.tgz#3f862dfa91ab766b14885ef4d01124bfda074fb4" + integrity sha1-P4Yt+pGrdmsUiF700BEkv9oHT7Q= rx@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/rx/-/rx-4.1.0.tgz#a5f13ff79ef3b740fe30aa803fb09f98805d4782" + integrity sha1-pfE/957zt0D+MKqAP7CfmIBdR4I= rxjs@^5.0.0-beta.11: version "5.5.12" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-5.5.12.tgz#6fa61b8a77c3d793dbaf270bee2f43f652d741cc" + integrity sha512-xx2itnL5sBbqeeiVgNPVuQQ1nC8Jp2WfNJhXWHmElW9YmrpS9UVnNzhP3EH3HFqexO5Tlp8GhYY+WEcqcVMvGw== dependencies: symbol-observable "1.0.1" @@ -8775,31 +9493,37 @@ rxjs@^6.4.0: dependencies: tslib "^1.9.0" -safe-buffer@5.1.2, safe-buffer@^5.1.1, safe-buffer@^5.1.2: +safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.2" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== -safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@~5.1.0, safe-buffer@~5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853" +safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@~5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519" + integrity sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg== safe-json-parse@~1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/safe-json-parse/-/safe-json-parse-1.0.1.tgz#3e76723e38dfdda13c9b1d29a1e07ffee4b30b57" + integrity sha1-PnZyPjjf3aE8mx0poeB//uSzC1c= safe-regex@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" + integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= dependencies: ret "~0.1.10" "safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: version "2.1.2" resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== sane@^2.0.0: version "2.5.2" resolved "https://registry.yarnpkg.com/sane/-/sane-2.5.2.tgz#b4dc1861c21b427e929507a3e751e2a2cb8ab3fa" + integrity sha1-tNwYYcIbQn6SlQej51HiosuKs/o= dependencies: anymatch "^2.0.0" capture-exit "^1.2.0" @@ -8815,6 +9539,7 @@ sane@^2.0.0: sass-graph@^2.2.4: version "2.2.4" resolved "https://registry.yarnpkg.com/sass-graph/-/sass-graph-2.2.4.tgz#13fbd63cd1caf0908b9fd93476ad43a51d1e0b49" + integrity sha1-E/vWPNHK8JCLn9k0dq1DpR0eC0k= dependencies: glob "^7.0.0" lodash "^4.0.0" @@ -8822,30 +9547,25 @@ sass-graph@^2.2.4: yargs "^7.0.0" sass-loader@^7.1.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-7.1.0.tgz#16fd5138cb8b424bf8a759528a1972d72aad069d" + version "7.3.1" + resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-7.3.1.tgz#a5bf68a04bcea1c13ff842d747150f7ab7d0d23f" + integrity sha512-tuU7+zm0pTCynKYHpdqaPpe+MMTQ76I9TPZ7i4/5dZsigE350shQWe5EZNl5dBidM49TPET75tNqRbcsUZWeNA== dependencies: - clone-deep "^2.0.1" + clone-deep "^4.0.1" loader-utils "^1.0.1" - lodash.tail "^4.1.1" neo-async "^2.5.0" - pify "^3.0.0" - semver "^5.5.0" + pify "^4.0.1" + semver "^6.3.0" sax@^1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" - -schema-utils@^0.4.4: - version "0.4.7" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-0.4.7.tgz#ba74f597d2be2ea880131746ee17d0a093c68187" - dependencies: - ajv "^6.1.0" - ajv-keywords "^3.1.0" + integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== schema-utils@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770" + integrity sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g== dependencies: ajv "^6.1.0" ajv-errors "^1.0.0" @@ -8854,6 +9574,7 @@ schema-utils@^1.0.0: scope-css@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/scope-css/-/scope-css-1.2.1.tgz#c35768bc900cad030a3e0d663a818c0f6a57f40e" + integrity sha512-UjLRmyEYaDNiOS673xlVkZFlVCtckJR/dKgr434VMm7Lb+AOOqXKdAcY7PpGlJYErjXXJzKN7HWo4uRPiZZG0Q== dependencies: escaper "^2.5.3" slugify "^1.3.1" @@ -8862,6 +9583,7 @@ scope-css@^1.2.1: scss-tokenizer@^0.2.3: version "0.2.3" resolved "https://registry.yarnpkg.com/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz#8eb06db9a9723333824d3f5530641149847ce5d1" + integrity sha1-jrBtualyMzOCTT9VMGQRSYR85dE= dependencies: js-base64 "^2.1.8" source-map "^0.4.2" @@ -8869,42 +9591,26 @@ scss-tokenizer@^0.2.3: select-hose@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" + integrity sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo= -selfsigned@^1.10.4: - version "1.10.4" - resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.4.tgz#cdd7eccfca4ed7635d47a08bf2d5d3074092e2cd" +selfsigned@^1.10.7: + version "1.10.7" + resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.7.tgz#da5819fd049d5574f28e88a9bcc6dbc6e6f3906b" + integrity sha512-8M3wBCzeWIJnQfl43IKwOmC4H/RAp50S8DF60znzjW5GVqTcSe2vWclt7hmYVPkKPlHWOu5EaWOMZ2Y6W8ZXTA== dependencies: - node-forge "0.7.5" + node-forge "0.9.0" semver-compare@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" + integrity sha1-De4hahyUGrN+nvsXiPavxf9VN/w= -"semver@2 || 3 || 4 || 5", semver@^5.3.0: - version "5.4.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.4.1.tgz#e059c09d8571f0540823733433505d3a2f00b18e" - -semver@^5.4.1: - version "5.6.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.6.0.tgz#7e74256fbaa49c75aa7c7a205cc22799cac80004" - -semver@^5.5.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab" - -semver@^5.6.0: +"semver@2 || 3 || 4 || 5", semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, semver@^5.6.0: version "5.7.1" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" + integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== -semver@^6.0.0: - version "6.1.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.1.1.tgz#53f53da9b30b2103cd4f15eab3a18ecbcb210c9b" - -semver@^6.1.1: - version "6.2.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.2.0.tgz#4d813d9590aaf8a9192693d6c85b9344de5901db" - -semver@^6.1.2: +semver@^6.1.2, semver@^6.3.0: version "6.3.0" resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== @@ -8912,10 +9618,12 @@ semver@^6.1.2: semver@~5.3.0: version "5.3.0" resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" + integrity sha1-myzl094C0XxgEq0yaqa00M9U+U8= send@0.17.1: version "0.17.1" resolved "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8" + integrity sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg== dependencies: debug "2.6.9" depd "~1.1.2" @@ -8931,13 +9639,15 @@ send@0.17.1: range-parser "~1.2.1" statuses "~1.5.0" -serialize-javascript@^1.4.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-1.5.0.tgz#1aa336162c88a890ddad5384baebc93a655161fe" +serialize-javascript@^1.7.0: + version "1.9.1" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-1.9.1.tgz#cfc200aef77b600c47da9bb8149c943e798c2fdb" + integrity sha512-0Vb/54WJ6k5v8sSWN09S0ora+Hnr+cX40r9F170nT+mSkaxltoE/7R3OrIdBSUv1OoiobH1QoWQbCnAO+e8J1A== serve-index@^1.9.1: version "1.9.1" resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239" + integrity sha1-03aNabHn2C5c4FD/9bRTvqEqkjk= dependencies: accepts "~1.3.4" batch "0.6.1" @@ -8950,6 +9660,7 @@ serve-index@^1.9.1: serve-static@1.14.1: version "1.14.1" resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.1.tgz#666e636dc4f010f7ef29970a88a674320898b2f9" + integrity sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg== dependencies: encodeurl "~1.0.2" escape-html "~1.0.3" @@ -8959,29 +9670,12 @@ serve-static@1.14.1: set-blocking@^2.0.0, set-blocking@~2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= -set-getter@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/set-getter/-/set-getter-0.1.0.tgz#d769c182c9d5a51f409145f2fba82e5e86e80376" - dependencies: - to-object-path "^0.3.0" - -set-immediate-shim@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61" - -set-value@^0.4.3: - version "0.4.3" - resolved "https://registry.yarnpkg.com/set-value/-/set-value-0.4.3.tgz#7db08f9d3d22dc7f78e53af3c3bf4666ecdfccf1" - dependencies: - extend-shallow "^2.0.1" - is-extendable "^0.1.1" - is-plain-object "^2.0.1" - to-object-path "^0.3.0" - -set-value@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.0.tgz#71ae4a88f0feefbbf52d1ea604f3fb315ebb6274" +set-value@^2.0.0, set-value@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" + integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== dependencies: extend-shallow "^2.0.1" is-extendable "^0.1.1" @@ -8991,18 +9685,22 @@ set-value@^2.0.0: setimmediate@^1.0.4: version "1.0.5" resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" + integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= setprototypeof@1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" + integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ== setprototypeof@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683" + integrity sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw== sha.js@^2.4.0, sha.js@^2.4.8: version "2.4.11" resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" + integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== dependencies: inherits "^2.0.1" safe-buffer "^5.0.1" @@ -9010,61 +9708,78 @@ sha.js@^2.4.0, sha.js@^2.4.8: shallow-clone@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-0.1.2.tgz#5909e874ba77106d73ac414cfec1ffca87d97060" + integrity sha1-WQnodLp3EG1zrEFM/sH/yofZcGA= dependencies: is-extendable "^0.1.1" kind-of "^2.0.1" lazy-cache "^0.2.3" mixin-object "^2.0.1" -shallow-clone@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-1.0.0.tgz#4480cd06e882ef68b2ad88a3ea54832e2c48b571" +shallow-clone@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" + integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== dependencies: - is-extendable "^0.1.1" - kind-of "^5.0.0" - mixin-object "^2.0.1" + kind-of "^6.0.2" shebang-command@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" + integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= dependencies: shebang-regex "^1.0.0" shebang-regex@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" + integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= shellwords@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" + integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww== signal-exit@^3.0.0, signal-exit@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" + integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= + +simple-swizzle@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a" + integrity sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo= + dependencies: + is-arrayish "^0.3.1" sisteransi@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-0.1.1.tgz#5431447d5f7d1675aac667ccd0b865a4994cb3ce" + integrity sha512-PmGOd02bM9YO5ifxpw36nrNMBTptEtfRl4qUYl9SndkolplkrZZOW7PGHjrZL53QvMVj9nQ+TKqUnRsw4tJa4g== -sisteransi@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.0.tgz#77d9622ff909080f1c19e5f4a1df0c1b0a27b88c" +sisteransi@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.3.tgz#98168d62b79e3a5e758e27ae63c4a053d748f4eb" + integrity sha512-SbEG75TzH8G7eVXFSN5f9EExILKfly7SUvVY5DhhYLvfhKqhDFY0OzevWa/zwak0RLRfWS5AvfMWpd9gJvr5Yg== slash@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" + integrity sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU= slash@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" + integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A== slash@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== slice-ansi@0.0.4: version "0.0.4" resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35" + integrity sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU= slice-ansi@^2.1.0: version "2.1.0" @@ -9076,12 +9791,14 @@ slice-ansi@^2.1.0: is-fullwidth-code-point "^2.0.0" slugify@^1.3.1: - version "1.3.4" - resolved "https://registry.yarnpkg.com/slugify/-/slugify-1.3.4.tgz#78d2792d7222b55cd9fc81fa018df99af779efeb" + version "1.3.5" + resolved "https://registry.yarnpkg.com/slugify/-/slugify-1.3.5.tgz#90210678818b6d533cb060083aed0e8238133508" + integrity sha512-5VCnH7aS13b0UqWOs7Ef3E5rkhFe8Od+cp7wybFv5mv/sYSRkucZlJX0bamAJky7b2TTtGvrJBWVdpdEicsSrA== snapdragon-node@^2.0.1: version "2.1.1" resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" + integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== dependencies: define-property "^1.0.0" isobject "^3.0.0" @@ -9090,12 +9807,14 @@ snapdragon-node@^2.0.1: snapdragon-util@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" + integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== dependencies: kind-of "^3.2.0" snapdragon@^0.8.1: - version "0.8.1" - resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.1.tgz#e12b5487faded3e3dea0ac91e9400bf75b401370" + version "0.8.2" + resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" + integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== dependencies: base "^0.11.1" debug "^2.2.0" @@ -9104,11 +9823,12 @@ snapdragon@^0.8.1: map-cache "^0.2.2" source-map "^0.5.6" source-map-resolve "^0.5.0" - use "^2.0.0" + use "^3.1.0" -sockjs-client@1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.3.0.tgz#12fc9d6cb663da5739d3dc5fb6e8687da95cb177" +sockjs-client@1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.4.0.tgz#c9f2568e19c8fd8173b4997ea3420e0bb306c7d5" + integrity sha512-5zaLyO8/nri5cua0VtOrFXBPK1jbL4+1cebT/mmKA1E1ZXOvJrII75bPu0l0k843G/+iAbhEqzyKr0w/eCCj7g== dependencies: debug "^3.2.5" eventsource "^1.0.7" @@ -9120,6 +9840,7 @@ sockjs-client@1.3.0: sockjs@0.3.19: version "0.3.19" resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.19.tgz#d976bbe800af7bd20ae08598d582393508993c0d" + integrity sha512-V48klKZl8T6MzatbLlzzRNhMepEys9Y4oGFpypBFFn1gLI/QQ9HtLLyWJNbPlwGLelOVOEijUbTTJeLLI59jLw== dependencies: faye-websocket "^0.10.0" uuid "^3.0.1" @@ -9127,18 +9848,21 @@ sockjs@0.3.19: sort-keys@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad" + integrity sha1-RBttTTRnmPG05J6JIK37oOVD+a0= dependencies: is-plain-obj "^1.0.0" source-list-map@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" + integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== source-map-resolve@^0.5.0: - version "0.5.1" - resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.1.tgz#7ad0f593f2281598e854df80f19aae4b92d7a11a" + version "0.5.2" + resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.2.tgz#72e2cc34095543e43b2c62b2c4c10d4a9054f259" + integrity sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA== dependencies: - atob "^2.0.0" + atob "^2.1.1" decode-uri-component "^0.2.0" resolve-url "^0.2.1" source-map-url "^0.4.0" @@ -9147,19 +9871,14 @@ source-map-resolve@^0.5.0: source-map-support@^0.4.15: version "0.4.18" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.18.tgz#0286a6de8be42641338594e97ccea75f0a2c585f" + integrity sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA== dependencies: source-map "^0.5.6" -source-map-support@^0.5.6, source-map-support@^0.5.9, source-map-support@~0.5.6: - version "0.5.9" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.9.tgz#41bc953b2534267ea2d605bccfa7bfa3111ced5f" - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map-support@~0.5.9: - version "0.5.10" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.10.tgz#2214080bc9d51832511ee2bab96e3c2f9353120c" +source-map-support@^0.5.6, source-map-support@^0.5.9, source-map-support@~0.5.12: + version "0.5.13" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.13.tgz#31b24a9c2e73c2de85066c0feb7d44767ed52932" + integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w== dependencies: buffer-from "^1.0.0" source-map "^0.6.0" @@ -9167,61 +9886,77 @@ source-map-support@~0.5.9: source-map-url@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" + integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM= source-map@^0.4.2: version "0.4.4" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" + integrity sha1-66T12pwNyZneaAMti092FzZSA2s= dependencies: amdefine ">=0.0.4" -source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.7: +source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6, source-map@^0.5.7: version "0.5.7" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" - -source-map@^0.5.6: - version "0.5.6" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" + integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== source-map@~0.1.33: version "0.1.43" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.1.43.tgz#c24bc146ca517c1471f5dacbe2571b2b7f9e3346" + integrity sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y= dependencies: amdefine ">=0.0.4" space-separated-tokens@^1.0.0: version "1.1.4" resolved "https://registry.yarnpkg.com/space-separated-tokens/-/space-separated-tokens-1.1.4.tgz#27910835ae00d0adfcdbd0ad7e611fb9544351fa" + integrity sha512-UyhMSmeIqZrQn2UdjYpxEkwY9JUrn8pP+7L4f91zRzOQuI8MF1FGLfYU9DKCYeLdo7LXMxwrX5zKFy7eeeVHuA== spawnd@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/spawnd/-/spawnd-4.0.0.tgz#b27ee6e7ec55c6ec232c05a21418cf35a77e0409" + integrity sha512-ql3qhJnhAkvXpaqKBWOqou1rUTSQhFRaZkyOT+MTFB4xY3X+brgw6LTWV2wHuE9A6YPhrNe1cbg7S+jAYnbC0Q== dependencies: exit "^0.1.2" signal-exit "^3.0.2" tree-kill "^1.2.1" wait-port "^0.2.2" -spdx-correct@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-1.0.2.tgz#4b3073d933ff51f3912f03ac5519498a4150db40" +spdx-correct@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.0.tgz#fb83e504445268f154b074e218c87c003cd31df4" + integrity sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q== dependencies: - spdx-license-ids "^1.0.2" + spdx-expression-parse "^3.0.0" + spdx-license-ids "^3.0.0" -spdx-expression-parse@~1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz#9bdf2f20e1f40ed447fbe273266191fced51626c" +spdx-exceptions@^2.1.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz#2ea450aee74f2a89bfb94519c07fcd6f41322977" + integrity sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA== -spdx-license-ids@^1.0.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57" +spdx-expression-parse@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz#99e119b7a5da00e05491c9fa338b7904823b41d0" + integrity sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg== + dependencies: + spdx-exceptions "^2.1.0" + spdx-license-ids "^3.0.0" + +spdx-license-ids@^3.0.0: + version "3.0.5" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz#3694b5804567a458d3c8045842a6358632f62654" + integrity sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q== spdy-transport@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-3.0.0.tgz#00d4863a6400ad75df93361a1608605e5dcdcf31" + integrity sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw== dependencies: debug "^4.1.0" detect-node "^2.0.4" @@ -9230,9 +9965,10 @@ spdy-transport@^3.0.0: readable-stream "^3.0.6" wbuf "^1.7.3" -spdy@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/spdy/-/spdy-4.0.0.tgz#81f222b5a743a329aa12cea6a390e60e9b613c52" +spdy@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/spdy/-/spdy-4.0.1.tgz#6f12ed1c5db7ea4f24ebb8b89ba58c87c08257f2" + integrity sha512-HeZS3PBdMA+sZSu0qwpCxl3DeALD5ASx8pAX0jZdKXSpPWbQ6SYGnlg3BBmYLx5LtiZrmkAZfErCm2oECBcioA== dependencies: debug "^4.1.0" handle-thing "^2.0.0" @@ -9243,22 +9979,26 @@ spdy@^4.0.0: split-string@^3.0.1, split-string@^3.0.2: version "3.1.0" resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" + integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== dependencies: extend-shallow "^3.0.0" split@0.3: version "0.3.3" resolved "https://registry.yarnpkg.com/split/-/split-0.3.3.tgz#cd0eea5e63a211dfff7eb0f091c4133e2d0dd28f" + integrity sha1-zQ7qXmOiEd//frDwkcQTPi0N0o8= dependencies: through "2" sprintf-js@~1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= sshpk@^1.7.0: version "1.16.1" resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" + integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg== dependencies: asn1 "~0.2.3" assert-plus "^1.0.0" @@ -9270,28 +10010,32 @@ sshpk@^1.7.0: safer-buffer "^2.0.2" tweetnacl "~0.14.0" -ssri@^6.0.0: +ssri@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.1.tgz#2a3c41b28dd45b62b63676ecb74001265ae9edd8" + integrity sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA== dependencies: figgy-pudding "^3.5.1" stack-trace@0.0.x: version "0.0.10" resolved "https://registry.yarnpkg.com/stack-trace/-/stack-trace-0.0.10.tgz#547c70b347e8d32b4e108ea1a2a159e5fdde19c0" + integrity sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA= stack-utils@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.2.tgz#33eba3897788558bebfc2db059dc158ec36cebb8" + integrity sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA== start-server-and-test@^1.10.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/start-server-and-test/-/start-server-and-test-1.10.0.tgz#a7cd88932a52b42bc9de184430a498338e426c0b" + version "1.10.4" + resolved "https://registry.yarnpkg.com/start-server-and-test/-/start-server-and-test-1.10.4.tgz#f6cc79e129bd578f6745037d5b5207584f5592c1" + integrity sha512-Oi1YzmHzDSRMA4cwVrewZbVYoAcWeXdB73H5kutQex3cVhS8Thlwj8d4lXTp7hq1nXarIC91kCNMI17/78u/sQ== dependencies: - bluebird "3.5.5" + bluebird "3.7.0" check-more-types "2.24.0" debug "4.1.1" - execa "0.11.0" + execa "2.0.5" lazy-ass "1.6.0" ps-tree "1.2.0" wait-on "3.3.0" @@ -9299,10 +10043,12 @@ start-server-and-test@^1.10.0: state-toggle@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/state-toggle/-/state-toggle-1.0.2.tgz#75e93a61944116b4959d665c8db2d243631d6ddc" + integrity sha512-8LpelPGR0qQM4PnfLiplOQNJcIN1/r2Gy0xKB2zKnIW2YzPMt2sR4I/+gtPjhN7Svh9kw+zqEg2SFwpBO9iNiw== static-extend@^0.1.1: version "0.1.2" resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" + integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= dependencies: define-property "^0.2.5" object-copy "^0.1.0" @@ -9310,26 +10056,31 @@ static-extend@^0.1.1: "statuses@>= 1.4.0 < 2", "statuses@>= 1.5.0 < 2", statuses@~1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" + integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= stdout-stream@^1.4.0: version "1.4.1" resolved "https://registry.yarnpkg.com/stdout-stream/-/stdout-stream-1.4.1.tgz#5ac174cdd5cd726104aa0c0b2bd83815d8d535de" + integrity sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA== dependencies: readable-stream "^2.0.1" -stealthy-require@^1.1.0, stealthy-require@^1.1.1: +stealthy-require@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" + integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks= stream-array@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/stream-array/-/stream-array-1.1.2.tgz#9e5f7345f2137c30ee3b498b9114e80b52bb7eb5" + integrity sha1-nl9zRfITfDDuO0mLkRToC1K7frU= dependencies: readable-stream "~2.1.0" stream-browserify@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.1.tgz#66266ee5f9bdb9940a4e4514cafb43bb71e5c9db" + version "2.0.2" + resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.2.tgz#87521d38a44aa7ee91ce1cd2a47df0cb49dd660b" + integrity sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg== dependencies: inherits "~2.0.1" readable-stream "^2.0.2" @@ -9337,6 +10088,7 @@ stream-browserify@^2.0.1: stream-combiner2@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/stream-combiner2/-/stream-combiner2-1.1.1.tgz#fb4d8a1420ea362764e21ad4780397bebcb41cbe" + integrity sha1-+02KFCDqNidk4hrUeAOXvry0HL4= dependencies: duplexer2 "~0.1.0" readable-stream "^2.0.2" @@ -9344,12 +10096,14 @@ stream-combiner2@^1.1.1: stream-combiner@~0.0.4: version "0.0.4" resolved "https://registry.yarnpkg.com/stream-combiner/-/stream-combiner-0.0.4.tgz#4d5e433c185261dde623ca3f44c586bcf5c4ad14" + integrity sha1-TV5DPBhSYd3mI8o/RMWGvPXErRQ= dependencies: duplexer "~0.1.1" stream-each@^1.1.0: version "1.2.3" resolved "https://registry.yarnpkg.com/stream-each/-/stream-each-1.2.3.tgz#ebe27a0c389b04fbcc233642952e10731afa9bae" + integrity sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw== dependencies: end-of-stream "^1.1.0" stream-shift "^1.0.0" @@ -9357,6 +10111,7 @@ stream-each@^1.1.0: stream-http@^2.7.2: version "2.8.3" resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc" + integrity sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw== dependencies: builtin-status-codes "^3.0.0" inherits "^2.0.1" @@ -9367,18 +10122,22 @@ stream-http@^2.7.2: stream-shift@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.0.tgz#d5c752825e5367e786f78e18e445ea223a155952" + integrity sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI= stream-to-observable@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/stream-to-observable/-/stream-to-observable-0.1.0.tgz#45bf1d9f2d7dc09bed81f1c307c430e68b84cffe" + integrity sha1-Rb8dny19wJvtgfHDB8Qw5ouEz/4= strict-uri-encode@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" + integrity sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM= string-length@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/string-length/-/string-length-2.0.0.tgz#d40dbb686a3ace960c1cffca562bf2c45f8363ed" + integrity sha1-1A27aGo6zpYMHP/KVivyxF+DY+0= dependencies: astral-regex "^1.0.0" strip-ansi "^4.0.0" @@ -9386,25 +10145,29 @@ string-length@^2.0.0: string-template@~0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/string-template/-/string-template-0.2.1.tgz#42932e598a352d01fc22ec3367d9d84eec6c9add" + integrity sha1-QpMuWYo1LQH8IuwzZ9nYTuxsmt0= string-width@^1.0.1, string-width@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" + integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= dependencies: code-point-at "^1.0.0" is-fullwidth-code-point "^1.0.0" strip-ansi "^3.0.0" -string-width@^2.0.0, string-width@^2.1.0, string-width@^2.1.1: +"string-width@^1.0.2 || 2", string-width@^2.0.0, string-width@^2.1.0, string-width@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" + integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== dependencies: is-fullwidth-code-point "^2.0.0" strip-ansi "^4.0.0" -string-width@^3.0.0: +string-width@^3.0.0, string-width@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" + integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== dependencies: emoji-regex "^7.0.1" is-fullwidth-code-point "^2.0.0" @@ -9413,36 +10176,51 @@ string-width@^3.0.0: string-width@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.1.0.tgz#ba846d1daa97c3c596155308063e075ed1c99aff" + integrity sha512-NrX+1dVVh+6Y9dnQ19pR0pP4FiEIlUvdTGn8pw6CKTNq5sgib2nIhmUNT5TAmhWmvKr3WcxBcP3E8nWezuipuQ== dependencies: emoji-regex "^8.0.0" is-fullwidth-code-point "^3.0.0" strip-ansi "^5.2.0" +string.prototype.trimleft@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/string.prototype.trimleft/-/string.prototype.trimleft-2.1.0.tgz#6cc47f0d7eb8d62b0f3701611715a3954591d634" + integrity sha512-FJ6b7EgdKxxbDxc79cOlok6Afd++TTs5szo+zJTUyow3ycrRfJVE2pq3vcN53XexvKZu/DJMDfeI/qMiZTrjTw== + dependencies: + define-properties "^1.1.3" + function-bind "^1.1.1" + +string.prototype.trimright@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/string.prototype.trimright/-/string.prototype.trimright-2.1.0.tgz#669d164be9df9b6f7559fa8e89945b168a5a6c58" + integrity sha512-fXZTSV55dNBwv16uw+hh5jkghxSnc5oHq+5K/gXgizHwAvMetdAJlHqqoFC1FSDVPYWLkAKl2cxpUT41sV7nSg== + dependencies: + define-properties "^1.1.3" + function-bind "^1.1.1" + string_decoder@0.10, string_decoder@~0.10.x: version "0.10.31" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" + integrity sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ= string_decoder@^1.0.0, string_decoder@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.2.0.tgz#fe86e738b19544afe70469243b2a1ee9240eae8d" + version "1.3.0" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== dependencies: - safe-buffer "~5.1.0" - -string_decoder@~1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.3.tgz#0fc67d7c141825de94282dd536bec6b9bce860ab" - dependencies: - safe-buffer "~5.1.0" + safe-buffer "~5.2.0" string_decoder@~1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== dependencies: safe-buffer "~5.1.0" stringify-entities@^1.0.1: version "1.3.2" resolved "https://registry.yarnpkg.com/stringify-entities/-/stringify-entities-1.3.2.tgz#a98417e5471fd227b3e45d3db1861c11caf668f7" + integrity sha512-nrBAQClJAPN2p+uGCVJRPIPakKeKWZ9GtBCmormE7pWOSlHat7+x5A8gx85M7HM5Dt0BP3pP5RhVW77WdbJJ3A== dependencies: character-entities-html4 "^1.0.0" character-entities-legacy "^1.0.0" @@ -9452,54 +10230,69 @@ stringify-entities@^1.0.1: strip-ansi@^3.0.0, strip-ansi@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" + integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= dependencies: ansi-regex "^2.0.0" strip-ansi@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" + integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= dependencies: ansi-regex "^3.0.0" strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" + integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== dependencies: ansi-regex "^4.1.0" strip-ansi@~0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-0.1.1.tgz#39e8a98d044d150660abe4a6808acf70bb7bc991" + integrity sha1-OeipjQRNFQZgq+SmgIrPcLt7yZE= strip-bom@3.0.0, strip-bom@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= strip-bom@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" + integrity sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4= dependencies: is-utf8 "^0.2.0" strip-css-comments@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/strip-css-comments/-/strip-css-comments-3.0.0.tgz#7a5625eff8a2b226cf8947a11254da96e13dae89" + integrity sha1-elYl7/iisibPiUehElTaluE9rok= dependencies: is-regexp "^1.0.0" strip-eof@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" + integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= + +strip-final-newline@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" + integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== strip-indent@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2" + integrity sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI= dependencies: get-stdin "^4.0.1" strip-json-comments@^2.0.1, strip-json-comments@~2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= strip-json-comments@^3.0.1: version "3.0.1" @@ -9509,40 +10302,40 @@ strip-json-comments@^3.0.1: subarg@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/subarg/-/subarg-1.0.0.tgz#f62cf17581e996b48fc965699f54c06ae268b8d2" + integrity sha1-9izxdYHplrSPyWVpn1TAauJouNI= dependencies: minimist "^1.1.0" -supports-color@5.5.0, supports-color@^5.0.0, supports-color@^5.4.0, supports-color@^5.5.0: +supports-color@5.5.0, supports-color@^5.0.0, supports-color@^5.3.0, supports-color@^5.4.0, supports-color@^5.5.0: version "5.5.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + +supports-color@6.1.0, supports-color@^6.0.0, supports-color@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3" + integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ== dependencies: has-flag "^3.0.0" supports-color@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" + integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= supports-color@^3.1.2: version "3.2.3" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6" + integrity sha1-ZawFBLOVQXHYpklGsq48u4pfVPY= dependencies: has-flag "^1.0.0" -supports-color@^5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.3.0.tgz#5b24ac15db80fa927cf5227a4a33fd3c4c7676c0" - dependencies: - has-flag "^3.0.0" - -supports-color@^6.0.0, supports-color@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3" - dependencies: - has-flag "^3.0.0" - supports-hyperlinks@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-1.0.1.tgz#71daedf36cc1060ac5100c351bb3da48c29c0ef7" + integrity sha512-HHi5kVSefKaJkGYXbDuKbUGRVxqnWGn3J2e39CYcNJEfWciGq2zYtOhXLTlvrOZW1QU7VX67w7fMmWafHX9Pfw== dependencies: has-flag "^2.0.0" supports-color "^5.0.0" @@ -9550,10 +10343,12 @@ supports-hyperlinks@^1.0.1: symbol-observable@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.0.1.tgz#8340fc4702c3122df5d22288f88283f513d3fdd4" + integrity sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ= symbol-tree@^3.2.2: - version "3.2.2" - resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.2.tgz#ae27db38f660a7ae2e1c3b7d1bc290819b8519e6" + version "3.2.4" + resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" + integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== table@^5.2.3: version "5.4.6" @@ -9565,66 +10360,61 @@ table@^5.2.3: slice-ansi "^2.1.0" string-width "^3.0.0" -tapable@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.0.0.tgz#cbb639d9002eed9c6b5975eb20598d7936f1f9f2" - -tapable@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.1.tgz#4d297923c5a72a42360de2ab52dadfaaec00018e" +tapable@^1.0.0, tapable@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" + integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== tar@^2.0.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1" + version "2.2.2" + resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.2.tgz#0ca8848562c7299b8b446ff6a4d60cdbb23edc40" + integrity sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA== dependencies: block-stream "*" - fstream "^1.0.2" + fstream "^1.0.12" inherits "2" tar@^4: - version "4.4.8" - resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.8.tgz#b19eec3fde2a96e64666df9fdb40c5ca1bc3747d" + version "4.4.13" + resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.13.tgz#43b364bc52888d555298637b10d60790254ab525" + integrity sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA== dependencies: chownr "^1.1.1" fs-minipass "^1.2.5" - minipass "^2.3.4" - minizlib "^1.1.1" + minipass "^2.8.6" + minizlib "^1.2.1" mkdirp "^0.5.0" safe-buffer "^5.1.2" - yallist "^3.0.2" + yallist "^3.0.3" -terser-webpack-plugin@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.1.0.tgz#cf7c25a1eee25bf121f4a587bb9e004e3f80e528" +terser-webpack-plugin@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.4.1.tgz#61b18e40eaee5be97e771cdbb10ed1280888c2b4" + integrity sha512-ZXmmfiwtCLfz8WKZyYUuuHf3dMYEjg8NrjHMb0JqHVHVOSkzp3cW2/XG1fP3tRhqEqSzMwzzRQGtAPbs4Cncxg== dependencies: - cacache "^11.0.2" - find-cache-dir "^2.0.0" + cacache "^12.0.2" + find-cache-dir "^2.1.0" + is-wsl "^1.1.0" schema-utils "^1.0.0" - serialize-javascript "^1.4.0" + serialize-javascript "^1.7.0" source-map "^0.6.1" - terser "^3.8.1" - webpack-sources "^1.1.0" - worker-farm "^1.5.2" + terser "^4.1.2" + webpack-sources "^1.4.0" + worker-farm "^1.7.0" -terser@^3.16.1: - version "3.16.1" - resolved "https://registry.yarnpkg.com/terser/-/terser-3.16.1.tgz#5b0dd4fa1ffd0b0b43c2493b2c364fd179160493" +terser@^4.0.0, terser@^4.1.2: + version "4.3.8" + resolved "https://registry.yarnpkg.com/terser/-/terser-4.3.8.tgz#707f05f3f4c1c70c840e626addfdb1c158a17136" + integrity sha512-otmIRlRVmLChAWsnSFNO0Bfk6YySuBp6G9qrHiJwlLDd4mxe2ta4sjI7TzIR+W1nBMjilzrMcPOz9pSusgx3hQ== dependencies: - commander "~2.17.1" + commander "^2.20.0" source-map "~0.6.1" - source-map-support "~0.5.9" - -terser@^3.8.1: - version "3.11.0" - resolved "https://registry.yarnpkg.com/terser/-/terser-3.11.0.tgz#60782893e1f4d6788acc696351f40636d0e37af0" - dependencies: - commander "~2.17.1" - source-map "~0.6.1" - source-map-support "~0.5.6" + source-map-support "~0.5.12" test-exclude@^4.2.1: version "4.2.3" resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-4.2.3.tgz#a9a5e64474e4398339245a0a769ad7c2f4a97c20" + integrity sha512-SYbXgY64PT+4GAL2ocI3HwPa4Q4TBKm0cwAVeKOt/Aoc0gSpNRjJX8w0pA1LMKZ3LBmd8pYBqApFNQLII9kavA== dependencies: arrify "^1.0.1" micromatch "^2.3.11" @@ -9632,35 +10422,38 @@ test-exclude@^4.2.1: read-pkg-up "^1.0.1" require-main-filename "^1.0.1" +text-hex@1.0.x: + version "1.0.0" + resolved "https://registry.yarnpkg.com/text-hex/-/text-hex-1.0.0.tgz#69dc9c1b17446ee79a92bf5b884bb4b9127506f5" + integrity sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg== + text-table@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= throat@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/throat/-/throat-4.1.0.tgz#89037cbc92c56ab18926e6ba4cbb200e15672a6a" + integrity sha1-iQN8vJLFarGJJua6TLsgDhVnKmo= throttleit@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/throttleit/-/throttleit-1.0.0.tgz#9e785836daf46743145a5984b6268d828528ac6c" + integrity sha1-nnhYNtr0Z0MUWlmEtiaNgoUorGw= -through2-filter@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/through2-filter/-/through2-filter-2.0.0.tgz#60bc55a0dacb76085db1f9dae99ab43f83d622ec" +through2-filter@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/through2-filter/-/through2-filter-3.0.0.tgz#700e786df2367c2c88cd8aa5be4cf9c1e7831254" + integrity sha512-jaRjI2WxN3W1V8/FMZ9HKIBXixtiqs3SQSX4/YGIiP3gL6djW48VoZq9tDqeCWs3MT8YY5wb/zli8VW8snY1CA== dependencies: through2 "~2.0.0" xtend "~4.0.0" -through2@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be" - dependencies: - readable-stream "^2.1.5" - xtend "~4.0.1" - -through2@^2.0.3, through2@~2.0.0: +through2@^2.0.0, through2@^2.0.3, through2@~2.0.0: version "2.0.5" resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" + integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== dependencies: readable-stream "~2.3.6" xtend "~4.0.1" @@ -9668,20 +10461,24 @@ through2@^2.0.3, through2@~2.0.0: through@2, "through@>=2.2.7 <3", through@^2.3.6, through@~2.3, through@~2.3.1: version "2.3.8" resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= thunky@^1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/thunky/-/thunky-1.0.3.tgz#f5df732453407b09191dae73e2a8cc73f381a826" + integrity sha512-YwT8pjmNcAXBZqrubu22P4FYsh2D4dxRmnWBOL8Jk8bUcRUtc5326kx32tuTmFDAZtLOGEVNl8POAR8j896Iow== timers-browserify@^2.0.4: - version "2.0.10" - resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.10.tgz#1d28e3d2aadf1d5a5996c4e9f95601cd053480ae" + version "2.0.11" + resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.11.tgz#800b1f3eee272e5bc53ee465a04d0e804c31211f" + integrity sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ== dependencies: setimmediate "^1.0.4" tiny-lr@^1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/tiny-lr/-/tiny-lr-1.1.1.tgz#9fa547412f238fedb068ee295af8b682c98b2aab" + integrity sha512-44yhA3tsaRoMOjQQ+5v5mVdqef+kH6Qze9jTpqtVufgYjYt08zyZAwNwwVBj3i1rJMnR52IxOW0LK0vBzgAkuA== dependencies: body "^5.1.0" debug "^3.1.0" @@ -9693,22 +10490,26 @@ tiny-lr@^1.1.0: tmp@0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.1.0.tgz#ee434a4e22543082e294ba6201dcc6eafefa2877" + integrity sha512-J7Z2K08jbGcdA1kkQpJSqLF6T0tdQqpR2pnSUXsIchbPdTI9v3e85cLW0d6WDhwuAleOV71j2xWs8qMPfK7nKw== dependencies: rimraf "^2.6.3" tmp@^0.0.33: version "0.0.33" resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" + integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== dependencies: os-tmpdir "~1.0.2" tmpl@1.0.x: version "1.0.4" resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1" + integrity sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE= to-absolute-glob@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz#1865f43d9e74b0822db9f145b78cff7d0f7c849b" + integrity sha1-GGX0PZ50sIItufFFt4z/fQ98hJs= dependencies: is-absolute "^1.0.0" is-negated-glob "^1.0.0" @@ -9716,24 +10517,29 @@ to-absolute-glob@^2.0.0: to-arraybuffer@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" + integrity sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M= to-fast-properties@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47" + integrity sha1-uDVx+k2MJbguIxsG46MFXeTKGkc= to-fast-properties@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" + integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= to-object-path@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" + integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= dependencies: kind-of "^3.0.2" to-regex-range@^2.1.0: version "2.1.1" resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" + integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= dependencies: is-number "^3.0.0" repeat-string "^1.6.1" @@ -9741,12 +10547,14 @@ to-regex-range@^2.1.0: to-regex-range@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== dependencies: is-number "^7.0.0" to-regex@^3.0.1, to-regex@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" + integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== dependencies: define-property "^2.0.2" extend-shallow "^3.0.2" @@ -9756,22 +10564,19 @@ to-regex@^3.0.1, to-regex@^3.0.2: to-through@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/to-through/-/to-through-2.0.0.tgz#fc92adaba072647bc0b67d6b03664aa195093af6" + integrity sha1-/JKtq6ByZHvAtn1rA2ZKoZUJOvY= dependencies: through2 "^2.0.3" toidentifier@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" + integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw== -topo@3.x.x: - version "3.0.3" - resolved "https://registry.yarnpkg.com/topo/-/topo-3.0.3.tgz#d5a67fb2e69307ebeeb08402ec2a2a6f5f7ad95c" - dependencies: - hoek "6.x.x" - -tough-cookie@>=2.3.3, tough-cookie@^2.3.3, tough-cookie@^2.3.4: +tough-cookie@^2.3.3, tough-cookie@^2.3.4: version "2.5.0" resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" + integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== dependencies: psl "^1.1.28" punycode "^2.1.1" @@ -9779,6 +10584,7 @@ tough-cookie@>=2.3.3, tough-cookie@^2.3.3, tough-cookie@^2.3.4: tough-cookie@~2.4.3: version "2.4.3" resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.4.3.tgz#53f36da3f47783b0925afa06ff9f3b165280f781" + integrity sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ== dependencies: psl "^1.1.24" punycode "^1.4.1" @@ -9786,86 +10592,110 @@ tough-cookie@~2.4.3: tr46@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/tr46/-/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09" + integrity sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk= dependencies: punycode "^2.1.0" tree-kill@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/tree-kill/-/tree-kill-1.2.1.tgz#5398f374e2f292b9dcc7b2e71e30a5c3bb6c743a" + integrity sha512-4hjqbObwlh2dLyW4tcz0Ymw0ggoaVDMveUB9w8kFSQScdRLo0gxO9J7WFcUBo+W3C1TLdFIEwNOWebgZZ0RH9Q== treeify@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/treeify/-/treeify-1.1.0.tgz#4e31c6a463accd0943879f30667c4fdaff411bb8" + integrity sha512-1m4RA7xVAJrSGrrXGs0L3YTwyvBs2S8PbRHaLZAkFw7JR8oIFwYtysxlBZhYIa7xSyiYJKZ3iGrrk55cGA3i9A== trim-lines@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/trim-lines/-/trim-lines-1.1.2.tgz#c8adbdbdae21bb5c2766240a661f693afe23e59b" + integrity sha512-3GOuyNeTqk3FAqc3jOJtw7FTjYl94XBR5aD9QnDbK/T4CA9sW/J0l9RoaRPE9wyPP7NF331qnHnvJFBJ+IDkmQ== trim-newlines@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" + integrity sha1-WIeWa7WCpFA6QetST301ARgVphM= trim-right@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" + integrity sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM= trim-trailing-lines@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/trim-trailing-lines/-/trim-trailing-lines-1.1.2.tgz#d2f1e153161152e9f02fabc670fb40bec2ea2e3a" + integrity sha512-MUjYItdrqqj2zpcHFTkMa9WAv4JHTI6gnRQGPFLrt5L9a6tRMiDnIqYl8JBvu2d2Tc3lWJKQwlGCp0K8AvCM+Q== trim@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/trim/-/trim-0.0.1.tgz#5858547f6b290757ee95cccc666fb50084c460dd" + integrity sha1-WFhUf2spB1fulczMZm+1AITEYN0= + +triple-beam@^1.2.0, triple-beam@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/triple-beam/-/triple-beam-1.3.0.tgz#a595214c7298db8339eeeee083e4d10bd8cb8dd9" + integrity sha512-XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw== trough@^1.0.0: version "1.0.4" resolved "https://registry.yarnpkg.com/trough/-/trough-1.0.4.tgz#3b52b1f13924f460c3fbfd0df69b587dbcbc762e" + integrity sha512-tdzBRDGWcI1OpPVmChbdSKhvSVurznZ8X36AYURAcl+0o2ldlCY2XPzyXNNxwJwwyIU+rIglTCG4kxtNKBQH7Q== "true-case-path@^1.0.2": version "1.0.3" resolved "https://registry.yarnpkg.com/true-case-path/-/true-case-path-1.0.3.tgz#f813b5a8c86b40da59606722b144e3225799f47d" + integrity sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew== dependencies: glob "^7.1.2" try-catch@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/try-catch/-/try-catch-2.0.0.tgz#a491141d597f8b72b46757fe1c47059341a16aed" + version "2.0.1" + resolved "https://registry.yarnpkg.com/try-catch/-/try-catch-2.0.1.tgz#a35d354187c422f291a0bcfd9eb77e3a4f90c1e5" + integrity sha512-LsOrmObN/2WdM+y2xG+t16vhYrQsnV8wftXIcIOWZhQcBJvKGYuamJGwnU98A7Jxs2oZNkJztXlphEOoA0DWqg== try-to-catch@^1.0.2: version "1.1.1" resolved "https://registry.yarnpkg.com/try-to-catch/-/try-to-catch-1.1.1.tgz#770162dd13b9a0e55da04db5b7f888956072038a" + integrity sha512-ikUlS+/BcImLhNYyIgZcEmq4byc31QpC+46/6Jm5ECWkVFhf8SM2Fp/0pMVXPX6vk45SMCwrP4Taxucne8I0VA== -tslib@^1, tslib@^1.9.3: +tslib@^1, tslib@^1.9.0, tslib@^1.9.3: version "1.10.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a" - -tslib@^1.9.0: - version "1.9.3" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.3.tgz#d7e4dd79245d85428c4d7e4822a79917954ca286" + integrity sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ== tty-browserify@0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" + integrity sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY= tunnel-agent@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= dependencies: safe-buffer "^5.0.1" tweetnacl@^0.14.3, tweetnacl@~0.14.0: version "0.14.5" resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" + integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= type-check@~0.3.2: version "0.3.2" resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= dependencies: prelude-ls "~1.1.2" +type-fest@^0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.5.2.tgz#d6ef42a0356c6cd45f49485c3b6281fc148e48a2" + integrity sha512-DWkS49EQKVX//Tbupb9TFa19c7+MK1XmzkrZUR8TAktmE/DizXoaoJV6TZ/tSIPXipqNiRI6CyAe7x69Jb6RSw== + type-is@~1.6.17, type-is@~1.6.18: version "1.6.18" resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" + integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== dependencies: media-typer "0.3.0" mime-types "~2.1.24" @@ -9873,29 +10703,35 @@ type-is@~1.6.17, type-is@~1.6.18: typedarray@^0.0.6, typedarray@~0.0.5: version "0.0.6" resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" + integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= -uglify-js@3.4.x, uglify-js@^3.1.4: - version "3.4.9" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.4.9.tgz#af02f180c1207d76432e473ed24a28f4a782bae3" +uglify-js@^3.1.4, uglify-js@^3.5.1: + version "3.6.0" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.6.0.tgz#704681345c53a8b2079fb6cec294b05ead242ff5" + integrity sha512-W+jrUHJr3DXKhrsS7NUVxn3zqMOFn0hL/Ei6v0anCIMoKC93TjcflTagwIHLW7SfMFfiQuktQyFVCFHGUE0+yg== dependencies: - commander "~2.17.1" + commander "~2.20.0" source-map "~0.6.1" unc-path-regex@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa" + integrity sha1-5z3T17DXxe2G+6xrCufYxqadUPo= underscore@1.1.x: version "1.1.7" resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.1.7.tgz#40bab84bad19d230096e8d6ef628bff055d83db0" + integrity sha1-QLq4S60Z0jAJbo1u9ii/8FXYPbA= underscore@~1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.6.0.tgz#8b38b10cacdef63337b8b24e4ff86d45aea529a8" + integrity sha1-izixDKze9jM3uLJOT/htRa6lKag= unherit@^1.0.4: version "1.1.2" resolved "https://registry.yarnpkg.com/unherit/-/unherit-1.1.2.tgz#14f1f397253ee4ec95cec167762e77df83678449" + integrity sha512-W3tMnpaMG7ZY6xe/moK04U9fBhi6wEiCYHUW5Mop/wQHf12+79EQGwxYejNdhEz2mkqkBlGwm7pxmgBKMVUj0w== dependencies: inherits "^2.0.1" xtend "^4.0.1" @@ -9903,29 +10739,30 @@ unherit@^1.0.4: unicode-canonical-property-names-ecmascript@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818" + integrity sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ== unicode-match-property-ecmascript@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz#8ed2a32569961bce9227d09cd3ffbb8fed5f020c" + integrity sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg== dependencies: unicode-canonical-property-names-ecmascript "^1.0.4" unicode-property-aliases-ecmascript "^1.0.4" -unicode-match-property-value-ecmascript@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.0.2.tgz#9f1dc76926d6ccf452310564fd834ace059663d4" - unicode-match-property-value-ecmascript@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.1.0.tgz#5b4b426e08d13a80365e0d657ac7a6c1ec46a277" + integrity sha512-hDTHvaBk3RmFzvSl0UVrUmC3PuW9wKVnpoUDYH0JDkSIovzw+J5viQmeYHxVSBptubnr7PbH2e0fnpDRQnQl5g== unicode-property-aliases-ecmascript@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.4.tgz#5a533f31b4317ea76f17d807fa0d116546111dd0" + version "1.0.5" + resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz#a9cc6cc7ce63a0a3023fc99e341b94431d405a57" + integrity sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw== unified@^6.0.0: version "6.2.0" resolved "https://registry.yarnpkg.com/unified/-/unified-6.2.0.tgz#7fbd630f719126d67d40c644b7e3f617035f6dba" + integrity sha512-1k+KPhlVtqmG99RaTbAv/usu85fcSRu3wY8X+vnsEhIxNP5VbVIDiXnLqyKIG+UMdyTg0ZX9EI6k2AfjJkHPtA== dependencies: bail "^1.0.0" extend "^3.0.0" @@ -9935,123 +10772,146 @@ unified@^6.0.0: x-is-string "^0.1.0" union-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.0.tgz#5c71c34cb5bad5dcebe3ea0cd08207ba5aa1aea4" + version "1.0.1" + resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" + integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== dependencies: arr-union "^3.1.0" get-value "^2.0.6" is-extendable "^0.1.1" - set-value "^0.4.3" + set-value "^2.0.1" -unique-filename@^1.1.0: +uniq@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" + integrity sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8= + +unique-filename@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230" + integrity sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ== dependencies: unique-slug "^2.0.0" unique-slug@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.1.tgz#5e9edc6d1ce8fb264db18a507ef9bd8544451ca6" + version "2.0.2" + resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.2.tgz#baabce91083fc64e945b0f3ad613e264f7cd4e6c" + integrity sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w== dependencies: imurmurhash "^0.1.4" unique-stream@^2.0.2: - version "2.2.1" - resolved "https://registry.yarnpkg.com/unique-stream/-/unique-stream-2.2.1.tgz#5aa003cfbe94c5ff866c4e7d668bb1c4dbadb369" + version "2.3.1" + resolved "https://registry.yarnpkg.com/unique-stream/-/unique-stream-2.3.1.tgz#c65d110e9a4adf9a6c5948b28053d9a8d04cbeac" + integrity sha512-2nY4TnBE70yoxHkDli7DMazpWiP7xMdCYqU2nBRO0UB+ZpEkGsSija7MvmvnZFUeC+mrgiUfcHSr3LmRFIg4+A== dependencies: - json-stable-stringify "^1.0.0" - through2-filter "^2.0.0" + json-stable-stringify-without-jsonify "^1.0.1" + through2-filter "^3.0.0" unist-builder@^1.0.1, unist-builder@^1.0.2: version "1.0.4" resolved "https://registry.yarnpkg.com/unist-builder/-/unist-builder-1.0.4.tgz#e1808aed30bd72adc3607f25afecebef4dd59e17" + integrity sha512-v6xbUPP7ILrT15fHGrNyHc1Xda8H3xVhP7/HAIotHOhVPjH5dCXA097C3Rry1Q2O+HbOLCao4hfPB+EYEjHgVg== dependencies: object-assign "^4.1.0" unist-util-generated@^1.1.0: version "1.1.4" resolved "https://registry.yarnpkg.com/unist-util-generated/-/unist-util-generated-1.1.4.tgz#2261c033d9fc23fae41872cdb7663746e972c1a7" + integrity sha512-SA7Sys3h3X4AlVnxHdvN/qYdr4R38HzihoEVY2Q2BZu8NHWDnw5OGcC/tXWjQfd4iG+M6qRFNIRGqJmp2ez4Ww== unist-util-is@^2.0.0, unist-util-is@^2.1.2: version "2.1.3" resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-2.1.3.tgz#459182db31f4742fceaea88d429693cbf0043d20" + integrity sha512-4WbQX2iwfr/+PfM4U3zd2VNXY+dWtZsN1fLnWEi2QQXA4qyDYAZcDMfXUX0Cu6XZUHHAO9q4nyxxLT4Awk1qUA== unist-util-is@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-3.0.0.tgz#d9e84381c2468e82629e4a5be9d7d05a2dd324cd" + integrity sha512-sVZZX3+kspVNmLWBPAB6r+7D9ZgAFPNWm66f7YNb420RlQSbn+n8rG8dGZSkrER7ZIXGQYNm5pqC3v3HopH24A== unist-util-position@^3.0.0: version "3.0.3" resolved "https://registry.yarnpkg.com/unist-util-position/-/unist-util-position-3.0.3.tgz#fff942b879538b242096c148153826664b1ca373" + integrity sha512-28EpCBYFvnMeq9y/4w6pbnFmCUfzlsc41NJui5c51hOFjBA1fejcwc+5W4z2+0ECVbScG3dURS3JTVqwenzqZw== unist-util-remove-position@^1.0.0: version "1.1.3" resolved "https://registry.yarnpkg.com/unist-util-remove-position/-/unist-util-remove-position-1.1.3.tgz#d91aa8b89b30cb38bad2924da11072faa64fd972" + integrity sha512-CtszTlOjP2sBGYc2zcKA/CvNdTdEs3ozbiJ63IPBxh8iZg42SCCb8m04f8z2+V1aSk5a7BxbZKEdoDjadmBkWA== dependencies: unist-util-visit "^1.1.0" unist-util-stringify-position@^1.0.0, unist-util-stringify-position@^1.1.1: version "1.1.2" resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-1.1.2.tgz#3f37fcf351279dcbca7480ab5889bb8a832ee1c6" + integrity sha512-pNCVrk64LZv1kElr0N1wPiHEUoXNVFERp+mlTg/s9R5Lwg87f9bM/3sQB99w+N9D/qnM9ar3+AKDBwo/gm/iQQ== unist-util-stringify-position@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-2.0.1.tgz#de2a2bc8d3febfa606652673a91455b6a36fb9f3" + integrity sha512-Zqlf6+FRI39Bah8Q6ZnNGrEHUhwJOkHde2MHVk96lLyftfJJckaPslKgzhVcviXj8KcE9UJM9F+a4JEiBUTYgA== dependencies: "@types/unist" "^2.0.2" unist-util-visit-parents@^2.0.0: version "2.1.2" resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-2.1.2.tgz#25e43e55312166f3348cae6743588781d112c1e9" + integrity sha512-DyN5vD4NE3aSeB+PXYNKxzGsfocxp6asDc2XXE3b0ekO2BaRUpBicbbUygfSvYfUz1IkmjFR1YF7dPklraMZ2g== dependencies: unist-util-is "^3.0.0" unist-util-visit@^1.0.0, unist-util-visit@^1.1.0, unist-util-visit@^1.3.0: version "1.4.1" resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-1.4.1.tgz#4724aaa8486e6ee6e26d7ff3c8685960d560b1e3" + integrity sha512-AvGNk7Bb//EmJZyhtRUnNMEpId/AZ5Ph/KUpTI09WHQuDZHKovQ1oEv3mfmKpWKtoMzyMC4GLBm1Zy5k12fjIw== dependencies: unist-util-visit-parents "^2.0.0" universalify@^0.1.0: version "0.1.2" resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" + integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== unpipe@1.0.0, unpipe@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" + integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= unset-value@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" + integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= dependencies: has-value "^0.3.1" isobject "^3.0.0" -upath@^1.0.5: - version "1.1.0" - resolved "https://registry.yarnpkg.com/upath/-/upath-1.1.0.tgz#35256597e46a581db4793d0ce47fa9aebfc9fabd" - upath@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/upath/-/upath-1.1.2.tgz#3db658600edaeeccbe6db5e684d67ee8c2acd068" + version "1.2.0" + resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" + integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== upper-case@^1.1.1: version "1.1.3" resolved "https://registry.yarnpkg.com/upper-case/-/upper-case-1.1.3.tgz#f6b4501c2ec4cdd26ba78be7222961de77621598" + integrity sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg= uri-js@^4.2.2: version "4.2.2" resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" + integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ== dependencies: punycode "^2.1.0" urix@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" + integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= url-parse@^1.4.3: version "1.4.7" resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.4.7.tgz#a8a83535e8c00a316e403a5db4ac1b9b853ae278" + integrity sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg== dependencies: querystringify "^2.1.1" requires-port "^1.0.0" @@ -10059,25 +10919,25 @@ url-parse@^1.4.3: url@0.11.0, url@^0.11.0: version "0.11.0" resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" + integrity sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE= dependencies: punycode "1.3.2" querystring "0.2.0" -use@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/use/-/use-2.0.2.tgz#ae28a0d72f93bf22422a18a2e379993112dec8e8" - dependencies: - define-property "^0.2.5" - isobject "^3.0.0" - lazy-cache "^2.0.2" +use@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" + integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== util-deprecate@^1.0.1, util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= util.promisify@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030" + integrity sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA== dependencies: define-properties "^1.1.2" object.getownpropertydescriptors "^2.0.3" @@ -10085,26 +10945,31 @@ util.promisify@^1.0.0: util@0.10.3: version "0.10.3" resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" + integrity sha1-evsa/lCAUkZInj23/g7TeTNqwPk= dependencies: inherits "2.0.1" -util@^0.10.3: - version "0.10.4" - resolved "https://registry.yarnpkg.com/util/-/util-0.10.4.tgz#3aa0125bfe668a4672de58857d3ace27ecb76901" +util@^0.11.0: + version "0.11.1" + resolved "https://registry.yarnpkg.com/util/-/util-0.11.1.tgz#3236733720ec64bb27f6e26f421aaa2e1b588d61" + integrity sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ== dependencies: inherits "2.0.3" utils-merge@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" + integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= uuid@^3.0.1, uuid@^3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" + version "3.3.3" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.3.tgz#4568f0216e78760ee1dbf3a4d2cf53e224112866" + integrity sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ== -v8-compile-cache@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.0.2.tgz#a428b28bb26790734c4fc8bc9fa106fccebf6a6c" +v8-compile-cache@2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.0.3.tgz#00f7494d2ae2b688cfe2899df6ed2c54bef91dbe" + integrity sha512-CNmdbwQMBjwr9Gsmohvm0pbL954tJrNzf6gWL3K+QMQf00PF7ERGrEiLgjuU3mKreLC2MeGhUsNV9ybTbLgd3w== v8-compile-cache@^2.0.3: version "2.1.0" @@ -10112,23 +10977,27 @@ v8-compile-cache@^2.0.3: integrity sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g== validate-npm-package-license@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz#2804babe712ad3379459acfbe24746ab2c303fbc" + version "3.0.4" + resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" + integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== dependencies: - spdx-correct "~1.0.0" - spdx-expression-parse "~1.0.0" + spdx-correct "^3.0.0" + spdx-expression-parse "^3.0.0" value-or-function@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/value-or-function/-/value-or-function-3.0.0.tgz#1c243a50b595c1be54a754bfece8563b9ff8d813" + integrity sha1-HCQ6ULWVwb5Up1S/7OhWO5/42BM= vary@^1, vary@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" + integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= verror@1.10.0: version "1.10.0" resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" + integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= dependencies: assert-plus "^1.0.0" core-util-is "1.0.2" @@ -10137,16 +11006,19 @@ verror@1.10.0: vfile-location@^2.0.0: version "2.0.5" resolved "https://registry.yarnpkg.com/vfile-location/-/vfile-location-2.0.5.tgz#c83eb02f8040228a8d2b3f10e485be3e3433e0a2" + integrity sha512-Pa1ey0OzYBkLPxPZI3d9E+S4BmvfVwNAAXrrqGbwTVXWaX2p9kM1zZ+n35UtVM06shmWKH4RPRN8KI80qE3wNQ== vfile-message@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-1.1.1.tgz#5833ae078a1dfa2d96e9647886cd32993ab313e1" + integrity sha512-1WmsopSGhWt5laNir+633LszXvZ+Z/lxveBf6yhGsqnQIhlhzooZae7zV6YVM1Sdkw68dtAW3ow0pOdPANugvA== dependencies: unist-util-stringify-position "^1.1.1" vfile-message@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-2.0.1.tgz#951881861c22fc1eb39f873c0b93e336a64e8f6d" + integrity sha512-KtasSV+uVU7RWhUn4Lw+wW1Zl/nW8JWx7JCPps10Y9JRRIDeDXf8wfBLoOSsJLyo27DqMyAi54C6Jf/d6Kr2Bw== dependencies: "@types/unist" "^2.0.2" unist-util-stringify-position "^2.0.0" @@ -10154,6 +11026,7 @@ vfile-message@^2.0.0: vfile-reporter@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/vfile-reporter/-/vfile-reporter-6.0.0.tgz#753119f51dec9289b7508b457afc0cddf5e07f2e" + integrity sha512-8Is0XxFxWJUhPJdOg3CyZTqd3ICCWg6r304PuBl818ZG91h4FMS3Q+lrOPS+cs5/DZK3H0+AkJdH0J8JEwKtDA== dependencies: repeat-string "^1.5.0" string-width "^4.0.0" @@ -10165,14 +11038,17 @@ vfile-reporter@^6.0.0: vfile-sort@^2.1.0, vfile-sort@^2.1.2: version "2.2.1" resolved "https://registry.yarnpkg.com/vfile-sort/-/vfile-sort-2.2.1.tgz#74e714f9175618cdae96bcaedf1a3dc711d87567" + integrity sha512-5dt7xEhC44h0uRQKhbM2JAe0z/naHphIZlMOygtMBM9Nn0pZdaX5fshhwWit9wvsuP8t/wp43nTDRRErO1WK8g== vfile-statistics@^1.1.0: version "1.1.3" resolved "https://registry.yarnpkg.com/vfile-statistics/-/vfile-statistics-1.1.3.tgz#e9c87071997fbcb4243764d2c3805e0bb0820c60" + integrity sha512-CstaK/ebTz1W3Qp41Bt9Lj/2DmumFsCwC2sKahDNSPh0mPh7/UyMLCoU8ZBX34CRU0d61B4W41yIFsV0NKMZeA== vfile@^2.0.0: version "2.3.0" resolved "https://registry.yarnpkg.com/vfile/-/vfile-2.3.0.tgz#e62d8e72b20e83c324bc6c67278ee272488bf84a" + integrity sha512-ASt4mBUHcTpMKD/l5Q+WJXNtshlWxOogYyGYYrg4lt/vuRjC1EFQtlAofL5VmtVNIZJzWYFJjzGWZ0Gw8pzW1w== dependencies: is-buffer "^1.1.4" replace-ext "1.0.0" @@ -10182,6 +11058,7 @@ vfile@^2.0.0: vfile@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/vfile/-/vfile-4.0.1.tgz#fc3d43a1c71916034216bf65926d5ee3c64ed60c" + integrity sha512-lRHFCuC4SQBFr7Uq91oJDJxlnftoTLQ7eKIpMdubhYcVMho4781a8MWXLy3qZrZ0/STD1kRiKc0cQOHm4OkPeA== dependencies: "@types/unist" "^2.0.0" is-buffer "^2.0.0" @@ -10192,6 +11069,7 @@ vfile@^4.0.0: vinyl-fs@^3.0.2: version "3.0.3" resolved "https://registry.yarnpkg.com/vinyl-fs/-/vinyl-fs-3.0.3.tgz#c85849405f67428feabbbd5c5dbdd64f47d31bc7" + integrity sha512-vIu34EkyNyJxmP0jscNzWBSygh7VWhqun6RmqVfXePrOwi9lhvRs//dOaGOTRUQr4tx7/zd26Tk5WeSVZitgng== dependencies: fs-mkdirp-stream "^1.0.0" glob-stream "^6.1.0" @@ -10214,6 +11092,7 @@ vinyl-fs@^3.0.2: vinyl-sourcemap@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/vinyl-sourcemap/-/vinyl-sourcemap-1.1.0.tgz#92a800593a38703a8cdb11d8b300ad4be63b3e16" + integrity sha1-kqgAWTo4cDqM2xHYswCtS+Y7PhY= dependencies: append-buffer "^1.0.2" convert-source-map "^1.5.0" @@ -10226,6 +11105,7 @@ vinyl-sourcemap@^1.1.0: vinyl@^2.0.0, vinyl@^2.1.0: version "2.2.0" resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-2.2.0.tgz#d85b07da96e458d25b2ffe19fece9f2caa13ed86" + integrity sha512-MBH+yP0kC/GQ5GwBqrTPTzEfiiLjta7hTtvQtbxBgTeSXsmKQRQecjibMbxIXzVT3Y9KJK+drOz1/k+vsu8Nkg== dependencies: clone "^2.1.1" clone-buffer "^1.0.0" @@ -10234,15 +11114,15 @@ vinyl@^2.0.0, vinyl@^2.1.0: remove-trailing-separator "^1.0.1" replace-ext "^1.0.0" -vm-browserify@0.0.4: - version "0.0.4" - resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-0.0.4.tgz#5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73" - dependencies: - indexof "0.0.1" +vm-browserify@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.0.tgz#bd76d6a23323e2ca8ffa12028dc04559c75f9019" + integrity sha512-iq+S7vZJE60yejDYM0ek6zg308+UZsdtPExWP9VZoCFCz1zkJoXFnAX7aZfd/ZwrkidzdUZL0C/ryW+JwAiIGw== vue-template-compiler@^2.5.16: version "2.6.10" resolved "https://registry.yarnpkg.com/vue-template-compiler/-/vue-template-compiler-2.6.10.tgz#323b4f3495f04faa3503337a82f5d6507799c9cc" + integrity sha512-jVZkw4/I/HT5ZMvRnhv78okGusqe0+qH2A0Em0Cp8aq78+NK9TII263CDVz2QXZsIT+yyV/gZc/j/vlwa+Epyg== dependencies: de-indent "^1.0.2" he "^1.1.0" @@ -10250,12 +11130,14 @@ vue-template-compiler@^2.5.16: w3c-hr-time@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz#82ac2bff63d950ea9e3189a58a65625fedf19045" + integrity sha1-gqwr/2PZUOqeMYmlimViX+3xkEU= dependencies: browser-process-hrtime "^0.1.2" -wait-on@3.3.0: +wait-on@3.3.0, wait-on@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/wait-on/-/wait-on-3.3.0.tgz#9940981d047a72a9544a97b8b5fca45b2170a082" + integrity sha512-97dEuUapx4+Y12aknWZn7D25kkjMk16PbWoYzpSdA8bYpVfS6hpl2a2pOWZ3c+Tyt3/i4/pglyZctG3J4V1hWQ== dependencies: "@hapi/joi" "^15.0.3" core-js "^2.6.5" @@ -10263,46 +11145,41 @@ wait-on@3.3.0: request "^2.88.0" rx "^4.1.0" -wait-on@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/wait-on/-/wait-on-3.2.0.tgz#c83924df0fc42a675c678324c49c769d378bcb85" - dependencies: - core-js "^2.5.7" - joi "^13.0.0" - minimist "^1.2.0" - request "^2.88.0" - rx "^4.1.0" - wait-port@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/wait-port/-/wait-port-0.2.2.tgz#d51a491e484a17bf75a947e711a2f012b4e6f2e3" + version "0.2.4" + resolved "https://registry.yarnpkg.com/wait-port/-/wait-port-0.2.4.tgz#67619c0151ff7e3971dc39da3fce4c3ad4af1dbb" + integrity sha512-PI0x+Q+IJdHo/ODGVw2qmsZUr/TmfoVJc4o6wNENbpYQ/y4KiuGzdyxYSBC3GCHFeM4YHreP34ZfzEk3+znc7Q== dependencies: - chalk "^1.1.3" - commander "^2.9.0" - debug "^2.6.6" + chalk "^2.3.0" + commander "^3.0.0" + debug "^4.1.0" walk@^2.3.14: version "2.3.14" resolved "https://registry.yarnpkg.com/walk/-/walk-2.3.14.tgz#60ec8631cfd23276ae1e7363ce11d626452e1ef3" + integrity sha512-5skcWAUmySj6hkBdH6B6+3ddMjVQYH5Qy9QGbPmN8kVmLteXk+yVXg+yfk1nbX30EYakahLrr8iPcCxJQSCBeg== dependencies: foreachasync "^3.0.0" walker@~1.0.5: version "1.0.7" resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb" + integrity sha1-L3+bj9ENZ3JisYqITijRlhjgKPs= dependencies: makeerror "1.0.x" watch@~0.18.0: version "0.18.0" resolved "https://registry.yarnpkg.com/watch/-/watch-0.18.0.tgz#28095476c6df7c90c963138990c0a5423eb4b986" + integrity sha1-KAlUdsbffJDJYxOJkMClQj60uYY= dependencies: exec-sh "^0.2.0" minimist "^1.2.0" -watchpack@^1.5.0: +watchpack@^1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.6.0.tgz#4bc12c2ebe8aa277a71f1d3f14d685c7b446cd00" + integrity sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA== dependencies: chokidar "^2.0.2" graceful-fs "^4.1.2" @@ -10311,75 +11188,86 @@ watchpack@^1.5.0: wbuf@^1.1.0, wbuf@^1.7.3: version "1.7.3" resolved "https://registry.yarnpkg.com/wbuf/-/wbuf-1.7.3.tgz#c1d8d149316d3ea852848895cb6a0bfe887b87df" + integrity sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA== dependencies: minimalistic-assert "^1.0.0" webidl-conversions@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" + integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg== webpack-cli@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-3.1.2.tgz#17d7e01b77f89f884a2bbf9db545f0f6a648e746" + version "3.3.9" + resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-3.3.9.tgz#79c27e71f94b7fe324d594ab64a8e396b9daa91a" + integrity sha512-xwnSxWl8nZtBl/AFJCOn9pG7s5CYUYdZxmmukv+fAHLcBIHM36dImfpQg3WfShZXeArkWlf6QRw24Klcsv8a5A== dependencies: - chalk "^2.4.1" - cross-spawn "^6.0.5" - enhanced-resolve "^4.1.0" - global-modules-path "^2.3.0" - import-local "^2.0.0" - interpret "^1.1.0" - loader-utils "^1.1.0" - supports-color "^5.5.0" - v8-compile-cache "^2.0.2" - yargs "^12.0.2" + chalk "2.4.2" + cross-spawn "6.0.5" + enhanced-resolve "4.1.0" + findup-sync "3.0.0" + global-modules "2.0.0" + import-local "2.0.0" + interpret "1.2.0" + loader-utils "1.2.3" + supports-color "6.1.0" + v8-compile-cache "2.0.3" + yargs "13.2.4" -webpack-dev-middleware@^3.7.0: - version "3.7.0" - resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-3.7.0.tgz#ef751d25f4e9a5c8a35da600c5fda3582b5c6cff" +webpack-dev-middleware@^3.7.2: + version "3.7.2" + resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-3.7.2.tgz#0019c3db716e3fa5cecbf64f2ab88a74bab331f3" + integrity sha512-1xC42LxbYoqLNAhV6YzTYacicgMZQTqRd27Sim9wn5hJrX3I5nxYy1SxSd4+gjUFsz1dQFj+yEe6zEVmSkeJjw== dependencies: memory-fs "^0.4.1" - mime "^2.4.2" + mime "^2.4.4" + mkdirp "^0.5.1" range-parser "^1.2.1" webpack-log "^2.0.0" webpack-dev-server@^3.4.1: - version "3.4.1" - resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-3.4.1.tgz#a5fd8dec95dec410098e7d9a037ff9405395d51a" + version "3.8.2" + resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-3.8.2.tgz#3292427bf6510da9a3ac2d500b924a4197667ff9" + integrity sha512-0xxogS7n5jHDQWy0WST0q6Ykp7UGj4YvWh+HVN71JoE7BwPxMZrwgraBvmdEMbDVMBzF0u+mEzn8TQzBm5NYJQ== dependencies: ansi-html "0.0.7" bonjour "^3.5.0" - chokidar "^2.1.6" + chokidar "^2.1.8" compression "^1.7.4" connect-history-api-fallback "^1.6.0" debug "^4.1.1" del "^4.1.1" - express "^4.17.0" + express "^4.17.1" html-entities "^1.2.1" - http-proxy-middleware "^0.19.1" + http-proxy-middleware "0.19.1" import-local "^2.0.0" internal-ip "^4.3.0" ip "^1.1.5" + is-absolute-url "^3.0.3" killable "^1.0.1" - loglevel "^1.6.1" + loglevel "^1.6.4" opn "^5.5.0" - portfinder "^1.0.20" + p-retry "^3.0.1" + portfinder "^1.0.24" schema-utils "^1.0.0" - selfsigned "^1.10.4" - semver "^6.0.0" + selfsigned "^1.10.7" + semver "^6.3.0" serve-index "^1.9.1" sockjs "0.3.19" - sockjs-client "1.3.0" - spdy "^4.0.0" + sockjs-client "1.4.0" + spdy "^4.0.1" strip-ansi "^3.0.1" supports-color "^6.1.0" url "^0.11.0" - webpack-dev-middleware "^3.7.0" + webpack-dev-middleware "^3.7.2" webpack-log "^2.0.0" + ws "^6.2.1" yargs "12.0.5" webpack-log@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/webpack-log/-/webpack-log-2.0.0.tgz#5b7928e0637593f119d32f6227c1e0ac31e1b47f" + integrity sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg== dependencies: ansi-colors "^3.0.0" uuid "^3.3.2" @@ -10387,67 +11275,75 @@ webpack-log@^2.0.0: webpack-node-externals@^1.7.2: version "1.7.2" resolved "https://registry.yarnpkg.com/webpack-node-externals/-/webpack-node-externals-1.7.2.tgz#6e1ee79ac67c070402ba700ef033a9b8d52ac4e3" + integrity sha512-ajerHZ+BJKeCLviLUUmnyd5B4RavLF76uv3cs6KNuO8W+HuQaEs0y0L7o40NQxdPy5w0pcv8Ew7yPUAQG0UdCg== -webpack-sources@^1.1.0, webpack-sources@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.3.0.tgz#2a28dcb9f1f45fe960d8f1493252b5ee6530fa85" +webpack-sources@^1.4.0, webpack-sources@^1.4.1: + version "1.4.3" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933" + integrity sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ== dependencies: source-list-map "^2.0.0" source-map "~0.6.1" webpack@^4.27.1: - version "4.27.1" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.27.1.tgz#5f2e2db446d2266376fa15d7d2277a1a9c2e12bb" + version "4.41.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.41.0.tgz#db6a254bde671769f7c14e90a1a55e73602fc70b" + integrity sha512-yNV98U4r7wX1VJAj5kyMsu36T8RPPQntcb5fJLOsMz/pt/WrKC0Vp1bAlqPLkA1LegSwQwf6P+kAbyhRKVQ72g== dependencies: - "@webassemblyjs/ast" "1.7.11" - "@webassemblyjs/helper-module-context" "1.7.11" - "@webassemblyjs/wasm-edit" "1.7.11" - "@webassemblyjs/wasm-parser" "1.7.11" - acorn "^5.6.2" - acorn-dynamic-import "^3.0.0" - ajv "^6.1.0" - ajv-keywords "^3.1.0" - chrome-trace-event "^1.0.0" + "@webassemblyjs/ast" "1.8.5" + "@webassemblyjs/helper-module-context" "1.8.5" + "@webassemblyjs/wasm-edit" "1.8.5" + "@webassemblyjs/wasm-parser" "1.8.5" + acorn "^6.2.1" + ajv "^6.10.2" + ajv-keywords "^3.4.1" + chrome-trace-event "^1.0.2" enhanced-resolve "^4.1.0" - eslint-scope "^4.0.0" + eslint-scope "^4.0.3" json-parse-better-errors "^1.0.2" - loader-runner "^2.3.0" - loader-utils "^1.1.0" - memory-fs "~0.4.1" - micromatch "^3.1.8" - mkdirp "~0.5.0" - neo-async "^2.5.0" - node-libs-browser "^2.0.0" - schema-utils "^0.4.4" - tapable "^1.1.0" - terser-webpack-plugin "^1.1.0" - watchpack "^1.5.0" - webpack-sources "^1.3.0" + loader-runner "^2.4.0" + loader-utils "^1.2.3" + memory-fs "^0.4.1" + micromatch "^3.1.10" + mkdirp "^0.5.1" + neo-async "^2.6.1" + node-libs-browser "^2.2.1" + schema-utils "^1.0.0" + tapable "^1.1.3" + terser-webpack-plugin "^1.4.1" + watchpack "^1.6.0" + webpack-sources "^1.4.1" websocket-driver@>=0.5.1: - version "0.7.0" - resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.0.tgz#0caf9d2d755d93aee049d4bdd0d3fe2cca2a24eb" + version "0.7.3" + resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.3.tgz#a2d4e0d4f4f116f1e6297eba58b05d430100e9f9" + integrity sha512-bpxWlvbbB459Mlipc5GBzzZwhoZgGEZLuqPaR0INBGnPAY1vdBX6hPnoFXiw+3yWxDuHyQjO2oXTMyS8A5haFg== dependencies: - http-parser-js ">=0.4.0" + http-parser-js ">=0.4.0 <0.4.11" + safe-buffer ">=5.1.0" websocket-extensions ">=0.1.1" websocket-extensions@>=0.1.1: version "0.1.3" resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.3.tgz#5d2ff22977003ec687a4b87073dfbbac146ccf29" + integrity sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg== whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.3: version "1.0.5" resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" + integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== dependencies: iconv-lite "0.4.24" whatwg-mimetype@^2.1.0, whatwg-mimetype@^2.2.0: version "2.3.0" resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" + integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== whatwg-url@^6.4.1: version "6.5.0" resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-6.5.0.tgz#f2df02bff176fd65070df74ad5ccbb5a199965a8" + integrity sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ== dependencies: lodash.sortby "^4.7.0" tr46 "^1.0.1" @@ -10456,6 +11352,7 @@ whatwg-url@^6.4.1: whatwg-url@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-7.0.0.tgz#fde926fa54a599f3adf82dff25a9f7be02dc6edd" + integrity sha512-37GeVSIJ3kn1JgKyjiYNmSLP1yzbpb29jdmwBSgkD9h40/hyrR/OifpVUndji3tmwGgD8qpw7iQu3RSbCrBpsQ== dependencies: lodash.sortby "^4.7.0" tr46 "^1.0.1" @@ -10464,63 +11361,78 @@ whatwg-url@^7.0.0: which-module@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f" + integrity sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8= which-module@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" + integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= -which@1, which@^1.2.12, which@^1.3.0: +which@1, which@^1.2.12, which@^1.2.14, which@^1.2.9, which@^1.3.0, which@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" - dependencies: - isexe "^2.0.0" - -which@^1.2.9: - version "1.3.0" - resolved "https://registry.yarnpkg.com/which/-/which-1.3.0.tgz#ff04bdfc010ee547d780bec38e1ac1c2777d253a" + integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== dependencies: isexe "^2.0.0" wide-align@^1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.2.tgz#571e0f1b0604636ebc0dfc21b0339bbe31341710" + version "1.1.3" + resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" + integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA== dependencies: - string-width "^1.0.2" + string-width "^1.0.2 || 2" widest-line@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-2.0.1.tgz#7438764730ec7ef4381ce4df82fb98a53142a3fc" + integrity sha512-Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA== dependencies: string-width "^2.1.1" -winston@^2.0.0: - version "2.4.4" - resolved "https://registry.yarnpkg.com/winston/-/winston-2.4.4.tgz#a01e4d1d0a103cf4eada6fc1f886b3110d71c34b" +winston-transport@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/winston-transport/-/winston-transport-4.3.0.tgz#df68c0c202482c448d9b47313c07304c2d7c2c66" + integrity sha512-B2wPuwUi3vhzn/51Uukcao4dIduEiPOcOt9HJ3QeaXgkJ5Z7UwpBzxS4ZGNHtrxrUvTwemsQiSys0ihOf8Mp1A== dependencies: - async "~1.0.0" - colors "1.0.x" - cycle "1.0.x" - eyes "0.1.x" - isstream "0.1.x" + readable-stream "^2.3.6" + triple-beam "^1.2.0" + +winston@^3.0.0: + version "3.2.1" + resolved "https://registry.yarnpkg.com/winston/-/winston-3.2.1.tgz#63061377976c73584028be2490a1846055f77f07" + integrity sha512-zU6vgnS9dAWCEKg/QYigd6cgMVVNwyTzKs81XZtTFuRwJOcDdBg7AU0mXVyNbs7O5RH2zdv+BdNZUlx7mXPuOw== + dependencies: + async "^2.6.1" + diagnostics "^1.1.1" + is-stream "^1.1.0" + logform "^2.1.1" + one-time "0.0.4" + readable-stream "^3.1.1" stack-trace "0.0.x" + triple-beam "^1.3.0" + winston-transport "^4.3.0" wordwrap@~0.0.2: version "0.0.3" resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" + integrity sha1-o9XabNXAvAAI03I0u68b7WMFkQc= wordwrap@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" + integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus= -worker-farm@^1.5.2: - version "1.6.0" - resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.6.0.tgz#aecc405976fab5a95526180846f0dba288f3a4a0" +worker-farm@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.7.0.tgz#26a94c5391bbca926152002f69b84a4bf772e5a8" + integrity sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw== dependencies: errno "~0.1.7" wrap-ansi@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" + integrity sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU= dependencies: string-width "^1.0.1" strip-ansi "^3.0.1" @@ -10528,18 +11440,30 @@ wrap-ansi@^2.0.0: wrap-ansi@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-4.0.0.tgz#b3570d7c70156159a2d42be5cc942e957f7b1131" + integrity sha512-uMTsj9rDb0/7kk1PbcbCcwvHUxp60fGDB/NNXpVa0Q+ic/e7y5+BwTxKfQ33VYgDppSwi/FBzpetYzo8s6tfbg== dependencies: ansi-styles "^3.2.0" string-width "^2.1.1" strip-ansi "^4.0.0" +wrap-ansi@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" + integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q== + dependencies: + ansi-styles "^3.2.0" + string-width "^3.0.0" + strip-ansi "^5.0.0" + wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= write-file-atomic@^2.1.0: version "2.4.3" resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.3.tgz#1fd2e9ae1df3e75b8d8c367443c692d4ca81f481" + integrity sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ== dependencies: graceful-fs "^4.1.11" imurmurhash "^0.1.4" @@ -10555,46 +11479,64 @@ write@1.0.3: ws@^5.2.0: version "5.2.2" resolved "https://registry.yarnpkg.com/ws/-/ws-5.2.2.tgz#dffef14866b8e8dc9133582514d1befaf96e980f" + integrity sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA== dependencies: async-limiter "~1.0.0" -ws@^6.1.0: +ws@^6.1.0, ws@^6.2.1: version "6.2.1" resolved "https://registry.yarnpkg.com/ws/-/ws-6.2.1.tgz#442fdf0a47ed64f59b6a5d8ff130f4748ed524fb" + integrity sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA== dependencies: async-limiter "~1.0.0" x-is-string@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/x-is-string/-/x-is-string-0.1.0.tgz#474b50865af3a49a9c4657f05acd145458f77d82" + integrity sha1-R0tQhlrzpJqcRlfwWs0UVFj3fYI= xml-name-validator@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" + integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.0, xtend@~4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" + version "4.0.2" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" + integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== y18n@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" + integrity sha1-bRX7qITAhnnA136I53WegR4H+kE= "y18n@^3.2.1 || ^4.0.0", y18n@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" + integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w== yallist@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" + integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= -yallist@^3.0.0, yallist@^3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.3.tgz#b4b049e314be545e3ce802236d6cd22cd91c3de9" +yallist@^3.0.0, yallist@^3.0.2, yallist@^3.0.3: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" + integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== yargs-parser@^11.1.1: version "11.1.1" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-11.1.1.tgz#879a0865973bca9f6bab5cbdf3b1c67ec7d3bcf4" + integrity sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + +yargs-parser@^13.1.0: + version "13.1.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.1.tgz#d26058532aa06d365fe091f6a1fc06b2f7e5eca0" + integrity sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ== dependencies: camelcase "^5.0.0" decamelize "^1.2.0" @@ -10602,18 +11544,21 @@ yargs-parser@^11.1.1: yargs-parser@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-5.0.0.tgz#275ecf0d7ffe05c77e64e7c86e4cd94bf0e1228a" + integrity sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo= dependencies: camelcase "^3.0.0" yargs-parser@^9.0.2: version "9.0.2" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-9.0.2.tgz#9ccf6a43460fe4ed40a9bb68f48d43b8a68cc077" + integrity sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc= dependencies: camelcase "^4.1.0" yargs@12.0.5, yargs@^12.0.2: version "12.0.5" resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.5.tgz#05f5997b609647b64f66b81e3b4b10a368e7ad13" + integrity sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw== dependencies: cliui "^4.0.0" decamelize "^1.2.0" @@ -10628,9 +11573,27 @@ yargs@12.0.5, yargs@^12.0.2: y18n "^3.2.1 || ^4.0.0" yargs-parser "^11.1.1" +yargs@13.2.4: + version "13.2.4" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.2.4.tgz#0b562b794016eb9651b98bd37acf364aa5d6dc83" + integrity sha512-HG/DWAJa1PAnHT9JAhNa8AbAv3FPaiLzioSjCcmuXXhP8MlpHO5vwls4g4j6n30Z74GVQj8Xa62dWVx1QCGklg== + dependencies: + cliui "^5.0.0" + find-up "^3.0.0" + get-caller-file "^2.0.1" + os-locale "^3.1.0" + require-directory "^2.1.1" + require-main-filename "^2.0.0" + set-blocking "^2.0.0" + string-width "^3.0.0" + which-module "^2.0.0" + y18n "^4.0.0" + yargs-parser "^13.1.0" + yargs@^11.0.0: version "11.1.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-11.1.0.tgz#90b869934ed6e871115ea2ff58b03f4724ed2d77" + integrity sha512-NwW69J42EsCSanF8kyn5upxvjp5ds+t3+udGBeTbFnERA+lF541DDpMawzo4z6W/QrzNM18D+BPMiOBibnFV5A== dependencies: cliui "^4.0.0" decamelize "^1.1.1" @@ -10648,6 +11611,7 @@ yargs@^11.0.0: yargs@^7.0.0: version "7.1.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-7.1.0.tgz#6ba318eb16961727f5d284f8ea003e8d6154d0c8" + integrity sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg= dependencies: camelcase "^3.0.0" cliui "^3.2.0" @@ -10664,15 +11628,17 @@ yargs@^7.0.0: yargs-parser "^5.0.0" yarn-upgrade-all@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/yarn-upgrade-all/-/yarn-upgrade-all-0.5.0.tgz#065d1210b37532afe0991da31e888368ebc33a30" + version "0.5.2" + resolved "https://registry.yarnpkg.com/yarn-upgrade-all/-/yarn-upgrade-all-0.5.2.tgz#050704062483064da6e586141b0b940682a52cb9" + integrity sha512-6psU4WZi+1KaFyqeac3oI4QiHr2Vjv1W/W48CJa3OsJ0Er/Obdk9gFk78dAwfB9k1G7evtGObDs7N59nAISG1A== dependencies: - chalk "^2.4.1" - commander "^2.19.0" + chalk "^2.4.2" + commander "^3.0.0" yauzl@2.10.0: version "2.10.0" resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" + integrity sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk= dependencies: buffer-crc32 "~0.2.3" fd-slicer "~1.1.0" @@ -10680,5 +11646,6 @@ yauzl@2.10.0: yauzl@2.4.1: version "2.4.1" resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.4.1.tgz#9528f442dab1b2284e58b4379bb194e22e0c4005" + integrity sha1-lSj0QtqxsihOWLQ3m7GU4i4MQAU= dependencies: fd-slicer "~1.0.1" From 1cba50266eaf997348b8fbda0b9d5ab21bc1967b Mon Sep 17 00:00:00 2001 From: Eduardas Michelsonas Date: Tue, 8 Oct 2019 14:25:29 +0200 Subject: [PATCH 071/200] #755 Linting fixes + merge --- src/diagrams/sequence/sequenceRenderer.js | 80 ++++++++++++++++------- 1 file changed, 58 insertions(+), 22 deletions(-) diff --git a/src/diagrams/sequence/sequenceRenderer.js b/src/diagrams/sequence/sequenceRenderer.js index 2eb71141e..949c43944 100644 --- a/src/diagrams/sequence/sequenceRenderer.js +++ b/src/diagrams/sequence/sequenceRenderer.js @@ -230,44 +230,80 @@ const drawMessage = function(elem, startx, stopx, verticalPos, msg, sequenceInde const g = elem.append('g'); const txtCenter = startx + (stopx - startx) / 2; - let textElem - let counterBreaklines = 0 - let breaklineOffset = 17 - const breaklines = msg.message.split(//ig) + let textElem; + let counterBreaklines = 0; + let breaklineOffset = 17; + const breaklines = msg.message.split(//gi); for (const breakline of breaklines) { - textElem = g.append('text') // text label for the x axis + textElem = g + .append('text') // text label for the x axis .attr('x', txtCenter) .attr('y', verticalPos - 7 + counterBreaklines * breaklineOffset) .style('text-anchor', 'middle') .attr('class', 'messageText') - .text(breakline.trim()) - counterBreaklines++ + .text(breakline.trim()); + counterBreaklines++; } - const offsetLineCounter = counterBreaklines - 1 - const totalOffset = offsetLineCounter * breaklineOffset + const offsetLineCounter = counterBreaklines - 1; + const totalOffset = offsetLineCounter * breaklineOffset; let textWidth = (textElem._groups || textElem)[0][0].getBBox().width; let line; if (startx === stopx) { if (conf.rightAngles) { - line = g.append('path').attr('d', `M ${startx},${verticalPos + totalOffset} H ${startx + (conf.width / 2)} V ${verticalPos + 25 + totalOffset} H ${startx}`) + line = g + .append('path') + .attr( + 'd', + `M ${startx},${verticalPos + totalOffset} H ${startx + conf.width / 2} V ${verticalPos + + 25 + + totalOffset} H ${startx}` + ); } else { - line = g.append('path') - .attr('d', 'M ' + startx + ',' + (verticalPos + totalOffset) + ' C ' + (startx + 60) + ',' + (verticalPos - 10 + totalOffset) + ' ' + (startx + 60) + ',' + - (verticalPos + 30 + totalOffset) + ' ' + startx + ',' + (verticalPos + 20 + totalOffset)) + line = g + .append('path') + .attr( + 'd', + 'M ' + + startx + + ',' + + (verticalPos + totalOffset) + + ' C ' + + (startx + 60) + + ',' + + (verticalPos - 10 + totalOffset) + + ' ' + + (startx + 60) + + ',' + + (verticalPos + 30 + totalOffset) + + ' ' + + startx + + ',' + + (verticalPos + 20 + totalOffset) + ); } - bounds.bumpVerticalPos(30 + totalOffset) - const dx = Math.max(textWidth / 2, 100) - bounds.insert(startx - dx, bounds.getVerticalPos() - 10 + totalOffset, stopx + dx, bounds.getVerticalPos() + totalOffset) + bounds.bumpVerticalPos(30 + totalOffset); + const dx = Math.max(textWidth / 2, 100); + bounds.insert( + startx - dx, + bounds.getVerticalPos() - 10 + totalOffset, + stopx + dx, + bounds.getVerticalPos() + totalOffset + ); } else { - line = g.append('line') - line.attr('x1', startx) - line.attr('y1', verticalPos) - line.attr('x2', stopx) - line.attr('y2', verticalPos) - bounds.insert(startx, bounds.getVerticalPos() - 10 + totalOffset, stopx, bounds.getVerticalPos() + totalOffset) + line = g.append('line'); + line.attr('x1', startx); + line.attr('y1', verticalPos); + line.attr('x2', stopx); + line.attr('y2', verticalPos); + bounds.insert( + startx, + bounds.getVerticalPos() - 10 + totalOffset, + stopx, + bounds.getVerticalPos() + totalOffset + ); } // Make an SVG Container // Draw the line From 54dbbd154ce62646cd4b37a455c57fed787a7ac1 Mon Sep 17 00:00:00 2001 From: Ashish Jain Date: Tue, 8 Oct 2019 21:42:49 +0200 Subject: [PATCH 072/200] #949 Added utility function for calculating cardinality position --- src/utils.js | 52 +++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 51 insertions(+), 1 deletion(-) diff --git a/src/utils.js b/src/utils.js index 2d11e7ef5..c03621749 100644 --- a/src/utils.js +++ b/src/utils.js @@ -120,9 +120,59 @@ const calcLabelPosition = points => { return p; }; +const calcCardinalityPosition = (isRelationTypePresent, points, initialPosition) => { + let prevPoint; + let totalDistance = 0; + if (points[0] !== initialPosition) { + points = points.reverse(); + } + points.forEach(point => { + totalDistance += distance(point, prevPoint); + prevPoint = point; + }); + + // Traverse only 25 total distance along points to find cardinality point + const distanceToCardinalityPoint = 25; + + let remainingDistance = distanceToCardinalityPoint; + let center; + prevPoint = undefined; + points.forEach(point => { + if (prevPoint && !center) { + const vectorDistance = distance(point, prevPoint); + if (vectorDistance < remainingDistance) { + remainingDistance -= vectorDistance; + } else { + // The point is remainingDistance from prevPoint in the vector between prevPoint and point + // Calculate the coordinates + const distanceRatio = remainingDistance / vectorDistance; + if (distanceRatio <= 0) center = prevPoint; + if (distanceRatio >= 1) center = { x: point.x, y: point.y }; + if (distanceRatio > 0 && distanceRatio < 1) { + center = { + x: (1 - distanceRatio) * prevPoint.x + distanceRatio * point.x, + y: (1 - distanceRatio) * prevPoint.y + distanceRatio * point.y + }; + } + } + } + prevPoint = point; + }); + // if relation is present (Arrows will be added), change cardinality point off-set distance (d) + let d = isRelationTypePresent ? 10 : 5; + //Calculate Angle for x and y axis + let angle = Math.atan2(points[0].y - center.y, points[0].x - center.x); + let cardinalityPosition = { x: 0, y: 0 }; + //Calculation cardinality position using angle, center point on the line/curve but pendicular and with offset-distance + cardinalityPosition.x = Math.sin(angle) * d + (points[0].x + center.x) / 2; + cardinalityPosition.y = -Math.cos(angle) * d + (points[0].y + center.y) / 2; + return cardinalityPosition; +}; + export default { detectType, isSubstringInArray, interpolateToCurve, - calcLabelPosition + calcLabelPosition, + calcCardinalityPosition }; From 35ddf9235f8bcfa18549cab703a3f046731b8e21 Mon Sep 17 00:00:00 2001 From: Ashish Jain Date: Tue, 8 Oct 2019 21:43:58 +0200 Subject: [PATCH 073/200] #949 Added rendering of cardinality for class diagrams --- src/diagrams/class/classRenderer.js | 64 +++++++++++++++++++++++++---- 1 file changed, 56 insertions(+), 8 deletions(-) diff --git a/src/diagrams/class/classRenderer.js b/src/diagrams/class/classRenderer.js index 2d0825edc..60a88d2c8 100644 --- a/src/diagrams/class/classRenderer.js +++ b/src/diagrams/class/classRenderer.js @@ -3,6 +3,7 @@ import dagre from 'dagre-layout'; import graphlib from 'graphlibrary'; import { logger } from '../../logger'; import classDb from './classDb'; +import utils from '../../utils'; import { parser } from './parser/classDiagram'; parser.yy = classDb; @@ -198,15 +199,38 @@ const drawEdge = function(elem, path, relation) { let x, y; const l = path.points.length; + // Calculate Label position + let labalPosition = utils.calcLabelPosition(path.points); + x = labalPosition.x; + y = labalPosition.y; + + let p1_card_x, + p1_card_y, + p1_card_padd_x = conf.padding * 2, + p1_card_padd_y = conf.padding; + let p2_card_x, + p2_card_y, + p2_card_padd_x = conf.padding * 2, + p2_card_padd_y = -conf.padding / 2; if (l % 2 !== 0 && l > 1) { - const p1 = path.points[Math.floor(l / 2)]; - const p2 = path.points[Math.ceil(l / 2)]; - x = (p1.x + p2.x) / 2; - y = (p1.y + p2.y) / 2; - } else { - const p = path.points[Math.floor(l / 2)]; - x = p.x; - y = p.y; + let cardinality_1_point = utils.calcCardinalityPosition( + relation.relation.type1 !== 'none', + path.points, + path.points[0] + ); + let cardinality_2_point = utils.calcCardinalityPosition( + relation.relation.type2 !== 'none', + path.points, + path.points[l - 1] + ); + + logger.debug('cardinality_1_point ' + JSON.stringify(cardinality_1_point)); + logger.debug('cardinality_2_point ' + JSON.stringify(cardinality_2_point)); + + p1_card_x = cardinality_1_point.x; + p1_card_y = cardinality_1_point.y; + p2_card_x = cardinality_2_point.x; + p2_card_y = cardinality_2_point.y; } if (typeof relation.title !== 'undefined') { @@ -231,6 +255,30 @@ const drawEdge = function(elem, path, relation) { .attr('height', bounds.height + conf.padding); } + logger.info('Rendering relation ' + JSON.stringify(relation)); + if (typeof relation.relationTitle1 !== 'undefined' && relation.relationTitle1 !== 'none') { + const g = elem.append('g').attr('class', 'cardinality'); + const label = g + .append('text') + .attr('class', 'type1') + .attr('x', p1_card_x) + .attr('y', p1_card_y) + .attr('fill', 'black') + .attr('font-size', '6') + .text(relation.relationTitle1); + } + if (typeof relation.relationTitle2 !== 'undefined' && relation.relationTitle2 !== 'none') { + const g = elem.append('g').attr('class', 'cardinality'); + const label = g + .append('text') + .attr('class', 'type2') + .attr('x', p2_card_x) + .attr('y', p2_card_y) + .attr('fill', 'black') + .attr('font-size', '6') + .text(relation.relationTitle2); + } + edgeCount++; }; From aaac86fd9d68a67d94b5485b39ba9cec4609190b Mon Sep 17 00:00:00 2001 From: Ashish Jain Date: Tue, 8 Oct 2019 21:46:03 +0200 Subject: [PATCH 074/200] #949 Added cypress test case for class diagram cardinality support --- .../rendering/classDiagram.spec.js | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/cypress/integration/rendering/classDiagram.spec.js b/cypress/integration/rendering/classDiagram.spec.js index 9c0b51581..d1f290436 100644 --- a/cypress/integration/rendering/classDiagram.spec.js +++ b/cypress/integration/rendering/classDiagram.spec.js @@ -30,4 +30,32 @@ describe('Class diagram', () => { ); cy.get('svg'); }); + it('should render a simple class diagrams with cardinality', () => { + imgSnapshotTest( + ` + classDiagram + Class01 "1" <|--|> "*" AveryLongClass : Cool + <<interface>> Class01 + Class03 "1" *-- "*" Class04 + Class05 "1" o-- "many" Class06 + Class07 "1" .. "*" Class08 + Class09 "1" --> "*" C2 : Where am i? + Class09 "*" --* "*" C3 + Class09 "1" --|> "1" Class07 + Class07 : equals() + Class07 : Object[] elementData + Class01 : size() + Class01 : int chimp + Class01 : int gorilla + Class08 "1" <--> "*" C2: Cool label + class Class10 { + <<service>> + int id + test() + } + `, + {} + ); + cy.get('svg'); + }); }); From a8a4616cab1c5c7922c5e93b4b2b1c983de2908e Mon Sep 17 00:00:00 2001 From: Knut Sveidqvist Date: Tue, 8 Oct 2019 22:56:50 +0200 Subject: [PATCH 075/200] #916 Docs for chaining of links --- docs/flowchart.md | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/docs/flowchart.md b/docs/flowchart.md index ea778697c..b793a86ab 100644 --- a/docs/flowchart.md +++ b/docs/flowchart.md @@ -239,6 +239,19 @@ graph LR A == text ==> B ``` +### Chaining of links + +It is possible declare many links in the same line as per below: +``` +graph LR + A -- text --> B -- text2 --> C +``` +```mermaid +graph LR + A -- text --> B -- text2 --> C +``` + + ## Special characters that break syntax It is possible to put text within quotes in order to render more troublesome characters. As in the example below: @@ -350,7 +363,7 @@ Beginners tip, a full example using interactive links in a html context: click A callback "Tooltip" click B "http://www.github.com" "This is a link"

- + From 687e74de9be37e8f676123b055d32dccf167ec3d Mon Sep 17 00:00:00 2001 From: Christian Klemm Date: Tue, 8 Oct 2019 22:57:40 +0200 Subject: [PATCH 076/200] fixed members order --- src/diagrams/class/classDb.js | 7 ++++--- src/diagrams/class/classDiagram.spec.js | 20 ++++++++++++++++++++ 2 files changed, 24 insertions(+), 3 deletions(-) diff --git a/src/diagrams/class/classDb.js b/src/diagrams/class/classDb.js index cb4c42c8a..201df5d7b 100644 --- a/src/diagrams/class/classDb.js +++ b/src/diagrams/class/classDb.js @@ -80,9 +80,10 @@ export const addMember = function(className, member) { } }; -export const addMembers = function(className, MembersArr) { - if (Array.isArray(MembersArr)) { - MembersArr.forEach(member => addMember(className, member)); +export const addMembers = function(className, members) { + if (Array.isArray(members)) { + members.reverse(); + members.forEach(member => addMember(className, member)); } }; diff --git a/src/diagrams/class/classDiagram.spec.js b/src/diagrams/class/classDiagram.spec.js index 67946fd67..6ff4fad13 100644 --- a/src/diagrams/class/classDiagram.spec.js +++ b/src/diagrams/class/classDiagram.spec.js @@ -262,5 +262,25 @@ describe('class diagram, ', function() { expect(testClass.methods.length).toBe(1); expect(testClass.annotations[0]).toBe('interface'); }); + + it('should add bracket members in right order', function() { + const str = + 'classDiagram\n' + + 'class Class1 {\n' + + 'int : test\n' + + 'string : foo\n' + + 'test()\n' + + 'foo()\n' + + '}'; + parser.parse(str); + + const testClass = parser.yy.getClass('Class1'); + expect(testClass.members.length).toBe(2); + expect(testClass.methods.length).toBe(2); + expect(testClass.members[0]).toBe('int : test'); + expect(testClass.members[1]).toBe('string : foo'); + expect(testClass.methods[0]).toBe('test()'); + expect(testClass.methods[1]).toBe('foo()'); + }); }); }); From cd646c0e4224a12c8ab64b3927de2aac8fc8aafc Mon Sep 17 00:00:00 2001 From: Knut Sveidqvist Date: Wed, 9 Oct 2019 18:16:23 +0200 Subject: [PATCH 077/200] Updated yarn.lockl --- yarn.lock | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/yarn.lock b/yarn.lock index 860b5949b..2cceba786 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3012,6 +3012,13 @@ crypto-browserify@^3.11.0: randombytes "^2.0.0" randomfill "^1.0.3" +crypto-random-string@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-3.0.1.tgz#29d7dc759d577a768afb3b7b2765dd9bd7ffe36a" + integrity sha512-dUL0cJ4PBLanJGJQBHQUkvZ3C4q13MXzl54oRqAIiJGiNkOZ4JDwkg/SBo7daGghzlJv16yW1p/4lIQukmbedA== + dependencies: + type-fest "^0.5.2" + css-b64-images@~0.2.5: version "0.2.5" resolved "https://registry.yarnpkg.com/css-b64-images/-/css-b64-images-0.2.5.tgz#42005d83204b2b4a5d93b6b1a5644133b5927a02" @@ -9863,6 +9870,11 @@ type-check@~0.3.2: dependencies: prelude-ls "~1.1.2" +type-fest@^0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.5.2.tgz#d6ef42a0356c6cd45f49485c3b6281fc148e48a2" + integrity sha512-DWkS49EQKVX//Tbupb9TFa19c7+MK1XmzkrZUR8TAktmE/DizXoaoJV6TZ/tSIPXipqNiRI6CyAe7x69Jb6RSw== + type-is@~1.6.17, type-is@~1.6.18: version "1.6.18" resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" From 54e6e2f66efd9ee298d286416b507cef3636135f Mon Sep 17 00:00:00 2001 From: Knut Sveidqvist Date: Wed, 9 Oct 2019 20:05:24 +0200 Subject: [PATCH 078/200] #945 Some bug fixes and draft docs --- .../rendering/stateDiagram.spec.js | 13 +- docs/_sidebar.md | 1 + docs/index.html | 4 +- docs/stateDiagram.md | 267 ++++++++++++++++++ src/diagrams/state/parser/stateDiagram.jison | 6 +- src/diagrams/state/shapes.js | 10 +- src/diagrams/state/stateRenderer.js | 14 +- 7 files changed, 303 insertions(+), 12 deletions(-) create mode 100755 docs/stateDiagram.md diff --git a/cypress/integration/rendering/stateDiagram.spec.js b/cypress/integration/rendering/stateDiagram.spec.js index bf2055008..bb93511a9 100644 --- a/cypress/integration/rendering/stateDiagram.spec.js +++ b/cypress/integration/rendering/stateDiagram.spec.js @@ -13,6 +13,17 @@ describe('State diagram', () => { ); cy.get('svg'); }); + it('should render a single state with short descr', () => { + imgSnapshotTest( + ` + stateDiagram + state "A long long name" as long1 + state "A" as longlonglongid + `, + { logLevel: 0 } + ); + cy.get('svg'); + }); it('should render a state with a note', () => { imgSnapshotTest( ` @@ -145,7 +156,7 @@ describe('State diagram', () => { Off --> On : Turn on } - TV--> Console : KarlMartin + TV--> Console state Console { [*] --> Off2: Off to start with diff --git a/docs/_sidebar.md b/docs/_sidebar.md index 7c8e954fe..2200193db 100644 --- a/docs/_sidebar.md +++ b/docs/_sidebar.md @@ -9,6 +9,7 @@ - Diagrams - [Flowchart](flowchart.md) + - [State diagram](stateDiagram.md) - [Sequence diagram](sequenceDiagram.md) - [Gantt](gantt.md) - [Pie Chart](pie.md) diff --git a/docs/index.html b/docs/index.html index 45e9ef4a8..169247da2 100644 --- a/docs/index.html +++ b/docs/index.html @@ -7,8 +7,8 @@ - - + + + diff --git a/src/diagrams/state/shapes.js b/src/diagrams/state/shapes.js index 017549e4b..0703074d2 100644 --- a/src/diagrams/state/shapes.js +++ b/src/diagrams/state/shapes.js @@ -404,8 +404,6 @@ export const drawEdge = function(elem, path, relation) { const g = elem.append('g').attr('class', 'stateLabel'); const label = g .append('text') - .attr('class', 'label') - .attr('fill', 'red') .attr('text-anchor', 'middle') .text(relation.title); const { x, y } = utils.calcLabelPosition(path.points); diff --git a/src/themes/state.scss b/src/themes/state.scss index 3cfecf649..96f83ca14 100644 --- a/src/themes/state.scss +++ b/src/themes/state.scss @@ -1,7 +1,6 @@ g.stateGroup text { fill: $nodeBorder; stroke: none; - font-family: 'trebuchet ms', verdana, arial; font-size: 10px; } @@ -38,7 +37,6 @@ g.stateGroup line { text { fill: black; stroke: none; - font-family: 'trebuchet ms', verdana, arial; font-size: 10px; } } @@ -50,7 +48,8 @@ g.stateGroup line { opacity: 0.5; } -.stateLabel .label { +.stateLabel text { fill: $labelColor; font-size: 10px; + font-weight: bold; } From 53bdfee057bbe43a396b746668271af6384b8b8a Mon Sep 17 00:00:00 2001 From: Knut Sveidqvist Date: Sat, 12 Oct 2019 16:53:21 +0200 Subject: [PATCH 089/200] #989 Font configuration --- .../integration/rendering/flowchart.spec.js | 16 +++++++++++++-- cypress/integration/rendering/gantt.spec.js | 2 +- cypress/platform/e2e.html | 20 +++++++++++++++++-- src/diagrams/gantt/ganttRenderer.js | 12 +++++++++-- src/diagrams/sequence/sequenceRenderer.js | 1 + src/mermaidAPI.js | 14 ++++++++++++- src/themes/class.scss | 1 + src/themes/flowchart.scss | 6 ++++++ src/themes/gantt.scss | 16 +++++++++++++++ src/themes/mermaid.scss | 13 +++++++++--- src/themes/sequence.scss | 1 + src/themes/state.scss | 7 +++++++ 12 files changed, 98 insertions(+), 11 deletions(-) diff --git a/cypress/integration/rendering/flowchart.spec.js b/cypress/integration/rendering/flowchart.spec.js index 89ec06d76..08cd977f5 100644 --- a/cypress/integration/rendering/flowchart.spec.js +++ b/cypress/integration/rendering/flowchart.spec.js @@ -2,7 +2,7 @@ import { imgSnapshotTest } from '../../helpers/util'; describe('Flowcart', () => { - it('should render a simple flowchart', () => { + it('should render a simple flowchart no htmlLabels', () => { imgSnapshotTest( `graph TD A[Christmas] -->|Get money| B(Go shopping) @@ -11,7 +11,19 @@ describe('Flowcart', () => { C -->|Two| E[iPhone] C -->|Three| F[fa:fa-car Car] `, - {} + { flowchart: { htmlLabels: false } } + ); + }); + it('should render a simple flowchart with htmlLabels', () => { + imgSnapshotTest( + `graph TD + A[Christmas] -->|Get money| B(Go shopping) + B --> C{Let me think} + C -->|One| D[Laptop] + C -->|Two| E[iPhone] + C -->|Three| F[fa:fa-car Car] + `, + { flowchart: { htmlLabels: true } } ); }); it('should render a simple flowchart with line breaks', () => { diff --git a/cypress/integration/rendering/gantt.spec.js b/cypress/integration/rendering/gantt.spec.js index faba97d9c..c1bdee040 100644 --- a/cypress/integration/rendering/gantt.spec.js +++ b/cypress/integration/rendering/gantt.spec.js @@ -19,7 +19,7 @@ describe('Sequencediagram', () => { section Critical tasks Completed task in the critical line :crit, done, 2014-01-06,24h - Implement parser and jison :crit, done, after des1, 2d + Implement parser and jison :crit, done, after des1, 2d Create tests for parser :crit, active, 3d Future task in critical line :crit, 5d Create tests for renderer :2d diff --git a/cypress/platform/e2e.html b/cypress/platform/e2e.html index 94850e675..8ad763c4b 100644 --- a/cypress/platform/e2e.html +++ b/cypress/platform/e2e.html @@ -1,10 +1,22 @@ + @@ -15,6 +27,10 @@ mermaid.initialize({ startOnLoad: false, useMaxWidth: true, + // "themeCSS": ":root { --mermaid-font-family: \"trebuchet ms\", verdana, arial;}", + // fontFamily: '\"trebuchet ms\", verdana, arial;' + // fontFamily: '"Comic Sans MS", "Comic Sans", cursive' + fontFamily: '"Mansalva", cursive' }); diff --git a/src/diagrams/gantt/ganttRenderer.js b/src/diagrams/gantt/ganttRenderer.js index beee82e17..98f8b66a6 100644 --- a/src/diagrams/gantt/ganttRenderer.js +++ b/src/diagrams/gantt/ganttRenderer.js @@ -309,10 +309,18 @@ export const draw = function(text, id) { if (endX + textWidth + 1.5 * conf.leftPadding > w) { return classStr + ' taskTextOutsideLeft taskTextOutside' + secNum + ' ' + taskType; } else { - return classStr + ' taskTextOutsideRight taskTextOutside' + secNum + ' ' + taskType; + return ( + classStr + + ' taskTextOutsideRight taskTextOutside' + + secNum + + ' ' + + taskType + + ' width-' + + textWidth + ); } } else { - return classStr + ' taskText taskText' + secNum + ' ' + taskType; + return classStr + ' taskText taskText' + secNum + ' ' + taskType + ' width-' + textWidth; } }); } diff --git a/src/diagrams/sequence/sequenceRenderer.js b/src/diagrams/sequence/sequenceRenderer.js index 949c43944..2dad748d3 100644 --- a/src/diagrams/sequence/sequenceRenderer.js +++ b/src/diagrams/sequence/sequenceRenderer.js @@ -382,6 +382,7 @@ export const setConf = function(cnf) { keys.forEach(function(key) { conf[key] = cnf[key]; }); + conf.actorFontFamily = cnf.fontFamily; }; const actorActivations = function(actor) { diff --git a/src/mermaidAPI.js b/src/mermaidAPI.js index 40dc7fb8e..a75fe6dbf 100644 --- a/src/mermaidAPI.js +++ b/src/mermaidAPI.js @@ -93,9 +93,12 @@ const config = { * "themeCSS": ".node rect { fill: red; }" * */ - theme: 'default', themeCSS: undefined, + /** + * **fontFamily** The font to be used for the rendered diagrams. Default value is \"trebuchet ms\", verdana, arial; + */ + fontFamily: '"trebuchet ms", verdana, arial;', /** * This option decides the amount of logging to be used. @@ -452,6 +455,7 @@ const render = function(id, txt, cb, container) { d3.select(container) .append('div') .attr('id', 'd' + id) + .attr('style', 'font-family: ' + config.fontFamily) .append('svg') .attr('id', id) .attr('width', '100%') @@ -493,6 +497,14 @@ const render = function(id, txt, cb, container) { if (config.themeCSS !== undefined) { style += `\n${config.themeCSS}`; } + // user provided theme CSS + if (config.fontFamily !== undefined) { + style += `\n:root { --mermaid-font-family: ${config.fontFamily}}`; + } + // user provided theme CSS + if (config.altFontFamily !== undefined) { + style += `\n:root { --mermaid-alt-font-family: ${config.altFontFamily}}`; + } // classDef if (graphType === 'flowchart') { diff --git a/src/themes/class.scss b/src/themes/class.scss index 86893cf09..90ac82da1 100644 --- a/src/themes/class.scss +++ b/src/themes/class.scss @@ -2,6 +2,7 @@ g.classGroup text { fill: $nodeBorder; stroke: none; font-family: 'trebuchet ms', verdana, arial; + font-family: var(--mermaid-font-family); font-size: 10px; .title { diff --git a/src/themes/flowchart.scss b/src/themes/flowchart.scss index 91456bcad..4673371b8 100644 --- a/src/themes/flowchart.scss +++ b/src/themes/flowchart.scss @@ -1,5 +1,6 @@ .label { font-family: 'trebuchet ms', verdana, arial; + font-family: var(--mermaid-font-family); color: #333; } @@ -16,6 +17,9 @@ stroke-width: 1px; } +.node .label { + text-align: center; +} .node.clickable { cursor: pointer; } @@ -31,6 +35,7 @@ .edgeLabel { background-color: $edgeLabelBackground; + text-align: center; } .cluster rect { @@ -49,6 +54,7 @@ div.mermaidTooltip { max-width: 200px; padding: 2px; font-family: 'trebuchet ms', verdana, arial; + font-family: var(--mermaid-font-family); font-size: 12px; background: $secondBkg; border: 1px solid $border2; diff --git a/src/themes/gantt.scss b/src/themes/gantt.scss index 49c666266..34da04050 100644 --- a/src/themes/gantt.scss +++ b/src/themes/gantt.scss @@ -1,5 +1,10 @@ /** Section styling */ +.mermaid-main-font { + font-family: "trebuchet ms", verdana, arial; + font-family: var(--mermaid-font-family); +} + .section { stroke: none; opacity: 0.2; @@ -39,6 +44,9 @@ text-anchor: start; font-size: 11px; text-height: 14px; + font-family: 'trebuchet ms', verdana, arial; + font-family: var(--mermaid-font-family); + } @@ -75,12 +83,18 @@ .taskText { text-anchor: middle; font-size: 11px; + font-family: 'trebuchet ms', verdana, arial; + font-family: var(--mermaid-font-family); + } .taskTextOutsideRight { fill: $taskTextDarkColor; text-anchor: start; font-size: 11px; + font-family: 'trebuchet ms', verdana, arial; + font-family: var(--mermaid-font-family); + } .taskTextOutsideLeft { @@ -233,4 +247,6 @@ text-anchor: middle; font-size: 18px; fill: $taskTextDarkColor; + font-family: 'trebuchet ms', verdana, arial; + font-family: var(--mermaid-font-family); } diff --git a/src/themes/mermaid.scss b/src/themes/mermaid.scss index adc79fe9d..10e14d3d1 100644 --- a/src/themes/mermaid.scss +++ b/src/themes/mermaid.scss @@ -6,7 +6,14 @@ @import 'pie'; @import 'state'; -.composit { - fill: white; - border-bottom: 1px +// .composit { +// fill: white; +// border-bottom: 1px +// } + +:root { + --mermaid-font-family: '"trebuchet ms", verdana, arial'; + --mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive; + // --mermaid-alt-font-family: '"Lucida Console", Monaco, monospace'; } + diff --git a/src/themes/sequence.scss b/src/themes/sequence.scss index 64097daa3..9d084de48 100644 --- a/src/themes/sequence.scss +++ b/src/themes/sequence.scss @@ -77,6 +77,7 @@ text.actor { fill: black; stroke: none; font-family: 'trebuchet ms', verdana, arial; + font-family: var(--mermaid-font-family); font-size: 14px; } diff --git a/src/themes/state.scss b/src/themes/state.scss index 96f83ca14..35640eb12 100644 --- a/src/themes/state.scss +++ b/src/themes/state.scss @@ -1,3 +1,10 @@ +g.stateGroup text { + fill: $nodeBorder; + stroke: none; + font-size: 10px; + font-family: 'trebuchet ms', verdana, arial; + font-family: var(--mermaid-font-family); +} g.stateGroup text { fill: $nodeBorder; stroke: none; From 047ce2949a4a4413be4429db6836bc96c1520285 Mon Sep 17 00:00:00 2001 From: Knut Sveidqvist Date: Sun, 13 Oct 2019 19:16:35 +0200 Subject: [PATCH 090/200] #989 Added font styling classes to diagrams lacking then --- .vscode/settings.json | 2 +- .../integration/rendering/gitGraph.spec.js | 11 ++-------- cypress/platform/e2e.html | 4 ++-- docs/mermaidAPI.md | 4 ++++ docs/stateDiagram.md | 21 ++++++++++++++++++- src/diagrams/git/gitGraphRenderer.js | 2 +- src/diagrams/pie/pieRenderer.js | 1 + src/mermaidAPI.js | 1 + src/themes/gantt.scss | 4 ++++ src/themes/git.scss | 2 ++ src/themes/pie.scss | 6 ++++++ 11 files changed, 44 insertions(+), 14 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index be2305cbc..ee8fae482 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -4,5 +4,5 @@ "typescript.validate.enable": false, "javascript.validate.enable": false, "editor.formatOnSave": false, - "standard.enable": true + "editor.snippetSuggestions": "top" } diff --git a/cypress/integration/rendering/gitGraph.spec.js b/cypress/integration/rendering/gitGraph.spec.js index c36f635b4..0a72cdee2 100644 --- a/cypress/integration/rendering/gitGraph.spec.js +++ b/cypress/integration/rendering/gitGraph.spec.js @@ -6,12 +6,6 @@ describe('Sequencediagram', () => { imgSnapshotTest( ` gitGraph: - options - { - "nodeSpacing": 150, - "nodeRadius": 10 - } - end commit branch newbranch checkout newbranch @@ -20,9 +14,8 @@ describe('Sequencediagram', () => { checkout master commit commit - merge newbranch - `, - {} + merge newbranch`, + { logLevel: 0 } ); }); }); diff --git a/cypress/platform/e2e.html b/cypress/platform/e2e.html index 8ad763c4b..8c1511781 100644 --- a/cypress/platform/e2e.html +++ b/cypress/platform/e2e.html @@ -3,10 +3,10 @@ diff --git a/src/diagrams/flowchart/flowRenderer.js b/src/diagrams/flowchart/flowRenderer.js index f290beeeb..95f9c2174 100644 --- a/src/diagrams/flowchart/flowRenderer.js +++ b/src/diagrams/flowchart/flowRenderer.js @@ -4,7 +4,12 @@ import * as d3 from 'd3'; import flowDb from './flowDb'; import flow from './parser/flow'; import { getConfig } from '../../config'; + +const newDagreD3 = true; import dagreD3 from 'dagre-d3'; +// const newDagreD3 = false; +// import dagreD3 from '../../../../dagre-d3-renderer/dist/dagre-d3.core.js'; + import addHtmlLabel from 'dagre-d3/lib/label/add-html-label.js'; import { logger } from '../../logger'; import { interpolateToCurve } from '../../utils'; @@ -271,7 +276,7 @@ export const getClasses = function(text) { * @param text * @param id */ -export const draw = function(text, id) { +export const draw = function (text, id) { logger.info('Drawing flowchart'); flowDb.clear(); const parser = flow.parser; @@ -291,18 +296,35 @@ export const draw = function(text, id) { } // Create the input mermaid.graph - const g = new graphlib.Graph({ - multigraph: true, - compound: true - }) - .setGraph({ - rankdir: dir, - marginx: 20, - marginy: 20 + let g; + // Todo remove newDagreD3 when properly verified + if (newDagreD3) { + g = new graphlib.Graph({ + multigraph: true, + compound: true }) - .setDefaultEdgeLabel(function() { - return {}; - }); + .setGraph({ + rankdir: dir, + marginx: 8, + marginy: 8 + }) + .setDefaultEdgeLabel(function () { + return {}; + }); + } else { + g = new graphlib.Graph({ + multigraph: true, + compound: true + }) + .setGraph({ + rankdir: dir, + marginx: 20, + marginy: 20 + }) + .setDefaultEdgeLabel(function () { + return {}; + }); + } let subG; const subGraphs = flowDb.getSubGraphs(); @@ -381,13 +403,31 @@ export const draw = function(text, id) { const element = d3.select('#' + id + ' g'); render(element, g); - element.selectAll('g.node').attr('title', function() { + element.selectAll('g.node').attr('title', function () { return flowDb.getTooltip(this.id); }); const conf = getConfig().flowchart; - const padding = 8; + // Todo remove newDagreD3 when properly verified + if (newDagreD3) { + const svgBounds = svg.node().getBBox(); + const width = svgBounds.width + padding * 2; + const height = svgBounds.height + padding * 2; + logger.debug(`new ViewBox 0 0 ${width} ${height}`, `translate(${padding - g._label.marginx}, ${padding - g._label.marginy})`); + + if (conf.useMaxWidth) { + svg.attr('width', '100%'); + svg.attr('style', `max-width: ${width}px;`); + } else { + svg.attr('height', height); + svg.attr('width', width); + } + + svg.attr('viewBox', `0 0 ${width} ${height}`); + svg.select('g').attr('transform', `translate(${padding - g._label.marginx}, ${padding - svgBounds.y})`); + +} else { const width = g.maxX - g.minX + padding * 2; const height = g.maxY - g.minY + padding * 2; @@ -399,9 +439,12 @@ export const draw = function(text, id) { svg.attr('width', width); } + logger.debug(`Org ViewBox 0 0 ${width} ${height}`, `translate(${padding - g.minX}, ${padding - g.minY})\n${location.href}`) + svg.attr('viewBox', `0 0 ${width} ${height}`); svg.select('g').attr('transform', `translate(${padding - g.minX}, ${padding - g.minY})`); - + // svg.select('g').attr('transform', `translate(${padding - minX}, ${padding - minY})`); +} // Index nodes flowDb.indexNodes('subGraph' + i); diff --git a/src/diagrams/state/shapes.js b/src/diagrams/state/shapes.js index b4e3cf5be..cf22fef38 100644 --- a/src/diagrams/state/shapes.js +++ b/src/diagrams/state/shapes.js @@ -416,7 +416,7 @@ export const drawEdge = function(elem, path, relation) { const rows = getRows(relation.title); - console.warn(rows); + // console.warn(rows); let titleHeight = 0; const titleRows = []; @@ -431,7 +431,6 @@ export const drawEdge = function(elem, path, relation) { if (titleHeight === 0) { const titleBox = title.node().getBBox(); titleHeight = titleBox.height; - console.warn('apa', rows.length * titleHeight); } titleRows.push(title); } From 8f8638fb7c422b9581f016a49f9a988b64de14a1 Mon Sep 17 00:00:00 2001 From: Knut Sveidqvist Date: Thu, 24 Oct 2019 19:46:42 +0200 Subject: [PATCH 145/200] #1029 Linting fixes --- src/diagrams/flowchart/flowRenderer.js | 71 ++++++++++++++------------ src/diagrams/state/shapes.js | 4 +- 2 files changed, 41 insertions(+), 34 deletions(-) diff --git a/src/diagrams/flowchart/flowRenderer.js b/src/diagrams/flowchart/flowRenderer.js index 95f9c2174..0d06e39fb 100644 --- a/src/diagrams/flowchart/flowRenderer.js +++ b/src/diagrams/flowchart/flowRenderer.js @@ -276,7 +276,7 @@ export const getClasses = function(text) { * @param text * @param id */ -export const draw = function (text, id) { +export const draw = function(text, id) { logger.info('Drawing flowchart'); flowDb.clear(); const parser = flow.parser; @@ -308,7 +308,7 @@ export const draw = function (text, id) { marginx: 8, marginy: 8 }) - .setDefaultEdgeLabel(function () { + .setDefaultEdgeLabel(function() { return {}; }); } else { @@ -321,7 +321,7 @@ export const draw = function (text, id) { marginx: 20, marginy: 20 }) - .setDefaultEdgeLabel(function () { + .setDefaultEdgeLabel(function() { return {}; }); } @@ -403,7 +403,7 @@ export const draw = function (text, id) { const element = d3.select('#' + id + ' g'); render(element, g); - element.selectAll('g.node').attr('title', function () { + element.selectAll('g.node').attr('title', function() { return flowDb.getTooltip(this.id); }); @@ -414,37 +414,44 @@ export const draw = function (text, id) { const svgBounds = svg.node().getBBox(); const width = svgBounds.width + padding * 2; const height = svgBounds.height + padding * 2; - logger.debug(`new ViewBox 0 0 ${width} ${height}`, `translate(${padding - g._label.marginx}, ${padding - g._label.marginy})`); + logger.debug( + `new ViewBox 0 0 ${width} ${height}`, + `translate(${padding - g._label.marginx}, ${padding - g._label.marginy})` + ); - if (conf.useMaxWidth) { - svg.attr('width', '100%'); - svg.attr('style', `max-width: ${width}px;`); + if (conf.useMaxWidth) { + svg.attr('width', '100%'); + svg.attr('style', `max-width: ${width}px;`); + } else { + svg.attr('height', height); + svg.attr('width', width); + } + + svg.attr('viewBox', `0 0 ${width} ${height}`); + svg + .select('g') + .attr('transform', `translate(${padding - g._label.marginx}, ${padding - svgBounds.y})`); } else { - svg.attr('height', height); - svg.attr('width', width); + const width = g.maxX - g.minX + padding * 2; + const height = g.maxY - g.minY + padding * 2; + + if (conf.useMaxWidth) { + svg.attr('width', '100%'); + svg.attr('style', `max-width: ${width}px;`); + } else { + svg.attr('height', height); + svg.attr('width', width); + } + + logger.debug( + `Org ViewBox 0 0 ${width} ${height}`, + `translate(${padding - g.minX}, ${padding - g.minY})\n${location.href}` + ); + + svg.attr('viewBox', `0 0 ${width} ${height}`); + svg.select('g').attr('transform', `translate(${padding - g.minX}, ${padding - g.minY})`); + // svg.select('g').attr('transform', `translate(${padding - minX}, ${padding - minY})`); } - - svg.attr('viewBox', `0 0 ${width} ${height}`); - svg.select('g').attr('transform', `translate(${padding - g._label.marginx}, ${padding - svgBounds.y})`); - -} else { - const width = g.maxX - g.minX + padding * 2; - const height = g.maxY - g.minY + padding * 2; - - if (conf.useMaxWidth) { - svg.attr('width', '100%'); - svg.attr('style', `max-width: ${width}px;`); - } else { - svg.attr('height', height); - svg.attr('width', width); - } - - logger.debug(`Org ViewBox 0 0 ${width} ${height}`, `translate(${padding - g.minX}, ${padding - g.minY})\n${location.href}`) - - svg.attr('viewBox', `0 0 ${width} ${height}`); - svg.select('g').attr('transform', `translate(${padding - g.minX}, ${padding - g.minY})`); - // svg.select('g').attr('transform', `translate(${padding - minX}, ${padding - minY})`); -} // Index nodes flowDb.indexNodes('subGraph' + i); diff --git a/src/diagrams/state/shapes.js b/src/diagrams/state/shapes.js index cf22fef38..ddbc5337d 100644 --- a/src/diagrams/state/shapes.js +++ b/src/diagrams/state/shapes.js @@ -436,9 +436,9 @@ export const drawEdge = function(elem, path, relation) { } if (rows.length > 1) { - const heightAdj = rows.length * titleHeight * 0.25; + const heightAdj = rows.length * titleHeight * 0.25; - titleRows.forEach((title, i) => title.attr('y', y + i * titleHeight - heightAdj)); + titleRows.forEach((title, i) => title.attr('y', y + i * titleHeight - heightAdj)); } const bounds = label.node().getBBox(); From a5cc1e804bed63f500aaee60b8c473b8f22942b4 Mon Sep 17 00:00:00 2001 From: Knut Sveidqvist Date: Sun, 27 Oct 2019 15:24:56 +0100 Subject: [PATCH 146/200] #1031 Adding stricter code checks --- .eslintignore | 1 + .eslintrc.json | 5 +-- cypress/integration/rendering/current.spec.js | 33 +++++++++++++++++++ src/diagrams/class/classRenderer.js | 20 +++++------ src/diagrams/flowchart/flowDb.js | 4 +-- src/diagrams/flowchart/flowRenderer.js | 2 +- src/diagrams/gantt/ganttDb.js | 7 ++-- src/diagrams/gantt/ganttRenderer.js | 4 +-- src/diagrams/pie/pieRenderer.js | 2 +- src/diagrams/sequence/sequenceRenderer.js | 3 +- src/diagrams/sequence/svgDraw.js | 4 +-- src/diagrams/state/shapes.js | 31 +++++++++-------- src/diagrams/state/stateDb.js | 6 ++-- src/diagrams/state/stateRenderer.js | 31 ++++++++--------- src/mermaidAPI.js | 1 - src/utils.js | 2 +- 16 files changed, 91 insertions(+), 65 deletions(-) create mode 100644 .eslintignore create mode 100644 cypress/integration/rendering/current.spec.js diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 000000000..7e54e3631 --- /dev/null +++ b/.eslintignore @@ -0,0 +1 @@ +**/*.spec.js \ No newline at end of file diff --git a/.eslintrc.json b/.eslintrc.json index a1aed17d7..e04aeb4d6 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -1,7 +1,8 @@ { "env": { "browser": true, - "es6": true + "es6": true, + "node": true }, "parserOptions": { "ecmaFeatures": { @@ -10,7 +11,7 @@ }, "sourceType": "module" }, - "extends": ["prettier"], + "extends": ["prettier", "eslint:recommended"], "plugins": ["prettier"], "rules": { "prettier/prettier": ["error"] diff --git a/cypress/integration/rendering/current.spec.js b/cypress/integration/rendering/current.spec.js new file mode 100644 index 000000000..5a0501583 --- /dev/null +++ b/cypress/integration/rendering/current.spec.js @@ -0,0 +1,33 @@ +/* eslint-env jest */ +import { imgSnapshotTest } from '../../helpers/util'; + +describe('State diagram', () => { + it('should render a flowchart full of circles', () => { + imgSnapshotTest( + ` + graph LR + 47(SAM.CommonFA.FMESummary)-->48(SAM.CommonFA.CommonFAFinanceBudget) + 37(SAM.CommonFA.BudgetSubserviceLineVolume)-->48(SAM.CommonFA.CommonFAFinanceBudget) + 35(SAM.CommonFA.PopulationFME)-->47(SAM.CommonFA.FMESummary) + 41(SAM.CommonFA.MetricCost)-->47(SAM.CommonFA.FMESummary) + 44(SAM.CommonFA.MetricOutliers)-->47(SAM.CommonFA.FMESummary) + 46(SAM.CommonFA.MetricOpportunity)-->47(SAM.CommonFA.FMESummary) + 40(SAM.CommonFA.OPVisits)-->47(SAM.CommonFA.FMESummary) + 38(SAM.CommonFA.CommonFAFinanceRefund)-->47(SAM.CommonFA.FMESummary) + 43(SAM.CommonFA.CommonFAFinancePicuDays)-->47(SAM.CommonFA.FMESummary) + 42(SAM.CommonFA.CommonFAFinanceNurseryDays)-->47(SAM.CommonFA.FMESummary) + 45(SAM.CommonFA.MetricPreOpportunity)-->46(SAM.CommonFA.MetricOpportunity) + 35(SAM.CommonFA.PopulationFME)-->45(SAM.CommonFA.MetricPreOpportunity) + 41(SAM.CommonFA.MetricCost)-->45(SAM.CommonFA.MetricPreOpportunity) + 41(SAM.CommonFA.MetricCost)-->44(SAM.CommonFA.MetricOutliers) + 39(SAM.CommonFA.ChargeDetails)-->43(SAM.CommonFA.CommonFAFinancePicuDays) + 39(SAM.CommonFA.ChargeDetails)-->42(SAM.CommonFA.CommonFAFinanceNurseryDays) + 39(SAM.CommonFA.ChargeDetails)-->41(SAM.CommonFA.MetricCost) + 39(SAM.CommonFA.ChargeDetails)-->40(SAM.CommonFA.OPVisits) + 35(SAM.CommonFA.PopulationFME)-->39(SAM.CommonFA.ChargeDetails) + 36(SAM.CommonFA.PremetricCost)-->39(SAM.CommonFA.ChargeDetails) + `, + {} + ); + }); +}); diff --git a/src/diagrams/class/classRenderer.js b/src/diagrams/class/classRenderer.js index 877098608..c61c37744 100644 --- a/src/diagrams/class/classRenderer.js +++ b/src/diagrams/class/classRenderer.js @@ -204,14 +204,12 @@ const drawEdge = function(elem, path, relation) { x = labalPosition.x; y = labalPosition.y; - let p1_card_x, - p1_card_y, - p1_card_padd_x = conf.padding * 2, - p1_card_padd_y = conf.padding; - let p2_card_x, - p2_card_y, - p2_card_padd_x = conf.padding * 2, - p2_card_padd_y = -conf.padding / 2; + let p1_card_x, p1_card_y; + // p1_card_padd_x = conf.padding * 2, + // p1_card_padd_y = conf.padding; + let p2_card_x, p2_card_y; + // p2_card_padd_x = conf.padding * 2, + // p2_card_padd_y = -conf.padding / 2; if (l % 2 !== 0 && l > 1) { let cardinality_1_point = utils.calcCardinalityPosition( relation.relation.type1 !== 'none', @@ -258,8 +256,7 @@ const drawEdge = function(elem, path, relation) { logger.info('Rendering relation ' + JSON.stringify(relation)); if (typeof relation.relationTitle1 !== 'undefined' && relation.relationTitle1 !== 'none') { const g = elem.append('g').attr('class', 'cardinality'); - const label = g - .append('text') + g.append('text') .attr('class', 'type1') .attr('x', p1_card_x) .attr('y', p1_card_y) @@ -269,8 +266,7 @@ const drawEdge = function(elem, path, relation) { } if (typeof relation.relationTitle2 !== 'undefined' && relation.relationTitle2 !== 'none') { const g = elem.append('g').attr('class', 'cardinality'); - const label = g - .append('text') + g.append('text') .attr('class', 'type2') .attr('x', p2_card_x) .attr('y', p2_card_y) diff --git a/src/diagrams/flowchart/flowDb.js b/src/diagrams/flowchart/flowDb.js index 35ae8f7cd..825cac842 100644 --- a/src/diagrams/flowchart/flowDb.js +++ b/src/diagrams/flowchart/flowDb.js @@ -223,7 +223,7 @@ const setClickFun = function(_id, functionName) { return; } if (typeof vertices[id] !== 'undefined') { - funs.push(function(element) { + funs.push(function() { const elem = document.querySelector(`[id="${id}"]`); if (elem !== null) { elem.addEventListener( @@ -395,7 +395,7 @@ export const addSubGraph = function(_id, list, _title) { return false; } if (type in prims) { - return prims[type].hasOwnProperty(item) ? false : (prims[type][item] = true); + return prims[type].hasOwnProperty(item) ? false : (prims[type][item] = true); // eslint-disable-line } else { return objs.indexOf(item) >= 0 ? false : objs.push(item); } diff --git a/src/diagrams/flowchart/flowRenderer.js b/src/diagrams/flowchart/flowRenderer.js index 0d06e39fb..fac20a742 100644 --- a/src/diagrams/flowchart/flowRenderer.js +++ b/src/diagrams/flowchart/flowRenderer.js @@ -376,7 +376,7 @@ export const draw = function(text, id) { }; // Override normal arrowhead defined in d3. Remove style & add class to allow css styling. - render.arrows().normal = function normal(parent, id, edge, type) { + render.arrows().normal = function normal(parent, id) { const marker = parent .append('marker') .attr('id', id) diff --git a/src/diagrams/gantt/ganttDb.js b/src/diagrams/gantt/ganttDb.js index 9eb2b8c38..90f5066a0 100644 --- a/src/diagrams/gantt/ganttDb.js +++ b/src/diagrams/gantt/ganttDb.js @@ -387,10 +387,11 @@ const compileTasks = function() { const task = rawTasks[pos]; let startTime = ''; switch (rawTasks[pos].raw.startTime.type) { - case 'prevTaskEnd': + case 'prevTaskEnd': { const prevTask = findTaskById(task.prevTaskId); task.startTime = prevTask.endTime; break; + } case 'getStartDate': startTime = getStartDate(undefined, dateFormat, rawTasks[pos].raw.startTime.startData); if (startTime) { @@ -501,7 +502,7 @@ const setClickFun = function(id, functionName, functionArgs) { * @param callbackFunction A function to be executed when clicked on the task or the task's text */ const pushFun = function(id, callbackFunction) { - funs.push(function(element) { + funs.push(function() { // const elem = d3.select(element).select(`[id="${id}"]`) const elem = document.querySelector(`[id="${id}"]`); if (elem !== null) { @@ -510,7 +511,7 @@ const pushFun = function(id, callbackFunction) { }); } }); - funs.push(function(element) { + funs.push(function() { // const elem = d3.select(element).select(`[id="${id}-text"]`) const elem = document.querySelector(`[id="${id}-text"]`); if (elem !== null) { diff --git a/src/diagrams/gantt/ganttRenderer.js b/src/diagrams/gantt/ganttRenderer.js index 98f8b66a6..3bf258251 100644 --- a/src/diagrams/gantt/ganttRenderer.js +++ b/src/diagrams/gantt/ganttRenderer.js @@ -102,7 +102,7 @@ export const draw = function(text, id) { drawToday(leftPadding, topPadding, pageWidth, pageHeight); } - function drawRects(theArray, theGap, theTopPad, theSidePad, theBarHeight, theColorScale, w, h) { + function drawRects(theArray, theGap, theTopPad, theSidePad, theBarHeight, theColorScale, w) { // Draw background rects covering the entire width of the graph, these form the section rows. svg .append('g') @@ -401,7 +401,7 @@ export const draw = function(text, id) { const hash = {}; const result = []; for (let i = 0, l = arr.length; i < l; ++i) { - if (!hash.hasOwnProperty(arr[i])) { + if (!hash.hasOwnProperty(arr[i])) { // eslint-disable-line // it works with objects! in FF, at least hash[arr[i]] = true; result.push(arr[i]); diff --git a/src/diagrams/pie/pieRenderer.js b/src/diagrams/pie/pieRenderer.js index 23291ec00..13569ebee 100644 --- a/src/diagrams/pie/pieRenderer.js +++ b/src/diagrams/pie/pieRenderer.js @@ -21,7 +21,7 @@ export const setConf = function(cnf) { * @param id */ let w; -export const draw = (txt, id, ver) => { +export const draw = (txt, id) => { try { const parser = pieParser.parser; parser.yy = pieData; diff --git a/src/diagrams/sequence/sequenceRenderer.js b/src/diagrams/sequence/sequenceRenderer.js index 2dad748d3..86bb6010c 100644 --- a/src/diagrams/sequence/sequenceRenderer.js +++ b/src/diagrams/sequence/sequenceRenderer.js @@ -514,11 +514,12 @@ export const draw = function(text, id) { bounds.newLoop(undefined, msg.message); bounds.bumpVerticalPos(conf.boxMargin); break; - case parser.yy.LINETYPE.RECT_END: + case parser.yy.LINETYPE.RECT_END: { const rectData = bounds.endLoop(); svgDraw.drawBackgroundRect(diagram, rectData); bounds.bumpVerticalPos(conf.boxMargin); break; + } case parser.yy.LINETYPE.OPT_START: bounds.bumpVerticalPos(conf.boxMargin); bounds.newLoop(msg.message); diff --git a/src/diagrams/sequence/svgDraw.js b/src/diagrams/sequence/svgDraw.js index 4658f174f..b7c29bd80 100644 --- a/src/diagrams/sequence/svgDraw.js +++ b/src/diagrams/sequence/svgDraw.js @@ -16,7 +16,7 @@ export const drawRect = function(elem, rectData) { return rectElem; }; -export const drawText = function(elem, textData, width) { +export const drawText = function(elem, textData) { // Remove and ignore br:s const nText = textData.text.replace(//gi, ' '); @@ -374,7 +374,7 @@ const _drawTextCandidateFunc = (function() { function _setTextAttrs(toText, fromTextAttrsDict) { for (const key in fromTextAttrsDict) { - if (fromTextAttrsDict.hasOwnProperty(key)) { + if (fromTextAttrsDict.hasOwnProperty(key)) { // eslint-disable-line toText.attr(key, fromTextAttrsDict[key]); } } diff --git a/src/diagrams/state/shapes.js b/src/diagrams/state/shapes.js index ddbc5337d..79d46092b 100644 --- a/src/diagrams/state/shapes.js +++ b/src/diagrams/state/shapes.js @@ -2,7 +2,7 @@ import * as d3 from 'd3'; import idCache from './id-cache.js'; import stateDb from './stateDb'; import utils from '../../utils'; -import { getConfig, conf } from '../../config'; +import { getConfig } from '../../config'; // let conf; @@ -131,15 +131,15 @@ export const drawDescrState = (g, stateDef) => { */ export const addIdAndBox = (g, stateDef) => { // TODO Move hardcodings to conf - const addTspan = function(textEl, txt, isFirst) { - const tSpan = textEl - .append('tspan') - .attr('x', 2 * getConfig().state.padding) - .text(txt); - if (!isFirst) { - tSpan.attr('dy', getConfig().state.textHeight); - } - }; + // const addTspan = function(textEl, txt, isFirst) { + // const tSpan = textEl + // .append('tspan') + // .attr('x', 2 * getConfig().state.padding) + // .text(txt); + // if (!isFirst) { + // tSpan.attr('dy', getConfig().state.textHeight); + // } + // }; const title = g .append('text') .attr('x', 2 * getConfig().state.padding) @@ -148,7 +148,7 @@ export const addIdAndBox = (g, stateDef) => { .attr('class', 'state-title') .text(stateDef.id); - const titleHeight = title.node().getBBox().height; + const titleBox = title.node().getBBox(); const lineY = 1 - getConfig().state.textHeight; const descrLine = g @@ -159,7 +159,7 @@ export const addIdAndBox = (g, stateDef) => { .attr('class', 'descr-divider'); const graphBox = g.node().getBBox(); - title.attr('x', graphBox.width / 2 - title.node().getBBox().width / 2); + title.attr('x', graphBox.width / 2 - titleBox.width / 2); descrLine.attr('x2', graphBox.width + getConfig().state.padding); // White color @@ -241,7 +241,7 @@ const drawForkJoinState = (g, stateDef) => { .attr('y', getConfig().state.padding); }; -export const drawText = function(elem, textData, width) { +export const drawText = function(elem, textData) { // Remove and ignore br:s const nText = textData.text.replace(//gi, ' '); @@ -264,7 +264,7 @@ export const drawText = function(elem, textData, width) { const _drawLongText = (_text, x, y, g) => { let textHeight = 0; - let textWidth = 0; + const textElem = g.append('text'); textElem.style('text-anchor', 'start'); textElem.attr('class', 'noteText'); @@ -317,8 +317,7 @@ export const drawNote = (text, g) => { * @param {*} stateDef */ -let cnt = 0; -export const drawState = function(elem, stateDef, graph, doc) { +export const drawState = function(elem, stateDef) { const id = stateDef.id; const stateInfo = { id: id, diff --git a/src/diagrams/state/stateDb.js b/src/diagrams/state/stateDb.js index 44d6fe6ea..e8f43d413 100644 --- a/src/diagrams/state/stateDb.js +++ b/src/diagrams/state/stateDb.js @@ -9,7 +9,7 @@ const setRootDoc = o => { const getRootDoc = () => rootDoc; const extract = doc => { - const res = { states: [], relations: [] }; + // const res = { states: [], relations: [] }; clear(); doc.forEach(item => { @@ -37,8 +37,8 @@ let documents = { let currentDocument = documents.root; let startCnt = 0; -let endCnt = 0; -let stateCnt = 0; +let endCnt = 0; // eslint-disable-line +// let stateCnt = 0; /** * Function called by parser when a node definition has been found. diff --git a/src/diagrams/state/stateRenderer.js b/src/diagrams/state/stateRenderer.js index c929df7f2..e0ba69a6a 100644 --- a/src/diagrams/state/stateRenderer.js +++ b/src/diagrams/state/stateRenderer.js @@ -4,15 +4,12 @@ import graphlib from 'graphlib'; import { logger } from '../../logger'; import stateDb from './stateDb'; import { parser } from './parser/stateDiagram'; -import utils from '../../utils'; -import idCache from './id-cache'; -import { drawState, addIdAndBox, drawEdge, drawNote } from './shapes'; +// import idCache from './id-cache'; +import { drawState, addIdAndBox, drawEdge } from './shapes'; import { getConfig } from '../../config'; parser.yy = stateDb; -let total = 0; - // TODO Move conf object to main conf in mermaidAPI let conf; // { @@ -28,20 +25,20 @@ let conf; const transformationLog = {}; -export const setConf = function(cnf) {}; +export const setConf = function() {}; // Todo optimize -const getGraphId = function(label) { - const keys = idCache.keys(); +// const getGraphId = function(label) { +// const keys = idCache.keys(); - for (let i = 0; i < keys.length; i++) { - if (idCache.get(keys[i]).label === label) { - return keys[i]; - } - } +// for (let i = 0; i < keys.length; i++) { +// if (idCache.get(keys[i]).label === label) { +// return keys[i]; +// } +// } - return undefined; -}; +// return undefined; +// }; /** * Setup arrow head and define the marker. The result is appended to the svg. @@ -90,7 +87,7 @@ export const draw = function(text, id) { }); const rootDoc = stateDb.getRootDoc(); - const n = renderDoc(rootDoc, diagram); + renderDoc(rootDoc, diagram); const bounds = diagram.node().getBBox(); @@ -129,7 +126,6 @@ const renderDoc = (doc, diagram, parentId) => { // multigraph: false, compound: true, // acyclicer: 'greedy', - rankdir: 'LR', ranker: 'tight-tree', ranksep: conf.edgeLengthFactor // isMultiGraph: false @@ -159,7 +155,6 @@ const renderDoc = (doc, diagram, parentId) => { const keys = Object.keys(states); - total = keys.length; let first = true; for (let i = 0; i < keys.length; i++) { diff --git a/src/mermaidAPI.js b/src/mermaidAPI.js index ae26cffb3..57563897f 100644 --- a/src/mermaidAPI.js +++ b/src/mermaidAPI.js @@ -317,7 +317,6 @@ const config = { forkWidth: 70, forkHeight: 7, // Used - padding: 5, miniPadding: 2, // Font size factor, this is used to guess the width of the edges labels before rendering by dagre // layout. This might need updating if/when switching font diff --git a/src/utils.js b/src/utils.js index c03621749..05e3a127d 100644 --- a/src/utils.js +++ b/src/utils.js @@ -122,7 +122,7 @@ const calcLabelPosition = points => { const calcCardinalityPosition = (isRelationTypePresent, points, initialPosition) => { let prevPoint; - let totalDistance = 0; + let totalDistance = 0; // eslint-disable-line if (points[0] !== initialPosition) { points = points.reverse(); } From b113436055b3bf46ca86d45a0d03468fa2d266eb Mon Sep 17 00:00:00 2001 From: Knut Sveidqvist Date: Sun, 27 Oct 2019 16:58:32 +0100 Subject: [PATCH 147/200] #1033 Fix for diagram bounds and viewbox --- cypress/integration/rendering/current.spec.js | 30 +++++-------------- src/diagrams/state/stateRenderer.js | 29 ++++++++++++++---- src/mermaidAPI.js | 2 +- 3 files changed, 32 insertions(+), 29 deletions(-) diff --git a/cypress/integration/rendering/current.spec.js b/cypress/integration/rendering/current.spec.js index 5a0501583..bb239bc8b 100644 --- a/cypress/integration/rendering/current.spec.js +++ b/cypress/integration/rendering/current.spec.js @@ -5,29 +5,15 @@ describe('State diagram', () => { it('should render a flowchart full of circles', () => { imgSnapshotTest( ` - graph LR - 47(SAM.CommonFA.FMESummary)-->48(SAM.CommonFA.CommonFAFinanceBudget) - 37(SAM.CommonFA.BudgetSubserviceLineVolume)-->48(SAM.CommonFA.CommonFAFinanceBudget) - 35(SAM.CommonFA.PopulationFME)-->47(SAM.CommonFA.FMESummary) - 41(SAM.CommonFA.MetricCost)-->47(SAM.CommonFA.FMESummary) - 44(SAM.CommonFA.MetricOutliers)-->47(SAM.CommonFA.FMESummary) - 46(SAM.CommonFA.MetricOpportunity)-->47(SAM.CommonFA.FMESummary) - 40(SAM.CommonFA.OPVisits)-->47(SAM.CommonFA.FMESummary) - 38(SAM.CommonFA.CommonFAFinanceRefund)-->47(SAM.CommonFA.FMESummary) - 43(SAM.CommonFA.CommonFAFinancePicuDays)-->47(SAM.CommonFA.FMESummary) - 42(SAM.CommonFA.CommonFAFinanceNurseryDays)-->47(SAM.CommonFA.FMESummary) - 45(SAM.CommonFA.MetricPreOpportunity)-->46(SAM.CommonFA.MetricOpportunity) - 35(SAM.CommonFA.PopulationFME)-->45(SAM.CommonFA.MetricPreOpportunity) - 41(SAM.CommonFA.MetricCost)-->45(SAM.CommonFA.MetricPreOpportunity) - 41(SAM.CommonFA.MetricCost)-->44(SAM.CommonFA.MetricOutliers) - 39(SAM.CommonFA.ChargeDetails)-->43(SAM.CommonFA.CommonFAFinancePicuDays) - 39(SAM.CommonFA.ChargeDetails)-->42(SAM.CommonFA.CommonFAFinanceNurseryDays) - 39(SAM.CommonFA.ChargeDetails)-->41(SAM.CommonFA.MetricCost) - 39(SAM.CommonFA.ChargeDetails)-->40(SAM.CommonFA.OPVisits) - 35(SAM.CommonFA.PopulationFME)-->39(SAM.CommonFA.ChargeDetails) - 36(SAM.CommonFA.PremetricCost)-->39(SAM.CommonFA.ChargeDetails) - `, + stateDiagram + State1: The state with a note + `, {} ); }); }); + // note right of State1 + // Important information! You\ncan write + // notes with multiple lines... + // Here is another line... + // end note diff --git a/src/diagrams/state/stateRenderer.js b/src/diagrams/state/stateRenderer.js index e0ba69a6a..31a640657 100644 --- a/src/diagrams/state/stateRenderer.js +++ b/src/diagrams/state/stateRenderer.js @@ -89,17 +89,34 @@ export const draw = function(text, id) { const rootDoc = stateDb.getRootDoc(); renderDoc(rootDoc, diagram); + const padding = conf.padding; const bounds = diagram.node().getBBox(); - diagram.attr('height', '100%'); - diagram.attr('style', `width: ${bounds.width * 3 + conf.padding * 2};`); + console.warn(bounds); + + const width = bounds.width + padding * 2; + const height = bounds.height + padding * 2; + + // diagram.attr('height', '100%'); + // diagram.attr('style', `width: ${bounds.width * 3 + conf.padding * 2};`); + // diagram.attr('height', height); + + // Zoom in a bit + diagram.attr('width', width * 2); + // diagram.attr('height', bounds.height * 3 + conf.padding * 2); diagram.attr( 'viewBox', - `${conf.padding * -1} ${conf.padding * -1} ` + - (bounds.width * 1.5 + conf.padding * 2) + - ' ' + - (bounds.height + conf.padding * 5) + `${bounds.x - conf.padding} ${bounds.y - conf.padding} ` + width + ' ' + height ); + // diagram.attr('transform', `translate(, 0)`); + + // diagram.attr( + // 'viewBox', + // `${conf.padding * -1} ${conf.padding * -1} ` + + // (bounds.width * 1.5 + conf.padding * 2) + + // ' ' + + // (bounds.height + conf.padding * 5) + // ); }; const getLabelWidth = text => { return text ? text.length * conf.fontSizeFactor : 1; diff --git a/src/mermaidAPI.js b/src/mermaidAPI.js index 57563897f..94b0efe54 100644 --- a/src/mermaidAPI.js +++ b/src/mermaidAPI.js @@ -310,7 +310,7 @@ const config = { state: { dividerMargin: 10, sizeUnit: 5, - padding: 5, + padding: 8, textHeight: 10, titleShift: -15, noteMargin: 10, From 034a7c424ddc07ef1f17e5318792b2d1983e71f8 Mon Sep 17 00:00:00 2001 From: Knut Sveidqvist Date: Sun, 27 Oct 2019 17:16:29 +0100 Subject: [PATCH 148/200] #1033 Better handling of multiline notes --- cypress/integration/rendering/current.spec.js | 11 ++++++----- src/diagrams/state/shapes.js | 11 ++++++++--- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/cypress/integration/rendering/current.spec.js b/cypress/integration/rendering/current.spec.js index bb239bc8b..1ed1c9d5c 100644 --- a/cypress/integration/rendering/current.spec.js +++ b/cypress/integration/rendering/current.spec.js @@ -7,13 +7,14 @@ describe('State diagram', () => { ` stateDiagram State1: The state with a note + note right of State1 + Important information! You\ncan write + notes with multiple lines... + Here is another line... + And another line... + end note `, {} ); }); }); - // note right of State1 - // Important information! You\ncan write - // notes with multiple lines... - // Here is another line... - // end note diff --git a/src/diagrams/state/shapes.js b/src/diagrams/state/shapes.js index 79d46092b..c8cf18124 100644 --- a/src/diagrams/state/shapes.js +++ b/src/diagrams/state/shapes.js @@ -272,17 +272,22 @@ const _drawLongText = (_text, x, y, g) => { let text = _text.replace(/\r\n/g, '
'); text = text.replace(/\n/g, '
'); const lines = text.split(//gi); + + let tHeight = 1.25 * getConfig().state.noteMargin; for (const line of lines) { const txt = line.trim(); if (txt.length > 0) { const span = textElem.append('tspan'); span.text(txt); - const textBounds = span.node().getBBox(); - textHeight += textBounds.height; + if (tHeight === 0) { + const textBounds = span.node().getBBox(); + tHeight += textBounds.height; + } + // console.warn('textBounds', textBounds); + textHeight += tHeight; span.attr('x', x + getConfig().state.noteMargin); span.attr('y', y + textHeight + 1.25 * getConfig().state.noteMargin); - // textWidth = Math.max(textBounds.width, textWidth); } } return { textWidth: textElem.node().getBBox().width, textHeight }; From c4436b7a1e4a2a561a1c154bc6d4c30b1afc42fe Mon Sep 17 00:00:00 2001 From: Louis Frament Date: Tue, 29 Oct 2019 17:20:25 +0100 Subject: [PATCH 149/200] ALPHA pattern now include underscore --- src/diagrams/class/parser/classDiagram.jison | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/diagrams/class/parser/classDiagram.jison b/src/diagrams/class/parser/classDiagram.jison index 547f9ca4c..e0ef9bbda 100644 --- a/src/diagrams/class/parser/classDiagram.jison +++ b/src/diagrams/class/parser/classDiagram.jison @@ -43,8 +43,8 @@ \% return 'PCT'; "=" return 'EQUALS'; \= return 'EQUALS'; -[A-Za-z]+ return 'ALPHA'; -[!"#$%&'*+,-.`?\\_/] return 'PUNCTUATION'; +\w+ return 'ALPHA'; +[!"#$%&'*+,-.`?\\/] return 'PUNCTUATION'; [0-9]+ return 'NUM'; [\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]| [\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]| From 427aea73e7e11084c2d49277d51cb06059cc6a25 Mon Sep 17 00:00:00 2001 From: Louis Frament Date: Tue, 29 Oct 2019 17:39:15 +0100 Subject: [PATCH 150/200] test pass with underscore in a class name --- src/diagrams/class/classDiagram.spec.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/diagrams/class/classDiagram.spec.js b/src/diagrams/class/classDiagram.spec.js index 6ff4fad13..a24a01a88 100644 --- a/src/diagrams/class/classDiagram.spec.js +++ b/src/diagrams/class/classDiagram.spec.js @@ -64,7 +64,7 @@ describe('class diagram, ', function() { it('should handle parsing of method statements grouped by brackets', function() { const str = 'classDiagram\n' + - 'class Dummy {\n' + + 'class Dummy_Class {\n' + 'String data\n' + ' void methods()\n' + '}\n' + From e010a03dd5f493f18299c292aac4e6d3eb4959a3 Mon Sep 17 00:00:00 2001 From: Louis Frament Date: Tue, 29 Oct 2019 17:39:39 +0100 Subject: [PATCH 151/200] package-lock version update --- package-lock.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package-lock.json b/package-lock.json index 4fc945363..bcffa9ac2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "mermaid", - "version": "8.3.1", + "version": "8.4.0", "lockfileVersion": 1, "requires": true, "dependencies": { From d8d5d0fa61e2a7ed2aadb9fb1e5167c984bf5d36 Mon Sep 17 00:00:00 2001 From: Louis Frament Date: Tue, 29 Oct 2019 17:50:19 +0100 Subject: [PATCH 152/200] update classDiagram documentation: fix typos and describe naming convention --- docs/classDiagram.md | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/docs/classDiagram.md b/docs/classDiagram.md index 39f98146a..057618d4a 100644 --- a/docs/classDiagram.md +++ b/docs/classDiagram.md @@ -44,7 +44,7 @@ Mermaid can render class diagrams. +String beakColor +swim() +quack() - } + } class Fish{ -int sizeInFeet -canEat() @@ -69,7 +69,7 @@ A single instance of a class in the diagram contains three compartments: ``` classDiagram class BankAccount - BankAccount : +String onwer + BankAccount : +String owner BankAccount : +Bigdecimal balance BankAccount : +deposit(amount) BankAccount : +withdrawl(amount) @@ -77,7 +77,7 @@ classDiagram ```mermaid classDiagram class BankAccount - BankAccount : +String onwer + BankAccount : +String owner BankAccount : +BigDecimal balance BankAccount : +deposit(amount) BankAccount : +withdrawl(amount) @@ -98,6 +98,9 @@ classDiagram class Animal Vehicle <|-- Car ``` + +Naming convention: a class name should be composed of alphanumeric (unicode allowed) and underscore characters. + ## Defining Members of a class UML provides mechanisms to represent class members, such as attributes and methods, and additional information about them. @@ -117,7 +120,7 @@ There are two ways to define the members of a class, and regardless of the which ``` class BankAccount - BankAccount : +String onwer + BankAccount : +String owner BankAccount : +BigDecimal balance BankAccount : +deposit(amount) BankAccount : +withdrawl(amount) @@ -125,7 +128,7 @@ There are two ways to define the members of a class, and regardless of the which ```mermaid classDiagram class BankAccount - BankAccount : +String onwer + BankAccount : +String owner BankAccount : +BigDecimal balance BankAccount : +deposit(amount) BankAccount : +withdrawl(amount) @@ -134,7 +137,7 @@ There are two ways to define the members of a class, and regardless of the which - Associate members of a class using **{}** brackets, where members are grouped within curly brackets. Suitable for defining multiple members at once. For example: ``` class BankAccount{ - +String onwer + +String owner +BigDecimal balance +deposit(amount) +withdrawl(amount) @@ -143,7 +146,7 @@ class BankAccount{ ```mermaid classDiagram class BankAccount{ - +String onwer + +String owner +BigDecimal balance +deposit(amount) +withdrawl(amount) From e4a2d2a290e1eaab82988f2e521c453f1a2163c2 Mon Sep 17 00:00:00 2001 From: Ashish Jain Date: Wed, 30 Oct 2019 18:29:26 +0100 Subject: [PATCH 153/200] Updated Jest test cases for Pie diagram --- cypress/integration/rendering/pie.spec.js | 24 +++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/cypress/integration/rendering/pie.spec.js b/cypress/integration/rendering/pie.spec.js index f930ac246..b69aad631 100644 --- a/cypress/integration/rendering/pie.spec.js +++ b/cypress/integration/rendering/pie.spec.js @@ -12,5 +12,29 @@ describe('Pie Chart', () => { `, {} ); + cy.get('svg'); + }); + it('should render a simple pie diagram with long labels', () => { + imgSnapshotTest( + ` + pie title NETFLIX + "Time spent looking for movie" : 90 + "Time spent watching it" : 10 + `, + {} + ); + cy.get('svg'); + }); + it('should render a simple pie diagram with capital letters for labels', () => { + imgSnapshotTest( + ` + pie title What Voldemort doesn't have? + "FRIENDS" : 2 + "FAMILY" : 3 + "NOSE" : 45 + `, + {} + ); + cy.get('svg'); }); }); From e96bd14d214e06a3d017d7326e2d6ae61cad7756 Mon Sep 17 00:00:00 2001 From: Ashish Jain Date: Wed, 30 Oct 2019 18:30:14 +0100 Subject: [PATCH 154/200] Updated Examples for Pie Chart --- docs/examples.md | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/docs/examples.md b/docs/examples.md index c17693549..02985474d 100644 --- a/docs/examples.md +++ b/docs/examples.md @@ -1,3 +1,27 @@ +## Basic Pie Chart + +``` +pie title NETFLIX + "Time spent looking for movie" : 90 + "Time spent watching it" : 10 +``` +``` mermaid +pie title NETFLIX + "Time spent looking for movie" : 90 + "Time spent watching it" : 10 +``` +``` +pie title What Voldemort doesn't have? + "FRIENDS" : 2 + "FAMILY" : 3 + "NOSE" : 45 +``` +```mermaid +pie title What Voldemort doesn't have? + "FRIENDS" : 2 + "FAMILY" : 3 + "NOSE" : 45 +``` ## Basic sequence diagram ``` From e8d649b152712efd371c7d9a51eef2b7ea092ba8 Mon Sep 17 00:00:00 2001 From: Ashish Jain Date: Wed, 30 Oct 2019 18:32:07 +0100 Subject: [PATCH 155/200] Updated documentation for Pie Chart --- docs/pie.md | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/docs/pie.md b/docs/pie.md index 821c955da..57d2a7b85 100644 --- a/docs/pie.md +++ b/docs/pie.md @@ -1,11 +1,12 @@ # Pie chart diagrams > A pie chart (or a circle chart) is a circular statistical graphic, which is divided into slices to illustrate numerical proportion. In a pie chart, the arc length of each slice (and consequently its central angle and area), is proportional to the quantity it represents. While it is named for its resemblance to a pie which has been sliced, there are variations on the way it can be presented. The earliest known pie chart is generally credited to William Playfair's Statistical Breviary of 1801 +-Wikipedia Mermaid can render Pie Chart diagrams. ``` -pie +pie title Pets adopted by volunteers "Dogs" : 386 "Cats" : 85 "Rats" : 15 @@ -19,17 +20,34 @@ pie title Pets adopted by volunteers ## Syntax +Drawing a pie chart is really simple in mermaid. +- Start with `pie` keyword to begin the diagram +- Followed by `title` keyword and its value in string to give a title to the pie-chart. This is ***OPTIONAL*** +- Followed by dataSet + - `label` for a section in the pie diagram within `" "` quotes. + - Followed by `:` semi-colon as separator + - Followed by `positive numeric value` (supported upto two decimal places) +[pie] + [title] [titlevalue] (OPTIONAL) + "[datakey1]" : [dataValue1] + "[datakey2]" : [dataValue2] + "[datakey3]" : [dataValue3] + . + . + +## Example ``` pie - "DataKey1" : Positive numeric value (upto two decimal places) + title Key elements in Product X "Calcium" : 42.96 "Potassium" : 50.05 "Magnesium" : 10.01 "Iron" : 5 ``` ```mermaid -pie title Key elements in Product X +pie +title Key elements in Product X "Calcium" : 42.96 "Potassium" : 50.05 "Magnesium" : 25.01 From 5e6590a0f76e9ae06cbd1feaf66fcb1c44d0be1c Mon Sep 17 00:00:00 2001 From: Knut Sveidqvist Date: Wed, 30 Oct 2019 19:40:02 +0100 Subject: [PATCH 156/200] Fix of travis badge for new org --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b970b2292..e1ba19568 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -# mermaid [![Build Status](https://travis-ci.org/knsv/mermaid.svg?branch=master)](https://travis-ci.org/knsv/mermaid) [![Coverage Status](https://coveralls.io/repos/github/knsv/mermaid/badge.svg?branch=master)](https://coveralls.io/github/knsv/mermaid?branch=master) [![Join our Slack!](https://img.shields.io/static/v1?message=join%20chat&color=9cf&logo=slack&label=slack)](https://join.slack.com/t/mermaid-talk/shared_invite/enQtNzc4NDIyNzk4OTAyLWVhYjQxOTI2OTg4YmE1ZmJkY2Y4MTU3ODliYmIwOTY3NDJlYjA0YjIyZTdkMDMyZTUwOGI0NjEzYmEwODcwOTE) [![This project is using Percy.io for visual regression testing.](https://percy.io/static/images/percy-badge.svg)](https://percy.io/Mermaid/mermaid) +# mermaid [![Build Status](https://travis-ci.org/mermaid-js/mermaid.svg?branch=master)](https://travis-ci.org/knsv/mermaid) [![Coverage Status](https://coveralls.io/repos/github/knsv/mermaid/badge.svg?branch=master)](https://coveralls.io/github/knsv/mermaid?branch=master) [![Join our Slack!](https://img.shields.io/static/v1?message=join%20chat&color=9cf&logo=slack&label=slack)](https://join.slack.com/t/mermaid-talk/shared_invite/enQtNzc4NDIyNzk4OTAyLWVhYjQxOTI2OTg4YmE1ZmJkY2Y4MTU3ODliYmIwOTY3NDJlYjA0YjIyZTdkMDMyZTUwOGI0NjEzYmEwODcwOTE) [![This project is using Percy.io for visual regression testing.](https://percy.io/static/images/percy-badge.svg)](https://percy.io/Mermaid/mermaid) ## New diagrams in 8.4 From 82704696520cd67f668109cbe21b0700300e1770 Mon Sep 17 00:00:00 2001 From: Knut Sveidqvist Date: Wed, 30 Oct 2019 19:44:53 +0100 Subject: [PATCH 157/200] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e1ba19568..92e8d60a0 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -# mermaid [![Build Status](https://travis-ci.org/mermaid-js/mermaid.svg?branch=master)](https://travis-ci.org/knsv/mermaid) [![Coverage Status](https://coveralls.io/repos/github/knsv/mermaid/badge.svg?branch=master)](https://coveralls.io/github/knsv/mermaid?branch=master) [![Join our Slack!](https://img.shields.io/static/v1?message=join%20chat&color=9cf&logo=slack&label=slack)](https://join.slack.com/t/mermaid-talk/shared_invite/enQtNzc4NDIyNzk4OTAyLWVhYjQxOTI2OTg4YmE1ZmJkY2Y4MTU3ODliYmIwOTY3NDJlYjA0YjIyZTdkMDMyZTUwOGI0NjEzYmEwODcwOTE) [![This project is using Percy.io for visual regression testing.](https://percy.io/static/images/percy-badge.svg)](https://percy.io/Mermaid/mermaid) +# mermaid [![Build Status](https://travis-ci.org/mermaid-js/mermaid.svg?branch=master)](https://travis-ci.org/mermaid-js/mermaid) [![Coverage Status](https://coveralls.io/repos/github/knsv/mermaid/badge.svg?branch=master)](https://coveralls.io/github/knsv/mermaid?branch=master) [![Join our Slack!](https://img.shields.io/static/v1?message=join%20chat&color=9cf&logo=slack&label=slack)](https://join.slack.com/t/mermaid-talk/shared_invite/enQtNzc4NDIyNzk4OTAyLWVhYjQxOTI2OTg4YmE1ZmJkY2Y4MTU3ODliYmIwOTY3NDJlYjA0YjIyZTdkMDMyZTUwOGI0NjEzYmEwODcwOTE) [![This project is using Percy.io for visual regression testing.](https://percy.io/static/images/percy-badge.svg)](https://percy.io/Mermaid/mermaid) ## New diagrams in 8.4 From 1f72c3e7207db4a03a38b4f2e697df35783c2093 Mon Sep 17 00:00:00 2001 From: Knut Sveidqvist Date: Wed, 30 Oct 2019 19:48:37 +0100 Subject: [PATCH 158/200] Updating the repo path after migration to mermaid-js --- .github/workflows/release-preview-publish.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/release-preview-publish.yml b/.github/workflows/release-preview-publish.yml index 552452e80..b6c29b6a3 100644 --- a/.github/workflows/release-preview-publish.yml +++ b/.github/workflows/release-preview-publish.yml @@ -33,8 +33,8 @@ jobs: echo $VERSION npm version --no-git-tag-version --allow-same-version $VERSION npm set //npm.pkg.github.com/:_authToken ${{ secrets.GITHUB_TOKEN }} - npm set registry https://npm.pkg.github.com/knsv - json -I -f package.json -e 'this.name="@knsv/mermaid"' # Package name needs to be set to a scoped one because GitHub registry requires this - json -I -f package.json -e 'this.repository="git://github.com/knsv/mermaid"' # Repo url needs to have a specific format too + npm set registry https://npm.pkg.github.com/mermaid-js + json -I -f package.json -e 'this.name="@mermaid-js/mermaid"' # Package name needs to be set to a scoped one because GitHub registry requires this + json -I -f package.json -e 'this.repository="git://github.com/mermaid-js/mermaid"' # Repo url needs to have a specific format too npm publish From 97177dffd6a8b2792108c8f28930576036b8c2a8 Mon Sep 17 00:00:00 2001 From: Knut Sveidqvist Date: Wed, 30 Oct 2019 19:54:47 +0100 Subject: [PATCH 159/200] Updated coveralls badge --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 92e8d60a0..8560178c5 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -# mermaid [![Build Status](https://travis-ci.org/mermaid-js/mermaid.svg?branch=master)](https://travis-ci.org/mermaid-js/mermaid) [![Coverage Status](https://coveralls.io/repos/github/knsv/mermaid/badge.svg?branch=master)](https://coveralls.io/github/knsv/mermaid?branch=master) [![Join our Slack!](https://img.shields.io/static/v1?message=join%20chat&color=9cf&logo=slack&label=slack)](https://join.slack.com/t/mermaid-talk/shared_invite/enQtNzc4NDIyNzk4OTAyLWVhYjQxOTI2OTg4YmE1ZmJkY2Y4MTU3ODliYmIwOTY3NDJlYjA0YjIyZTdkMDMyZTUwOGI0NjEzYmEwODcwOTE) [![This project is using Percy.io for visual regression testing.](https://percy.io/static/images/percy-badge.svg)](https://percy.io/Mermaid/mermaid) +# mermaid [![Build Status](https://travis-ci.org/mermaid-js/mermaid.svg?branch=master)](https://travis-ci.org/mermaid-js/mermaid) [![Coverage Status](https://coveralls.io/repos/github/mermaid-js/mermaid/badge.svg?branch=master)](https://coveralls.io/github/mermaid-js/mermaid?branch=master) [![Join our Slack!](https://img.shields.io/static/v1?message=join%20chat&color=9cf&logo=slack&label=slack)](https://join.slack.com/t/mermaid-talk/shared_invite/enQtNzc4NDIyNzk4OTAyLWVhYjQxOTI2OTg4YmE1ZmJkY2Y4MTU3ODliYmIwOTY3NDJlYjA0YjIyZTdkMDMyZTUwOGI0NjEzYmEwODcwOTE) [![This project is using Percy.io for visual regression testing.](https://percy.io/static/images/percy-badge.svg)](https://percy.io/Mermaid/mermaid) ## New diagrams in 8.4 From fe64cc697bace1b6ffda575e0c9d0b819f5ecaed Mon Sep 17 00:00:00 2001 From: Knut Sveidqvist Date: Wed, 30 Oct 2019 20:01:54 +0100 Subject: [PATCH 160/200] Updated version --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 2d810a7cd..35d0ade99 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mermaid", - "version": "8.4.0", + "version": "8.4.1", "description": "Markdownish syntax for generating flowcharts, sequence diagrams, class diagrams, gantt charts and git graphs.", "main": "dist/mermaid.core.js", "keywords": [ From e4486420ce7562a1608e5ba9acfc78e76aeeebd4 Mon Sep 17 00:00:00 2001 From: Knut Sveidqvist Date: Wed, 30 Oct 2019 20:21:35 +0100 Subject: [PATCH 161/200] Update some path changes after repo move --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index b62e8f20f..6e1c65ae3 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -86,7 +86,7 @@ Finally, if it is not in the documentation, no one will know about it and then * The docs are located in the docs folder and are ofc written in markdown. Just pick the right section and start typing. If you want to add to the structure as in adding a new section and new file you do that via the _navbar.md. -The changes in master is reflected in http://knsv.github.io/mermaid/ once released the updates are commited to https://mermaidjs.github.io/#/ +The changes in master is reflected in http://mermaid-js.github.io/mermaid/ once released the updates are commited to https://mermaid-js.github.io/#/ ## Last words From 3674e27e0f65686ff52e94c81f4d600dec7b9296 Mon Sep 17 00:00:00 2001 From: Nacho Date: Fri, 1 Nov 2019 13:38:00 -0400 Subject: [PATCH 162/200] Reworked readme (#1045) --- README.md | 367 +++++++++++++++++------------------------- img/class.png | Bin 144758 -> 0 bytes img/flow.png | Bin 6214 -> 0 bytes img/gantt.png | Bin 16657 -> 0 bytes img/git.png | Bin 15505 -> 0 bytes img/gray-class.png | Bin 0 -> 15647 bytes img/gray-flow.png | Bin 0 -> 7024 bytes img/gray-gantt.png | Bin 0 -> 5973 bytes img/gray-pie.png | Bin 0 -> 13313 bytes img/gray-sequence.png | Bin 0 -> 13238 bytes img/gray-state.png | Bin 0 -> 12106 bytes img/new-diagrams.png | Bin 33968 -> 0 bytes img/sequence.png | Bin 30778 -> 0 bytes 13 files changed, 147 insertions(+), 220 deletions(-) delete mode 100644 img/class.png delete mode 100644 img/flow.png delete mode 100644 img/gantt.png delete mode 100644 img/git.png create mode 100644 img/gray-class.png create mode 100644 img/gray-flow.png create mode 100644 img/gray-gantt.png create mode 100644 img/gray-pie.png create mode 100644 img/gray-sequence.png create mode 100644 img/gray-state.png delete mode 100644 img/new-diagrams.png delete mode 100644 img/sequence.png diff --git a/README.md b/README.md index 8560178c5..89694500b 100644 --- a/README.md +++ b/README.md @@ -1,99 +1,89 @@ - + +| :mega: :mega: :mega: | +| :----: | +| * If you're upgrading from a version __< v8.2.0__, there are [non-backward-compatible changes](http://mermaid-js.github.io/mermaid/#/usage?id=to-enable-click-event-and-tags-in-nodes) related to security issues. Default behaviour of the library might have changed for your implementation.| + # mermaid [![Build Status](https://travis-ci.org/mermaid-js/mermaid.svg?branch=master)](https://travis-ci.org/mermaid-js/mermaid) [![Coverage Status](https://coveralls.io/repos/github/mermaid-js/mermaid/badge.svg?branch=master)](https://coveralls.io/github/mermaid-js/mermaid?branch=master) [![Join our Slack!](https://img.shields.io/static/v1?message=join%20chat&color=9cf&logo=slack&label=slack)](https://join.slack.com/t/mermaid-talk/shared_invite/enQtNzc4NDIyNzk4OTAyLWVhYjQxOTI2OTg4YmE1ZmJkY2Y4MTU3ODliYmIwOTY3NDJlYjA0YjIyZTdkMDMyZTUwOGI0NjEzYmEwODcwOTE) [![This project is using Percy.io for visual regression testing.](https://percy.io/static/images/percy-badge.svg)](https://percy.io/Mermaid/mermaid) + +__Generate diagrams, charts, graphs or flows from markdown-like text via javascript.__ +See our [documentation](http://mermaid-js.github.io/mermaid/) and start simplifying yours. Play in our [live editor](https://mermaidjs.github.io/mermaid-live-editor/) or jump straight to the [installation and usage](http://mermaid-js.github.io/mermaid/#/usage). + -## New diagrams in 8.4 +:trophy: _"The most exciting use of technology"_ - [JS Open Source Awards (2019)](https://osawards.com/javascript/#nominees) -With version 8.4 class diagrams has got some new features, bug fixes and documentation. Another new feature in 8.4 is the new diagram -type, state diagrams. - -![Image show the two new diagram types](./img/new-diagrams.png) - -## Special note regarding version 8.2 - -In version 8.2 a security improvement was introduced. A securityLevel configuration was introduced which sets the level of trust to be used on the parsed diagrams. - -* **`strict`**: (default) tags in text are encoded, click functionality is disabled -* `loose`: tags in text are allowed, click functionality is enabled - -⚠️ **Note** : This changes the default behaviour of mermaid so that after upgrade to 8.2, if the securityLevel is not configured, tags in flowcharts are encoded as tags and clicking is prohibited. - -If your application is taking responsibility for the diagram source security you can set the securityLevel accordingly. By doing this clicks and tags are again allowed. - -```javascript -mermaidAPI.initialize({ - securityLevel: 'loose' -}); -``` - -**🖖 Keep a steady pulse: mermaid needs more Collaborators [#866](https://github.com/knsv/mermaid/issues/866)** - -![banner](./img/header.png) - -Generation of diagrams and flowcharts from text in a similar manner as markdown. - -Ever wanted to simplify documentation and avoid heavy tools like Visio when explaining your code? - -This is why mermaid was born, a simple markdown-like script language for generating charts from text via javascript. - -**Mermaid was nominated and won the JS Open Source Awards (2019) in the category _The most exciting use of technology_!!! Thanks to all involved, people committing pull requests, people answering questions and special thanks to Tyler Long who is helping me maintain the project.** - -### Flowchart - -``` -graph TD; - A-->B; - A-->C; - B-->D; - C-->D; -``` -![Flowchart](./img/flow.png) - - -### Sequence diagram - -``` + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Flow
+ [docs - live editor] +
+graph TD
+A[Hard] -->|Text| B(Round)
+B --> C{Decision}
+C -->|One| D[Result 1]
+C -->|Two| E[Result 2]
+    
+ +
+ Sequence
+ [docs - live editor] +
 sequenceDiagram
-    participant Alice
-    participant Bob
-    Alice->>John: Hello John, how are you?
-    loop Healthcheck
-        John->>John: Fight against hypochondria
-    end
-    Note right of John: Rational thoughts 
prevail! - John-->>Alice: Great! - John->>Bob: How about you? - Bob-->>John: Jolly good! -``` -![Sequence diagram](./img/sequence.png) - - -### Gantt diagram - -``` +Alice->>John: Hello John, how are you? +loop Healthcheck + John->>John: Fight against hypochondria +end +Note right of John: Rational thoughts! +John-->>Alice: Great! +John->>Bob: How about you? +Bob-->>John: Jolly good! +
+ +
+ Gantt
+ [docs - live editor] +
 gantt
-dateFormat  YYYY-MM-DD
-title Adding GANTT diagram to mermaid
-excludes weekdays 2014-01-10
-
-section A section
-Completed task            :done,    des1, 2014-01-06,2014-01-08
-Active task               :active,  des2, 2014-01-09, 3d
-Future task               :         des3, after des2, 5d
-Future task2              :         des4, after des3, 5d
-```
-![Gantt diagram](./img/gantt.png)
-
-
-### Class diagram - :exclamation: experimental
-
-```
+section Section
+Completed :done,    des1, 2014-01-06,2014-01-08
+Active        :active,  des2, 2014-01-07, 3d
+Parallel 1   :         des3, after des1, 1d
+Parallel 2   :         des4, after des1, 1d
+Parallel 3   :         des5, after des3, 1d
+Parallel 4   :         des6, after des4, 1d
+    
+ +
+ Class
+ [docs - live editor] +
 classDiagram
-Class01 <|-- AveryLongClass : Cool
-<> Class01
-Class03 *-- Class04
-Class05 o-- Class06
-Class07 .. Class08
+Class01 <|-- AveryLongClass : Cool
+<<interface>> Class01
 Class09 --> C2 : Where am i?
 Class09 --* C3
 Class09 --|> Class07
@@ -102,147 +92,84 @@ Class07 : Object[] elementData
 Class01 : size()
 Class01 : int chimp
 Class01 : int gorilla
-Class08 <--> C2: Cool label
 class Class10 {
-  <>
+  <<service>>
   int id
   size()
 }
-```
-![Class diagram](./img/class.png)
+
+ +
+ State
+ [docs - live editor] +
+stateDiagram
+[*] --> Still
+Still --> [*]
+Still --> Moving
+Moving --> Still
+Moving --> Crash
+Crash --> [*]
+
+ +
+ Pie
+ [docs - live editor] +
+pie
+"Dogs" : 386
+"Cats" : 85
+"Rats" : 15 
+
+ +
+ Git
+ [experimental - live editor] +
Coming soon!
+## Related projects -### Git graph - :exclamation: experimental +- [Command Line Interface](https://github.com/mermaid-js/mermaid.cli) +- [Live Editor](https://github.com/mermaid-js/mermaid-live-editor) -``` -gitGraph: -options -{ - "nodeSpacing": 150, - "nodeRadius": 10 -} -end -commit -branch newbranch -checkout newbranch -commit -commit -checkout master -commit -commit -merge newbranch +# Contributors [![Help wanted](https://img.shields.io/github/labels/mermaid-js/mermaid/Help%20wanted!)](https://github.com/mermaid-js/mermaid/issues?q=is%3Aissue+is%3Aopen+label%3A%22Help+wanted%21%22) [![Contributors](https://img.shields.io/github/contributors/mermaid-js/mermaid)](https://github.com/mermaid-js/mermaid/graphs/contributors) [![Commits](https://img.shields.io/github/commit-activity/m/mermaid-js/mermaid)](https://github.com/mermaid-js/mermaid/graphs/contributors) -``` +Mermaid is a growing community and is always accepting new contributors. There's a lot of different ways to help out and we're always looking for extra hands! Look at [this issue](https://github.com/mermaid-js/mermaid/issues/866) if you want to know where to start helping out. -![Git graph](./img/git.png) +Detailed information about how to contribute can be found in the [contribution guide](CONTRIBUTING.md) +# Appreciation +A quick note from Knut Sveidqvist: +>*Many thanks to the [d3](http://d3js.org/) and [dagre-d3](https://github.com/cpettitt/dagre-d3) projects for providing the graphical layout and drawing libraries!* +>*Thanks also to the [js-sequence-diagram](http://bramp.github.io/js-sequence-diagrams) project for usage of the grammar for the sequence diagrams. Thanks to Jessica Peter for inspiration and starting point for gantt rendering.* +>*Thank you to [Tyler Long](https://github.com/tylerlong) who has been a collaborator since April 2017.* +> +>*Thank you to the ever-growing list of [contributors](https://github.com/knsv/mermaid/graphs/contributors) that brought the project this far!* -## Installation - -### CDN - - https://unpkg.com/mermaid@/dist/ - -Replace `` with expected version number. - -Example: https://unpkg.com/mermaid@7.1.0/dist/ - -### Node.js - - yarn add mermaid - -### Preview builds -Preview builds are created automatically for each release. They can be found in the [GitHub registry](https://github.com/knsv/mermaid/packages). -Make sure to configure npm to use the GitHub package registry. Steps for that can be found [here](https://help.github.com/en/articles/configuring-npm-for-use-with-github-package-registry). - -If you want to get the latest preview for the next release -``` -yarn add @knsv/mermaid -``` - - -If you want to get the latest preview for a specific version -``` -yarn add @knsv/mermaid@ -``` - -## Documentation - -https://mermaidjs.github.io - - -## Sibling projects - -- [mermaid CLI](https://github.com/mermaidjs/mermaid.cli) -- [mermaid live editor](https://github.com/mermaidjs/mermaid-live-editor) -- [mermaid webpack demo](https://github.com/mermaidjs/mermaid-webpack-demo) -- [mermaid Parcel demo](https://github.com/mermaidjs/mermaid-parcel-demo) - - -# Request for assistance - -Things are piling up and I have hard time keeping up. To remedy this -it would be great if we could form a core team of developers to cooperate -with the future development mermaid. - -As part of this team you would get write access to the repository and would -represent the project when answering questions and issues. - -Together we could continue the work with things like: -* adding more types of diagrams like mindmaps, ert diagrams etc -* improving existing diagrams - -Don't hesitate to contact me if you want to get involved. - - -# For contributors -Detailed information about contributing can be found in the [Contribution guide](CONTRIBUTING.md) -## Setup - - yarn install - - -## Build - - yarn build:watch - - -## Lint - - yarn lint - -We use [eslint](https://eslint.org/). -We recommend you installing [editor plugins](https://eslint.org/docs/user-guide/integrations) so you can get real time lint result. - - -## Test - - yarn test - -Manual test in browser: - - open dist/index.html - - -## Release - -For those who have the permission to do so: - -Update version number in `package.json`. - - npm publish - -Command above generates files into the `dist` folder and publishes them to npmjs.org. - - -# Credits - -Many thanks to the [d3](http://d3js.org/) and [dagre-d3](https://github.com/cpettitt/dagre-d3) projects for providing the graphical layout and drawing libraries! - -Thanks also to the [js-sequence-diagram](http://bramp.github.io/js-sequence-diagrams) project for usage of the grammar for the sequence diagrams. Thanks to Jessica Peter for inspiration and starting point for gantt rendering. +--- *Mermaid was created by Knut Sveidqvist for easier documentation.* - -*[Tyler Long](https://github.com/tylerlong) has became a collaborator since April 2017.* - -Here is the full list of the projects [contributors](https://github.com/knsv/mermaid/graphs/contributors). diff --git a/img/class.png b/img/class.png deleted file mode 100644 index 8ce6dcf42124c2cb2ac56809e270244f2753851a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 144758 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 diff --git a/img/gray-class.png b/img/gray-class.png new file mode 100644 index 0000000000000000000000000000000000000000..cf01455f00126bdb544357b0af412e01af4cae97 GIT binary patch literal 15647 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

x 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 literal 0 HcmV?d00001 diff --git a/img/gray-gantt.png b/img/gray-gantt.png new file mode 100644 index 0000000000000000000000000000000000000000..00f39077f1f03686f5110bfa34e8830ed9270702 GIT binary patch literal 5973 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 G`sQDj0iZzu literal 0 HcmV?d00001 diff --git a/img/gray-pie.png b/img/gray-pie.png new file mode 100644 index 0000000000000000000000000000000000000000..fecda3b86a64439e7b7fd02cd857c0d2d4485e04 GIT binary patch literal 13313 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 literal 0 HcmV?d00001 diff --git a/img/gray-sequence.png b/img/gray-sequence.png new file mode 100644 index 0000000000000000000000000000000000000000..5f08f461e9f2ba8b51b8b627abe13d1fdcc74a49 GIT binary patch literal 13238 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 aSKtAuMQ$~e+hX3o12j~0m1|*7!v7cK^Krxg literal 0 HcmV?d00001 diff --git a/img/new-diagrams.png b/img/new-diagrams.png deleted file mode 100644 index dd9d0f14ed8bfd7ab20614f142ab010091760822..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33968 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 Unq3A0at$EpkXDwemoN$bA2d8vqyPW_ diff --git a/img/sequence.png b/img/sequence.png deleted file mode 100644 index b35e3b74db9e96de970ec63af9345f0046ec9fcd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30778 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 Date: Sun, 3 Nov 2019 15:18:37 +0100 Subject: [PATCH 163/200] Added build workflow --- .github/workflows/build.yml | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 .github/workflows/build.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 000000000..d5683bd0c --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,32 @@ +name: Build + +on: [push, pull_request] + +jobs: + build: + runs-on: ubuntu-latest + strategy: + matrix: + node-version: [10.x, 12.x] + steps: + - uses: actions/checkout@v1 + - name: Setup Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v1 + with: + node-version: ${{ matrix.node-version }} + - name: Install Yarn + run: npm i yarn --global + + - name: Install Packages + run: yarn install + + - name: Run Build + run: yarn build + + - name: Run Unit Tests + run: | + yarn test --coverage + cat ./coverage/lcov.info | ./node_modules/.bin/coveralls + + - name: Run E2E Tests + run: yarn e2e From 1f8480f0af379d09a2e8e0b320746f4038e591c2 Mon Sep 17 00:00:00 2001 From: Christian Klemm Date: Sun, 3 Nov 2019 16:18:43 +0100 Subject: [PATCH 164/200] Added npm badge (#1047) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 89694500b..4fe123369 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ | * If you're upgrading from a version __< v8.2.0__, there are [non-backward-compatible changes](http://mermaid-js.github.io/mermaid/#/usage?id=to-enable-click-event-and-tags-in-nodes) related to security issues. Default behaviour of the library might have changed for your implementation.| -# mermaid [![Build Status](https://travis-ci.org/mermaid-js/mermaid.svg?branch=master)](https://travis-ci.org/mermaid-js/mermaid) [![Coverage Status](https://coveralls.io/repos/github/mermaid-js/mermaid/badge.svg?branch=master)](https://coveralls.io/github/mermaid-js/mermaid?branch=master) [![Join our Slack!](https://img.shields.io/static/v1?message=join%20chat&color=9cf&logo=slack&label=slack)](https://join.slack.com/t/mermaid-talk/shared_invite/enQtNzc4NDIyNzk4OTAyLWVhYjQxOTI2OTg4YmE1ZmJkY2Y4MTU3ODliYmIwOTY3NDJlYjA0YjIyZTdkMDMyZTUwOGI0NjEzYmEwODcwOTE) [![This project is using Percy.io for visual regression testing.](https://percy.io/static/images/percy-badge.svg)](https://percy.io/Mermaid/mermaid) +# mermaid [![Build Status](https://travis-ci.org/mermaid-js/mermaid.svg?branch=master)](https://travis-ci.org/mermaid-js/mermaid) [![NPM](https://img.shields.io/npm/v/mermaid)](https://www.npmjs.com/package/mermaid) [![Coverage Status](https://coveralls.io/repos/github/mermaid-js/mermaid/badge.svg?branch=master)](https://coveralls.io/github/mermaid-js/mermaid?branch=master) [![Join our Slack!](https://img.shields.io/static/v1?message=join%20chat&color=9cf&logo=slack&label=slack)](https://join.slack.com/t/mermaid-talk/shared_invite/enQtNzc4NDIyNzk4OTAyLWVhYjQxOTI2OTg4YmE1ZmJkY2Y4MTU3ODliYmIwOTY3NDJlYjA0YjIyZTdkMDMyZTUwOGI0NjEzYmEwODcwOTE) [![This project is using Percy.io for visual regression testing.](https://percy.io/static/images/percy-badge.svg)](https://percy.io/Mermaid/mermaid) __Generate diagrams, charts, graphs or flows from markdown-like text via javascript.__ See our [documentation](http://mermaid-js.github.io/mermaid/) and start simplifying yours. Play in our [live editor](https://mermaidjs.github.io/mermaid-live-editor/) or jump straight to the [installation and usage](http://mermaid-js.github.io/mermaid/#/usage). From 7cfc72967937b5a22d51c007af6637f1fedbdbac Mon Sep 17 00:00:00 2001 From: Christian Klemm Date: Sun, 3 Nov 2019 18:28:27 +0100 Subject: [PATCH 165/200] added coveralls vars --- .github/workflows/build.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index d5683bd0c..e3546bff4 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -27,6 +27,9 @@ jobs: run: | yarn test --coverage cat ./coverage/lcov.info | ./node_modules/.bin/coveralls + with: + COVERALLS_SERVICE_NAME: ${{ secrets.COVERALLS_SERVICE_NAME }} + COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }} - name: Run E2E Tests run: yarn e2e From 7bcc9b19ac68ca914b344616f7e7628951f13a59 Mon Sep 17 00:00:00 2001 From: Christian Klemm Date: Sun, 3 Nov 2019 18:30:01 +0100 Subject: [PATCH 166/200] fixed vars --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e3546bff4..faeac6148 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -27,7 +27,7 @@ jobs: run: | yarn test --coverage cat ./coverage/lcov.info | ./node_modules/.bin/coveralls - with: + env: COVERALLS_SERVICE_NAME: ${{ secrets.COVERALLS_SERVICE_NAME }} COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }} From 4d1c53eb1e9278df6e2f3b5267358e7da0e68c83 Mon Sep 17 00:00:00 2001 From: Christian Klemm Date: Sun, 3 Nov 2019 19:40:15 +0100 Subject: [PATCH 167/200] added percy token --- .github/workflows/build.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index faeac6148..16a59c211 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -33,3 +33,5 @@ jobs: - name: Run E2E Tests run: yarn e2e + env: + PERCY_TOKEN: ${{ secrets.PERCY_TOKEN }} From f7a3c42da13fdaaa17bb4ff9d01008b907bbe423 Mon Sep 17 00:00:00 2001 From: MATSUDA Takashi Date: Tue, 5 Nov 2019 17:24:07 +0900 Subject: [PATCH 168/200] e2e support multiple diagram --- cypress/platform/viewer.js | 79 ++++++++++++++++++++++++++++---------- 1 file changed, 59 insertions(+), 20 deletions(-) diff --git a/cypress/platform/viewer.js b/cypress/platform/viewer.js index ec42fff6a..929948ab5 100644 --- a/cypress/platform/viewer.js +++ b/cypress/platform/viewer.js @@ -14,11 +14,22 @@ const contentLoaded = function() { const graphObj = JSON.parse(Base64.decode(graphBase64)); // const graph = 'hello' console.log(graphObj); - const div = document.createElement('div'); - div.id = 'block'; - div.className = 'mermaid'; - div.innerHTML = graphObj.code; - document.getElementsByTagName('body')[0].appendChild(div); + if (Array.isArray(graphObj.code)) { + const numCodes = graphObj.code.length; + for (let i = 0; i < numCodes; i++) { + const div = document.createElement('div'); + div.id = 'block' + i; + div.className = 'mermaid'; + div.innerHTML = graphObj.code[i]; + document.getElementsByTagName('body')[0].appendChild(div); + } + } else { + const div = document.createElement('div'); + div.id = 'block'; + div.className = 'mermaid'; + div.innerHTML = graphObj.code; + document.getElementsByTagName('body')[0].appendChild(div); + } global.mermaid.initialize(graphObj.mermaid); // console.log('graphObj.mermaid', graphObj.mermaid) global.mermaid.init(); @@ -31,23 +42,51 @@ const contentLoadedApi = function() { const graphBase64 = document.location.href.substr(pos); const graphObj = JSON.parse(Base64.decode(graphBase64)); // const graph = 'hello' - const div = document.createElement('div'); - div.id = 'block'; - div.className = 'mermaid'; - // div.innerHTML = graphObj.code - document.getElementsByTagName('body')[0].appendChild(div); - global.mermaid.initialize(graphObj.mermaid); + if (Array.isArray(graphObj.code)) { + const numCodes = graphObj.code.length; + const divs = []; + for (let i = 0; i < numCodes; i++) { + const div = document.createElement('div'); + div.id = 'block' + i; + div.className = 'mermaid'; + // div.innerHTML = graphObj.code + document.getElementsByTagName('body')[0].appendChild(div); + divs[i] = div; + } - mermaid2.render( - 'newid', - graphObj.code, - (svgCode, bindFunctions) => { - div.innerHTML = svgCode; + global.mermaid.initialize(graphObj.mermaid); - bindFunctions(div); - }, - div - ); + for (let i = 0; i < numCodes; i++) { + mermaid2.render( + 'newid' + i, + graphObj.code[i], + (svgCode, bindFunctions) => { + div.innerHTML = svgCode; + + bindFunctions(div); + }, + divs[i] + ); + } + } else { + const div = document.createElement('div'); + div.id = 'block'; + div.className = 'mermaid'; + // div.innerHTML = graphObj.code + document.getElementsByTagName('body')[0].appendChild(div); + global.mermaid.initialize(graphObj.mermaid); + + mermaid2.render( + 'newid', + graphObj.code, + (svgCode, bindFunctions) => { + div.innerHTML = svgCode; + + bindFunctions(div); + }, + div + ); + } } }; From 7208f045c15e3439fe44f0d268d9bf2fff140d6b Mon Sep 17 00:00:00 2001 From: MATSUDA Takashi Date: Tue, 5 Nov 2019 17:45:04 +0900 Subject: [PATCH 169/200] add test for multiple class diagram --- .../rendering/classDiagram.spec.js | 52 +++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/cypress/integration/rendering/classDiagram.spec.js b/cypress/integration/rendering/classDiagram.spec.js index d1f290436..1e4585149 100644 --- a/cypress/integration/rendering/classDiagram.spec.js +++ b/cypress/integration/rendering/classDiagram.spec.js @@ -58,4 +58,56 @@ describe('Class diagram', () => { ); cy.get('svg'); }); + it('should render multiple class diagrams', () => { + imgSnapshotTest( + [ + ` + classDiagram + Class01 "1" <|--|> "*" AveryLongClass : Cool + <<interface>> Class01 + Class03 "1" *-- "*" Class04 + Class05 "1" o-- "many" Class06 + Class07 "1" .. "*" Class08 + Class09 "1" --> "*" C2 : Where am i? + Class09 "*" --* "*" C3 + Class09 "1" --|> "1" Class07 + Class07 : equals() + Class07 : Object[] elementData + Class01 : size() + Class01 : int chimp + Class01 : int gorilla + Class08 "1" <--> "*" C2: Cool label + class Class10 { + <<service>> + int id + test() + } + `, + ` + classDiagram + Class01 "1" <|--|> "*" AveryLongClass : Cool + <<interface>> Class01 + Class03 "1" *-- "*" Class04 + Class05 "1" o-- "many" Class06 + Class07 "1" .. "*" Class08 + Class09 "1" --> "*" C2 : Where am i? + Class09 "*" --* "*" C3 + Class09 "1" --|> "1" Class07 + Class07 : equals() + Class07 : Object[] elementData + Class01 : size() + Class01 : int chimp + Class01 : int gorilla + Class08 "1" <--> "*" C2: Cool label + class Class10 { + <<service>> + int id + test() + } + `, + ], + {} + ); + cy.get('svg'); + }); }); From aac915b285fbc87a3b7bab49fb1ffab389d07a6f Mon Sep 17 00:00:00 2001 From: MATSUDA Takashi Date: Fri, 1 Nov 2019 13:38:23 +0900 Subject: [PATCH 170/200] #1044 fix: Multiple class diagrams are not rendered correctly --- src/diagrams/class/classRenderer.js | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/diagrams/class/classRenderer.js b/src/diagrams/class/classRenderer.js index c61c37744..9814237c4 100644 --- a/src/diagrams/class/classRenderer.js +++ b/src/diagrams/class/classRenderer.js @@ -8,7 +8,7 @@ import { parser } from './parser/classDiagram'; parser.yy = classDb; -const idCache = {}; +let idCache = {}; let classCnt = 0; const conf = { @@ -136,7 +136,6 @@ const insertMarkers = function(elem) { }; let edgeCount = 0; -let total = 0; const drawEdge = function(elem, path, relation) { const getRelationType = function(type) { switch (type) { @@ -291,7 +290,7 @@ const drawClass = function(elem, classDef) { } }; - const id = 'classId' + (classCnt % total); + const id = 'classId' + classCnt; const classInfo = { id: id, label: classDef.id, @@ -411,6 +410,7 @@ export const setConf = function(cnf) { * @param id */ export const draw = function(text, id) { + idCache = {}; parser.yy.clear(); parser.parse(text); @@ -437,7 +437,6 @@ export const draw = function(text, id) { const classes = classDb.getClasses(); const keys = Object.keys(classes); - total = keys.length; for (let i = 0; i < keys.length; i++) { const classDef = classes[keys[i]]; const node = drawClass(diagram, classDef); From 43b9bcdb0b90e4c0f20a46860f0a7e8e1710d0d2 Mon Sep 17 00:00:00 2001 From: Erik Ellingsen Date: Thu, 7 Nov 2019 18:39:57 +0100 Subject: [PATCH 171/200] version update --- docs/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/index.html b/docs/index.html index 32bcdb5ce..207568bee 100644 --- a/docs/index.html +++ b/docs/index.html @@ -7,7 +7,7 @@ - +