From 5743882ee90412f476fc856006ed5923452f426a Mon Sep 17 00:00:00 2001 From: AlexeyKaryka Date: Wed, 21 Nov 2018 18:40:34 +0300 Subject: [PATCH 1/2] Add fallback page in case when js is disabled in browser --- package-lock.json | 98 ++++++++++++++++++ package.json | 1 + packages/venia-concept/media/veniaClosed.png | Bin 0 -> 28966 bytes .../venia-concept/templates/generic-shell.mst | 1 + .../templates/js-unavailable.mst | 50 +++++++++ .../templates/notfound-shell.mst | 1 + .../venia-concept/templates/product-shell.mst | 1 + packages/venia-concept/venia-upward.yml | 2 + packages/venia-concept/webpack.config.js | 12 ++- 9 files changed, 165 insertions(+), 1 deletion(-) create mode 100644 packages/venia-concept/media/veniaClosed.png create mode 100644 packages/venia-concept/templates/js-unavailable.mst diff --git a/package-lock.json b/package-lock.json index 8813788914..0c024dad48 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7745,6 +7745,104 @@ "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", "dev": true }, + "copy-webpack-plugin": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-4.6.0.tgz", + "integrity": "sha512-Y+SQCF+0NoWQryez2zXn5J5knmr9z/9qSQt7fbL78u83rxmigOy8X5+BFn8CFSuX+nKT8gpYwJX68ekqtQt6ZA==", + "dev": true, + "requires": { + "cacache": "^10.0.4", + "find-cache-dir": "^1.0.0", + "globby": "^7.1.1", + "is-glob": "^4.0.0", + "loader-utils": "^1.1.0", + "minimatch": "^3.0.4", + "p-limit": "^1.0.0", + "serialize-javascript": "^1.4.0" + }, + "dependencies": { + "cacache": { + "version": "10.0.4", + "resolved": "http://registry.npmjs.org/cacache/-/cacache-10.0.4.tgz", + "integrity": "sha512-Dph0MzuH+rTQzGPNT9fAnrPmMmjKfST6trxJeK7NQuHRaVw24VzPRWTmg9MpcwOVQZO0E1FBICUlFeNaKPIfHA==", + "dev": true, + "requires": { + "bluebird": "^3.5.1", + "chownr": "^1.0.1", + "glob": "^7.1.2", + "graceful-fs": "^4.1.11", + "lru-cache": "^4.1.1", + "mississippi": "^2.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.2", + "ssri": "^5.2.4", + "unique-filename": "^1.1.0", + "y18n": "^4.0.0" + } + }, + "globby": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz", + "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=", + "dev": true, + "requires": { + "array-union": "^1.0.1", + "dir-glob": "^2.0.0", + "glob": "^7.1.2", + "ignore": "^3.3.5", + "pify": "^3.0.0", + "slash": "^1.0.0" + } + }, + "ignore": { + "version": "3.3.10", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", + "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", + "dev": true + }, + "mississippi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-2.0.0.tgz", + "integrity": "sha512-zHo8v+otD1J10j/tC+VNoGK9keCuByhKovAvdn74dmxJl9+mWHnx6EMsDN4lgRoMI/eYo2nchAxniIbUPb5onw==", + "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": "^2.0.1", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^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 + }, + "ssri": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-5.3.0.tgz", + "integrity": "sha512-XRSIPqLij52MtgoQavH/x/dU1qVKtWUAAZeOHsR9c2Ddi4XerFy3mc1alf+dLJKl9EUIm/Ht+EowFkTUOA6GAQ==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.1" + } + }, + "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 + } + } + }, "core-js": { "version": "2.5.7", "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.7.tgz", diff --git a/package.json b/package.json index e2bbee7d9f..687eabb717 100644 --- a/package.json +++ b/package.json @@ -64,6 +64,7 @@ "chalk": "^2.4.1", "chokidar": "^2.0.4", "contains-path": "^1.0.0", + "copy-webpack-plugin": "^4.6.0", "coveralls": "^3.0.1", "css-loader": "^1.0.0", "danger": "^3.9.0", diff --git a/packages/venia-concept/media/veniaClosed.png b/packages/venia-concept/media/veniaClosed.png new file mode 100644 index 0000000000000000000000000000000000000000..cda8bfa459404b7364780b81a075f816e69ecfbe GIT binary patch literal 28966 zcmeEuW0xjP({0q z3mwRGG_kentJMJpI&9H^Nn=H57@ElR!SKLRD#NAid7f!!ak%3gGdVL=h3J!v!HdX1 zUTc5$k$)`4AC~33addPS z6Y0DPCWC}ZNCAy#bWZIwceWb*c;Ja^DtYb(bfi5I*4Xs}Fht{hV9pgA5h=8}S?Z)c z?Mrpy8&3}h&@4$@2{yy*tt1Dca@E)9@#}kgd$}^HVbCB}@b){5)L}rBjx2tTab~>r zj3X#kGDn6t9TIUr#s{n+Mu-S}*$7w?t8hIE_pu27A1jG>h~zy{?LHM1MaLOwOkkK5 zA(TA{<*D1ii+d^ExbC8i5R&^cw^Vn5&gzk9GwdkVFsT>sFs&4f%$|-Fcr@DQp{U#v zBIBqpNdXl5s3u&lofp!MXfxz+`Vfox%)cuTR0JgybnR;TG1hNcSuoCoq?`8ktStE; zlyE)T>3!3zq*^TA@n0lAZj+`nNBuT6E1f@!Cw7degdhX|%axFHQGkfg-H4mCns8<< zeR`TbVk!9NCIgjgl;6`yXTR*smOVAsGL2DBH_do(XSE3%Sk5>L*oB*0BYqlDQY3X5 ztm8f{S=1kuD}tXVSuj*E#!6d1HRLeh`hy-Fc}G+(zlNcmFD=wqEuJeuL{N$kR_=i8 z^~h*A_7bS->|VH@7RoPp#UUzL9>2I7u(- zqT{S!GwQTlEFaVN`pWhE56E5)#!<#qLY^G9*p3v;pb1A5v;ebNgC895Ay#5f$d8~C zhR|vz2E<$kruQX%f9$9qxCnThwMj(d$L1zVXshy?Pa6!6KbXqh*fFpJa)WLiB&w`` z2lhl%g3G|HIgn7^NDQ}N^{Kc0VT}S=SJu_-Qk{>{D#ioJ9)bQCm4<6z zxbvp>vQ5kUuU~g=X@|Hj4V18d&)OWq{^y*KfQN(c*KYlUbB#1Q>-vF=W5_@Q(1A>Cl1f64Sx3j2BG%)>S+W(EREFG zc7%#|IiG(%hW`iUziMw6K~a&RLQ&_=1#||VFFK@dSE>K=V8+evQ4&DH(>8~-dA6jT z;FB$=aik%I^dE!=A~PP^>17CS|x6QeuNwKVvfWUt7uCJ5Mt!D>q&{1jbuc za>>^z`maotoY1Muu37lkE9$8w!PNhPjeIy0`u&s3r+)moIn>&myBrCdC7;B2|L5KaCkLJTMhGWUWvBoM(IMyUvjjqOPWg#t!62sDefHm~sd1K0W}m;<7?;1BT_QUm?oB zz4k<7`;Q6L)j44_wJ9^C*2tOowQL|t(VqJw@WNnrZbuqz@s{*&wCl?A_u6X-TEmhh zex~-2N)K&JhIf9MG5D`6J!m7CvgGH12)un7eN`M%Ek~SjPwJu7{ZVr2pUyCU*sB&Y zE3-(esa91+8a%oGk&6D=OW*`@wGyw`va;!*8YbQjzc@j(#aP8%^aTxe^9bUcJ2DRJ zVI*~2OXRf4=i$_ad~0!tYQN=14b(a`>|A_%ab2g_#VW(8II_xMg&Bf!ns3 z@i5ku3l;*#`7aDkMLsmyZhoD`-JBYZB*Q>2`5*cF=@%Jhzo-?_5cHHZxV9_5mG3FP zy&R7{BR0cPl^ABpb1|quw5VbBNLP(Qd54#lOjz8`ABm0^!wVWx-E?>YY|QH2InEaj zyZe$epdFA%DC@75>xTo{tjJ%%qa3i;p;(y>6Rk`%R2KDFeU&ET=%&%mzaQUKdhRfg zYP|{%?N*z-gv8Sr;PIc&oSX|CUiwt>VSUS(_7kQHqAAaIvPTp}%<+UAgnF^-$)?$# z7LRD4_O{2$X$Wi^cIAWpKTfz>A6@8c@(g&1aYWC4*=Wwyx*UJW#D`?-b{;)%*=;+V z{AnkNRnjMrJhlpfC5%1i*l$=u_UpX?rj*aU=xceYzTtm<`6tD2!Q(so1HkRF`}RR# z+gd7NKDoo>nhWe1;0h}u2v7SYHOeIm5UmHe2_qCb7@@2)4iy*ll=S^NquhJtYY}xt z`b_-j!%n2@)c*yI^me=<-7+%k9ZFVTBYfP=FAY`Hd$Na&HVab5(N1YqGdnOU6E?z;S|4Y!%iP+T+B zrG3W7)6|FM-#zPi4rYuWbvm#)X6&A5sK5_4GS#}u@R?b?Rg zl+u+4>=?d>@6%_%dF5Ubjj9BhZi|&0_1=fgZ&mB!`hj(bud9c0?}~=Pd8yw(JQ`DP zRr#??ImFS2KI)&bMk{Xu+Lfl`YA5za`5To9Uaa!tO{PBUhjFN@3}h;|7YRdjdL||x zR8ZrpDQSKt7t~GK=USQ$KC#(Wg4Kjefab zQUq?3Pv{kHlD2@OXxE_i6a)1BVp9vf_-=Nx>}ZFlp*#M{qOWHp4tiJ(qNdq&Y&m1x zyrN2_1>rC{j1WI9S zx}snw2EZ`FN6N$FRr5IVQf4B4=r|7!+|+1T#>J^w+I#N5)dtC8a35H=s-fGeeCIBH z`f8aH3^TBwvY>7xW`mk4Xz4>S+V{u0eg!V)+_cpA5yeC`*zOmwFXcbV!yKEf=Jn2Y zvt#GWQj?`98_kByNBlJ?#J5fejVb+hE$Yv~HRM&R3Mpd}Y`8JAIA8-W7=r1qa2r1j z!*}52-Wh>n;iDN0bO?Gtvxg9GJ2veYt$JcAh3;RvB*FdRIC(8K4VMN0XYu!F4FfIX zw&9vrq`Tp%&d?>oMKC>x4j6^b>&839*M_qC=pTD|CW9Ty575VK^twGgnl)>T$sKrDQx zB|CMyDn4>iANE4P$0^?s+wH??HG*>%k@Edo6!+b`6rW3%swcOAE4zOki;Udf%Xt=+ z?k;N`v{zHQ45gP=sCi-;<4Dc%og77(;*d6U(Kgb3cet+&j8HR(f9_c0KhQ9>uzp{g z!M*~DGj#2#2x0_A!PeQy6RybSce~PluuJI!k#v14wxFV@IC1>xpVH|DvZ@)vpvl^x zYWH0^ntHMJaatOCoW$n))np2{c{bX{alN=rLQxmUGKs9R#I~W?oL6^Vf7iAPo4S0! z@M82_Q?c~Rd+{ul!|QWYVRWNzORz(KPwIj7d{GrXJrjj@f9~U-W=Q&<^sjmEPlsTFQ(Q1 zBmM(N{ojH%&iRhWvEkwts|Wd+!bqOx;kZCJ%rrO=HgC1`{**Mw!p@1Mp&ZF1dgv97eMNKgo9@Ugx=RV9)Xp zBB05M|9!1RXnBgiVT#`_UX-t%Puq2W0`o03Yj9&`nV=2Xav+yvYr{HrNd|dE;vF** zMvxaW&ZNA6`4tWbL4c&CLpi8Ke** zmzbtsdP1@KM7%3sKQTX)NFMA?OHFNS+Gx?i1?f|XV=v(E68u&52;Y5OuFF%Yk_hjB zD&`@j1^2`s-)o(n zBcjf-v-OF_^L6fA8Gp{;-{sZpTvEd@+@4Q;zRLv$+Y0G|P@G5K*@oegu^5@Cm zGx$NKSu)0AMs!LHvv}m&=7H_X$LEPJ^Fbi|7u@jA9oI=s>|1M1&-HCDV%lIeH95!t z6WL~ljIl2&qDKe+lv22ZygQh$K{eeysKcL$eOQXZ73rd=-1yk=+VS_Ud{E%<^6Upy zvgj6`h)x?}mYyUcrVGG_(b$mPj_MHHrvJsD^~<^qf-kfy^-oeryIPHI=P@0XG_cZg z!$;p@%dkb9Fcj1r^Yx9x;OZ)NlX&<)FR$PPFE(5Ht0j@y`V%?p;;6l&tsn^JB(XgI zIU#)DCca~_q~gWep9NltpKFrrVV*O|;pnzzF$`|mw0LTU{Rb-={il%A@UdYEuudaWR!4fn{l7}9Gn-Nz-(`T4kWUMp^5WD=Th zM?OAmcK5A!H``MliUhF4KD)wcZx+!u5LoNESgw*{S)tDFl_Fs56xQ2xDE)%)`(<)e#F??`D%DST z&FtOK!WH@=tQz}@@p;OU{)Eai)|9~^gesCacrdtBfwCcCw#b&hkyQuz{?yCox6qk; zZ?6NMw003Q1^M;haAROf_7Tb#hBm^NEkuBh!t`Qqo6~hbB|xadq4POn9$B2o#%Jq=8<(4g zcDLEhawzl)pS~i4wDy!S3$;w(TmAiB{@kO~eNeg}-G3-=Qt>Jix_RZEoNWt~T2k@K z>K5QVzp<{C!~Ct8cBzXW4Nf)gHKg|qV01Gq45vGCGagFR@u{Y>6&NQz#?CamQMTT- zT%Wo~>k8Q!m0SUjXhGt~ST)xtD;3Kp{{Cl}1@)z$t2cPh)lC~~p1@&of6sNT3YZjaa~>pm_d1M6op4VS~WZeb`PI$hI1}& zwsSkofpk8xH#THTH#w_ZX$wr9nmRaBY+m#ht2_o~aG9vo<$GlG)KaFH<(0w&#GCwm zQ>CFuVOZ+PXc)Ocwp&zIQqa#vonARjOd9~gfQJY8FSDw!#!6tiihT}EIm`Ac7kaY} z??0nz4f42bf;M&!A6uiKJd?ScJKMOLTGxmYhUS8*ZdZV5A@SQ*8r)W%!(a8awf78CZPSJyxK7+|ZOevOS2{8NRtu&VrXghgq4Iq5 z4f=2lniayEqs#YmT(niB6xpE-s?U*W6sa9iRpAXG47qa_HDEO8oe?%2vh>mtyF|-U z?PSyB;Wg65J22}C{sZf~%e7Z5igNHIMy_{;-b|f#0Xf#fm;8Ue1Y*Qrd6C?8B zSwtVdY~CI)MJ`%HT);%1999G~Rz)`?xQ#u_cS!<`U4~??eO|@FCT;}dZC9UsBhhDQmT%5uD_E9R)oU?cd#TLE;A7mwKBP`G8xQW z!y33=Dcj3W$qcoPg^Hzz15%DwPT9B|Mps;=$ z(M0xW*NCYWj)({`9~wA6J5>$%$GsEMaST2bXpHL3y=}VPD3yX8IiSx!nfgEwOtf7# z#778c{JH9f@p=%qu~glP@og`Th|;;sRT7*LT;5l&nA;M8aGp4u)6hF5r4nZ96q1o{ z=NnnOT~0^!c)8i-dJ#0kNrm%@E6EYC>B=L_!jHO(iUp0J)QZ4p_-pbR+~KDQ-T#>> z(nFhKa?41RS5(b>zH+I*WT%dNzI9ERn%dlAo-Bt&w1iwk;Aa;L=QPlq)!YAzCF$F z<GE?`>=9WlG~Eh!+{BwxR6TCiz0_#ddp>+VVz#p{c2Ep+%k*f5rZ!-E=sc zH`}hE+(G_F;A{FFp;`JVn;LZN@}pZE+~?X(xRKv=DxF^6knUiH>CDI8kOf$6^#{rv zCr73;S=`3UzM4R_wS_I8AUMak>3}Df`ryQ!dm#4#H0&c37k^ew-ALOHeIX zKmMr7Dd5^NUX`0wm58NN)tWuv`fqyQ9ws0i2|HsrI5;5SH^owH8rDngAoLto+JXkJ zF+ti|k=w{m>>KVzk`n}hc!x9LG+9Q5AIox5|JS!4LdrBDy(t;E$ zUEf`os$btn04WkE7#?N)!X7{NAroHIzW+5Khk+Jht{nt^j97I}DD90h`%MT2YQr83 z1qXOI0`3maEZo26SB}q?2Q2)j=xK`td$Pu#j^V&=Eq#l$AwvwlvAx?JJYcKgRrNuu z5BKXLO$n@!{;MQJe9EZdd$hKN)aHU+{UFF?*49KE-GD<-sntJJgt;V38+N z+(+#q=Ra+~)8}o!ZF6?K=V|0{OpsU<4WxsD7#N7j`|C7i<%?fGk7tz>9Ws|1Jk_E= zQncu5>L}iZq%f&|7-A745b(AjRwrJXljA*GMFSZ`$}&+JMbwR~l-yT03h#N-1WLP1d@LBHXuio(qe9=BqCdNXhO)1XmMt+`u z03Rcrm2jx*ehD50N~XbI(elq89bve8Zj?YsYj5;hSy|x*Gj8Gvvdec9ND;#*pSV;! zj_k%iaPM^T5nhQWsxO0m-8C1cDg<)|cVk{Z$xMS_ReM>mGlX@);L_7ohD3yfKm7MQ z$7ZxJPKt`^#bGcQ%@kugy#4gNtk$@Y{XTkdK8_{Nah(k?SjL~?Zpn32ImS@khxHo8^{f?huE+dIrCi| z`|x4g237a&Mk%I0^BU-6Vh0XcF2Z*vA&WMzJ?3m?wgi(YxhdGVx^> z7m1}qx}U}|M%aw=8@ALd!cwW8$Iu*O9osi`>>t?iqx0S`9UvEPHE+eNj-e7xm46#Y z4?#ePLwSjo3F*sH`e)HHpJK~OfJ$Ekb$M%ew6Gx{KIc61Fg&;V9QOUnPg? zv8slXg6>~BkHaVxQZIvAdh>3*}5lWx-h_khw z+w1oxwE8%@^M2(?&=pw>HIQA~4QZ9X^osuZ3Eq9S_i!rJFmT>E08(v#y%8B{4ikC^~-AF=3M zQ*Wc-0qHcBl6%=_kA5J4@Wn;+k_L|ZZ!LgwsvJ$~d$n&{j4UZ{-=KA=_}Oiw@AtYt zQ^mLBQ`MY6Y22mbW{&o0w%?22a?Le~FVD1?pny&EG1fFx2$Es*C4O`)zA)vsfxWI6 zu;bYlaiY(COT^EhM9c=)hz_=+NNc|*tEi!;{e)163fps+eiQoAA4}5`@bR>{)RWa1 zGs#Y!zDl9J=XV5V&CchK_5*=N|3<`OKMMtt&eAiNilC6^o49B00$|dz_3_Msxjvkg zFVdbKp=E_P^I(^%Il8_Q%u*rpyt>Y*e)^)@{nu5@jLKLN&}L`suHA zPa8@3?!svseEy^Kl`rd!Pp_w6C}C7%^O3Ua2j9%C@lZFTnu3cs^O@36VOX`ILu8P5irlJ~3 z>W^WrkqDhZ0!4lJ(50qB0=`u2TV|VI^RHhz7`((`b(>}Cpgss&#b+ULVSJmhrxunT z;1*#pc#1C-N@h`BX#lb(u&Yr7^;j|#)>W5{@<^8JTKnlg1%=%MIAAz^c7x)0>uI@E z*y|A+f3{h`=Ej(Gg_4)SQke6XdqYCVs|Ze+D+0uh+E&isN@{vvYE~P29^hwIbLGbH z59yM7(Bkaw4n%j*(W-6^|6@b~=}3L?6%?4N4csQ9!v9fml9T_5f0wa-?wCH4qF;El zuD0WqH=Xm{S;yEgeVIHvi;PQgC;b%j1!K!*%%g`>sY72GK3ScJV6!c-S76~n^aMf# zF0r-rgNYa~AMaAT$Rdwm8>>%#w(owK+77u#Eo&#A2n?BDepvAk&#aHaWpo;DYqH2bho@PSmRzPFno)DErP^+G0yXp5JgC}ed!7U09W%BT#ujOJ{!4ED^(IH70R^4BOsI2lKFw_2vv9V&2fEBYJ(6cya2_C9; zZ!_6QQ$NEHHO8DMVcr7A0t2a#S&}R8C{HS2y0KJ$CZP~O1U`XV*omQLlX(TBI6?N9 zap8+=QIsVGZQ(sHhBg#J$~;JZL9DLO*ayNxw&vf_hss0@z}qy0QduJFDBN2g$A+lY^C0 ziW+FV1uxHw>#w2K{&X1IE2* zgxgP`Tpe5(gsjPXXVtq&H^_IOrhl)Vd9KdN(-v+X?k1{$hhkb+15@AdaJI;FKUM#m zFpt*EMmC4JpS-3Q9NZ(l*9S4l=U%W8s3_WBW-Rb@od=|Ecd%k%KS6idl2fSsuc}&V z)-^V`MD=a#)q6~Qr5A)>%hO!w0v`jTF?TX=JH`&=ehp)^eQQ&Q(mAVX zgk&kv$QCcY)JLBE31UnQ*o;%cu0tf~a{cd63<_(bp$PY6dJeydipP3-`bS>gDeUH1 zyCP#_AodEho&;?V90|a$9+rMuH&hI*kv2+^0v%9iH0-)kZ!oW2$F2j$zRcPb34i)>mRbH=E0tdATK{wh7iZw)KWkgA(}8`Ig!@Keu;3x=1Uv`z3%8%M#lI}* zd$C?KD1OaFcT0Y*{5H-66CAhTGObVZ~&*TCo>W1x`JQq<6}A;+Tz*$Ika zMu%`CH@YjDNY-qMIT~v2D_{^FrmOkpo-|&9F-Py)L5}kG8#2Fn>`*z0a4b1{IA9|5po18}mPQ zXi`+TA2vGVx>x-U^Fa=Q8FlDfLSI(g*F?iRvARnv=oQ?wz~QshcOS??HPWD`^x@*7 z=_D|>G7^wSIu0K{L&LEtfwLZ@z3;-yCLA=r@H_*3-Bj$rKh!+Vv|qMf(0>{Ayx%+- z50T=@PY*B4m}eVSZ2?Ih$ql^uDj1~bBPtTpqaM9&P41|vskuUqBUMY0P{&sLm&ohr zAJ$1z21lv&Um2e7ju{5)bgCt_FD`JxO3r8wV{!YEsJ_7$`%oni;9GONaoVU0!v81} zu$Os{yj+k_Oa*M?mi(m+M=Y_B4*sa`H&lhdTDZX##Ah`TXmaOE)g1hRN73z%j{*y< znT;7HY9hiwrs48@_{Y7Tr1nJ%FkaX_)>%vYS!?;<&K;hw_*NiL>u&g3`yKMhDbA44&|1+U(Qu214l|Un&M;ohKW{+kDj8f{ z$D(tCN$J*>IoPC|$7;&TmCR9uL-m*ixZZ(l0+P4H%?kYfzYCiYJce48`}yiWpp+qo z!#HuYE<_h*;LT7KBi_%wQXu`~GxwFqqt)i1F20#uy%CNpJ*t?Q(U}%{#RDnPzD@m( zCvtuAw>lsd%BE553DnR+pAZ0TMQ*d4W+!4n^^3v*X5~w~V?BL+it4$-B1ZY07z4ur zqf0x^_DN%b`aJF1HYp>r3~K5m0nzFx4&^p?U|2U_WVY;teIjkz`3i?5;@`2li}n$O+EMv-uo_Fyi$0l!M{XP* ze#TVI)KqjX{fOi@3`|}l$p`AK{$)nYyi5=sxWRuZwWPgQh3fs9n}7WWh$BgQeLH7c z1}bK;77XjMa9Vzmj(3Zc21jSD^RC<*(9^VjO2knw{+&TQ5jU9Q>o+=>)d(MBi}vlGrf{+*W}!G$DGap@&sB6f`& zv!!%ut?ja#WRt!S4xXtDN_T&QMDEv&UO^8$}+HH|ULgS7-fG=Qdgx@(SKlP5ZySyG**EQRx;@5(9rRFgMF*MTJn}X)HvzbQxM4&gm==v9)YEdrEbMU@hqKnPb@X zsJ{fTV9f0sE6*;Esf4|QLS4Y?&t3R&yaENDdYkRKl^RZg2+0f$U{#3##wMo?2=*io zHsMkJrex%N`YQQ+7Cfi|-(h#i&a|JEp|mf*vQtCki$Fho%>b2$@rO+ zW}taVe&3{dN>*&B09$eKS!JT=dQFe6{PbAIADsmM{r+%U%Ph)!d7_(0XGLD}59^Nb zR@eu8eIiy&aYw77i`$8r3GCP=9Ua{-0oFMzbwY$9EH+MGpBM3eTTj4yfZW9t2**oLQiTJeV@Y5?`!NTDgx!7#B%oSlMsY%YU^1}^3A`Ew;z0h3|viG zB`@VR8}%^gzX-|dOi&6?QjQBFP$P)WI7vN*)Mu-Q*EXH#KEy)(ve5Wx{RduO0ieSbjdz$+2=L=! zD|=iNyb(gU8dHjU{n*BTsisYRrBH&rzcI)zMPP*xNa`YC^6K)3Src6ifY1Mg47~hW zcli655I>-cat%#Rh=~n@5fU+ov7RS-2jX4Y}YKM`f74m!0S0 z9?4f9X&lekc(w>JWp6oOnYSwDJl`ce$hpcXQ%cMKq>8;iX+Bk;IvnX@0C>}R*Ems2 zRI?|f-mKUZnlYN;`@+{bjZ%KX4HzV?#qDmcw}dqv=pMw`N4HT7gF|-G zT`TdXhtGYu0bA@kf5+IaO=!NVR1?$ei*b192VIF-aSq3RqJYUK+PR5zMU`s*PgUEp zJ^!PxB%bo3$`stvtH4b319mCLBA;Oa>O#J$NV-pd4p?L(uOFUCF>H^=egW~OLXehA zo$(rIrGg}E%nyZsgsu~@95eSK;U3@ICyts{Ps#LPIue&m2>dS53=N`CCg`t~!^(D% zIzc94?=7lxOq9@!6MNqyaGfm}29DfPm4b(_VC#2z6R5e4%A$|tk@tCBy?EMA8xUo2 zM{Me*v;8XhgxT)~%GwGDO!Ur@rUMD%K;gkW{Ws;Z)^=U5qrq9zq^pfZGi90dM$r)J(AVpl=WOtS6*J*#faMD#9sT(R>yE01(k=Cul)dhBB|LWYV3&*=NDkh(;E(o%QB5R0 z&CT63cqosA87EVnJJpKk0KMgncGD)KHX}jA^osksCHN-Y40?tpx`j+HBUDyZaS^(? z<(*;vmWh!5jA~&ib?|3mBC4we_smx3z1wVDnD6d?4uzoglJIV26g?|!5^NUZvf8gdy;+KPegGD?8%>#0dh zUk3hcqHh=?A;_k41;o$@&YWnS*~3Emeb+J+g|daP@Qn|>)N%{BUX!^-24`;n#2%-u z#dAQ~(ip7M`rUVyOZQpA{jb=b*x0{Kt+wFjVC{vY;#42=5L#QOwK776V@o4eWOnt$ zp~ICP0}*xNn9shes>?I0>SNDIW&Ne->8}g&ajQK@uTz})TWDE7J!sc-(~)RGQ!x>U z7M3qyV1b;`?5k$bWM~#c9xLtyrH#@BJYe~f2xzQGHiVN8MerDIQ=&|4QdtVQ@eF4* zk_-9MIq_onm#`ir5ybE}aDCnMRd$GFfVRRQX1AG2_my&YmwkgGh?MED_a%6uYk{O? zlJYZho(OWXnyVqLO!zWRPNAh{P`zUBnKe{`o1@$8b%3=oqsO6~6aBpgV^vj$u;w$w=CHyoolg-hHiLlx6t)Ev0Ht_FO!?3lLzRM$6i8c z0&9K;Bl0A@p?6Z!IttCLy_UHNVX89zTOhj*e|4Yvw6hCu_EWQTdjZVa5U{b3h1!T9 z0wDM|l#{=RVv(>3L#K3EisJCJp&of?c3@8+bO|b9E1pm^X9rD@WtdI?Zlbz!^TME&~w0i7*0wcbx&bFRR6)b37((Br#uJy zD0hi9qKce>%&k16{lzeHA$z!@YU=JW+m%iz`W&o=9j&Xd1xY0=W5$kSF$F7bI))dm z3|4pzgsxWmAFZzfheurh?3uX9&L)CAn@LT>g&=@h9VPCj2}?)o3iM~7u4LKp^ZzYiYvbL+hph{!ICR_r^dVXe{%U7~q5_R9;6l4YYb8O6@or<&vno zzC(0$Kg|fngb!|U_*NSEQzU>nqV*d|G)izfJQhLF!5eIul@vbI+v3v zW8AP35tMKjnUvQqAdGH&^L8D-o6ox&KcNne*KCgQqO-eeqPeFFdz!xX`D?EeVS4?x zee$^-zk6L&aU*z}CT(0L!Wr<=cmEem>_=(X%Rdo>$iI?TTx?1e-o_ZthPR6A-|hX@ z@Ab>q$X4(Uf=u)9T`T6lVg4kKARD>`l3 zKD$dch!8tObdcUk=xje3hYv_A41rVayIELR6j8a!deP{Uq=ulb?$$V-R{^fV$YO`L z9bS0A=6+4?lA+RgO4@L+Gy?hk-Lc!!aoc>f5;m#LF%CstJwk*&O@fee27}@O_d`YY zAdj_6ATk-%|sLIwWOTO#`xg9#1df}MIHe--yu0}QAANQL!T$sX`N_#m~_ z#L+}xAooO@Uv4ct%$KWm%mfp)qq`k2f}E}?ko*h3F#M)nPv;KlyE;rjnA~?oe}$n2 zB@>ZHcL#RN-!2atGhNZcfC(Pyykx;se=^ZxH} zZ>(a2@e)0(hrjtwc+PvWa|r!_3JILwvE{mMLmAMqyc_5C7hM5m2Q#?X_Swg6%i|al zIzA_O6ok@orUWP;P6G2yPCaP|og*Tu$I!Xe4m9tW+!n(qjaAN=aEa(9A->CP*UtK4 z=a^b73aIe@`K28__={z&C6UW}3>7&h3rXMy>%O9!=(kxv#)XNeRN{|KckLcO$a_#Zzsgiu@ zDgut$n}z>~l*rzf(37OcRTOowop1tt?9a$`XCt!^}f!S*n{#c7IEY3|c&<`}X z6N>~$xI4&cghBXo1-aiCU%p%i1=}*E5#xhfa%0;8%mYL!3~1zol7$cbEO(ny=g5Uc z=G}Zf2G{}Ixu`}Y;K&IDkTq@TCFJd5#J`AM&e}|g6b7{}Mhpe;x@s-)GBVn?_Qv8) z3Brx_rv@X+5jdO4>wn0yZL?@E1A;y)(?P=4vEUwwZJYB!MKjB-0uu)^)(yK*RLh#e zkp7*tuzpvn6%1X4dqb?-$GT0Lovgw{%#stu?Yw0WhQD+-$+1n>u^-EWLZYO~lF*2P z-4M$sXh_18qc93D(Srddc;b=1$dCAFl|_#{M3q=b#`1pwIxof0KpujP4s^U~zZl`f zlSwTE)?x$3aj0j1BulZAj>x{Hr4J#AyCnRiHSKWQer0O)jp`zrq0+Z8JbUrACpgXt*yl=0)o|A|SkguWpo zDTwS_xTjr9Ns-?auK4Y-=puy2DVWi2m_L91!bB}#LK6c33i!Jpf42j`q#MsC>PP4K zvWx)Ly`v$SJC&A}ex8WSQwd8B%owI&X8HvHc&=sGc>s=pa|pbQ8SM*DKi$qHVLj%A zBr-tC#v1Wkki>kA*!nl+Asj})x7K_H>M30SpAaVDh)j|gBz~WhI3el>&x8&FJ~E%2 zD3Up$mY+agfx6S2#5%QyTPF+xR7ZVvH6esyLQQr79Gcj=EMdMD&j?4r7=it;EY%Tz zpBZ~|-Zddw6Dp=}AMt;jFLG+6kdcwW4msoyHhA!0)~(wfCAb|scCZyIR*fO+>Dm7K@6ReKD%kGbyLJ6>2h#|U06G!t%s-=>y~cDX8$HH#vWqrAfW&X& zkKgoQ!$(a|PiK=RO=6G^VPhjdLjkOPtFXS6 z+3BzzRURlzLsOH=hCkYXKtHPERM%~Y%TyFGpJ2l5^o=MWUn@5Cd8~P& zo7uciKgD{1z|zzBRD~7n!uT!028$-_nEEb^KUD+1Lm5!|C&3=?0O)oepdssC~mo4)L@sb&Y z=Efcbe0BYGU){GSQk__0LSz~%_zsWf=T7T<2s^B4eb}nW4hlo#Wj>OJ=-r zg%Lj_Q9XbIM;w0m;a`Bv>!ONCC$OVL##&l8bS>!AOKqiJolJ3S^9X2>xW2xgJ@w2p zZ1d*LEITKMWnv~9YnyE2rcDeLiGBLnXKdKep#d}80|yRdvLvxJWo7=vIhp-X*zq8O z%tud{FyST4X4^gy;poH@y3}+(F~8c>j%uJ02U_?LNnGF1z#e)0akh5tTDD^4$~{X< z8ez%L)qnX5%TeiMpLF7hOp;~x2`xwYjCZ_@ZgzH7mSV+!BSe6>K%7AENfAb&8_Y3@ zjBSZ0Bh@=}Q|1m)Auw*-ICk{WM+d~=CGlgAc}X1Lpz%^uQ^Qt*=p#mqU>PcX>p_sr z?$%aTjtv!x;bUe630r;#<3!G1&@)@MYY3o=J@(X7PkrXoPd~-1 zqCLhDA|H6*fp?%Aagse*bONOESJ6hKgtwi@=u!_vi}NxPusv=i)2aGPDwxL| zcU(a6u|~-rB@+MnXMnwx7uu7&ipU%!ndx*9QsLxewt}WPzu?G0=wi-i*v{j6ypnnK>JZ611d^H3tE{T> z=ZSZ-{ZK^nP>AKjl{i&oc{GtwSlftv@4feS!hvodAkI$FW{QVzLtxC9G3m86${$d7!gC|a$`0N*7d=b@Y zh_(?KQsdu{#(`6*W{Sc6=psNQ#zzit$0P}R?7#mFkd6T!YwEVd9C8eGG%&-i(y@5Gopf?_3qkb@37 zh@A)p4Yl!-7?QYBHIuA%xAU3EO#0U$WQIl5eovJe(JS1GPwu*<+H#>KSCG;i9xC%_gL+HfK(r%nm>7Ftrt*01H6F z+6!@qIAkqUpzo+9GA6i=L`H54jF!Jeiood6quI$P1unr8ksgO6rsHd4ZRiZ_GIX;^ z15Dk`CSC2?+S-5_bD99--Ry|JP(CKUzC#zgZQ2a?H2oQ-+3L-JB z<30hYs8*RYh{6#kN}KXPc~P6GQ>L)PprE2QjTpn%^Q9>@B&MIE;Zjr*8PfQ8Bz~jm zoN|x42#gvvik*D&$=C+mw*Q=n^Ee2k-d?C1fx`|vNHSxaqk7Ctc_qnQ1IesbNTCTZ zGJMQz`J?oMRQ?H4xy)+Fs3dYUEr`{OwrBq%M~)03G2PAd#FI}Z1c?>wiO7^E^}SI< z=CjT`lN}1JGqv%aG{Pmb8WK~_k#Z_xi419c5)%EpsoZf-x(JK_iBCP{lmJOgM0p&9 zQSS}bjUdJjbif~VwMjC&Tzjeyk$K-?!x*hW)AmWlaHSCi2}{3wLn_nNGpntHidZ6p z#B_WQH&Gx!6G&PlCaI@BdMAn`90^K!(~`{RoOKpE1X^fnLz0<~nbnAde~yG(5lLjM z8y|>u@qeFs%BxwW7cNokw?i`1dNyf*1xsd{>0Z08 z?L-?IGxOPOOJ6Pz>&o-6uDsrCsE8yoPC4LRYO@Gy_@kQ;^+>!5y3WaBD6iD;1do}g zopTNw3#~M@;j`IlG{Qey<(OrO3~8JXY5Wwj5>X=%z6kBxheBfYjfu30|4E#&MOz7z z&1~Pk-K*tA`3pwUW&sEp@AGLM0ln%a0JGY&%FCM*IjAJ@WqBoCGd zNk{l#=grFq$4_E21#g?D;lqcs(@#G=;O=6o_;lJO9g>&qhOVBWJnvx(|bJB+#Q~js&tKk)cR`20j2khf5cCZHIkPne|BgM+Dcr zXr~f?TPh1ROu>@*ymQZG2SRI2Z5pBM!e_J9h=e{9*NAhWE}=G-h>VCY4vm7_7$HC; zKI4otLL~9i&pylA6NwcJs7zG0U@}h!nMXr=O>OuDm>Lc3XS19$-L=Lf*C6!S|D&B8 zx79*m7?dO?W2aE?n3yX1@<0C23eqm@wr<_(JqVDx*-F`InQcD|FUW0!x|>Z)Q@opP z^xbJG>J3bK?YTBn$ERtD3=&_Y69>1}Kwv0zkb_A~v$oGX_guRsu>u7(RMcQ8de>x6 zq(1+=^Vle8v#E`@o6RS{)Q|)`o8g`*BER|On>2$qEg*LOqKm)~oTM=YJA)KyL>?6q z|GqrxYofWS%j7x>v#699*pl#rrp`+pz(&Y$5c7^iJ zfAtX{5}%1p1X?8i?f2jH1GZC_EnBv*bPGp!}7B{PwkBr{26lFo{ut~gyL$0f6Z2whh#Z>pu3VZN&LbK?AK+>g1x8gJ7MuGFi}fpYWOakF~dt}H86C%Q5~NE^Fu-$ z#PIeAzeUhPSRw=T$w6WGs|taEAo0|xQ$r;2b421_e^vS9kAwhWLf8b8`JxLhV5GvT zHbiEwG}49$$gDfW4NGJM4m?=7E#8!WqRYY0(jf8kFTTi@auVy-55k5p3MTW#L}sit zs|_DBx1nLgMZ+=jt+(DvO(Z`+pbbm^(|`d3*x6^F9U_UTg8s5}sox)e&_;m9#G5v6 z_I9b2*=+iyF*NO%qA|5%_?THif_1{>_V422w~+I%!%5`83y1virS?NfNl6HaF@9k$ z%$mhXY@urW{L3$1%m_Qh(3ts>i!Nfc*+OmjnAwkpCMOMv3{kEb$RA}2J`@{}m?|bW z))3Gm^Tiil=sgEa9UCXJ7mdJsb$tNocCE4OlnWw14u6JZR|DPNpNoo%8J&KiKB%3f z$&0gRvn4uYvK^prWE8T@o)|vP7w8{5L`b2t#TR)!l4rFfYCMVn&z8sZA=Ya}pCZ%v?zHv8q5*`mdZld3GqkXgc%uvL?puqVk(7p|*KsxD1waZ_`Q z{OF^PX5#A1M*&(&cdZKw3fQ^W5Fbq9mr&7uTC_-Ar}(pt2#_i#9S=muBPnBMn$4#D z&2*g5R=6o9MVF>};joJP=FOYuS6%9FV5Q=3z8;C^%wa!r5<6Zc2;-N4 zb+BZ1rKu5X=g<9##5l!5O=8RxvN^B5%6|Cq$97)& z#48?QPT12oPz-&W%ORNuK}A+=h|DRZn;pPWJt7AxysFV^$It!y_h-{V;*5+8e<{5r zhE(|ehadcQ{2{go5cYHM4b)_&Z$y%LAXH`5CWR)z0#x5ZCcEhD>ZYcq`vFedMZIdI z+UavYkobHYK@&n^NP~r(#Bu-XbeGi5UAw%ho52%cbO#mPc%hh7m;eI?-Eijheae~F zAriT!re-Kwz7Tr_r1to$N8(prdyOsp{`>Y=~!IJrk%PwOBpgOBI%9vU0 zSM8qc&%{yUs#1=SIb!_y07*>X&@xAdtSola zgb4~({5L@mpl_3pxeUcnFY5m;znp#Y>8AnbX)Ere?iuihGs6_A-hjgk=!jlAS1j3# zkE>o~h7cm7Fadq4Dm$Ly~YfNP) z_MWYneF~lsM<6-`Vnt?!vjId#*11HE?)&l3905N9UNSp>IDwb50jFqU1}tSIGF|1l z^w(e6)-7Au?wT4_TUW<2Gc#GooE+A7pMAVnlMD#Dp2Yvf9D3M-yez`y-I*yhcfz2&C8xU{jJ{)%uv^pGJ# zLeBk;Ce2g|TZg47GFhr?i0mxC!r1^KBY~8Y$aJsJXP3{FN=RKfZFQG4R)-#tjtu=v`}evyBY4u(hN`1GZI6M!`tt?!|48^aE7iMT?~m$()8SO&SCrGC|9%Q z9T1orFf*nF-NT=8aJvzaX%m4S7G}~2_9LMl8pYSx*vNM5*x?OE<^TN4FIiez8XG%i z3_Bjj*>>&PH8{$+zB@%`;w%*`V2lhBx7~yl*J3-H_@B6PbJG_4f`tp& z8*}HHB5_+N#^~CUXP~qht zjT<)_Mp2FOfAHalhJKRWkqAv?d~x<{%Z;MbW%rUf!rq!z-W1LT5LscjR)F?kR}aZW zV>#-UC6XZ$zVYUpjDDjr)V-aH>rRZ!2OoWuEZ3nJ6~mO|B~s zI2%A@u)AG%tzXCF(C*#4WBJWYr9~508^TCZQxU-v%|PpQv8fkANw2 zbzii2F(X1Jnz4(_3TFdmt-A2etXJ9F}6*1K0P z?=sZdwQIdgazFg|V^qBbnuMa6Z@bOI4?Mtj?A*y#ty<+B6W7+(Y9>Lm`-DfdOLdx& zM`1~1CXDB4dQpV}0oyJCv7{Qctjme$v&!r_H zCk#pAjaVlRXHLPDp%ccB_j;o{peLPrDs#8Cvad1A9c)&jVw3a@uDHr9Z?J!Qr}AEM z;f3C19eU60)X7`y<`q#;7>@Fvhs4nn7cy)-+beZY|KFi z1(28m(FN*OmUavi3Ud7U=bwXYLSKovbQycFnK*HxcgZE#o*H9PZV5IG26F>lpkzX8 zvs$JTNImg{6SSNX#;$v}ZfqKs;PlKlXowP3NJZ1lRyZ3#WQ>g}^?*ob`yZh6VPr7Q zU{_pr8KXOLV{Ixb!$ZFBuwfyM3*|Eh1lQ_9lbe<@36WLLY}>xwt39UYo(%Rw1`lR? zLpemtY)AR3vFwphoDCo{Zg$&(O1-D!o~R{`AYb8>KBz0bcb`5H#2kGPGhOzA zf&$%y^e(j9pfMDno`s&FvGeO#!=~S4HY1?6s%I*zs`Q)^!rm&GiL1m}%6tHkeWj`L z{kDrAT51YMmSc}OCN5>IgFZJ+riC*`jZ9x12}EP>U{dx$V@16WJ@YHN<1{gps9jLK ze5>vI_3Nj84S23J(fbJq5Qi6wWUf-O*zSqEcHO#=3au2LehVS(Xj4QyjM3ziIzO~Y zLeF&3QAKRUL|AYm(HR>qsP|!HNHgk*C!e%cVTLA~sH|FlMtOqwZzMqJ+Q44X4CZy%`WSiMi3~t5jYOL zk8sOywATDDY-FH$1Eb!6Ub?~dG-FJETINw~j8Lx-X!)^Xm#s5lM{$rsP_h^zGnp_; zQ~q5lArcu~uVu+nSTp$yr;17I#qlymn*!8%qIFn3V?=^xjSU_9p!ad;A&2Ni=eMWH zq5s@}Kl|*)!{s$xE8M+Dk8n{q=5BU} zlo64Q-1H>=lrzp?`FVL^%SHJkl~yy_U|}PRkq1(o(K9sMp#9g$WQ@qH=4wc(v9EPG zm>!+dZvr8e7DnArG?@Hxx)??zRHtn;`4l{%r4Fa(MpFFBE3PorZKkxJe)d^bmEbeJ zO1Vkv&B*9sViYFcZdzm}juKauyoC_?nrp719R+I?56S*Z$`nS%?1Yn19Fe*ibpzFL z8c7i&x2&uzbu?TvQ-LM{ixH9~4KlCs zan!M z4q`}jL+Z48CLA7m;S$9@h|B>T)tg13?ILF+N&%wD2dNhtnRrTMBZ;ZbvsZ6gr)Oa_ zD<5XY)0+fU?n^GZhPcJW#+BaYV)AwBiwsh$cc|oKJC0e+?efxTqAoRvYq=QXlAn6oqV|K=z z^4Cj8E2~Cl#}92q3|@NDD<5?^Ntc?|U}-bHQFon|k*pGVAPy~bV$+0Hd45G>qi1@? zabi<1Pgd>I+g30FII7vThAQ7;BoNu5Q&w~4uz!*`bU2%yq4A&A4kA7OcG^?kxa@E^ng8o1P(sXUTh=nEhA+S2eV~s)IK6N z`#9>4Ta(CFU3C?a*xcq_e^iP4P>3U4jZ7)__L^POHHs$^H`<05&d`aHdWO2XT87jy zBQZqg0VO56LAPy7%q{DL!wa)!>E@dpjLKygFo7I>dIL**9QEf+lgQ+X);vIT`$Ht* z!{||?40BC0om2^ox|D_yMBzy1Q-?Flbd)kEzgpWBDLymn#Cqu(^}IKJO4oFCALyE5>oT$!uI$Bd0$tZt4;l>xbVZbD`CFr->H5?QM!b z(qMY%kwLfz_~5#JoXoV{agRUju&}38(jMMB@4lPm_3!T`J{?c93uk;$<)>w=-~;N7@<`*_ zTW-58#LFQEAIzqmeYW48W^`#1W^0%(D;*+7l8}f`8du*gSm2#$_D7_8=#Tu8GaVRjWN1=u_RBAO|BU>R+o5PI!WlYVhz=v9Kia2Ev-aE3nCQ)dEAi2} zURDi_U+GWJ9Dm$#juQDGoO70ELM2r%e~Du6lgJB*o56X~?OOXhCf+IE!6h*HPRlXV z&pnsXZ=#v;kQQc_io)fcc5_jqWyMhMfo6Ndk(lBQt&o$5r?j>Opm^A6Yk{qKwvg4%=ejgL3@I2lqT-7&J_6NBrIFbQ&z^4=bPsVhs$ z7;nDyR@~N)wQ!{Eg)|FI7p7S?)DWC(lT;5*o0L}mg56Sd!bqYUn#-UDkuGv`;woJ-FUXerPusO`4dw?UCZ6JDATo>#UG7vdyFwD?ilj95!^Qclz1&A>PfGMe9MV?$8FvNKeZjP5tKJGnm4eRo z(pvA`7nR27h*_=dnbG$>1d~`ipV5{Afng|W+?q_CbsgJ(z;^!De#N9Xo z907X~AbkKD?hyB&&1HCwo+%KREy7Ane}8L~ zFn8k!a0Ki_fV$PhIpSWpSWOd|B0{9khKrE9a|Ad7(IY@7fl$}lEaxl{8EbZLA>z=R zq@&L_kAWk=5l|t}0qf+%HR7DgTKCZsk?9;=L_S+LHtxU?;0Q#G07+t>63A@z+0{l7 zTOu+=gh{W5@snKlZWtlJ-8cdXhCm0b>%-7W5pm6wu}owPysIFU-!>IH_rww42v|Y@ zL$GDQs0|A5&9xIc~nN5DJ+q-6&|NdfLR9|}EXE1ngy3`SID`FzwdFP!U zAd8F5XOsKn2yg_95b#ZME%tHC$ZLpO#6+f;Ffb22?=>U|Zov`Y2!um`q%kc!MarqD zh>VtF9=h1yhs&hh?sPjLHyi;c5eU9Wz{#{IZaOHCxI~;ys&{8Ks4UYSl2o9$Uj)T8*1dI@fRUM;s<7^Na zrqstJqipHAMNMRi8K)Oqjn>4in~Kd2Km7P3+kvBLxZwymfdJJlx|JjrhDZ!DyNN^5 zq-P6}v97!fM1Cxqj93XvvwO2}e^H{`3TP$o+;3tdKy~W5=bw*B-J;1Yp908Z#Gz=A zv4zN#0UT0yJIK5tn#`CDi*(oy+>ZFz6Hj;#jWZjL`{M{0AwUNZ(v6&zRaHjbY;()m zGr_fixD#!prcTi`o5*dq-F7Cfe0<%k|7iW;h+fu+6ClUn7*;xenGTRklv6LGEgKIX z8w6+tgeJCr!BNQHe)nBWBr%nY4tVU06HC#po{F*Y8_|~5Rw7eoaCGkH_&F-tjF}Bj zWZsQqV$B}7ZZ=--k0anD0$nF~%o0(K!l%T18T#1Y#L&UV?AIVGO?^XG5J1==0(K2EW7`j^N|nlY_zci5Zjoz4r7 zpCe#|0Ie5y%E_TM<9i{E4bQ4JiYM6335m>bC+*$HXjO1xPQG)=>?FE8Zo3fZ2ohsl zTtytQD^7~X5hBy^BpAC!wJsJ(Avu{NL5+ur6$0KaHHLu14YNo1n9Z9bM5e^iZFnEV zddF-=?DEISY!{L|9y<}BE;T8C5GRNmcE(L{IYwlP91GqTA>)72b1V%fb1c#3X_-Nw z)1IZKKZz4&{9E~)77c32baZCNi1j^F5=$V{`@w8jiY6(g_QjU(U)0(5s%E~GKcjp$NGt@xpr zN!t}dv=YMLUVzru2l$<+XkcQk3o$H?m3W4yc;<7HA!J4$UIt7jrJA2Y`a?bJ<& zu6rTH515-UE`BW*NW^4}tS*Rey!;V!Q)1!JtdeovItfe|0D-si`F()!5 zinX+DAklFsD6KQc#SrLx*Hm1fZ?}mOi7}zNgX%Wb@mLl#E<~mRqM(1^=R^>yA(jPJ zr^U&vMuR^`g8)r#Vg7~c@`=8>9ZhtW!^VxslvCVq^F7Ek1%Gi{;PsMu&n9on;PC() z0YZQ#P;;`g-Bg#UPR9e4n9f>j74VyHzF9MV{P;gH0d)%8V?Oytd7?x!aiAaH&rE1= zV+DZ>kT^FdN5Na`#|Ww$1{_B z%p6bjU?{#&U&+?q?>w-Kk3*#^qtm$8PE5;-mLERr~n#n!>_ z-{|sh5Gf+dr!dca2j1t9`Krr*T5xxj%)w#X3^~gdJ?wlbEAw_Di9@lS_KQO(YO3Ft zbf*_!8FY|yrB1rzZHDFFPv@C!B5tQFq;JL01C{!uw6Um=SkQ?ak>#Zs`k!D5U<<&9 zW;mi`mYRsq58_sKyku}o3_Z3;8;jD{MNYMLgDcZh^qYr>dxdZ)JJD0FZnf*Kln91p zP>YdiSxWmN{oxS=g!G;w^@}u-9i-_u-$nR+NOhePXVX_Q+eF)3S)xiape6lb*{1nX zROut;a<`jPEQl`Imo7JE^pb^KsQFDp9qscj9dMN@iO~ z`!C0(O8?2zqDn_%YRSu&M#8eo%ZIqr$iZ$|A`ylmtcYM%cmCQjS>@9!!V-*7rMy4mJ zlifiaGVbk7f=v~BA`5(@qobYE)6*{y+(Tuy2Mg)N+?C81u?Qn1(@Km=pT|~uZ%_nm@Q2{F6%L zI+#M}2O!*YI9dB_{HJ902dUUb%K`@sIu1kN*O0)U`O6{Rsg=m9)GvLm+e@X=vk-3= zNsU{=&CboWEG{mt@)pUxEq!1{qD%N6LFU(~kE6*&qyCpGk?UhqbB6}Bo^5%bfzXfR zx@&I!&kH4UEr2o)EXEw2+3YOjeV6Muz<;tfm0r0KP$Ik0@DLU&v6-2fhamHlIAdzJ zlDVaFM32k^SJmgYySuwTjI%YChvw!vi4xf}R4WrAB{m|ZpTIrF-D_5+@E4OrGSlC! zEHdfn=s45f*0vw%`wqAs_lKOORw5f{1LNc4trHUy_c9-yr(y0wQeWL@wn-qfsLomX zzKlH2()T@p`h1|TukX8jK3{4Sx1>L(L^j+4kS1a!b{_*|4?}3#tz@0wBH~D98FiL{ zE8H2}r(AykF5iGx(JwxlekB4*(KV}qQ&8&ie64_!yK>Bo{es4pyyqkWtY#1m;C)s+h5G688Uss5W zv@IfSPh{HLzf3JH9TL+?zPnKG8#Uex0!m~vI5w2a*w|QhYHI3M9u`vHhTDwWfYiRQ z-*~f^=ARWIdX9|UT7K_E4m*-8UX=PAK2Bsjb9Ax%SI+Z$we;o22MpZuA)z$TjP7j$xyz#u0 z$c*u*p>9dffwZX> zd^sMpOu90@j1ZUb&*Puv-W=i6sdV};%K1H;&B{p&zd_oL$)?X7N@E?pt189jc RcpCr!002ovPDHLkV1kKz&=UXv literal 0 HcmV?d00001 diff --git a/packages/venia-concept/templates/generic-shell.mst b/packages/venia-concept/templates/generic-shell.mst index c08e143638..503369ef83 100644 --- a/packages/venia-concept/templates/generic-shell.mst +++ b/packages/venia-concept/templates/generic-shell.mst @@ -1,4 +1,5 @@ {{> templates/doctype-and-head-start}} +{{> templates/js-unavailable}} Venia diff --git a/packages/venia-concept/templates/js-unavailable.mst b/packages/venia-concept/templates/js-unavailable.mst new file mode 100644 index 0000000000..fc1e140fb9 --- /dev/null +++ b/packages/venia-concept/templates/js-unavailable.mst @@ -0,0 +1,50 @@ + + diff --git a/packages/venia-concept/templates/notfound-shell.mst b/packages/venia-concept/templates/notfound-shell.mst index a960933e38..34bf2a9675 100644 --- a/packages/venia-concept/templates/notfound-shell.mst +++ b/packages/venia-concept/templates/notfound-shell.mst @@ -1,4 +1,5 @@ {{> templates/doctype-and-head-start}} +{{> templates/js-unavailable}} Venia - Not Found diff --git a/packages/venia-concept/templates/product-shell.mst b/packages/venia-concept/templates/product-shell.mst index c467bffd95..39dd988388 100644 --- a/packages/venia-concept/templates/product-shell.mst +++ b/packages/venia-concept/templates/product-shell.mst @@ -1,4 +1,5 @@ {{> templates/doctype-and-head-start}} +{{> templates/js-unavailable}} {{model.name}} - {{site.name}} {{#model}} diff --git a/packages/venia-concept/venia-upward.yml b/packages/venia-concept/venia-upward.yml index 124305130d..5093235cbc 100644 --- a/packages/venia-concept/venia-upward.yml +++ b/packages/venia-concept/venia-upward.yml @@ -48,6 +48,8 @@ appShell: default: inline: false urlResolver: urlResolver + veniaClosedImg: + inline: 'media/veniaClosed.png' resource: when: diff --git a/packages/venia-concept/webpack.config.js b/packages/venia-concept/webpack.config.js index d5f942baa6..4bf7fa2a1c 100644 --- a/packages/venia-concept/webpack.config.js +++ b/packages/venia-concept/webpack.config.js @@ -10,6 +10,7 @@ const { PWADevServer } } = require('@magento/pwa-buildpack'); +const CopyWebpackPlugin = require('copy-webpack-plugin'); const path = require('path'); const babelEnvDeps = require('webpack-babel-env-deps'); @@ -134,7 +135,16 @@ module.exports = async function(env) { enableServiceWorkerDebugging, serviceWorkerFileName, paths: themePaths - }) + }), + new CopyWebpackPlugin( + [ + { from: '*.png', to: 'media' }, + { from: '*.jpg', to: 'media' } + ], + { + context: path.resolve(__dirname, 'media') + } + ) ], optimization: { splitChunks: { From a1f40ed145597c62170a62790edc8db04ff70079 Mon Sep 17 00:00:00 2001 From: zetlen Date: Wed, 28 Nov 2018 02:05:03 -0600 Subject: [PATCH 2/2] fix: adjust fallback UI and UPWARD settings --- package-lock.json | 16 ++++++------ package.json | 1 - .../templates/js-unavailable.mst | 13 +++++----- packages/venia-concept/venia-upward.yml | 26 ++++++------------- packages/venia-concept/webpack.config.js | 12 +-------- 5 files changed, 23 insertions(+), 45 deletions(-) diff --git a/package-lock.json b/package-lock.json index c1983b1d32..6a1cd758ca 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5194,7 +5194,7 @@ }, "string_decoder": { "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", "dev": true } @@ -5723,7 +5723,7 @@ }, "color-string": { "version": "0.3.0", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-0.3.0.tgz", + "resolved": "http://registry.npmjs.org/color-string/-/color-string-0.3.0.tgz", "integrity": "sha1-J9RvtnAlxcL6JZk7+/V55HhBuZE=", "dev": true, "requires": { @@ -7132,7 +7132,7 @@ }, "string_decoder": { "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", "dev": true } @@ -8249,7 +8249,7 @@ }, "expand-range": { "version": "1.8.2", - "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", + "resolved": "http://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", "dev": true, "requires": { @@ -10493,7 +10493,7 @@ }, "string_decoder": { "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", "dev": true } @@ -17535,7 +17535,7 @@ }, "pretty-bytes": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-4.0.2.tgz", + "resolved": "http://registry.npmjs.org/pretty-bytes/-/pretty-bytes-4.0.2.tgz", "integrity": "sha1-sr+C5zUNZcbDOqlaqlpPYyf2HNk=", "dev": true }, @@ -18657,7 +18657,7 @@ }, "regjsparser": { "version": "0.1.5", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", + "resolved": "http://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", "dev": true, "requires": { @@ -19939,7 +19939,7 @@ }, "string_decoder": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { diff --git a/package.json b/package.json index 9c8c38707b..7701f1cf90 100644 --- a/package.json +++ b/package.json @@ -64,7 +64,6 @@ "chalk": "^2.4.1", "chokidar": "^2.0.4", "contains-path": "^1.0.0", - "copy-webpack-plugin": "^4.6.0", "coveralls": "^3.0.1", "css-loader": "^1.0.0", "danger": "^3.9.0", diff --git a/packages/venia-concept/templates/js-unavailable.mst b/packages/venia-concept/templates/js-unavailable.mst index fc1e140fb9..39422e73c5 100644 --- a/packages/venia-concept/templates/js-unavailable.mst +++ b/packages/venia-concept/templates/js-unavailable.mst @@ -1,15 +1,14 @@ diff --git a/packages/venia-concept/venia-upward.yml b/packages/venia-concept/venia-upward.yml index 5093235cbc..535d0c8cd9 100644 --- a/packages/venia-concept/venia-upward.yml +++ b/packages/venia-concept/venia-upward.yml @@ -8,15 +8,15 @@ response: pattern: '^/(graphql|rest|media/)' use: proxy - matches: request.url.pathname - pattern: '^/favicon.ico' - use: favicon + pattern: '^/(favicon.ico|veniaClosed.png)' + use: media - matches: urlKey pattern: '.' use: appShell - matches: request.url.pathname pattern: '^/$' use: appShell - default: static + default: bundles proxy: target: env.MAGENTO_BACKEND_URL @@ -48,8 +48,6 @@ appShell: default: inline: false urlResolver: urlResolver - veniaClosedImg: - inline: 'media/veniaClosed.png' resource: when: @@ -109,18 +107,10 @@ genericObject: inline: "Hello world!" -favicon: - inline: - status: 200 - headers: - inline: - content-type: - inline: image/vnd.microsoft.icon - body: - file: - inline: ./media/favicon.ico - encoding: binary - -static: +bundles: directory: inline: './dist' + +media: + directory: + inline: './media' diff --git a/packages/venia-concept/webpack.config.js b/packages/venia-concept/webpack.config.js index 4bf7fa2a1c..d5f942baa6 100644 --- a/packages/venia-concept/webpack.config.js +++ b/packages/venia-concept/webpack.config.js @@ -10,7 +10,6 @@ const { PWADevServer } } = require('@magento/pwa-buildpack'); -const CopyWebpackPlugin = require('copy-webpack-plugin'); const path = require('path'); const babelEnvDeps = require('webpack-babel-env-deps'); @@ -135,16 +134,7 @@ module.exports = async function(env) { enableServiceWorkerDebugging, serviceWorkerFileName, paths: themePaths - }), - new CopyWebpackPlugin( - [ - { from: '*.png', to: 'media' }, - { from: '*.jpg', to: 'media' } - ], - { - context: path.resolve(__dirname, 'media') - } - ) + }) ], optimization: { splitChunks: {