- - {{ $t('components.HomeProjects.projects.vue.official') }} - -
{{ $t('components.HomeProjects.projects.vue.body') }}
-
- {{ $t('components.HomeProjects.projects.vue.link') }}
-
}h9ZQqb2Am9;F2O-&0JBL^dL z7IZFL8U}qk_7@&8k&j5I{FszUMZmHfT0o6)2kY03K+CVvBNvD2e)=r`3;`Us1Lt9+4jY13 zX0q0wTv6Kmvj^D?hiVwQ`xT7FG|60bqJ{)EOAGO&G$K>%!GR9$1-!i1ygt18zCSYQ zwe@uXh9YjRop;8N%ydENZrO=pvxn~0G%&_yeI;AED{mt^O!%$q;rvAm&0_t#!QJ!L zc2$_>l+UIQZWLe`|AGmaTx_2OlJ=0(P9* +jFiyk{iAc?tPusfZELW}5#%?B`7y_X zSaRW4;IIw!uL3m;U@!s<5yZZtVCK=0hO-+5Yf`(0qi_8}pf>! GFIrg*)L+Q-~Cu0UeSZ3QEcW~bHdI9HyWEb^!m`|J{{(f|mC_fO;1IcKD z ePjH#@U5dT*2JTZeKCgos{+I2h~y3zloE;xb%8oTYqAou z; 845Qi3X$cJ(Ax9+fNQtSZgln#Jy4FEWg}60#C%6LN56Edo@Erj?5X zWr9G?rrNt-cgc5?L0(A!<}M|gQsQ!i-}c{A%1)F%6-%W`F^jfyjJwgqD&4?YnD$HUMS%$@GN9ie3GsIahdh=)qU>b zY v94q!f!;VcKx=(aO1sDbLQbbWA#F@m5!~kwvE?>iZTU;X*a}~R3QyK1St}*UP z&JGJH9w$yP*Rs*PVN8Z#hFO|MhJO8Lwk%e6LTy$7Hq?}=6mKvoSWx{t3spH>xo7#% zJjOA{G3_zK@d6$O<9kI-!Oh-aJKh-HMP5N0%D-iQ73$dPY-)Y1%xs4m%NyD(6zj1Y z^v&0;Uk7`71CEtW?HA(Dh|iiwYv(S?6YCSZExJ^5>hqi;oRTjoh}2S iXG`6QBGuG6pd_*1`_$ugi> =x>df{?Gh5LjzPw&jA@HH#Po&Fp5uhiKrIhh#6wPYcFdIQiPbB8KL z387+#@R-TciA8F$mBIwj*E@6zV?IipIXEdeNtjt*Grod!-oWy!rP>k9a%{)1=ZNjG z#qPsxPx}RjoDz@1N?EV?v-nPt4nQAE0c%0d{!sZw#|XywO2$163s*U>)q6pjHkz=k z#000L>fVX1oa|C=r<>7noye7~l{2BH_Gl0IK&2jb8rm!d>v4^cp)B6`(gUKYZMca* zP+)BRmKjAxrBJ45n@!Ap7J(Cx2#N58mna7eTozEYTif!8-G3Zi?}X8cYt41Z>**~* z_aZ`MTk1%w Yz^LRvi zB*@h8X4y>AVgJL-#`0X3&;f;3H+H4G3e uaT6f;ac)R%>>D{Jh``@~&X`sRba=+oW|nDh%Pjp2NG7 zFMU#B WS<#9{zri1Sm{R~@Fb5`=;gU9cynv?kXf(*a3=YqWD(#JdF*C884BcRZM;cdI; z2k(a>w?pow`nvtriDSLL9sKh|e-|zsLEtrwmg>;Q$k*>L^+$gWkNf;QUgvn@_$MEw zAU}6bL2jhymg|D;b`(*h-aJX%JWqK$1%pGYIXWV`cUh48dq@SK5U{I1*4gNd{yhIN zftxD 8uhF(LI&c;79o@mOov-=YH;RQs=5PB1X&c>fewn2ao9 z7#KK2i|?Awn(}f2#&$OBh9-7KrtI!E_HW!UFhcGEZ=j8-vmv#+jkT?lfV(j5zc>Wm z;D68nTIzqXI9mzRYRW57i`zMxQh#LUVdtO~L8GRo7IHNCDWD=D^ 0RJyBXN#ZzAF+QZ z{}%h#xc=Ro&_9(4C|S6hT5CyI*qGWny>(55ho4{QU(Nh4%KvoqKO{B(N0O6+o9918 z|AX`&qW^S7K+(~{^lg^@nF|q4A;AB_{TIIw;Gc>5kBR%YR{n*3Q;P_i5a7R6EQ0p; zluQi HSHK0iis%*nWa{VmZUcQRAJi-Q8hJRMpuY@} zFS`10rFJ+z^arxJv;m!B--D;RPGxi7Fckm73=L54IT~8AJE-kUcliX$7;IeVxE75X z8yj0VJM-up-~00Ds|O6JvLaz)6!LIzq#+?ALqDbwvT7=^-_F4-z-;&)$QlshYVt?c z2@{yY(9zLZ9M8w&awCCGED;HnUO>j*qW!csOTCE)CntM(czBWs*>(Q%g`yr_7c71= z2)o9?_q*I lz%nQ!}zjGf++sC!9w-$ z9n*m~3v-5?G1Dz^+i7D1MhP0=etjjKI_epcqXu_rghNMHV9^(fS)}pzU8s^>7O@JO zZtMHE(m-tVXQ8a`Hs=u+1$DGVERC^Zy+$N@e=h(2>|H+YsS)0tWMt@cohcY(UuK7Y z`hHFk8+Ei)%zCAn^A>{){cLENI6pAOfryn@uI;?ji}K4UMDmY80o6GzZW?zGhlCNv z^)0+$5P80tW@nZ%M)LjGxKWK@koSX-bz*lGF@m@Oj$i?&gjy5H0CZZl-)U#UEGmWN z%N%j}A#_*mvS3taP>g#kSCEM3C&()~?C@a0a9>=#o)?AX+wnqm&aG6Ig68TD9#esC zt &xwca>&W-A5ZM+)GBuL_a-|(YK r3_we}pV;?Yo*5Qluf?P$K@H (M<(pO jakpYpgxuk#LY z&DTyazc1_gQ6(~$3ulH>ncvek)ggDzy_~>iFy6HG8Z;%J2P8>0>+n6NoP%%GS@q#z zp$o{~c2XCdBaSWH;IGc7wq?T`@N~sx?@Gad5TjwLn~gyW2^5=9O5{A&nta}-detPK zjMTfzziM6RU_WhI_thQw0Fe@+3qlF)u=_g~)Ec!%8G}m%STqjlC3b$+f0$044k6M@ z!}_!nw-sVcNB1Ket_Y_eBXpAkLl}(7w-Prla9rWMmu^;UCi=LTC^Lg)Hb-35ycKb^ zIN{sKgaMFqfV^*D(dTmO?$SF{j3;2^-Yg^uJ }XJiL8j=`s9U;c#LKy-~YK zHqs=NcvyO?CeV}m3HCl ?A%uEb*+G^YH!Qas5@#Gco !GjS*2SN1ZB)>z|^Zd0fB-5| I7EIOL9h|#rMJe6 *w5ZwoMgb~Hc_ZK8(CXwGo7J&y&F0lv-5S@gatt9 zczs{qU{!aO;s|7RdwgPwr@mjW^Lo{JryI%X?73p!=6-Ft;$iee3m^!gnjGn|PDGH? zsbTl2NQLR2TW9QikK6GBZAn*y47EyCyW*6)KMt%q -u z)n>J|h*&~5;3zp7X+}x(enc@MpUQbsEE=e(1u|o`s(iYdQ3MG88sQoU=xZat?|MG9 z1LM*bpoCOHw}8mS?V?Yc*kFX^H%Fa|9=D VnsgHnsc~yNgU%8bz^){->J~>s%5Fx4{p_AfIDQd^0l*O^c zbG~7*(drHU^~Ln*zUZsR#f>~r6BT53fAwZI9-d=XdaCNtjfR%1oLDl3&rhX_K9*Xg z({Xp7%SnZ>*~mXc`& zR&Ts0xt{fod(P=}c1f;Av3<^$nyf!xtS8%94 z@?~_%)j95h^6`a=anKC!To!cQk{|fyU@=)ZCPeS=69;jS;KI1-J1kFJy)g>R852DP z)(&QvOR^HyuB+UV*GK{sA{2 j=U4D1Q4)?d&K~=f84@ -`!+}-Q0V39$3e#>vrmLsL}PHw&b?%1HNmCpdv5QY_iq8@NT!- zA@e0M1KXi(V5EjFV5C|%3tY?w8&}Oh@Sog*GQ~CHG;)Er?fXTd&xeYpTh@0Ho5x~a zoG9Aghb8UEZ8XE8_p2~ySwEu9ZByrq`Q5gy7uoq t+N@uQ@e8kez8)3c>DRoyG{lXyzJU$6;5ptq0mE>8}+)(q_Nw2qr2+&zl8FU(6oq zVFE9V7SAb4x(b+F3e`4`ZcT{L%1Sui8%a!;^K9vfFVoh!o-WmWN7Zk@Lv&ha4~BN{ zX8iin*w<1pO%l`^59S75L|x6~yfn~R*cdWt?a5QnXs1(P(yGIq;0#DG_N2>^X!zZO z^*?}(&wX!SnYNE*0UhrZMPBvQfx>ml?X^s@J(9_n9OfsRUehW1J~YvlkKQto*fQ|4 zIf(?TxH^r2xLhmldNC``PNXeYrzB@=7E?>F=}5Pf<5Gs{PPvoZoX<^uk6j~V+f5y( zS1T--C2zlv*h6X22SX1$pFxsyR$yYn$2swgkRSy#++EwQ)0=7dzuBaqWD@4Q5VM9! z@1t5pHj8X~1^i6hMLomz6Cb#ODl)Ent&cQz niBxjZL@j<*cXf$p%vslG?RhN-1s2;c`Z8#F|+V?W7pek!NT7OFz z$Yy|#EBnP7ozP?t>8&Z#Q7dkBE4iEtwqfDE2jrO)^j9~|&;Wvx!hk&SI_Q3TZF{8a zN$oF|_1JwhzzX9nuGP$6VSU+5z@5IuNlzD15Qyy?9*8jPxVo$AN($h$2%i4N_^g`e zvoZq&M%`j=7H29(nJq1|NR{s?D+0P~!7jn&%#g34?0tQGMbZcbtRyKcsYHTKBD)@6 zJbElm+VmLR@WOun)JanP1X$q@K&JAxPrwwX7Y=(W&W$FHZTh=@Kkf!nVen?BbUT`p z!8Q&T2-kHYfis(Aa!ilY5N0!&+7B-1?Af=zx3rx@tq=>&cSb`fm7V@9n|h{Bn%H|# zcC%=<4z<25L8Un791hIJOH-u#`YoPAEhjoYRnLLn zS ~d&Lr;=<=D~xW&t>j_#ti)Nu`{jF2}JV4_^-xeDIh9L$zBR z)ocr;!Tmq8sKW@0rk1M}3i!PFi&hnf8!v_t+!=6q-=Q#Uqi$iCEnZF^u)Q)yuRH`c z+%a3t3>Qa-@V0_ePSs^Ler+((8|!wx)Q%vTGxn>~$>UnLbAGD##E(|CW96Ss=i{A- zTaVGhgRQ}j7gHT&u)_{b;3BqvH# Q*cFj0 zS}fQ#V!IP>O?}(U*GeW1ug(ZRc|4GO0`rsOCH>-d3F~NkmO!H+*))d$XM#M %^ MhlBt+~u+^W3@u{bw{Kit?&Et(oSQ i?wQ}bZmy0&6cZYB*`hSQn`&&WfArPQ_gzCS^w+cy=qH}`+{uWDm` zDll5yCl#dL-6cmWb)*tbm@Da=qLp|IQ@udKuHJ&ot}DWgBX4G^!EPA8oBEuhYM)ap z)8uh)Gk5pqB-jFP9gquNV3VyuTfm_;PH<94Zo+*vr-XQTHlhe^b&QVt=7f_*BS&@5 zd1^=ZIS6g?u%u~zhk3@}EQQa`mw(m!HMGIOnh6ur9epj_w@t!&$0z-8Q-0gxTIpt% zPCKGI))$%x?#$AEfo`psgQx8YuaY%hIJ+{NxjK&2UO!S~MY}kYO4`oVt4;CF*)U7L z17A78vwW-gK#J+xQ{TBjUHzeJq#d;xZe>q@BkH7kd(i>(<{=0lzAc%~TK&2GI|_%M zs69<}n>g+cTsNJ&GdT~=4+mY|4Wpc2?t`#IdSqU2n!0owi`}(I$*zdiXXy`|J*)N+ zvx}QQhTDQHa^@GQ89=3z&SC=o<)}`)5z 2)!R7sFAU2LfK|>Jp;i =HM~ZLJwAwV1<_h4k`A+CvtTnJ8`bq$V9u w*c`X-bYmkoLB{BTKtd>LMi4r?EKO5A#b=ZYc&z0Z@N$> z(?CUTyDz@Iz}bMwZc4Mxi*)5Q-1%=A%QURlZqs U}R>`ZiK*61$`{dJx6b_OftYjlfjJ2`l zfis<^Hc`Po*a)KAAm3wAGFqFrR0;lV+z{e?|Bs2yEd8+p>x`GhjM=8>Y)6SPQMtRz zm(5L;CCKW6hu)E9ps?NV5j39i-&T4Lhq3xz6;R2O>i;qO3 9FGzi}ggVTI|;)K?p?W?!#}xyBMYmMoCMh^w6sFh#Z`5Fu2Q^K8V&zt>=im z&EWttEf8Db*z28`lA pW-w4i>cBT3}u ziN*~j+I9bwIpPj#dJ89u#F(Y|gm|Vh*()j55`c&}5f)z$dx@&Y(N&phixkS8fF!@X z?7G<^e;o6zHAyU2Jx|5i!S-eKy58hkeVe;S &$eX0hN zkx#ts%^0;~lq?a>j8y9SY9Qrt?A7i4>EovF`0?w=2No2Os_Xj0{=mV){x0XTF?ymf zU{!I<0=og<2d#KXe6hEdE84D^AM@;XuK@zVtCy75t*)B3vN!)2Tqzy+UP($+cT&ld zhEm;*)50Y=&_uEY0%w<)TJArwZbSIlJ2M;?)m<4m)k9L%;6&(?@%^#9pZvbhZ95l2 zqw}e-q;MP+;-B}j>=?91)|x{bS4$ZAr1|8=HDmix-Uh!6<%x*n{C}2Af(tz#MY=E% zqphbuS+SVl7`K#YWi4bYdQ0<$?iXD|6PZRXv#6f+E3h}&tF86avb*7U73J*%)4^xy zn6$T2cpc(o^KCK=J2=jBzw_-24=LQ2imRyP++~3u*Jx$wn(kWzhZG!$e?t6AnrYcU ziQ>eg-xz`48Ni`EnY?xx->>`$Sg^a|#YQuQxLNzSBV>6u%3v|*w9>qOdaV%$am|dN zN8vaS>|37;T5RC21kWDP7r(!~`5bV0bJ{Z(RxAm4(E$=yj{%O^N1N-qkuDo!d)jmS zsJ--4y(~P~ET5+IO^k=Z4FCZ?HhxH2Af0S0AEjkc@A52JC6c-)V&d?~h;?+klo8J{ zRH;X{1O?xyvnqE=o?Iw6AiN0GkoaAg(U12IN;$VB@bX-N;;qRgC?@@%N2QNUg=U!h zxF5%i*muZXAo%UP1Lkob=@8cO_iR+6J>>2`0*{_@fBmYOVTdy7ft4;AsD4^#xK>;T zJ4H Uqra2Zw&M)u3TMndqrN^Xr&ERRC$VlPDH~JXOYO(rSK3}QId|g5v zY!^iaQUSnIrPY#q;aP1Re>#}mbW1V2E=RVwBg6>WYC+`%sdw<6Pkheb$4m>~oSOOJ zj}pd%M?Viw7DLjjeu(s GOlM zWBZ8brJK!z*hL=+9NO$Y!Bb<&&&GdXVbS9&y%S)3_R%qYK7aNmn*UcDnC!H}-NEW! zIo|eYfV!g0908KYqYR|g%xUUd81l3G+z^C)PL9{6uSQU+nXXi=W^c`YKrhN z4ttJ>ZnEHOCO &Pxa3sjf4m0p58*VW zvTilD1?P1(og_&w_AeX1*2ZMwIeiNkEWRSkQodtqYx$a3S4O1e--K_iR^BQ=z<*TB zWm4`2SuIlYsH5bn?7M-k2;EtB;|FTinOyAP %eqz)j=97_T~Zh!rS<*W9u_7fP^X+noliwloZW33M|)-4 z*=H?eS*zU$IibV6(0jR 7ks{dM-g9hCT)}a5gofm85zfjAb(MgT)sO;n#V`GEaOl} zx~h1KhToC-fUt5g!SCz%2Nh^fEC$OSu^|+2i))tS -SBU_?07Bd+E5(@Bu8mcN)lpcEN4jS97ikL~exq>0^k9j)OoBOnL Lvv9E8*5KwmbHMVXqHJ@zbH9y+-6#yv_5LcRjR z6ovAXv8S0jxvD+q%8N15yAv>xNn59b;cb!J);#u$A} -k0%ywO}FwMcSD~r#-$MI%@ zAApXguO#1kzU8c{c6yMda&_FfqiVkF!kc|*a^!8ip-0=NWy1C3M%CNF+?|u?%YF+= zzND(~A_^V$%!XYYJtJJBw%Y$y-1U)|@n(U1C~yk^ce2PfDw{PA2Rr |eoFQ`L{elRx5nWjd>2F|7q=&ZVV?h8kg&M0uhJ}6r$f*8 zYq2WDj SPyNIsJBjp98*k=_)?ZwlMp9m!`#(*#o*wkVo|J}L__E6bH} zrQ$DYIi6f7DETT$kp`}a1rRl?j*M#W30{fqp34Z0_IztQj=`d+ogV(+I8~3|PpZDH z<#52qFnjU2*}cbZ7QQnxT)ub}>{QQED&s%t6UYbNWvYr|$dkV|^hoJo>OHIHOl`Nc z*5pj_AP3sB4kSyGo|DndAlX8BqFZYmWtxk#Hb5r+urmTxwKrxTv1dA8!?xC{IO@rO zgSD!$R`zB#^Dh=sslEZV!EDTM#!E72tGs0iH8->VF8u4!yHEon*7N5)Y@gpxFBC=Z z!|dVI1g3XL9{t{iC{qq4(j1m C@J_vS7wk3xHmVGwP#*bkvh5Np+EbV+HtM3J!86=@j-%<>P<*z)xv=}K zzQsTC3nD9JV6}kgG^TWSq!}qhY$~bfJ )ImTXhYCI(KU35UGzJeha7q}NAr2QxW0}`sx zl;<_fOB`fKV1&=Gn92Lc*Odifx%i-+F)Tmhvnp )tbChrqV;Z*=$eNrMg+75NC5n!DPj`K*Tg_(hq9cp e?5wY^Mkl@eg zh*vN-(}fTgLK+od;QIY@QyFz8RAczuZ{r2(IF2rWX`ar@(792L6r#B6ArWDIQYrRP zl@S^5UZ@z)5~N}-_5He4jK%0`3&^FyGu{^`VP{bK*D}KkDD fpXzdO{E+ibHyqnoy*hgY(>Vb4m*rv 06bzQz?nY0_vWcZ)xeZ zJqe5#?_2C966l)e=UKP4CroYX6H6n<@z^0v(ORO`%q9Qv)z5E9$R<8vhz<9KN@5T6 zv5nYGhcS4D*alBxM(Y{mUz7>)d~^gfyGf+mJXtjn4z%ouLZo#w?2+Y$Yq0R{0}6C? z01Jfdbk^xQg5i`i1#l5 c?!g=@cf @H6Y$KtLPsru7cpa3k#b>Zy0P!!PAzFxUQ|@ zg4HjY>pGXs)kZzB4>B)r&`PhAK{d#?n^aVSHluxh)z^o+d>=qzi! QLiwK z_AO&Y_+sl3JbA SNwOZ4(lp wSBPC_(@URtOL=>O@q=;t?o^AyZeeTfaGv+#+l(z zXjwy2KshLq$8NHK5*qBe=+2&Q^P+a4ewe?w)H?lOq`NWXlsz$g9E=|2&0`(;ZW*kW ztT9Ws(Jj&PHFCeqy9m*`e`Dk~$SMhuPSjo>E(rBJ-XctZXH z5oHn3139LMu$7zsjXf3Q?3iD8d5MC*UktGHB?G%f*J U$SRJM9AswT}Lp~%a$;OxL-Fzg|h{;se9IAmruJ6B!3g>2Ii z%S~+F8^%EFh%LfY73&{B#82n!-4Yb=AjRgJ9gXw0&p`*lB1*rjv}m49#PG%n%i6BN zCE3vW d UHKUr1CvR|ryiE3C7rETOrxlu>q`_`QVx;tbBJP?V z87ET6O8p#$As9k(ixVIxzUFwzc5h~14d|7QE4e(We^2Zfm0<9EFev{CGf1eEhf==a z)96 cvs7v?Rga z)dhy^>af!zNOL0Gw%6raPf|BnRd-am%fKP-hZh=$1cpxE;U_|b3JTh(QwF^(cXDO< zH--BLw09fdv50%D9^WvdDN^(yxihoUPYRmjo4U(6GB z+lQJQ8fikW%r~YW6=t_!DSDe(pYpM!JU&kufg-FZV}XJL53D>#Vn(JY!_OO9?l3@1 zx-&QMen#xbwszp;U;M}-RUWuP9>_cLA_k%R_9$n)8-Ms401yR>17R#PmkuYqD${Mt z!@ahfjfyqvKzbt7Ob<_(W@8FLu?K=s!h_^KVh8xvx0tCyct{#?8}ZOxpof8oeKc6G ze%~Yr7WP)tyg%50RWSX8?vlfrx% V9b{clbGU5@*kJ!u= zvBU)rJs^^?klZym XfR50m8K{nlM`%m%l4Y5DKowwsE8`c^Mo`SxuJ%SWbzzNAscP+gi;*uy6+VY8f6l+XW4g{3r0-gSm z#O*jP)hXC%;exw}a;hs;Iv+d8^fK)=W;XEh+2`6@+N+_f!A*=o{!AY>L_R1h8spDN zArfKCZGRZ|Ph^ w*CWS4QK zb(0-VGn_jSK%ITj o%5&!4^PIV7=G>Wko f>BD^NO>Jmu^+lxr<4^hz?rVd!y2Zh{Dt zogYo2wzufE(nAdzrPzUcz0i^<{v`L6uU}DGfj!OpH+sM1&q}MGb|4-1FHVBlj`;m+ zwpV>8C3-?VpMc3g(Y@BN{{tvee_oFIt0R?0K!l$W$%Fwm%Hh{j*WaEld&QqLX8|*i z8W1~|b~Gq5`f4$%|2y|nfda!zCn6p~VL8I09RYJ$i@kNAb+H9yBxnvl8*o5rX9u`+ z!!fY0ceEHIdjJ6}<5(&d?xCW{Z^#{_U8GKAMI<2;qmC;cI4({IzmhM+iw5S?#uP&Z z&<5HnAFz=dLZZPelim#VMB>Y5M->i$6#~Cp@3W!~G|s!r(G9$eBRYJlJftgrF*XPz zi@SXaqQ)=34l|+{=R4*G_4l#~=Xcu|hf=YDHj!Uqy`8Q;-HVX@0?e0Y`J>5F=J+cr z>ns*5#;u_$@|B|gaFe&Zm7Fj>-W$>{fuY5a9*3CFz%Bxl7Km$)N!9ps-n5oHjPPAF zw?m>L3xSh(W60Zk0{Bt3k3s#&Gb%LlA1@BiI&Wu#6iF=nTJ}^T1{6UVMoq*k$2;QU zJa%tBlO#DPd|*Mg`m-krNQ-#C0NjY&7z~JLwsz<`qKk{>j&Exm0h8nbEOviDw*|~~ zbe)J7bB!PGlDEX=F91HYss@)-rN0n0JP9&@vOQ^K)$zm{>T;xR7z3Y b$bs z1^N7fC7Y~CGd;vn&P@5W-n{mH(YZa1 R`tc$?=c1y22$&5lw41aw=oMLz z(@4LfL}p=5j+A`LHWmJ|N}&T(fldH*>vFOgYP8HaN^XjMPlic{EBnm #L9`r?YsI|C?fE`98j^yQquFJMeGcT z2)pgO#X} -6qNx?Q+(- !Ra3LfKU{+Jhd#)%EQZ1*3KB&T6>X Jj=!l#4F5V-p?zXt8^wuR*wo3GX`e# ztu{lt+~5rjet0P4OZ;6V*9@BC8R?}2tfugyPATGKQrzL;-(s3J^UNlL5Ew{MV=zP7 z0&I_VSBD(+7v9fNUhH0Knjs|BE&iZSpqD5!Dxx_?P=)1Trio7tl_{iQIO zjL~niS!FdMaLN1!*{zA7vk}Xxfa)<@=MPdC66%EeaP-l0O3I=Ur)MK#J*w|rH7eRp z7?Ds+;d1*Z0KzM>*A^~5 fwr}3zw|}Jr`7yT$A3AC z8O_oeeq_pDB(7ZP=5%#YiEm8)ZPI~o`#I3FLY;d!T$Jw#I%OZN^^G(LmsyH6DC@9P zD3>Ib_-rXs2a1pYM9&jRQQTNgT{Agn4Rl$4(!C$5F^W=GYYPd~+oHpdm`4fOa}{`H zTU3>AExO~JFz@hTalxGBnx{f>FS8S!vHvt`qZOTrICAqR2!C$w?l#z|Xx4_k{1$TD zlA_>`^87gG?&fAay;WLYi&-U{Wva2KGaBUbv3!;Qvi9Q{9!Mw4&=8)9_02T L~N$nSgdILQN^w0IHhHn|Rh` zm1r(FPWZ2Xc&8ls3_89Go_mx5Rs>&mjJr4VMGB@G=}MQx#l86ws#- Q1v`+;_wZ?(i+$3k24GjPF=5|13G$_^zmE;A4V~Ptj^yM)zL2kp;N|* z#wR2Po(y&)ZA*7#W~8wao+N7}BX5hW1y}pJN$RA2`pF8O-`>F&B}IDSeEb{fP_Z8I zlzUM#&tDZc_@m;(iq#xCon6=d3;CI-Gj-r6(V9NEpzhf0<@UrwWJ5?Rhu?;K+P);= zZ!;48QpVw=?es?lE0#^WZulPaKeVi v!D@TWx32zC_!a0|9+;S27g{AWXS0w^ul!S*9>toolXen0E9j zS1s7EYuW#CCv3|e$D6y7HL~b=wP#t_jYj;vb&(nU(}ejzcr7{b?H}~e!TRIyuY4NL zzhE`CN{@2I?;Lb84m4(Nk2D@tK0-~+chHy3><>s%)$^ppjl|2kcx~O__(WVM!W^Ak z-I&e|t5?@EgDM7fZ^#U;VqC>yFbxn+6h3geV}k=mx7A{(Oqz CvdDO392RI$avGhq7N- zP{ztT6C==v?l7v77N5sUi%diye$FZOvN8@04TTs528}A}l;0OMEgp3`zx?8|Cpv>K zyzc6b7xNeO7VF1mg}&m ^-xpo}E1(u&3n%pVp3ke (paadz)an}pUjWc=EZ7(OyS#o!k6S##|CrMf6$puvha8R?lVms> zk!?f@SCaY)B%TPd{9SVcEt(jxhN4?qK85ev(9g_f89b+lvQQMUER5<``Xa4$uRb4~ zVVDbAXMuDgCtlcbjkT~LNP3<$>Epqwx0akkOjLHi;UoIGp`H~N^aqt>i_8u!;c`AH zGF5QaA@4S>UxA5%3FqticImn`R@{9wh2ZWzKyp9ekUXz3Gh(G8dXe42J=5eU0w 8Uty*?WW~cr`#d{;|5w9o z*wM-zNtxF0u1!?#GALJDrTx=QTPm*qwwN@(xAEZf`8%E(gy bAiearHXS_GF$^_rQ>u}03uF>k#+^V0z9-m2j;dka$%(Z6pJ9%&4 zc5vsrZnL*47K?<26*SUG%xcSIa~8q>avvjv6J#Kf>lrBz)7|WKSNT?V?T;jV!+hSE zauVEpO#MRdnx?=SeWgwOoe7oxa`XCWlG%pp!$ZAZw|1Vii-HqA5DURuM8SfnzE9)& z&O5=4b@L-7;lRpT#nad);%9;pI$y-;%U g*LFo_laH z|En~g|7c!n=+bD!j0~%KaZSG4zu{(aKkL=Q^d0Z*3f8pOyPdJGYk8!k$(@8I_Z4aV zgFevSP#)^g@td_XOf;^i_)`YQq%_I+l%*P*ajo}TH!1qWzDNqpK{g5Kg%y&}_o3py z!YC!9ooNN9R@n2_xknZ@xVyiJ-4X`6yQ?YJp4h`u0*Bjds<${3&XYq#7vxB%!s@VX z&Wr~cd#X{)^v$kL4WcHZU}L;Bnhkz|@#?IT15~YPY|~nC4&$L|ufH_siG9ci6H5Ws z@`(rT?ev!+QfclN%*oS6x*+dzO6)giflV6Nt#i4ebfNQYvqEw=t4XtL%6cSt;5e9+ z#O9kX##pb~A{j8doY-7UKetD8|0rPl6 eI`y#Aaty?Jr8Mij3r zG*!vUv6~GARPvgx@e2b~WPT?Z<@o=ZzMlCwsP0Mfsk(O4Y1hw(I~kX+c=NKys1Spj zF9uCvyD5R*pS98Fm%EQ7ZVv`&M?>ToV;!h-S3WTGcimTY-A`l?Qn+YXCG@0yP{sS_ z9~X|$XOj5>J1=F;%E@SGUDX b{BHP5`@BDvmbQ$SCrrPw@u$Z8x?$;u6 z>P3hhKEpK!aV`uL GjrByl%Yj(C&bGycP3I?kz|DcD1G!uHm9u%mRQ =l0*Th+At-Qgql32x!a)mk=nHj>&B3My9eSDIHmeDFV0`vJLn zsFQ>v;Zih1|EtgLlF!LXWosRE+LacpPEwk3g7LL&Y_yXn;p&~bWKMdrQbnC57p%nZ z1kNrOpQP(7x5_G1;3C9grhHB&2pvoO_o~iJcT$c;A*2^7E{PD)gE;-X*Stp(jog)R z;zbAh2OcrDR5JRs`6a|`#l(hy-g6-?tMQ^ytmVy=oOX}Cy{2sDcwU;-tCO68+wj4m zg|>{-oL)ZVFWbD!B ZSA=0MlD}@?H?{LKi6Q_A19oL zpnU`&X$UW>GIw@tE7N7{P3H?r(SVgyf7{Gw;X@P9YrEGJ?ecA(`u#CZ%O0*p7Ur5? zl*4q;qo0ouu#N7qd>X|yVvEXmpK0i^9@mbeek-h%e*S6uKkrRKMw&I8eki9&zF5Cd zMW$ZEaL3c5tw8Mht`Lur<+(=P<_}gL6tv)FL-tLnmi-z^`E9c_$TNQOi6i3N@FnQ7 z0Q}tRvtBm1k6&Epx5-b};hIyKjlf9@?4RTqF9|G_OP}fQmxsC<)nkXISw@(tTpmFc z$&p7Z{Jbh|!WvE7Z`CJ9GC%P@4X*+ZXv<|kjvyiTvTZV=F%xu5OqvpvD`hWG^JMG~ z(p1QS97}3!&Im)u_{CF;g6S_GOn}(-zW-!P(=APxb_2N~vOGI&ccDI?7R0kYsV2TR z2gAHZ!%d;-`;Is^=o$}8XQDzo>h?(ld()}TX2F+qu8_ HloDOZb`4kSd&|rj2zAie?hzE1zGhIj`#l{?Mlxg1qA+=H8 z_=#<>DeSUPm7p;9zq=`1UY#c&{h7BTR 4_;$X zDfDBrV#b<{UJ;vB3RiSi&W_>G)@Tmx?+WHHY{UFY((0(6(REQI1A(4nd zT@UO9W+xU&SU33%45U&1Kuhyxb)PHwoN(LeBo)J>Cq#1HEo~P<(9_Z~&>Lvl-z3H+ znZAX_9I+J-aU5&O2wZcBm$Z T5`7m1u3$~BeBH8=m-lK2V} zG&I*t55YrVGQy0{1iNVFX*&AW{E5E4>z?5>u`ULr6l?v|eQc4Akmz+3Id?ob#6sjB zJV;guh?_jMl5>QSy^Qv5ps#2tFW&llb{tXjTezPiL-90@M~y*S`ZiXac^A7;OVMMw zsYMp2xWt}BR_YzG2#)$ch-GB-w}j$0{ds|WUFUaNAk hsf$JbgW%z1@8THzzY~Ddwk&r9$bUN+cscq7+W0sC k t{G#Or7VdI z$u3*6lRXKM<$wGApLfs8=kuI5GoLxvIp=%6*LS(*z9USGFLSbqvH<|VX>djF1^__7 zuMmLc82Dl1UEl%$!Yl@Qx@P_ I@O6U?j6B}?3O1{;`CrK5wA$O8YMpj(ZIGsNL!70CSlRGDeh q_g?9$WF--WG)ae;HY? z-6-3hLe63Jr{IIxb&95ISo#&0VtTVcBO0#M5YT>*->^^f0rcO}L!7IMgoC$I8+6~~ z?~jz{1b!R_NGaX2j9tN^o<$^r?=RuN-8H2dHR?BX6>g+hjol@!sjIcquH?@*bwFS3 zZRf{&Q?^qvKcdfE>sz4p`YLsHl{J6PIhcmQ*mWj$wE1GgzQ34GKmphdtDAH3%M!LD zYD4E>4zDe-^=H%G1UwGlYS&m{pEELjA2p8ad>KhU)BI6kb`fVQ4{u-z{;p7|+LmIR za&3&X7F~rsE`BIWyzbJ!ux)GR?=`a_w}DRAzC40bV|0k)x03KbID~ZKlx2@jE{ *BX0hy_U;To <6?rv|WQHna*74pNJRo zKR8hkL72D$VbM4Y58u1=`jZ7^=Yv|WuY6}Kz3E3!6f7Wc9R|@?>zt`C wQ&=_S6$pIU`-moA1PN)R3U6;>U@Us!GN1|(VBR!4o zl*}LnQ%(U-=GTOH3&uSzSK4nH^#-_zeLf98v)=oYmijbsV><03i4`k1l{Q`A=-tQm zaPAtZ2trg#VO=^~dJ4{b>wMa9CEDO0CI#=gSQqiF?dfI5ebn2CX9#|;PESS6h5R ?YEhv@jxLcgI$Z3s53L)LNS;~m&YeStue`vHX<`7NYii&&Ap-shA4 zX%uv7FMMUNC5Yi5kn}I6BlXd}spRV#i3o18j^4UWe7BQ6zo^L)$RpQ->PMmV08`o_ zKd&WhH?}`xCGu?UPN8qoLxi394q@J5{NYXQn4^Wy_BG-a5NDNMm8K&ss~{b` S#oHPhMqFxF&^zq?tN6m~j2Ta-+9J;O*i{cDf0;8P7x8v~F3 zfqDVb?MrbQLP=7K6O3^FQ_=T*x&ELyme!*p80jbjax>5x^jNXYuu`roL{kcW`0}q~ zXU##%R6c|S`V!iDob#3dRut{kc-}-Fp-iR|7ptU^18{4Ap(|ZaGnq0E87X3lgxYJ~ z{}?hGm712*_e_^`EHTEC8|#3MfNbW-;NQaBxIq7M@eaTEoAoZ(u^yco$$wGM?sy&5 zr=)8*;sRC}?dG}ZzuC*APZHLdE~u&uI}t5qvvxsU{L@A!+se7#nU5#)jqB7Wor*7E zh0r%W*YPL;Z7 99RwewD$EY)Y+(6b&bmysY!*T!Z895bw@ef3g`3BPw^t%a+YAKm3DGpHCOZa^au;Ow7j2lau3b=atddyPZCc znQitoUn0Rw7!&X+FYrR({^R_yv*D-CSfMo6r(7@3>#VKy?`}s$U?9?4eM_jKuoeBD zXN$T-HMrn>%P;PzD_WoD)35*A)Un9J8XMdk&kS?lp^~LtvnGNHMqGPC?$0_$*cnko z4euO<>#n<-@>JAVfPQkt;jzxjh0wvzor9Dj!a+2Gg)IH-9PR=7W={^Zf39)Er{Ghl z{I}7`!W(X;DQ7$Ms09^qY@y~4+?*|Pr(Hub3>ez?T>b2i-|C2a`~2B2eoKO&kxAa# zHRed@`0@1Yc-#0rODq>!mnE3eF0gH1&7rzw?cQc~F)|QRLXb&{p|tiID$w#Unenz( zV-L!_&}!XG5ND49iKOVNF21+VLw_S`Mkxs;XiF7A7TR*}V$pD3PqPk*@%5XYEeFNY zCJ+NH1@J9=PG1)Ppei>2#GAYUTdPTxzC-(~90*-U?Xggib6ca%24)v8UO;Ax-CAWz z%D!5f#pay8D^LA(0fJ>iD~CUB&PE&b=s{n94wAd%TKdEiSPtvCJz!)~k;V4*tv>QY zMf=jwA(o#3%Qls~=uggYjbk8W%b0L-D T z1)9|dn9;hri;fzf =Nh%!?i$Pm-{q7F>b$BnZ(f60NLjC2gcw-W3Z8dkw{K7ElnRx?G5bszQH?@0CkEl%7v}gUX%msSb-e|f6#m@SBtxI~*EGAw zTZ{_HtdZt;w|K!o9e%!?f{Ny2Mo9%se~$9sgXZ$zQcJg7K`as>EeA7_xW=Cg$$9ch zdeW!xo*)+g=geSeNn(vYVb|L&i8IWIR^}983 K@B0NOL1TQypQ-1c!=XLx zriL8H(t-g3+#$jmD6D1m4jpVq(&`OWN_H#w9xEzmvB_+93^1C{GUej~LoEXqo*|B3 zfl_34m5!#oAth|G^zsiai%ZBp5%w%xL85 ;i8syz?>^b>Bmt~XxDV@ktka+|tG0ay1vS0ToC{C=k z6__F#gPaxvL{ir#3`Kc>Ms~>sR@iA0UD=@ zU)YTkM_02Ax}O3*(&knuhr!5vjYe_j$N_wkMF&ogpK}5!{#c1OOElLJQevLjaU+ zkw!O!W6z*_fJ(Jrdp2-;ywuy8(65v 3cA;&x|E&zHJOlDLb|Ow|40_s7gx22MUYG;?Sa403(Vo!}^((C&RmcEqfwMUS zaqU5MQ=Fu?)B_N%t^2OQcr8tx+ab>Kr$=jb={U+LfF4`1dTX=VTo=-DJrAE6S`!=; zix48)5Em<(!^90{8657#X;GhrWDQsra9$vrxjI6?jMkhnA^3r|7KDK@V7lC$90p@2 z+<=TcJRiARiCXBbk6$sQK5xoWs!hd@m#buU=P>jWjQr`FU7BA{72q&qkR!u;F^fH? z5CTd02y{;kvqQ8Q;n~;awaQ4j^KyRdgfmYngyZopZCs&Jo1pa ~ zW&bB5V;~)|R-D&w^Mg{17WrRZxwkx=qWNRIQ8R&Trgyek?N4r6DwVd&$yw2I1+Bfh zr5RM>1Y$W8W=z6GU5-+!%3S|H*T1VEAPFtf3>#U}SdU}C+?BeSv1}_zd%b#TIKE-) z&+pODdHT@1pT4Te^@ aS0RW`zANPE5gr(sof_9WvJgczwtWa?L!{~VqW!{ zf%Qhe*-~Qq!= 66EeW_Hm)u^r7IOA*Gt3YaXioN9Ew)(r~6OZw
xuy zy~aAR&t}iEFz*u){#~GHy8hZVs}~hj^ea2Z3}I;#F_Om DJla}r_zn7} ze(M{!-o@B)9YL}7RC(CV#9-DSbIvVan}~{fyUl4dn0Irb7QJ}OqZ*9g>;zB}=T)<| z&Q5wXDc7m7-dV2tU)iNc8>lC*9#1F=7EUPI$a-|3zsDqHexj1o;q{rD_dexDJVkI5 z*
Q^@21MZPR0>SjD^{r}xd}p_iyt6(L9tGTL |UFZ{Nb7xp?;9YdaB< z&r5wj(}8|Qb7g2gzHK(+l_?22k<}Yy }>JErzSer6}k} zYI}Nx-gAX=7kq8d*sS}&FLvV9Qw-`A1UB&MR$p@kZB-8Um*!w3=#dz5W9*CZ3f5M% z?d+WKhWsUhWkz3QuHaG7Q<%1{4P 2-HxkyZUC z7>S8_o(GfB_C=xjBj1#-MLI(@Abt&*pY>j*_=ZYK%OI03i3!v=jV5=4uzEp*E$*$* z31M@!N^zHrTW0aoOAnZ;SG3608Z4(T_Xf7KKs+IG`2(g8D>BVW%cvp99kd$Dv?1p5 zBc+F#yWeM~*mO~VOd-xyx!*(|`M#poU6m~C>J1QlCU(^NC;9a6$=28Zh^+xqh&YqG zA!1j9-`hVnFKu#1+#JW^!<3Dz=&52$fzl}8tTiFt3{)-i+UxiJP6aU}e*7HduH<&Y z4^_M!TMcwHQVLcvDcB e^!)z 84x3NK{7(Ds5=2psW(=%Oj6N3c1oq&FQBQrVi2Wx2^& zh1NckU*p^SW0} zDC%Et(8{I1-#pF+Bev5j+7&1r1fv^r8rsxt@ZM&03T5?5bIE$&%uJeoFfaU9!=@G# zMqK>vK7d2NcTUJKsa~wV9m=jFSXdVMeyGC(R01(4xRc E z<$sgzYZPq{aV%@56#n!VQ&i6Ur8zYvQVsM={n{I|a*nV5_$imQO^3|QL$9Xd$?Q5S z0n~~tH>#pMi0oCWv9Qr#hY>}gX$|&B8lT#S$K)5^6W={$P?__-h(iIJJ%-eIQUDPB z#~Oo~d|z(u-MNLEU@&2(R#?RiF?!y5Jh5Zl=PAYd>*U~LGfzkX31@xR=#OrHQRC35 zGqo>wVYM>z6(63n6UFv@UEcK+a%&vc9Mf1WSa`hTGZyC)B&Yxbm g-T+3fCgz^aqI%wXtvRPs44-l+=o?y<>wyQfh8RE@sj& z4Y&92x_LLq95;LKcSkn;uzMT^|7}(^<2b4T62?-&;C|iL^<{W~=B2RByf5zEVr^*~ z#`{<2f7t(Q+VQBG`Jr>+eh`!;#{6boLe{iMNzPMB#b)o$<64<*(~97|Ca9E#d1$4E zOj!1~kt9>nQ}JmAo}w_@JKtF{2Kl%QMNq(rGO)9=YQOmUWPTo)%i!^Zu)M+Dx@-9J z@2vz^6GJaZ_~#qcc0+O{*)?bHc3*cjpx3BSmf|tP^CU3A$s`g4bdH(7i5EaBwq*!_ z+w+2GL+e$P(P_C^5WM6?>ojaksY`G$X$P^d_Olnu*_6!0lxi}LHA1Bv%~NM{24tAB zS$D}8E>B2!t0A=)Q$E7SPT;Wt932F${D?1eSz9y#ACqU*K=ZsEwI5U35ywW50;e5u zR&wu`mO(m|iE6!UTdD*UpnMe1=I$*Tp9Mw(G25z(4mQA4RkLr%%P+@_5OU)GHikLw zEPsJYxqy!+zD3fK^17uRfw`6|vOgEmC_p%XIubdeU?eT4(FJdKX9IwLuN&;C@8D@O zP-I4i=L#k$um+gurqJe3rsR#sv9QH>WG7q#e^ffpLL0GqEn(%ja{A`zasPvF1u-8! zE!F6#uU>MB4YyH*&xg}_M>Tgucz24z_uRFTMHu&Z2d0>J?#wC8KxzP>r=13N)4TBB zZ+P+*^d$a0@Yj?q`+BKf5w0Zr_vCyO9S8p{$onw+(~>3a!P3qh#KQj57>171$RKEA z-#tN_o0gLPK~A^x)IX$+SLKarlP4vE-)`JTo~b+ECKR31D@Hxw4fI6;4uy~0ZLgS0 zyeMk|4cy^hGSJ9=-f)l%|9wAfa3hvSKdR{@Xq4@r6E%Q?Xqf_P@EBv4Hctz$pTA~< z41Aojp_w<&Q9nAl+411KmB43GSvnjB=$L<;-95K?+(;BNIJuc}Q!?20Lj%fS;yGn$ zW4OZz@JSJX0XE!tnM9=Mze^8pV7qQr?;RZ6mayw;71y#$y1#y~^sJ*D3dG~QYA#qG z<{&t(ixa{I`w;Np)xS5B^=8alV?+`T0#r9P{=->L?5HnGTWNkiS-( 7@;8 zx>dXNIy^uf;!_{P4rtvKykOJ%dfU2;Cmwo2vn%Yvhcxz+8qtIWO+ih%-$5!14DdAn zTABA*Uc~?}xXv4dZf-sB43DwpuB%?03s5cRzF#lm1-bHEeZ_m2z=_Y|$vu7Y{Z589 z?FTr?=nzc-CjshDE4$eovXqAKr=C#DkjU!tPW##NHw}zQ*$5jT?jp7JH}2}Fy8))Z zX<0i!?fLYZujhUbU+u5*Qg4AuodCO=S7@IHmxea1FLqxlr#0}R-YZm5jb{4SKcFgt zp#WCLc-v&-GwVq*%wDXR5vU(KUBve#t|6hz LZ$ zxoc7YMs%uu{G4 6GI*bZSJBSjixB A)g@F&+Eg$LX{l5>+ inDGC5@L}~1B>i19 5efWakWy&{Z5$o~L4R(|mS diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml deleted file mode 100644 index 83b936b..0000000 --- a/.github/workflows/main.yml +++ /dev/null @@ -1,42 +0,0 @@ -name: Test - -on: [push] - -jobs: - lint: - runs-on: ubuntu-latest - - strategy: - matrix: - node-version: [12.x] - - steps: - - uses: actions/checkout@v1 - - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v1 - with: - node-version: ${{ matrix.node-version }} - - name: npm install and lint - run: | - yarn install - yarn lint:fail - - test: - needs: [lint] - - runs-on: ubuntu-latest - - strategy: - matrix: - node-version: [12.x] - - steps: - - uses: actions/checkout@v1 - - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v1 - with: - node-version: ${{ matrix.node-version }} - - name: npm install and test - run: | - yarn install - yarn test diff --git a/.gitignore b/.gitignore deleted file mode 100644 index e8f682b..0000000 --- a/.gitignore +++ /dev/null @@ -1,90 +0,0 @@ -# Created by .ignore support plugin (hsz.mobi) -### Node template -# Logs -/logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* - -# Runtime data -pids -*.pid -*.seed -*.pid.lock - -# Directory for instrumented libs generated by jscoverage/JSCover -lib-cov - -# Coverage directory used by tools like istanbul -coverage - -# nyc test coverage -.nyc_output - -# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) -.grunt - -# Bower dependency directory (https://bower.io/) -bower_components - -# node-waf configuration -.lock-wscript - -# Compiled binary addons (https://nodejs.org/api/addons.html) -build/Release - -# Dependency directories -node_modules/ -jspm_packages/ - -# TypeScript v1 declaration files -typings/ - -# Optional npm cache directory -.npm - -# Optional eslint cache -.eslintcache - -# Optional REPL history -.node_repl_history - -# Output of 'npm pack' -*.tgz - -# Yarn Integrity file -.yarn-integrity - -# dotenv environment variables file -.env - -# parcel-bundler cache (https://parceljs.org/) -.cache - -# next.js build output -.next - -# nuxt.js build output -.nuxt - -# Nuxt generate -dist - -# vuepress build output -.vuepress/dist - -# Serverless directories -.serverless - -# IDE / Editor -.idea - -# Service worker -sw.* - -# macOS -.DS_Store - -# Vim swap files -*.swp diff --git a/.nvmrc b/.nvmrc deleted file mode 100644 index cab13a7..0000000 --- a/.nvmrc +++ /dev/null @@ -1 +0,0 @@ -v14.17.0 diff --git a/.prettierrc b/.prettierrc deleted file mode 100644 index b2095be..0000000 --- a/.prettierrc +++ /dev/null @@ -1,4 +0,0 @@ -{ - "semi": false, - "singleQuote": true -} diff --git a/.stylelintrc b/.stylelintrc deleted file mode 100644 index 2c76f6e..0000000 --- a/.stylelintrc +++ /dev/null @@ -1,29 +0,0 @@ -{ - "extends": "stylelint-config-recess-order", - "rules": { - "at-rule-no-vendor-prefix": true, - "color-hex-case": "lower", - "declaration-block-trailing-semicolon": "always", - "declaration-colon-space-after": "always", - "declaration-colon-space-before": "never", - "font-family-name-quotes": "always-where-required", - "function-url-quotes": "always", - "indentation": 2, - "media-feature-colon-space-after": "always", - "media-feature-colon-space-before": "never", - "media-feature-name-no-vendor-prefix": true, - "media-feature-range-operator-space-after": "always", - "media-feature-range-operator-space-before": "always", - "media-feature-parentheses-space-inside": "never", - "number-leading-zero": "always", - "selector-attribute-operator-space-after": "never", - "selector-attribute-operator-space-before": "never", - "selector-attribute-brackets-space-inside": "never", - "selector-attribute-quotes": "always", - "selector-combinator-space-after": "always", - "selector-no-vendor-prefix": true, - "selector-pseudo-class-parentheses-space-inside": "never", - "string-quotes": "single", - "value-no-vendor-prefix": true - } -} diff --git a/LICENSE b/LICENSE deleted file mode 100644 index 6ac7e50..0000000 --- a/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2020 Vue.js Japan User Group - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/README.md b/README.md deleted file mode 100644 index 497c5e5..0000000 --- a/README.md +++ /dev/null @@ -1,66 +0,0 @@ - - -
- -Vue.js 日本ユーザーグループ
- - - -Vue.js 日本ユーザーグループへようこそ。私たちは、年に一度の大規模カンファレンス **“Vue Fes Japan”** の運営や、**Vue.js 公式ドキュメントの日本語翻訳**をはじめ、日本における Vue.js の普及と、Vue.js エコシステムへの貢献を行っている**日本最大の Vue.js コミュニティ**です。 - -Vue.js 日本ユーザグループは、 - -- 日本における Vue.js の普及 -- 日本語による Vue.js に関する情報の共有、およびディスカッション -- Vue.js への貢献 - -を目的としています。 - -Vue.js に興味のある方でしたらどなたでもお気軽にご参加ください。 - -## コミュニケーション - -- [Vue.js オフィシャルフォーラム](http://forum.vuejs.org) -- [Vue.js 日本ユーザーグループ 公式 Slack](https://join.slack.com/t/vuejs-jp/shared_invite/zt-vmg3iysl-~CPGAxFMWwa0Fnu2IqtMdQ) -- [Vue.js 日本ユーザーグループ 公式 Twitter](https://twitter.com/vuefes) -- [Vue.js 日本ユーザーグループ 公式 note](https://note.com/vuejs_jp) - -## 活動 - -- [Vue.js 公式ドキュメント 日本語翻訳プロジェクト](https://github.com/vuejs-jp/ja.vuejs.org) -- [Nuxt.js 公式ドキュメント 日本語翻訳プロジェクト](https://github.com/vuejs-jp/ja.nuxtjs.org/wiki) -- [Vue.js Meetup イベント](http://vuejs-meetup.connpass.com) - -## ツールスポンサー - -- -
- -## 行動規範 - -Vue.js 日本ユーザーグループが掲げる[行動規範](https://github.com/vuejs-jp/home/blob/master/.github/CODE_OF_CONDUCT.md)をご確認ください。 - -## ウェブサイト開発への参加 - -Vue.js 日本ユーザーグループの公式ウェブサイトは、コミュニティの支援によって成り立っています。誰でも自由に開発に参加することができます。公式ウェブサイトの環境セットアップや開発の進め方については[コントリビューションガイド](https://github.com/vuejs-jp/home/blob/master/.github/CONTRIBUTING.md)をご確認ください。 diff --git a/assets/styles/bootstrap.css b/assets/styles/bootstrap.css deleted file mode 100644 index f43685a..0000000 --- a/assets/styles/bootstrap.css +++ /dev/null @@ -1,10 +0,0 @@ -@import './variables'; -@import './reboot'; - -@import './utilities/u-container'; -@import './utilities/u-link'; -@import './utilities/u-medium'; -@import './utilities/u-nowrap'; -@import './utilities/u-relative'; -@import './utilities/u-section-content'; -@import './utilities/u-wrapper'; diff --git a/assets/styles/reboot.css b/assets/styles/reboot.css deleted file mode 100644 index e072d15..0000000 --- a/assets/styles/reboot.css +++ /dev/null @@ -1,275 +0,0 @@ -html { - box-sizing: border-box; - font-size: 16px; - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); - -ms-overflow-style: scrollbar; -} - -*, -*::before, -*::after { - box-sizing: inherit; -} - -body { - width: 100%; - min-width: 320px; - min-height: 100vh; - margin: 0; - overflow: hidden; - overflow-y: scroll; - font-family: var(--font-family-base); - font-size: 16px; - font-weight: 500; - line-height: 24px; - color: var(--c-black); - letter-spacing: 0.4px; - background-color: var(--c-white); - direction: ltr; - font-synthesis: none; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -/** - * Suppress the focus outline on elements that cannot be accessed via keyboard. - * This prevents an unwanted focus outline from appearing around elements that - * might still respond to pointer events. - * - * Credit: https://github.com/suitcss/base - */ -[tabindex='-1']:focus { - outline: none !important; -} - -h1, -h2, -h3, -h4, -h5, -h6 { - margin: 0; - font-size: 16px; - font-weight: 500; -} - -p { - margin: 0; -} - - -abbr[title], -abbr[data-original-title] { - cursor: help; - border-bottom: 1px dotted #999; -} - -address { - margin: 0; -} - -ol, -ul, -dl { - margin: 0; -} - -ol ol, -ul ul, -ol ul, -ul ol { - margin: 0; -} - -ul { - padding-left: 0; - list-style: none; -} - -dd { - margin: 0; -} - -blockquote { - margin: 0; -} - -a { - color: inherit; - text-decoration: none; - - &:hover, - &:focus { - color: inherit; - text-decoration: none; - } - - &:focus { - outline: none; - } -} - -a:not([href]):not([tabindex]) { - color: inherit; - text-decoration: none; - - &:hover, - &:focus { - color: inherit; - text-decoration: none; - } - - &:focus { - outline: none; - } -} - - -pre { - margin: 0; - overflow: auto; -} - -figure { - margin: 0; -} - -img { - max-width: 100%; - vertical-align: middle; -} - -svg { - display: block; -} - -[role='button'] { - cursor: pointer; -} - -/** - * Avoid 300ms click delay on touch devices that support the `touch-action` - * CSS property. - * - * In particular, unlike most other browsers, IE11+Edge on Windows 10 on - * touch devices and IE Mobile 10-11 DON'T remove the click delay when - * `` is present. - * However, they DO support removing the click delay via - * `touch-action: manipulation`. - * - * See: - * http://v4-alpha.getbootstrap.com/content/reboot/#click-delay-optimization-for-touch - * http://caniuse.com/#feat=css-touch-action - * http://patrickhlauke.github.io/touch/tests/results/#suppressing-300ms-delay - */ -a, -area, -button, -[role='button'], -input, -label, -select, -summary, -textarea { - touch-action: manipulation; -} - -table { - border-collapse: collapse; - background-color: transparent; -} - -caption { - padding-top: 0; - padding-bottom: 0; - text-align: left; - caption-side: bottom; -} - -th { - text-align: left; -} - -label { - display: inline-block; - margin: 0; -} - -button { - padding: 0; - font-family: inherit; - font-size: inherit; - font-weight: inherit; - cursor: pointer; - background-color: transparent; - border: 0; -} - -button:focus { - outline: none; -} - -input, -button, -select, -textarea { - margin: 0; - line-height: inherit; - border-radius: 0; -} - -input, -textarea { - font-family: var(--font-family-base); - font-weight: 500; - background-color: transparent; - border: 0; - -webkit-appearance: none; -} - -input[type='radio'], -input[type='checkbox'] { - &:disabled { - cursor: not-allowed; - } -} - -input[type='date'], -input[type='time'], -input[type='datetime-local'], -input[type='month'] { - -webkit-appearance: listbox; -} - -input:focus, -textarea:focus, -select:focus { - outline: none; -} - -textarea { - resize: vertical; -} - -input[type='search'] { - -webkit-appearance: textfield; -} - -input[type='search']::-webkit-search-decoration { - -webkit-appearance: none; -} - -select { - cursor: pointer; - background-color: transparent; - -webkit-appearance: none; -} - -output { - display: inline-block; -} - -[hidden] { - display: none !important; -} diff --git a/assets/styles/utilities/u-container.css b/assets/styles/utilities/u-container.css deleted file mode 100644 index 7e8acf2..0000000 --- a/assets/styles/utilities/u-container.css +++ /dev/null @@ -1,4 +0,0 @@ -.u-container { - max-width: 960px; - margin: 0 auto; -} diff --git a/assets/styles/utilities/u-link.css b/assets/styles/utilities/u-link.css deleted file mode 100644 index e53f511..0000000 --- a/assets/styles/utilities/u-link.css +++ /dev/null @@ -1,9 +0,0 @@ -.u-link-text { - text-decoration: underline; - transition: color 0.25s; - - &:hover { - color: var(--c-gray); - text-decoration: underline; - } -} diff --git a/assets/styles/utilities/u-medium.css b/assets/styles/utilities/u-medium.css deleted file mode 100644 index 3d4fe37..0000000 --- a/assets/styles/utilities/u-medium.css +++ /dev/null @@ -1,43 +0,0 @@ -.u-medium { - p { - margin: 28px 0; - font-size: 16px; - line-height: 28px; - } - - h2 { - margin: 56px 0 28px; - font-size: 24px; - font-weight: 700; - line-height: 28px; - } - - ol { - padding-left: 22px; - margin: 28px 0; - } - - li { - line-height: 28px; - } - - li + li { - padding-top: 8px; - } - - li > ol { - padding-top: 8px; - margin: 0; - } - - a { - color: var(--c-vue-green); - text-decoration: none; - transition: color 0.25s; - - &:hover { - color: var(--c-vue-green-light); - text-decoration: none; - } - } -} diff --git a/assets/styles/utilities/u-nowrap.css b/assets/styles/utilities/u-nowrap.css deleted file mode 100644 index 4591a24..0000000 --- a/assets/styles/utilities/u-nowrap.css +++ /dev/null @@ -1,3 +0,0 @@ -.u-nowrap { - white-space: nowrap; -} diff --git a/assets/styles/utilities/u-relative.css b/assets/styles/utilities/u-relative.css deleted file mode 100644 index aa9b7b2..0000000 --- a/assets/styles/utilities/u-relative.css +++ /dev/null @@ -1,3 +0,0 @@ -.u-relative { - position: relative; -} diff --git a/assets/styles/utilities/u-section-content.css b/assets/styles/utilities/u-section-content.css deleted file mode 100644 index 2320c27..0000000 --- a/assets/styles/utilities/u-section-content.css +++ /dev/null @@ -1,48 +0,0 @@ -.u-section-content__heading { - font-family: var(--font-family-en); - font-size: 20px; - font-weight: 700; - color: var(--c-vue-green); - letter-spacing: 1px; -} - -.u-section-content__title { - padding-top: 8px; - font-size: 24px; - font-weight: 700; - line-height: 36px; - letter-spacing: 0; - - br { display: none; } - - @media (min-width: 768px) { - font-size: 32px; - line-height: 44px; - letter-spacing: -1px; - } - - @media (min-width: 1056px) { - br { display: block; } - } -} - -.u-section-content__body { - padding-top: 28px; - line-height: 28px; -} - -.u-section-content__actions { - display: flex; - flex-wrap: wrap; - padding-top: 40px; - margin: -8px; -} - -.u-section-content__action { - width: 256px; - padding: 8px; - - @media (min-width: 1056px) { - width: 50%; - } -} diff --git a/assets/styles/utilities/u-wrapper.css b/assets/styles/utilities/u-wrapper.css deleted file mode 100644 index 5ed14dd..0000000 --- a/assets/styles/utilities/u-wrapper.css +++ /dev/null @@ -1,15 +0,0 @@ -.u-wrapper { - padding-right: 24px; - padding-left: 24px; - overflow: hidden; - - @media (min-width: 375px) { - padding-right: 32px; - padding-left: 32px; - } - - @media (min-width: 768px) { - padding-right: 48px; - padding-left: 48px; - } -} diff --git a/assets/styles/variables.css b/assets/styles/variables.css deleted file mode 100644 index 7106a39..0000000 --- a/assets/styles/variables.css +++ /dev/null @@ -1,62 +0,0 @@ -:root { - - /** - * Colors - * --------------------------------------------------------------------- */ - - --c-black: #273849; - --c-black-pure: #000000; - - --c-white: #ffffff; - --c-white-soft: #fafafa; - --c-white-mute: #f2f2f2; - - --c-gray: #7e8a98; - --c-gray-light: #b3becb; - --c-gray-lighter: #cbd4e0; - - --c-divider: #eaeaea; - - --c-vue-green: #41b883; - --c-vue-green-light: #42e59d; - --c-vue-green-lighter: #88feca; - --c-vue-green-dark: #2a8f62; - --c-vue-green-darker: #125638; - - --c-danger: #ef295d; - - /** - * Typography - * --------------------------------------------------------------------- */ - - --font-family-base: 'Roboto', 'Noto Sans JP', '-apple-system', 'BlinkMacSystemFont', 'Segoe UI', 'Helvetica Neue', 'Arial', 'sans-serif'; - --font-family-ja: 'Roboto', 'Noto Sans JP', '-apple-system', 'BlinkMacSystemFont', 'Segoe UI', 'Helvetica Neue', 'Arial', 'sans-serif'; - --font-family-en: 'Source Sans Pro', '-apple-system', 'BlinkMacSystemFont', 'Segoe UI', 'Roboto', 'Helvetica Neue', 'Arial', 'sans-serif'; - --font-family-dosis: 'Dosis', 'Source Sans Pro', '-apple-system', 'BlinkMacSystemFont', 'Segoe UI', 'Roboto', 'Helvetica Neue', 'Arial', 'sans-serif'; - --font-family-mono: 'Iconsolata', 'monospace', 'Hiragino Sans', 'ヒラギノ角ゴシック', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'メイリオ', 'Meiryo', '-apple-system', 'BlinkMacSystemFont', 'Segoe UI', 'Roboto', 'Helvetica Neue'; - - /** - * Z Indexes - * --------------------------------------------------------------------- */ - - --z-index-header: 1000; - --z-index-backdrop: 2000; - --z-index-modal: 3000; - - /** - * Shadows - * --------------------------------------------------------------------- */ - - --shadow-depth-1: 0 1px 2px rgba(0, 0, 0, 0.04), 0 1px 2px rgba(0, 0, 0, 0.06); - --shadow-depth-2: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23); - --shadow-depth-3: 0 12px 32px rgba(0, 0, 0, 0.10), 0 2px 6px rgba(0, 0, 0, 0.08); - --shadow-depth-4: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22); - --shadow-depth-5: 0 18px 56px rgba(0, 0, 0, 0.16), 0 4px 12px rgba(0, 0, 0, 0.16); - - /** - * Easings - * --------------------------------------------------------------------- */ - - --ease-out-quint: cubic-bezier(0.23, 1, 0.32, 1); - -} diff --git a/components/AboutDescription.vue b/components/AboutDescription.vue deleted file mode 100644 index dcd8a37..0000000 --- a/components/AboutDescription.vue +++ /dev/null @@ -1,114 +0,0 @@ - -- - -- - - - -- - - - -- - - - - - diff --git a/components/AboutHero.vue b/components/AboutHero.vue deleted file mode 100644 index b992ea8..0000000 --- a/components/AboutHero.vue +++ /dev/null @@ -1,156 +0,0 @@ - ---- {{ $t('vuejs-jp-ug') }} -
- ----- -- {{ $t('components.AboutDescription.message1') }} -
-- {{ $t('components.AboutDescription.message2') }} -
---- {{ $t('components.AboutDescription.message3') }} -
-- {{ $t('components.AboutDescription.message4') }} -
-- - - - - - diff --git a/components/AppAlert.vue b/components/AppAlert.vue deleted file mode 100644 index c5d3163..0000000 --- a/components/AppAlert.vue +++ /dev/null @@ -1,162 +0,0 @@ - ----- -- -
- - {{ $t('components.AboutHero.vuejs') }} - -- -
------ - - - - - - diff --git a/components/AppBackdrop.vue b/components/AppBackdrop.vue deleted file mode 100644 index de95b43..0000000 --- a/components/AppBackdrop.vue +++ /dev/null @@ -1,35 +0,0 @@ - ------- -- -- -- {{ data.title }} -
-- {{ data.text }} -
-- --- - - - - - - diff --git a/components/AppDialog.vue b/components/AppDialog.vue deleted file mode 100644 index 84f2a3d..0000000 --- a/components/AppDialog.vue +++ /dev/null @@ -1,68 +0,0 @@ - -- - - - - - diff --git a/components/AppModal.vue b/components/AppModal.vue deleted file mode 100644 index ce94df3..0000000 --- a/components/AppModal.vue +++ /dev/null @@ -1,46 +0,0 @@ - ------ {{ title }} -
- ---- - - - - - - diff --git a/components/AppPage.vue b/components/AppPage.vue deleted file mode 100644 index 596d973..0000000 --- a/components/AppPage.vue +++ /dev/null @@ -1,16 +0,0 @@ - -- ---- -- - - diff --git a/components/ButtonOutline.vue b/components/ButtonOutline.vue deleted file mode 100644 index ad23e29..0000000 --- a/components/ButtonOutline.vue +++ /dev/null @@ -1,88 +0,0 @@ - -- -- - - - - diff --git a/components/ChatStack.vue b/components/ChatStack.vue deleted file mode 100644 index 7df9b33..0000000 --- a/components/ChatStack.vue +++ /dev/null @@ -1,61 +0,0 @@ - -- -- {{ label }} - -- - - - - diff --git a/components/ChatStackItem.vue b/components/ChatStackItem.vue deleted file mode 100644 index e67802e..0000000 --- a/components/ChatStackItem.vue +++ /dev/null @@ -1,132 +0,0 @@ - ---- - - -- - - - - diff --git a/components/ContactForm.vue b/components/ContactForm.vue deleted file mode 100644 index e2e0928..0000000 --- a/components/ContactForm.vue +++ /dev/null @@ -1,255 +0,0 @@ - - - - - - - diff --git a/components/CookieAgreementPopup.vue b/components/CookieAgreementPopup.vue deleted file mode 100644 index a668af8..0000000 --- a/components/CookieAgreementPopup.vue +++ /dev/null @@ -1,104 +0,0 @@ - ----- -- {{ chat.name }} -
-- {{ chat.time }} -
-- {{ chat.body }} -
-- - - - - - diff --git a/components/HamburgerMenu.vue b/components/HamburgerMenu.vue deleted file mode 100644 index ed6baa7..0000000 --- a/components/HamburgerMenu.vue +++ /dev/null @@ -1,64 +0,0 @@ - -----{{ $t('components.CookieAgreementPopup.message') }}
- -- - - - -{{ $t('menu.privacy') }} - --- - - - - diff --git a/components/HomeAbout.vue b/components/HomeAbout.vue deleted file mode 100644 index 0a80f91..0000000 --- a/components/HomeAbout.vue +++ /dev/null @@ -1,187 +0,0 @@ - -- - - --- - - - - - diff --git a/components/HomeCommunications.vue b/components/HomeCommunications.vue deleted file mode 100644 index bb6cd9c..0000000 --- a/components/HomeCommunications.vue +++ /dev/null @@ -1,191 +0,0 @@ - ----- -{{ $t('components.HomeAbout.heading') }}
-- - -
- - {{ $t('components.HomeAbout.title_nowrap') }} - -{{ $t('components.HomeAbout.body1') }}
-{{ $t('components.HomeAbout.body2') }}
- ----- -- --- - --- - - - - - diff --git a/components/HomeEvents.vue b/components/HomeEvents.vue deleted file mode 100644 index e717ce4..0000000 --- a/components/HomeEvents.vue +++ /dev/null @@ -1,162 +0,0 @@ - ----- -{{ $t('components.HomeCommunications.heading') }}
-- -
- {{ $t('components.HomeCommunications.everyone') }} - {{ $t('components.HomeCommunications.you') }} - {{ $t('components.HomeCommunications.wait') }} - {{ $t('components.HomeCommunications.online') }} -{{ $t('components.HomeCommunications.body1', { users: $n(4000) }) }}
-{{ $t('components.HomeCommunications.body2') }}
- ----- -- --- --- - - - - - - diff --git a/components/HomeHero.vue b/components/HomeHero.vue deleted file mode 100644 index 8c0ceda..0000000 --- a/components/HomeHero.vue +++ /dev/null @@ -1,223 +0,0 @@ - ----- -{{ $t('components.HomeEvents.heading') }}
-- -
-{{ $t('components.HomeEvents.body1') }}
-{{ $t('components.HomeEvents.body2') }}
- ------ ----- - - - - - - diff --git a/components/HomeNews.vue b/components/HomeNews.vue deleted file mode 100644 index 4a97cb0..0000000 --- a/components/HomeNews.vue +++ /dev/null @@ -1,192 +0,0 @@ - ----- -- -
- {{ $t('components.HomeHero.welcome') }} - {{ $t('components.HomeHero.japan') }} - {{ $t('components.HomeHero.community') }} -- -
- - - {{ $t('components.HomeHero.vuefes') }} - - - - - {{ $t('components.HomeHero.docs') }} - - - - - {{ $t('components.HomeHero.largest-community') }} - - ---- --- - - - - - diff --git a/components/HomeProjects.vue b/components/HomeProjects.vue deleted file mode 100644 index 71bae98..0000000 --- a/components/HomeProjects.vue +++ /dev/null @@ -1,223 +0,0 @@ - -----{{ $t('components.HomeNews.heading') }}
-- -
- {{ $t('components.HomeNews.info') }} - {{ $t('components.HomeNews.kindly') }} - {{ $t('components.HomeNews.miss') }} -{{ $t('components.HomeNews.body') }}
- - -- - - - - - diff --git a/components/HomeSponsors.vue b/components/HomeSponsors.vue deleted file mode 100644 index 0984f31..0000000 --- a/components/HomeSponsors.vue +++ /dev/null @@ -1,113 +0,0 @@ - ----- -{{ $t('components.HomeProjects.heading') }}
-- - -
-- {{ $t('components.HomeProjects.nowrap') }} - ---- --- - - - - -- - - -
- - {{ $t('components.HomeProjects.projects.vue.official') }} - -{{ $t('components.HomeProjects.projects.vue.body') }}
-- {{ $t('components.HomeProjects.projects.vue.link') }} -
-- - - - - - -- - - -
- - {{ $t('components.HomeProjects.projects.nuxt.official') }} - -{{ $t('components.HomeProjects.projects.nuxt.body') }}
-- {{ $t('components.HomeProjects.projects.nuxt.link') }} -
-- - - - -- - - -
- - {{ $t('components.HomeProjects.projects.vuejsjp.official') }} - -{{ $t('components.HomeProjects.projects.vuejsjp.body') }}
-- {{ $t('components.HomeProjects.projects.vuejsjp.link') }} -
-- - - - - - - - diff --git a/components/ImageStack.vue b/components/ImageStack.vue deleted file mode 100644 index f522624..0000000 --- a/components/ImageStack.vue +++ /dev/null @@ -1,289 +0,0 @@ - --- - - - - diff --git a/components/ImageStackItem.vue b/components/ImageStackItem.vue deleted file mode 100644 index 0a114c2..0000000 --- a/components/ImageStackItem.vue +++ /dev/null @@ -1,86 +0,0 @@ - --
- -- -- -
-- --- - - ---- -- -- ---- - - - - diff --git a/components/InputBase.vue b/components/InputBase.vue deleted file mode 100644 index 21baca9..0000000 --- a/components/InputBase.vue +++ /dev/null @@ -1,42 +0,0 @@ - --- - -- - - -- - - - - diff --git a/components/InputText.vue b/components/InputText.vue deleted file mode 100644 index d7433a2..0000000 --- a/components/InputText.vue +++ /dev/null @@ -1,92 +0,0 @@ - ---- - - - - - - - diff --git a/components/InputTextarea.vue b/components/InputTextarea.vue deleted file mode 100644 index d61a328..0000000 --- a/components/InputTextarea.vue +++ /dev/null @@ -1,92 +0,0 @@ - -- -- {{ error }} -
-- - - - - - - diff --git a/components/LegalMedium.vue b/components/LegalMedium.vue deleted file mode 100644 index fe3466d..0000000 --- a/components/LegalMedium.vue +++ /dev/null @@ -1,77 +0,0 @@ - -- -- {{ error }} -
-- - - - - - diff --git a/components/SocialLinkGroup.vue b/components/SocialLinkGroup.vue deleted file mode 100644 index 086141f..0000000 --- a/components/SocialLinkGroup.vue +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - - diff --git a/components/StyleMount.vue b/components/StyleMount.vue deleted file mode 100644 index e5b53d6..0000000 --- a/components/StyleMount.vue +++ /dev/null @@ -1,25 +0,0 @@ - ---{{ title }}
---- - - - - diff --git a/components/TheGlobalFooter.vue b/components/TheGlobalFooter.vue deleted file mode 100644 index 0877db2..0000000 --- a/components/TheGlobalFooter.vue +++ /dev/null @@ -1,194 +0,0 @@ - -- - - - - - - diff --git a/components/TheGlobalHeader.vue b/components/TheGlobalHeader.vue deleted file mode 100644 index 0abed28..0000000 --- a/components/TheGlobalHeader.vue +++ /dev/null @@ -1,153 +0,0 @@ - --- - --
- -- -
-- {{ $t('menu.privacy') }} - -- -
-- {{ $t('menu.code-of-conduct') }} - -- -
-- {{ $t('menu.sitemap') }} - ---{{ $t('footer.copyright') }}
-- - - MIT License. - - -- - - Evan You - - - - Creative Commons Attribution 4.0 Internatinal Licence. - - -- - - Vue.js - - - -- - - --- - - - - - diff --git a/components/TheGlobalHeaderNavFlat.vue b/components/TheGlobalHeaderNavFlat.vue deleted file mode 100644 index ef2f8e3..0000000 --- a/components/TheGlobalHeaderNavFlat.vue +++ /dev/null @@ -1,96 +0,0 @@ - -- - ---
- -- -{{ $t('logo-text') }} - -- -- - -- - - - - diff --git a/components/TheGlobalHeaderNavScreen.vue b/components/TheGlobalHeaderNavScreen.vue deleted file mode 100644 index d7dcd24..0000000 --- a/components/TheGlobalHeaderNavScreen.vue +++ /dev/null @@ -1,130 +0,0 @@ - --
- - -- -
-- {{ $t('menu.about') }} - -- -
-- {{ $t('menu.contact') }} - -- -
-- {{ switchableLocale.name }} - -- - - - - - diff --git a/components/ThePortalModals.vue b/components/ThePortalModals.vue deleted file mode 100644 index b89b5c4..0000000 --- a/components/ThePortalModals.vue +++ /dev/null @@ -1,31 +0,0 @@ - ------
- - -- - {{ $t('menu.about') }} -
-- - {{ $t('menu.contact') }} -
--- - - diff --git a/components/icons/IconCheckCircle.vue b/components/icons/IconCheckCircle.vue deleted file mode 100644 index 096f20d..0000000 --- a/components/icons/IconCheckCircle.vue +++ /dev/null @@ -1,6 +0,0 @@ - - - diff --git a/components/icons/IconChevronLeft.vue b/components/icons/IconChevronLeft.vue deleted file mode 100644 index 1ce1aaa..0000000 --- a/components/icons/IconChevronLeft.vue +++ /dev/null @@ -1,5 +0,0 @@ - - - diff --git a/components/icons/IconChevronRight.vue b/components/icons/IconChevronRight.vue deleted file mode 100644 index ea6e3d3..0000000 --- a/components/icons/IconChevronRight.vue +++ /dev/null @@ -1,5 +0,0 @@ - - - diff --git a/components/icons/IconConnpass.vue b/components/icons/IconConnpass.vue deleted file mode 100644 index be71d1b..0000000 --- a/components/icons/IconConnpass.vue +++ /dev/null @@ -1,23 +0,0 @@ - - - diff --git a/components/icons/IconEdit3.vue b/components/icons/IconEdit3.vue deleted file mode 100644 index ce122ea..0000000 --- a/components/icons/IconEdit3.vue +++ /dev/null @@ -1,6 +0,0 @@ - - - diff --git a/components/icons/IconGitHub.vue b/components/icons/IconGitHub.vue deleted file mode 100644 index a3762f7..0000000 --- a/components/icons/IconGitHub.vue +++ /dev/null @@ -1,12 +0,0 @@ - - - diff --git a/components/icons/IconNote.vue b/components/icons/IconNote.vue deleted file mode 100644 index 92f40eb..0000000 --- a/components/icons/IconNote.vue +++ /dev/null @@ -1,5 +0,0 @@ - - - diff --git a/components/icons/IconPreloaderDark.vue b/components/icons/IconPreloaderDark.vue deleted file mode 100644 index 087b12b..0000000 --- a/components/icons/IconPreloaderDark.vue +++ /dev/null @@ -1,232 +0,0 @@ - - - diff --git a/components/icons/IconSlack.vue b/components/icons/IconSlack.vue deleted file mode 100644 index 4ed6ba9..0000000 --- a/components/icons/IconSlack.vue +++ /dev/null @@ -1,20 +0,0 @@ - - - diff --git a/components/icons/IconTerminal.vue b/components/icons/IconTerminal.vue deleted file mode 100644 index e6d97b3..0000000 --- a/components/icons/IconTerminal.vue +++ /dev/null @@ -1,6 +0,0 @@ - - - diff --git a/components/icons/IconTwitter.vue b/components/icons/IconTwitter.vue deleted file mode 100644 index 1fd7d17..0000000 --- a/components/icons/IconTwitter.vue +++ /dev/null @@ -1,12 +0,0 @@ - - - diff --git a/components/icons/IconVue.vue b/components/icons/IconVue.vue deleted file mode 100644 index c4be18c..0000000 --- a/components/icons/IconVue.vue +++ /dev/null @@ -1,14 +0,0 @@ - - - diff --git a/components/icons/IconVuejsJpLogo.vue b/components/icons/IconVuejsJpLogo.vue deleted file mode 100644 index 2caa548..0000000 --- a/components/icons/IconVuejsJpLogo.vue +++ /dev/null @@ -1,18 +0,0 @@ - - - diff --git a/components/icons/IconXCircle.vue b/components/icons/IconXCircle.vue deleted file mode 100644 index 3c5c402..0000000 --- a/components/icons/IconXCircle.vue +++ /dev/null @@ -1,6 +0,0 @@ - - - diff --git a/components/icons/IconYouTube.vue b/components/icons/IconYouTube.vue deleted file mode 100644 index 54cc44d..0000000 --- a/components/icons/IconYouTube.vue +++ /dev/null @@ -1,12 +0,0 @@ - - - diff --git a/content/en/code-of-conduct.md b/content/en/code-of-conduct.md deleted file mode 100644 index d6ebe01..0000000 --- a/content/en/code-of-conduct.md +++ /dev/null @@ -1,17 +0,0 @@ -The Vue.js Japan User Group make sure to provide an environment where all members can participate in meetups and other events, and Slack, without harassment, regardless of gender / gender expression / sexual orientation / disability / appearance, race, ethnicity, religion, or technology choice. - -The Vue.js Japan User Group will not tolerate any form of harassment. Sexual language and images are inappropriate in all settings and places related to the event and community, including conversations, workshops, social gatherings, parties, online media and SNS such as Twitter. At the discretion of the Vue.js Japan User Group, whoever in our community violate these rules will be restricted from participating in the Vue.js community, or asked to leave without a refund of their participation fee. - -Harassment includes discrimination based on gender, gender identity, gender expression, sexual orientation, disability, appearance, race, ethnicity, religion, technology choice, sexual images in public spaces, intentional intimidation, stalking, harassment through photography or recording, repeated and intentional disruption of other events or talk, inappropriate physical contact, and unwanted sexual attention. - -Anyone who is found to be engaging in harassment must promptly comply with any request to stop such harassment. - -Sponsors are also subject to this anti-garassment policy. In particular, sponsors should not use visual representations, activities, materials, or other items that may provoke sexual interest. Booth staff, including volunteers, should not use sexually suggestive clothing / uniforms / costumes. - -If a participant is engaging in harassment, the Vue.js Japan User Group reserves the right to take whatever action we deem appropriate against the person(s) engaging in the harassment, such as removing them from the event without warning or refunding their participation fee. - -If you are being harassed, are aware that someone is being harassed, or have concerns about you or someone being harassed, please contact the Vue.js Japan User Group immediately. - -The Vue.js Japan User Group will provide any support such as find hotel/venue security, contact the police, provide an escort to ensure a safe environment for anyone experiencing harassment. Your participation and contribution is of utmost importance to us, and we will always stand by those who have been harassed. - -We expect all participants to follow these rules at all venues, workshops, and social events planned and managed by the Vue.js Japan User Group. diff --git a/content/en/privacy.md b/content/en/privacy.md deleted file mode 100644 index d2b7c92..0000000 --- a/content/en/privacy.md +++ /dev/null @@ -1,78 +0,0 @@ -Vue.js 日本ユーザーグループ(以下、 本グループ)では、本ウェブサイト上で提供するサービス(以下、本サービス)における、ユーザーの個人情報保護の重要性について認識しています。個人情報の保護に関する法律を遵守できるよう、以下のプライバシーポリシー(以下、本ポリシー)に従い、適切な取扱い、保護そして継続的改善に努めます。 - -## 個人情報の定義 - -「個人情報」とは、個人情報保護法にいう「個人情報」を指すものとし、生存する個人に関する情報であって、当該情報に含まれる氏名、生年月日、住所、電話番号、連絡先その他の記述等により特定の個人を識別できる情報及び容貌、指紋、声紋にかかるデータ、及び健康保険証の保険者番号などの当該情報単体から特定の個人を識別できる情報(個人識別情報)を指します。 - -## 個人情報の収集方法 - -本グループは、本グループへのお問い合わせなどに際し、氏名、メールアドレスなどの個人情報をお尋ねすることがあります。 - -## 個人情報を収集・利用する目的 - -本グループが個人情報を収集・利用する目的は、以下のとおりです。 - -1. 本サービスの提供・運営のため -2. ユーザーからのお問い合わせに回答するため(本人確認を行うことを含む) -3. 上記の利用目的に付随する目的 - -## 利用目的の変更 - -本グループは、利用目的が変更前と関連性を有すると合理的に認められる場合に限り、個人情報の利用目的を変更するものとします。 - -利用目的の変更を行った場合には、変更後の目的について、本グループ所定の方法により、ユーザーに通知し、または本ウェブサイト上に公表するものとします。 - -## 個人情報の第三者提供 - -本グループは、次に掲げる場合を除いて、あらかじめユーザーの同意を得ることなく、第三者に個人情報を提供することはありません。ただし、個人情報保護法その他の法令で認められる場合を除きます。 - -1. 人の生命、身体または財産の保護のために必要がある場合であって、本人の同意を得ることが困難であるとき -2. 公衆衛生の向上または児童の健全な育成の推進のために特に必要がある場合であって、本人の同意を得ることが困難であるとき -3. 国の機関もしくは地方公共団体またはその委託を受けた者が法令の定める事務を遂行することに対して協力する必要がある場合であって、本人の同意を得ることにより当該事務の遂行に支障を及ぼすおそれがあるとき -4. 予め次の事項を告知あるいは公表し、かつ本グループが個人情報保護委員会に届出をしたとき - 1. 利用目的に第三者への提供を含むこと - 2. 第三者に提供されるデータの項目 - 3. 第三者への提供の手段または方法 - 4. 本人の求めに応じて個人情報の第三者への提供を停止すること - 5. 本人の求めを受け付ける方法< - -前項の定めにかかわらず、次に掲げる場合には、当該情報の提供先は第三者に該当しないものとします。 - -1. 本グループが利用目的の達成に必要な範囲内において個人情報の取扱いの全部または一部を委託する場合 -2. 個人情報を特定の者との間で共同して利用する場合であって、その旨並びに共同して利用される個人情報の項目、共同して利用する者の範囲、利用する者の利用目的および当該個人情報の管理について責任を有する者の氏名または名称について、あらかじめ本人に通知し、または本人が容易に知り得る状態に置いた場合 - -## 個人情報の開示 - -本グループは、本人から個人情報の開示を求められたときは、本人に対し、遅滞なくこれを開示します。ただし、開示することにより次のいずれかに該当する場合は、その全部または一部を開示しないこともあり、開示しない決定をした場合には、その旨を遅滞なく通知します。 - -1. 本人または第三者の生命、身体、財産その他の権利利益を害するおそれがある場合 -2. 本グループの活動の適正な実施に著しい支障を及ぼすおそれがある場合 -3. その他法令に違反することとなる場合 - -前項の定めにかかわらず、履歴情報および特性情報などの個人情報以外の情報については、原則として開示いたしません。 - -## 個人情報の訂正および削除 - -1. ユーザーは、本グループの保有する自己の個人情報が誤った情報である場合には、本グループが定める手続きにより、本グループに対して個人情報の訂正、追加または削除(以下、訂正等)を請求することができます。 -2. 本グループは、ユーザーから前項の請求を受けてその請求に応じる必要があると判断した場合には、遅滞なく、当該個人情報の訂正等を行うものとします。 -3. 本グループは、前項の規定に基づき訂正等を行った場合、または訂正等を行わない旨の決定をしたときは遅滞なく、これをユーザーに通知します。 - -## 個人情報の利用停止等 - -1. 本グループは、本人から、個人情報が、利用目的の範囲を超えて取り扱われているという理由、または不正の手段により取得されたものであるという理由により、その利用の停止または消去(以下、利用停止等)を求められた場合には、遅滞なく必要な調査を行います。 -2. 前項の調査結果に基づき、その請求に応じる必要があると判断した場合には、遅滞なく、当該個人情報の利用停止等を行います。 -3. 本グループは、前項の規定に基づき利用停止等を行った場合、または利用停止等を行わない旨の決定をしたときは、遅滞なく、これをユーザーに通知します。 -4. 前2項にかかわらず、利用停止等に多額の費用を有する場合その他利用停止等を行うことが困難な場合であって、ユーザーの権利利益を保護するために必要なこれに代わるべき措置をとれる場合は、この代替策を講じるものとします。 - -## Cookieまたは類似技術の利用と目的 - -本サービスでは、Cookie及び類似技術を利用します。これらの技術で、本サービスの利便性の向上および利用状況を分析するために、Cookieを利用して情報を収集しています。 - -## プライバシーポリシーの変更 - -1. 本ポリシーの内容は、法令その他本ポリシーに別段の定めのある事項を除いて、ユーザーに通知することなく、変更することができるものとします。 -2. 本グループが別途定める場合を除いて、変更後のプライバシーポリシーは、本ウェブサイトに掲載したときから効力を生じるものとします。 - -## 附則 - -2019年9月30日 制定・施行 \ No newline at end of file diff --git a/content/ja/code-of-conduct.md b/content/ja/code-of-conduct.md deleted file mode 100644 index 2d9aae9..0000000 --- a/content/ja/code-of-conduct.md +++ /dev/null @@ -1,17 +0,0 @@ -Vue.js 日本ユーザーグループでは、性別、性別の表現、性的指向、障害の有無、外見、身体の大きさ、人種、民族、宗教、技術選択にかかわりなく、すべての参加者がハラスメント行為なくミートアップなどのイベント、Slack などのコミュニティに参加できる環境の提供に最善を尽くします。 - -Vue.js 日本ユーザーグループは参加者によるハラスメント行為を一切容認しません。性的な言葉や画像は会話、ワークショップ、懇親会、パーティ、Twitter などのオンラインメディアやソーシャル・ネットワーク・サービスなどにおける発言などイベントやコミュニティに関連するあらゆる場面、場所に不適切であり、これらの規則に違反している参加者は Vue.js 日本ユーザーグループの判断により Vue.js コミュニティ内での行動を制限、または 参加費の払い戻しなく退席をしていただく場合があります。 - -ハラスメント行為には、性別、性同一性、性別の表現、性的指向による差別、障害の有無による差別、外見、身体の大きさによる差別、人種、民族、宗教による差別、技術選択による差別、公共空間での性的な映像表現、意図的な脅迫、ストーカー行為、つきまとい、写真撮影や録音などによる嫌がらせ、トークやその他のイベントなどに対して繰り返して意図的に中断させる行為、不適切な身体接触、そして望まれない性的な注意を引きつける行為を含みます。 - -参加者は、これらのハラスメント行為を止めるように求められた場合、すみやかに従わなければなりません。 - -スポンサーもまた、ハラスメント防止ポリシーの対象です。特に、スポンサーは性的な関心を引き起こすような映像表現、活動、資料、あるいはその他の物品を使用すべきではありません。ボランティアを含め、ブースのスタッフは、性的な関心を引き起こすような服装 / 制服 / コスチュームを使用すべきではありませんし、その他の手段で性的な関心を引き起こす様な環境を作るべきではありません。 - -参加者がハラスメント行為を行っている場合、Vue.js 日本ユーザーグループは当該行為を行っている者に対して我々が適切と判断した範囲で、警告や参加費の払い戻しなく退席していただくなどの措置を講じることがあります。 - -もしあなたがハラスメント行為を受けている場合や、誰かがハラスメント行為を受けていることに気づいた場合、またはその懸念がある場合は、すぐに Vue.js 日本ユーザーグループに連絡してください。 - -Vue.js 日本ユーザーグループは、ハラスメント行為を受けた人に安全な環境を守るためにホテル・会場の警備や警察に連絡すること、付き添い人の提供、およびその他のあらゆる支援を行います。私達にとってあなたの参加が何もよりも大切なことであり、常に私たちはハラスメント行為を受けた人の味方でありつづけます。 - -私たちは、すべての参加者が会場やワークショップ、Vue.js 日本ユーザーグループが企画・運営するソーシャルイベントにて、これらのルールに従うことを期待しています。 diff --git a/content/ja/privacy.md b/content/ja/privacy.md deleted file mode 100644 index d2b7c92..0000000 --- a/content/ja/privacy.md +++ /dev/null @@ -1,78 +0,0 @@ -Vue.js 日本ユーザーグループ(以下、 本グループ)では、本ウェブサイト上で提供するサービス(以下、本サービス)における、ユーザーの個人情報保護の重要性について認識しています。個人情報の保護に関する法律を遵守できるよう、以下のプライバシーポリシー(以下、本ポリシー)に従い、適切な取扱い、保護そして継続的改善に努めます。 - -## 個人情報の定義 - -「個人情報」とは、個人情報保護法にいう「個人情報」を指すものとし、生存する個人に関する情報であって、当該情報に含まれる氏名、生年月日、住所、電話番号、連絡先その他の記述等により特定の個人を識別できる情報及び容貌、指紋、声紋にかかるデータ、及び健康保険証の保険者番号などの当該情報単体から特定の個人を識別できる情報(個人識別情報)を指します。 - -## 個人情報の収集方法 - -本グループは、本グループへのお問い合わせなどに際し、氏名、メールアドレスなどの個人情報をお尋ねすることがあります。 - -## 個人情報を収集・利用する目的 - -本グループが個人情報を収集・利用する目的は、以下のとおりです。 - -1. 本サービスの提供・運営のため -2. ユーザーからのお問い合わせに回答するため(本人確認を行うことを含む) -3. 上記の利用目的に付随する目的 - -## 利用目的の変更 - -本グループは、利用目的が変更前と関連性を有すると合理的に認められる場合に限り、個人情報の利用目的を変更するものとします。 - -利用目的の変更を行った場合には、変更後の目的について、本グループ所定の方法により、ユーザーに通知し、または本ウェブサイト上に公表するものとします。 - -## 個人情報の第三者提供 - -本グループは、次に掲げる場合を除いて、あらかじめユーザーの同意を得ることなく、第三者に個人情報を提供することはありません。ただし、個人情報保護法その他の法令で認められる場合を除きます。 - -1. 人の生命、身体または財産の保護のために必要がある場合であって、本人の同意を得ることが困難であるとき -2. 公衆衛生の向上または児童の健全な育成の推進のために特に必要がある場合であって、本人の同意を得ることが困難であるとき -3. 国の機関もしくは地方公共団体またはその委託を受けた者が法令の定める事務を遂行することに対して協力する必要がある場合であって、本人の同意を得ることにより当該事務の遂行に支障を及ぼすおそれがあるとき -4. 予め次の事項を告知あるいは公表し、かつ本グループが個人情報保護委員会に届出をしたとき - 1. 利用目的に第三者への提供を含むこと - 2. 第三者に提供されるデータの項目 - 3. 第三者への提供の手段または方法 - 4. 本人の求めに応じて個人情報の第三者への提供を停止すること - 5. 本人の求めを受け付ける方法< - -前項の定めにかかわらず、次に掲げる場合には、当該情報の提供先は第三者に該当しないものとします。 - -1. 本グループが利用目的の達成に必要な範囲内において個人情報の取扱いの全部または一部を委託する場合 -2. 個人情報を特定の者との間で共同して利用する場合であって、その旨並びに共同して利用される個人情報の項目、共同して利用する者の範囲、利用する者の利用目的および当該個人情報の管理について責任を有する者の氏名または名称について、あらかじめ本人に通知し、または本人が容易に知り得る状態に置いた場合 - -## 個人情報の開示 - -本グループは、本人から個人情報の開示を求められたときは、本人に対し、遅滞なくこれを開示します。ただし、開示することにより次のいずれかに該当する場合は、その全部または一部を開示しないこともあり、開示しない決定をした場合には、その旨を遅滞なく通知します。 - -1. 本人または第三者の生命、身体、財産その他の権利利益を害するおそれがある場合 -2. 本グループの活動の適正な実施に著しい支障を及ぼすおそれがある場合 -3. その他法令に違反することとなる場合 - -前項の定めにかかわらず、履歴情報および特性情報などの個人情報以外の情報については、原則として開示いたしません。 - -## 個人情報の訂正および削除 - -1. ユーザーは、本グループの保有する自己の個人情報が誤った情報である場合には、本グループが定める手続きにより、本グループに対して個人情報の訂正、追加または削除(以下、訂正等)を請求することができます。 -2. 本グループは、ユーザーから前項の請求を受けてその請求に応じる必要があると判断した場合には、遅滞なく、当該個人情報の訂正等を行うものとします。 -3. 本グループは、前項の規定に基づき訂正等を行った場合、または訂正等を行わない旨の決定をしたときは遅滞なく、これをユーザーに通知します。 - -## 個人情報の利用停止等 - -1. 本グループは、本人から、個人情報が、利用目的の範囲を超えて取り扱われているという理由、または不正の手段により取得されたものであるという理由により、その利用の停止または消去(以下、利用停止等)を求められた場合には、遅滞なく必要な調査を行います。 -2. 前項の調査結果に基づき、その請求に応じる必要があると判断した場合には、遅滞なく、当該個人情報の利用停止等を行います。 -3. 本グループは、前項の規定に基づき利用停止等を行った場合、または利用停止等を行わない旨の決定をしたときは、遅滞なく、これをユーザーに通知します。 -4. 前2項にかかわらず、利用停止等に多額の費用を有する場合その他利用停止等を行うことが困難な場合であって、ユーザーの権利利益を保護するために必要なこれに代わるべき措置をとれる場合は、この代替策を講じるものとします。 - -## Cookieまたは類似技術の利用と目的 - -本サービスでは、Cookie及び類似技術を利用します。これらの技術で、本サービスの利便性の向上および利用状況を分析するために、Cookieを利用して情報を収集しています。 - -## プライバシーポリシーの変更 - -1. 本ポリシーの内容は、法令その他本ポリシーに別段の定めのある事項を除いて、ユーザーに通知することなく、変更することができるものとします。 -2. 本グループが別途定める場合を除いて、変更後のプライバシーポリシーは、本ウェブサイトに掲載したときから効力を生じるものとします。 - -## 附則 - -2019年9月30日 制定・施行 \ No newline at end of file diff --git a/data/about_hero_photos.ts b/data/about_hero_photos.ts deleted file mode 100644 index cb775b5..0000000 --- a/data/about_hero_photos.ts +++ /dev/null @@ -1,26 +0,0 @@ -export default [ - { - src: '/img/about/vue-fes-japan-2018-memory.jpg', - alt: 'Vue Fes Japan 2018 – Getting signature from Evan You.' - }, - { - src: '/img/about/vue-fes-japan-2018-peace.jpg', - alt: 'Vue Fes Japan 2018 – Working as a team.' - }, - { - src: '/img/about/v-meetup-tokyo-10-showtime.jpg', - alt: 'Vue.js v-tokyo Meetup #10 – Audiences.' - }, - { - src: '/img/about/vue-fes-japan-2018-after-party.jpg', - alt: 'Vue Fes Japan 2018 – After party.' - }, - { - src: '/img/about/v-meetup-tokyo-10-reception.jpg', - alt: 'Vue.js v-tokyo Meetup #10 – Reception.' - }, - { - src: '/img/about/vue-fes-japan-2018-talks.jpg', - alt: 'Vue Fes Japan 2018 – Having a nice talk.' - } -] diff --git a/data/home_event_photos.ts b/data/home_event_photos.ts deleted file mode 100644 index d46244a..0000000 --- a/data/home_event_photos.ts +++ /dev/null @@ -1,26 +0,0 @@ -export default [ - { - src: '/img/home/vue-fes-japan-2018-evan-you.jpg', - alt: 'Evan You at Vue Fes Japan 2018.' - }, - { - src: '/img/home/vue-fes-japan-2018-sarah-drasner.jpg', - alt: 'Sarah Drasner at Vue Fes Japan 2018.' - }, - { - src: '/img/home/vue-fes-japan-2018-yoshiya-oki.jpg', - alt: 'Yoshiya Oki at Vue Fes Japan 2018.' - }, - { - src: '/img/home/vue-fes-japan-2018-guillaume-chau.jpg', - alt: 'Guillaume Chau at Vue Fes Japan 2018.' - }, - { - src: '/img/home/vue-fes-japan-2018-sebastien-chopin.jpg', - alt: 'Sébastien Chopin at Vue Fes Japan 2018.' - }, - { - src: '/img/home/vue-fes-japan-2018-katashin.jpg', - alt: 'Katashin at Vue Fes Japan 2018.' - } -] diff --git a/jest.config.js b/jest.config.js deleted file mode 100644 index fb2eff5..0000000 --- a/jest.config.js +++ /dev/null @@ -1,25 +0,0 @@ -module.exports = { - moduleNameMapper: { - '^@/(.*)$': '- - - - - - /$1', - '^test/(.*)$': ' /test/$1', - '^~/(.*)$': ' /$1', - '^vue$': 'vue/dist/vue.common.js' - }, - moduleFileExtensions: [ - 'ts', - 'js', - 'vue', - 'json' - ], - transform: { - "^.+\\.ts$": "ts-jest", - '^.+\\.js$': 'babel-jest', - '.*\\.(vue)$': 'vue-jest' - }, - collectCoverage: true, - // collectCoverageFrom: [ - // ' /components/**/*.vue', - // ' /pages/**/*.vue' - // ], - testEnvironment: 'jsdom' -} diff --git a/layouts/default.vue b/layouts/default.vue deleted file mode 100644 index a62ad16..0000000 --- a/layouts/default.vue +++ /dev/null @@ -1,44 +0,0 @@ - - -- - - - - diff --git a/locales/en-US.json b/locales/en-US.json deleted file mode 100644 index 91f539a..0000000 --- a/locales/en-US.json +++ /dev/null @@ -1,184 +0,0 @@ -{ - "vuejs-jp-ug": "Vue.js Japan User Group", - "logo-text": "Vue.js JP", - "menu": { - "home": "Home", - "about": "About", - "contact": "Contact", - "privacy": "Privacy Policy", - "code-of-conduct": "Code Of Conduct", - "sitemap": "Sitemap" - }, - "sitemap": { - "about": "About Vue.js JP", - "inquiry": "Inquiry" - }, - "footer": { - "copyright": "© 2020 Vue.js Japan Users Group some rights reserved.", - "license-text": "Released under the {license}.", - "author-text": "Vue.js artworks by {author} is licensed under a {license}.", - "site-text": "Proudly created by Vue.js Japan User Group members, powered by {powered}.", - "deploy": "Deploys by Netlify" - }, - "components": { - "HomeHero": { - "welcome": "Welcome to", - "japan": "Japan’s largest", - "community": "Vue.js Community", - "title": "{welcome} {japan} {community}.", - "vuefes": "Vue Fes Japan", - "docs": "translating official Vue.js documentation into Japanese", - "largest-community": "the largest Vue.js community in Japan", - "text": "Welcome to the Vue.js Japan User Group. {newline}We are {largest-community},{newline}organizing the annual {vuefes},{newline}{docs},{newline}and contributing to the spread of Vue.js in Japan {newline}and the Vue.js ecosystem." - }, - "HomeEvents": { - "heading": "EVENTS", - "title": "The Vue.js community in Japan is looking forward to meet you.", - "body1": "Vue.js creator Evan You also participates in Japan largest conference \"Vue Fes Japan\" as well as the regularly held and popular Vue.js user study group, \"v-tokyo Meetup\", and many other events around Japan.", - "body2": "From the latest Vue.js information including Vue.js 3.0, to amazing tips to make your daily development more fun, to a Drink Up Party with delicious food and fun drinks. So, are you ready to connect with the best of the best?", - "connpass": "See events" - }, - "HomeCommunications": { - "heading": "COMMUNICATIONS", - "everyone": "Everyone", - "you": "you", - "wait": "is waiting", - "online": "for", - "title": "Anytime, anywhere, {newline}{everyone} {wait} {online} {you}.", - "body1": "In the Vue.js Japan User Group Slack, we have over {users} members having fun discussions every day. For those of you who have complex questions or just want to discuss things in depth, we've prepared a Japanese category in the Vue Forum.", - "body2": "Anyone can join now, freely, from anywhere. You will be warmly welcomed by community members from all over Japan.", - "slack": "Join Slack", - "forum": "Join Forum", - "chats": { - "user1": "Have you seen the Composition API in Vue.js 3 RFC? It's amazing! It looks new. What do you guys think?", - "user2": "There's a plugin for Vue.js 2 that you can try out. I think I'll try it out and write an article about it.", - "user3": "It's amazing! I know this is going to be controversial, but I'm really curious to see what happens next!" - } - }, - "HomeProjects": { - "heading": "PROJECTS", - "title": "Anyone can contribute to the growth of {newline}the Vue.js ecosystem.", - "nowrap": "documentation.", - "body": "The Vue.js Japan User Group is contributing to the Vue.js ecosystem through a variety of projects, including translating the official Vue.js {nowrap} No matter how small it is, it can be a big help to everyone.", - "projects": { - "vue": { - "title": "Vue.js{newline}{nowrap}", - "official": "Official Document Translation", - "body": "Translating the official Vue.js documentation, which is updated daily, is one of the most important roles of the Vue.js Japan User Group.", - "link": "Contribute with translation" - }, - "nuxt": { - "title": "Nuxt.js{newline}{nowrap}", - "official": "Official Document Translation", - "body": "Nuxt.js is getting more and more attention in Japan, why don't you help us bring this cutting-edge front-end framework to the whole of Japan?", - "link": "Contribute with translation" - }, - "vuejsjp": { - "title": "Vue.js JP{newline}{nowrap}", - "official": "Official Website Development", - "body": "This website is also being developed with the help of community members. Do you have a good idea? We'd love to hear from you on GitHub.", - "link": "Contribute with development" - } - } - }, - "HomeNews": { - "heading": "NEWS", - "info" :"Information!", - "kindly": "Please", - "miss": "miss", - "title": "{kindlywrap} don't {misswrap} out on {newline}the most accessible Vue.js {infowrap}", - "body": "The latest information on Vue.js, various events, and news on the activities of the Vue.js Japan User Group are posted on our SNS and blog. Follow us now and keep up with what's happening with Vue.js in Japan!", - "twitter": "Vue.js JP Official Twitter", - "note": "Vue.js JP Official Note" - }, - "HomeAbout": { - "heading": "ABOUT", - "title": "It is a community of everyone,{newline}by everyone, {nowrap}", - "title_nowrap": "for everyone.", - "body1": "Vue.js is a product with a wide range of community connections, including documentation in various languages, all of which are made possible by the cooperation of volunteers. The Vue.js Japan User Group also places great importance on community connections.", - "body2": "We believe that we can contribute to the Vue.js community not only in Japan, but also around the world through our various projects and activities to promote Vue.js in Japan.", - "vuejs-jp": "About Vue.js JP", - "code-of-conduct": "See Code of Conduct", - "author": "Linustock", - "copyright": "Illustration by {author}" - }, - "HomeSponsors": { - "heading": "SPONSORS", - "title": "We are supported by many awesome companies.", - "body": "We have received a lot of support for the some tools used in the activities of the Vue.js Japan User Group, from day-to-day communication to event organaizing." - }, - "AboutHero": { - "vuejs": "Enrich Vue.js", - "title": "{vuejs} ecosystem for everyone, all over Japan.", - "text": "Vue.js Japan User Group is the largest Vue.js community in Japan,{newline}supporting everyone who loves Vue.js community in Japan.{newline}We support events in various locations and and document translation projects,{newline}we are working to spread Vue.js throughout Japan,{newline}and Vue.js ecosystem around the world." - }, - "AboutDescription": { - "message1": "The Vue.js Japan User Group was founded in May 2015 by kazupon and a group of volunteers. At the time, Vue.js didn't have an ecosystem like Nuxt.js or Vuetify, and the community wasn't very large. Nevertheless, we saw the future in Vue.js simplicity and extensibility, which organize to start the Vue.js community. In the four years since then, as Vue.js has grown, so has our community.", - "message2": "In 2018, Vue.js creator Evan You visited Japan and held Japan's largest Vue.js conference \"Vue Fes Japan\". Regular Meetup events are now being held not only in Tokyo, but all over Japan, and the Vue.js community in Japan is becoming more and more active.", - "message3": "The vitality of the Vue.js community is not limited to Japan, with conferences being held all over the world. Not only around the world, but also in Japan, Vue.js is being adopted and implemented in a growing number of fields such as news, e-commerce, and advertising, and we believe that it will continue to grow in the future.", - "message4": "The Vue.js Japan User Group will continue to work for the development of Vue.js, for all of Japan, and for the world." - }, - "CookieAgreementPopup": { - "message": "This website stores cookies and other data to help us with analytics and other purposes. By staying on this website, you agree to the use of these cookies.", - "format": "For more details, please see {privacy}.", - "ok": "OK" - }, - "AppAlert": { - "close": "Close" - }, - "ContactForm": { - "form": { - "name": { - "label": "Name", - "require-input": "Please input a name." - }, - "email": { - "require-address": "Please input an email address.", - "invalid-address": "The format of the email address is incorrect." - }, - "message": { - "label": "Details of your inquiry", - "placeholder": "Please fill in the details of your inquiry.", - "require-message": "Please input the details of your inquiry." - }, - "button": "Send" - }, - "states": { - "progress": "Your inquiry has been sent...", - "fail": { - "title": "Thank you for your inquiry.", - "text": "Your inquiry has been successfully sent. Our staff will contact you as soon as possible after confirming the contents." - }, - "success": { - "title": "Failed to send your inquiry.", - "text": "We are sorry, but we were unable to send your inquiry. We apologize for the inconvenience, but please try again in a few minutes." - } - } - } - }, - "pages": { - "top": "Vue.js Japan User Group is the largest Vue.js community in Japan, orgnaizing the annual large-scale conference \"Vue Fes Japan\", translating Vue.js official documents into Japanese, and contributing to the spread of Vue.js in Japan and the Vue.js ecosystem. We are the largest Vue.js community in Japan.", - "about": "Vue.js Japan User Group is the largest Vue.js community in Japan, supporting everyone who loves Vue.js. Through local event support and documentation translation projects, we are working to spread the use of Vue.js throughout Japan and contribute to the development of the Vue.js ecosystem around the world.", - "contact": { - "title": "We’d loved to {newline}hear {from}", - "from": "from you.", - "head": "If you have any questions or concerns about the Vue.js Japan User Group, please feel free to contact us using the form.", - "lead": "If you have any questions or concerns about the Vue.js Japan User Group, please feel free to contact us using the form.", - "social": { - "title": "More feel free to contact", - "lead": "We also accept inquiries in Slack and Twitter. Please don't hesitate to contact us if you have a concern or a quick question.", - "slack": "Ask a question in Slack", - "twitter": "Ask a question in Twitter" - } - }, - "privacy": { - "head": "Please check about how the Vue.js Japan User Group collects, uses, discloses, transfers, and stores your personal information.", - "title": "Privacy Policy" - }, - "code-of-conduct": { - "head": "Please check to the code of conduct set forth by the Vue.js Japan User Group.", - "title": "Code of Conduct" - }, - "sitemap": "Site map for the Vue.js Japan User Group website is available here." - } -} \ No newline at end of file diff --git a/locales/ja-JP.json b/locales/ja-JP.json deleted file mode 100644 index 546652b..0000000 --- a/locales/ja-JP.json +++ /dev/null @@ -1,184 +0,0 @@ -{ - "vuejs-jp-ug": "Vue.js 日本ユーザーグループ", - "logo-text": "Vue.js JP", - "menu": { - "home": "トップ", - "about": "サイトについて", - "contact": "連絡", - "privacy": "プライバシーポリシー", - "code-of-conduct": "行動規範", - "sitemap": "サイトマップ" - }, - "sitemap": { - "about": "Vue.js JPについて", - "inquiry": "お問い合わせ" - }, - "footer": { - "copyright": "© 2020 Vue.js Japan Users Group some rights reserved.", - "license-text": "Released under the {license}.", - "author-text": "Vue.js artworks by {author} is licensed under a {license}.", - "site-text": "Proudly created by Vue.js Japan User Group members, powered by {powered}.", - "deploy": "Deploys by Netlify" - }, - "components": { - "HomeHero": { - "welcome": "ようこそ", - "japan": "日本最大の Vue.js", - "community": "コミュニティに", - "title": "{japan}{community}{newline}{welcome}。", - "vuefes": "“Vue Fes Japan“", - "docs": "Vue.js公式ドキュメントの日本語翻訳", - "largest-community": "日本最大のVue.jsコミュニティ", - "text": "Vue.js 日本ユーザーグループへようこそ。私たちは、{newline}年に一度の大規模カンファレンス{vuefes}の{newline}運営や、{docs}をはじめ、{newline}日本におけるVue.jsの普及と、Vue.jsエコシステムへの{newline}貢献を行っている{largest-community}です。" - }, - "HomeEvents": { - "heading": "イベント", - "title": "日本中のVue.jsコミュニティが、あなたに会えるのを楽しみに{newline}しています。", - "body1": "Vue.jsの作者であるEvan Youも参加する日本最大のカンファレンス\"Vue Fes Japan\"、定期的に開催されVue.jsユーザーの人気を集める勉強会\"v-tokyo Meetup\"をはじめ、日本各地で多くのイベントを運営しています。", - "body2": "Vue.js 3.0を含む最新のVue.js情報から、日々の開発をもっと楽しくする驚きのTips、美味しい食事と楽しいお酒で大盛り上がりのDrink Up Partyまで。さぁ、最高峰のメンバー達と繋がる準備はできましたか?", - "connpass": "直近のイベントをみる" - }, - "HomeCommunications": { - "heading": "コミュニケーション", - "everyone": "みんなが", - "you": "あなたを", - "wait": "待って", - "online": "います。", - "title": "いつでも、どこにいても。{newline}{everyone}{you}{wait}{online}", - "body1": "Vue.js 日本ユーザーグループの Slack では、{users}人を超えるメンバーが日々楽しいディスカッションを行なっています。複雑な質問や、じっくり意見を交わしたいあなたのために、Vue Forum には日本語カテゴリも用意しました。", - "body2": "誰でも自由に、どこからでも、いますぐ参加できます。日本中のコミュニティメンバーがあなたを暖かく迎え入れてくれます。", - "slack": "Slackに参加する", - "forum": "Forumで質問する", - "chats": { - "user1": "Vue.js 3 RFC の Composition API みた!? すごいねー! 新しい感じ。みんなどう思う?", - "user2": "Vue.js 2で試せるプラグイン出てるよ。どんな感じか使ってみて、記事でも書いてみようかな。", - "user3": "すごい! これは賛否両論ありそうだけど、今後どうなっていくのかめっちゃきになる!" - } - }, - "HomeProjects": { - "heading": "プロジェクト", - "title": "誰でも、Vue.js エコシステムの{newline}発展に貢献できます。", - "nowrap": "です。", - "body": "Vue.js 日本ユーザーグループでは、Vue.js 公式ドキュメントの翻訳活動をはじめ、様々なプロジェクトを通じて Vue.js エコシステムへの貢献を行っています。Vue.js をもっと素晴らしいものにするために、あなたにしかできないことがきっとあるはず{nowrap}どんなに小さなことでも、みんなにとって大きな助けになります。", - "projects": { - "vue": { - "title": "Vue.js{newline}{nowrap}", - "official": "公式ドキュメント翻訳", - "body": "日々アップデートされる Vue.js 公式ドキュメントの翻訳は、Vue.js 日本ユーザーグループの中で最も重要な役割の1つです。", - "link": "翻訳に協力する" - }, - "nuxt": { - "title": "Nuxt.js{newline}{nowrap}", - "official": "公式ドキュメント翻訳", - "body": "ますます注目を集める Nuxt.js。最先端のフロントエンドフレームワークを日本中に届けるお手伝いをしませんか?", - "link": "翻訳に協力する" - }, - "vuejsjp": { - "title": "Vue.js JP{newline}{nowrap}", - "official": "公式ウェブサイト開発", - "body": "このウェブサイトも、コミュニティメンバーの協力によって開発されています。 良いアイディアがありますか? GitHub でお待ちしています。", - "link": "開発に協力する" - } - } - }, - "HomeNews": { - "heading": "ニュース", - "info" :"情報", - "kindly": "どうか、", - "miss": "なく。", - "title": "もっとも身近な Vue.js {infowrap}を{newline}{kindlywrap}お見逃し{misswrap}", - "body": "Vue.js の最新情報や、各種イベント情報、Vue.js 日本ユーザーグループの活動状況に関するニュースをSNSやブログを通じて発信しています。いますぐフォローして、日本の Vue.js 事情を追いかけよう!", - "twitter": "Vue.js JP 公式 Twitter", - "note": "Vue.js JP 公式 Note" - }, - "HomeAbout": { - "heading": "コミュニティについて", - "title": "みんなの、みんなによる、{newline}みんなのためのコミュニティ{nowrap}", - "title_nowrap": "です。", - "body1": "Vue.js は、各国の言語で用意されたドキュメントをはじめ、幅広くコミュニティとの繋がりを持ったプロダクトです。これらはすべて、有志の協力によって成り立っています。Vue.js 日本ユーザーグループもまた、コミュニティとの繋がりをとても大切にしています。", - "body2": "日本における Vue.js への普及活動や、各種プロジェクトを通じて、国内だけに止まらず、世界中の Vue.js コミュニティに貢献できると信じています。", - "vuejs-jp": "Vue.js JPについて", - "code-of-conduct": "行動規範をみる", - "author": "Linustock", - "copyright": "Illustration by {author}" - }, - "HomeSponsors": { - "heading": "スポンサー", - "title": "素晴らしい企業のみなさまによって、支えられています。", - "body": "日々のコミュニケーションやイベントの運営まで、Vue.js 日本ユーザーグループの活動に用いられる様々なツールについて多くのご支援をいただいています。" - }, - "AboutHero": { - "vuejs": "Vue.js", - "title": "日本全土にすべての人へ{newline}{vuejs} エコシステムを潤す。", - "text": "Vue.js 日本ユーザーグループは、Vue.js を愛するあらゆる人々を支援する、{newline}日本最大の Vue.js コミュニティです。各地でのイベントサポートや{newline}ドキュメントの翻訳プロジェクトを通じて、日本中に Vue.js を{newline}普及させると共に、世界中の Vue.js エコシステム発展に貢献します。" - }, - "AboutDescription": { - "message1": "Vue.js 日本ユーザーグループは、2015年5月に kazupon と有志によって立ち上げられました。当時、Vue.js には Nuxt.js や Vuetify といったエコシステムも存在せず、コミュニティもそれほど大きくはありませんでした。それでも、Vue.js のシンプルさと拡張性に未来を感じ、Vue.js コミュニティの立ち上げに至りました。 それから4年、Vue.js の発展とともに当コミュニティも大きく成長してきました。", - "message2": "2018年には Vue.js クリエイターである Evan You も来日した日本最大の Vue.js カンファレンス、“Vue Fes Japan”を開催。定期的に行われる Meetup イベントは、いまでは東京だけでなく日本全国で開催されるなど、日本の Vue.js コミュニティはますます盛り上がりを見せてます。", - "message3": "Vue.js コミュニティの活況は日本だけにとどまらず、世界各地でカンファレンスが開催されています。 世界中ではもちろん、日本国内でも、ニュース、EC、広告など、幾多の分野に渡って現場での Vue.js 採用・導入実績が増え続けており、今後も伸びていくと考えています。", - "message4": "私たち Vue.js 日本ユーザーグループは、今後も引き続き、Vue.js の発展のために、日本全国、そして世界のために活動を続けていきます。" - }, - "CookieAgreementPopup": { - "message": "当ウェブサイトではCookieなどのデータを保管することで、アナリティクスなどに役立てています。当ウェブサイトに留まることで、本Cookieの利用に同意したものとみなします。", - "format": "詳細については{privacy}をご参照ください。", - "ok": "同意します" - }, - "AppAlert": { - "close": "閉じる" - }, - "ContactForm": { - "form": { - "name": { - "label": "お名前", - "require-input": "お名前を入力してください。" - }, - "email": { - "require-address": "Emailアドレスを入力してください。", - "invalid-address": "Emailアドレスの形式が正しくありません。" - }, - "message": { - "label": "お問い合わせ内容", - "placeholder": "お問い合わせ内容をご記入ください。", - "require-message": "お問い合わせ内容を入力してください。" - }, - "button": "送信する" - }, - "states": { - "progress": "お問い合わせ内容を送信しています。", - "fail": { - "title": "お問い合わせいただき、ありがとうございます。", - "text": "お問い合わせ内容の送信が完了しました。内容を確認の上、追ってスタッフよりご連絡させていただきますので、今しばらくお待ちください。" - }, - "success": { - "title": "お問い合わせの送信に失敗しました。", - "text": "お問い合わせ内容を送信できませんでした。大変申し訳ありませんが、時間を置いて再度お試しください。" - } - } - } - }, - "pages": { - "top": "Vue.js 日本ユーザーグループは、年に一度の大規模カンファレンス“Vue Fes Japan”の運営や、Vue.js公式ドキュメントの日本語翻訳をはじめ、日本におけるVue.jsの普及と、Vue.jsエコシステムへの貢献を行っている日本最大のVue.jsコミュニティです。", - "about": "Vue.js Vue.js 日本ユーザーグループは、Vue.js を愛するあらゆる人々を支援する、日本最大の Vue.js コミュニティです。各地でのイベントサポートやドキュメントの翻訳プロジェクトを通じて、日本中に Vue.js を普及させるとともに、世界中の Vue.js エコシステム発展に貢献します。", - "contact": { - "title": "ご意見を{newline}お聞かせください。", - "from": "あなたから", - "head": "Vue.js 日本ユーザーグループへのご質問・ご相談は、フォームよりお気軽にお問い合わせください。", - "lead": "Vue.js 日本ユーザーグループへの{newline}ご質問・ご相談は、フォームより{newline}お気軽にお問い合わせください。", - "social": { - "title": "もっと気軽に相談する", - "lead": "SlackやTwitterからもお問い合わせを受けつけています。気になることや、ちょっとしたご質問がある場合には、遠慮なくご連絡ください。", - "slack": "Slackで質問する", - "twitter": "Twitterで質問する" - } - }, - "privacy": { - "head": "Vue.js 日本ユーザーグループが個人情報をどのように収集、利用、開示、移転、および保存するのかについてご確認ください。", - "title": "プライバシーポリシー" - }, - "code-of-conduct": { - "head": "Vue.js 日本ユーザーグループが掲げる行動規範をご確認ください。", - "title": "行動規範" - }, - "sitemap": "Vue.js 日本ユーザーグループの Web サイトのサイトマップを掲載しています。" - } -} \ No newline at end of file diff --git a/nuxt.config.ts b/nuxt.config.ts deleted file mode 100644 index badd666..0000000 --- a/nuxt.config.ts +++ /dev/null @@ -1,81 +0,0 @@ -import { NuxtConfig } from '@nuxt/types' - -const config: NuxtConfig = { - target: 'static', - - build: { - postcss: { - plugins: { - 'postcss-custom-properties': {}, - 'postcss-nested': {} - } - }, - - extractCSS: process.env.NODE_ENV === 'production' - }, - - buildModules: [ - '@nuxt/typescript-build', - '@nuxtjs/google-analytics' - ], - - head () { - return { - htmlAttrs: { - lang: 'ja' - }, - meta: [ - { charset: 'utf-8' }, - { name: 'viewport', content: 'width=device-width, initial-scale=1' }, - { hid: 'og:type', property: 'og:type', content: 'website' }, - { hid: 'og:image', property: 'og:image', content: 'https://vuejs-jp.org/img/og/og-default.png' }, - { hid: 'og:image:width', property: 'og:image:width', content: '1200' }, - { hid: 'og:image:height', property: 'og:image:height', content: '630' } - ], - link: [ - { rel: 'icon', href: '/favicon-32.png', sizes: '32x32' }, - { rel: 'apple-touch-icon', href: '/apple-touch-icon.png' }, - { rel: 'mask-icon', href: '/safari-pinned-tab.svg', color: 'rgb(0, 0, 0)' }, - { rel: 'stylesheet', href: 'https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,500,700|Roboto:400,500,700|Source+Sans+Pro:400,600,700|Dosis:600|Inconsolata&display=swap' } - ] - } - }, - - css: [ - 'normalize.css', - '@/assets/styles/bootstrap.css' - ], - - modules: [ - 'portal-vue/nuxt', - 'cookie-universal-nuxt', - '@nuxtjs/i18n', - '@nuxt/content' - ], - - plugins: [ - { src: '@/plugins/router.js' }, - { src: '@/plugins/vuelidate.js' }, - { src: '@/plugins/application.js' } - ], - - googleAnalytics: { - id: 'UA-162346547-1' - }, - - i18n: { - locales: [ - { code: 'en', iso: 'en-US', name: 'English', file: 'en-US.json' }, - { code: 'ja', iso: 'ja-JP', name: '日本語', file: 'ja-JP.json' } - ], - lazy: true, - skipSettingLocaleOnNavigate: true, - langDir: 'locales/', - defaultLocale: 'ja', - vueI18n: { - fallbackLocale: 'ja' - } - } -} - -export default config diff --git a/package.json b/package.json deleted file mode 100644 index 6ae6505..0000000 --- a/package.json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "name": "vuejs-jp.org", - "dependencies": { - "@nuxt/content": "^1.14.0", - "@nuxt/typescript-runtime": "^2.1.0", - "@nuxtjs/google-analytics": "^2.2.3", - "@nuxtjs/i18n": "^7.0.3", - "cookie-universal-nuxt": "^2.1.3", - "core-js": "^3.15.1", - "normalize.css": "^8.0.1", - "nuxt": "^2.15.8", - "portal-vue": "^2.1.7", - "postcss-custom-properties": "^9.1.1", - "postcss-nested": "^4.2.1", - "vue": "^2.6.14", - "vue-template-compiler": "^2.6.14", - "vuelidate": "^0.7.6", - "vuex": "^3.6.2" - }, - "devDependencies": { - "@babel/eslint-parser": "^7.14.7", - "@intlify/eslint-plugin-vue-i18n": "^1.2.0", - "@nuxt/types": "^2.15.8", - "@nuxt/typescript-build": "^2.1.0", - "@nuxtjs/eslint-config-typescript": "^6.0.1", - "@nuxtjs/eslint-module": "^3.0.2", - "@types/jest": "^25.2.1", - "@types/node": "^16.7.10", - "@types/vuelidate": "^0.7.15", - "@vue/test-utils": "^1.0.0-beta.33", - "babel-core": "7.0.0-bridge.0", - "babel-jest": "^27.0.5", - "eslint": "^7.29.0", - "eslint-config-prettier": "^8.3.0", - "eslint-plugin-nuxt": "^2.0.0", - "eslint-plugin-vue": "^7.12.1", - "jest": "^27.0.5", - "prettier": "^2.3.2", - "stylelint": "^13.3.3", - "stylelint-config-recess-order": "^2.0.4", - "ts-jest": "^27.0.3", - "vue-jest": "^3.0.5" - }, - "private": true, - "scripts": { - "build": "nuxt build", - "dev": "NUXT_HOST=0.0.0.0 nuxt", - "generate": "nuxt generate", - "lint": "yarn lint:ts && yarn lint:css", - "lint:css": "stylelint --fix \"./**/*.{css,vue}\" --ignore-path .gitignore", - "lint:css:fail": "stylelint \"./**/*.{css,vue}\" --ignore-path .gitignore", - "lint:fail": "yarn lint:ts:fail && yarn lint:css:fail", - "lint:ts": "eslint --fix --ext .ts,.js,.vue,.json --ignore-path .gitignore .", - "lint:ts:fail": "eslint --ext .ts,.js,.vue,.json --ignore-path .gitignore .", - "start": "nuxt start", - "test": "jest --config ./jest.config.js" - } -} diff --git a/pages/about/index.vue b/pages/about/index.vue deleted file mode 100644 index 7806884..0000000 --- a/pages/about/index.vue +++ /dev/null @@ -1,31 +0,0 @@ - -- - -- -- - - - - - - - - - diff --git a/pages/code-of-conduct/index.vue b/pages/code-of-conduct/index.vue deleted file mode 100644 index 90aede9..0000000 --- a/pages/code-of-conduct/index.vue +++ /dev/null @@ -1,35 +0,0 @@ - -- - - - - - diff --git a/pages/contact/index.vue b/pages/contact/index.vue deleted file mode 100644 index da4f1b5..0000000 --- a/pages/contact/index.vue +++ /dev/null @@ -1,281 +0,0 @@ - -- -- - - - - - - diff --git a/pages/index.vue b/pages/index.vue deleted file mode 100644 index e30a81b..0000000 --- a/pages/index.vue +++ /dev/null @@ -1,47 +0,0 @@ - -- --- -- -
- - {{ $t('pages.contact.from') }} - -- - - -
------ - - - - diff --git a/pages/privacy/index.vue b/pages/privacy/index.vue deleted file mode 100644 index f87c757..0000000 --- a/pages/privacy/index.vue +++ /dev/null @@ -1,35 +0,0 @@ - -- - - - - - - - - - - diff --git a/pages/sitemap/index.vue b/pages/sitemap/index.vue deleted file mode 100644 index c12b73f..0000000 --- a/pages/sitemap/index.vue +++ /dev/null @@ -1,125 +0,0 @@ - -- -- - - - - - - diff --git a/plugins/application.js b/plugins/application.js deleted file mode 100644 index d48686a..0000000 --- a/plugins/application.js +++ /dev/null @@ -1,9 +0,0 @@ -import Vue from 'vue' - -// Vue.prototype.$url = function (this: Vue): string { -// return `https://vuejs-jp.org${this.$route.fullPath}` -// } - -Vue.prototype.$url = function () { - return `https://vuejs-jp.org${this.$route.fullPath}` -} diff --git a/plugins/router.js b/plugins/router.js deleted file mode 100644 index 67a3b3e..0000000 --- a/plugins/router.js +++ /dev/null @@ -1,5 +0,0 @@ -export default ({ app }) => { - app.nuxt.defaultTransition.beforeEnter = () => { - app.i18n.finalizePendingLocaleChange() - } -} \ No newline at end of file diff --git a/plugins/vuelidate.js b/plugins/vuelidate.js deleted file mode 100644 index bfbc65e..0000000 --- a/plugins/vuelidate.js +++ /dev/null @@ -1,4 +0,0 @@ -import Vue from 'vue' -import Vuelidate from 'vuelidate' - -Vue.use(Vuelidate) diff --git a/static/apple-touch-icon.jpg b/static/apple-touch-icon.jpg deleted file mode 100644 index 0f57b296368a763086d4f82066b07af16a8bc676..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11349 zcma)?1yEaS^YDYTP~0hA+@ZKbae|Zr#i0}}G+1y;f#MDU0t74W4#A;NT#LI?DDG0A z@aNw9%6(_PneXmwW}amCIp-v2_c{CgHV?B83xGfX(mxmE{|d@~- -{{ $t('menu.sitemap') }}
- ---- - -{{ $t('sitemap.about') }}
- -- -{{ $t('sitemap.inquiry') }}
- -|H)HYGy)!JLJd z!@}0Cl#ON7^GqvlRW yoFRba4u# z-1)ap5!w#`Q9OyMqTLURzFyT*t+4S2z~K7_z`ptez($HaL@Toy?)=M;?E#RE)>J2< zdK+`3eq>qOemX04OZWhoH(;M^FTX0JP99jzkAJ?i{F)+G?o4wqy@F4Kz+5d9woqG= zL|c~p&0c&VLS?w5N@A!5_$whOxsOaI2D`V2@`FoMdDOI{4FC^93NTP>q })0w#Tdx@ZNTvyGgnnZJXsL;M3mu#C_UU`x3s}e}0LwQ5LXN!piWo zUjvd~R+@hEKL83uDz4 8py)$X@ffv+u8F zzc{ocSKSM L<~nywjEfMGDd~9r7k|-64SD(bihpCC|^T!|KC`| z#9cDT$cOY^mE!*1M Bx@d;{V917i!iCTD?XqQ*0P+nIfiKvj=xo!Wo~iVr-yW2FrbO9 z3m>BIP%lIntNkqFoPH&T`lu!klYi#=_{GbelA{m}>i! vRBod~jrcRQDnR?-zt_e3troMT6I`{pPbADmR zG=XEQU vfG;>7H^ejK$Sfq6^joss3% zWFqORg&;L6JzQ`YA17=W760pJF7zYJ9G5!&i`ubi&DLtofu7cA@(_WqBn@tO(wG}G zA4OwnRF~_@Me%pPJz1pIuNGJ;zW;V;@Z3gd#<`6585m<()jECnHZ{$_$cl6I1#GUF z4MR_Jd}0JzBs@aN!^SL!)?PnidO+D6gFDf$IyTkzxhyd*0`_xNxG`khfz#zllYiUv z$}8QxI_v{M4Mnwhb66}l&whA*(`E2(xr!Eui?wX6##GnFm?wxc%#q_opKNJU0Kf2j zznqnVEMcsHiV??Zb%LfMza5;8if|sC-XGNne^#MneTa7-WU{U=>7KGE+Y83xqiGnZ zPQ86n)Iij5DP=-8y)|w2J+X}Ei*7e~>M~FHK>Aq02mfZe@eu2MbAKh3#W7}oesl(@ zI!~>t4Orq8X8O~DhL0_S64E!_{Y_iDsisGu_*7hq6ppHN<0w_Ivbdt&8!6UOowWHg zB`b-*F3E$$IQ|?Px0)ZEl(ay)L66tei-KXb4}i$^jp>cveM+?Vdez1G%JWH6!#T?y zKCl@17NzgtI)AWpsZjX1zvdfKW;G4-SVNt$NqHx`yq2GJQzztHMsd96eWt twBu(?v(_|Fd`76I?PKwXCoG4ms3BU>zU$j{gJG`iZUcGKJZa;|R`r`a zb|4b*7l_Es$J_7;EQ?>1xDHi_oHtJFn|&aJF_YA~R&o!2wmxB`=n#-CiSsGYz!IpX zvi&uHJry_qC+)I(r pX{B9B%~m?Ztnt*R6$=;?0mz^V1%2 z3N4bvW=SHDknr#y)%RiQkHqF4fF|ZC8EEFRG9@y~DJw&>*MOSpQ2rE}u6De4c<5D= z#M zy>@*`Q-`mGK1%7`N<_dG+~+#x4qak3_}sZ>j?~pmx2m^S-qUEV3n{dn|2zaT&A(!R z5x$ZqO}F30E#@+_3m0y!n>pk&OhgPwD%IQ7Eg+8pfsVmtW;GjNBLd)M=+LkOR%0x< z4UYDH3T?&w$=FJ&Nc}0WVP8VcFktmphPa#mFK#^FwYOjUUjwJc2)BFZ&B4polZV27 zDCPzLUYR);R9&+hQDZO2&PVT05pDuAsp8{xqZXpk+JON^r6C$X_=4N>2^CkS`X77V z{XbP$wel;9ZRx8AZLCm&^^W-0+PF2@v#HNm&zfl-S832PMsxKD?T%@6M!kZ%_Ti=D z=Ii50D5f7$sWHV4wds3|x#&;mTV z@oyBy8^Dz@@u8XqJj#=`sG2A{3lq94(>qa+INjTHa7kJK)FSW}^8L`>XYd_QBu9cm zNNOrCZ|;CJG`0b3WamTC$CvqSr^&NE{n&2u^5RLRIQ6B&k7XyjPqfsR#+`#!@Qq=p z%JOrsP-pnNlR}=VVZjyB+Bc0!uVep+*gu1I`mg$QO0wF^J!}#NZSSJ5?yz#nZAmpz zclkb76+csX6kRumvC)n4BD|hfqW|*6l5CGczD8G>rEp @7ZdV)vOzYWUN|S z0spx}^UK={_Gnm&-(29SZ5fl0iF6B%nI5rnerJ*~uQ4R>! sd!@tw8|I=9LPqQ+hFbVw43Zv)O`3$Qt!;fI;w8S@>2eNvta>z8TJ! ziUf}=uDay)M6wZX-qj+r@1aURY2%ZhD1kMjkGa!pJx_q6FHl#E#2`z|2*qpCG1h zyBlQ%f^Z>ZF|Uq&y46c!ov&5J`^}MB8y?Q}Al5uw2aS4?=CTSKPRFfr8Gp(%%=(!| z$R(A>id_)pHeJ!Ua_nSZkK8^x`ewQMf}SiGS7@{gT1~&&*N5Q4sR$s lIdsGN%t-P`ys?}}- zSD!|3 ^A7MG`>7vNxLoHi<0FIjI?a57S>M>u$A7of=D%(G zX6RZMnFJr`U%w`erj%oqQ?T4L`G|g-U^G!>q(I5^S$XF-iIDVZnhQwL^ES98u`$(| zkwjzgLiob1>g%XLeHBzThn}h&jC?a|-23Y7rMcdL4x_Ys 6LV2^D{ zg2kGAB#j@zSCOphUQJ4Ib0u8&K6GG#yT&rU28?qY??wf(6T)CkVHn}JU>R&x=4)ns zPjnpGo7Z*q05IUH*{`70vfX2vc#nUW_9_~dx3MuPj(zsY?me=g Nyy zzMkMC2;~Tgt!gJO5muAF3X7Wir0M!eZ(;|4Mt~4{EX~Ee6C=b}%y8?Tfa 6t`N{(v47vd*?z1y*WTojn=0LH-il2a z>5}zLaYQkbr5zs=XYX}RE~En|Ob=BTcKhdd`-4qz|A#+tm^RkE7HM{cnUwP8_w7~} z7ntT77^+mW+0JWPOe}p<9*RF=-Jkm?YheY{ub(g1%){@5GYyl4Eu!CtBb=jkzSWc) zlne@gxg#m2TiP?~IVp7#+EzH8iB^~vCBT*x6hw;K9ol1?NpVrPj58A=*eQi`ZCG~q z>T;-s*5zS%wGGfM#8Hi)r<+c4v|-TN04cIPqwZtb<3u8mx}4fXw3Di=?9GVcMTMdj z7Acnz5(sZx!3Jtj9&V7lN#|R=i5y@MPjGG*?Aw^70^}Ju1wU6XKhtz;QXz@lH4pwa zo(n6+|Gc+JDD1hCx6+H~7tyFJmBXCk!-f9c@l_qej)I)dY8_~Cs7BQC()PDgnyw_> zb-kJ)+VU?)R!CvnPOaSx^_0hz_1ZW6+T~f`biOrZEyx{#PKFyHmpOJ%B|@9R wRq$svrwQTz*> zh(XS*d;=MBoBUYVf(>FEC~KF+0F=Rl()}T{6`M%}+Y}Au9<4`lTfk?|i$I1{s5*f< zuV>;dHFsiM9aB}m5La)PYX-w8?1;18tg#>=sFAvfmLOMuQH{ap2Qs`a$x_nt%mc3L zz_uFApdo65YI`20OQJO>3 o*-q%D9sMX%{>RUI`2{^m{pmbRD zQGFIwm|tTuDXH=RU`YRDBN4%|?=9|00oNPoJzPy}u2Of-!Tx<{axX+c>8Y@NBKRiP z!oo_yh|C8oX4S&-`uQlk?{&pEUcFB6f=n8?n-Lok2%oMi?Pqzs;R3A68gcmePFCU! zNX}m{dqqlZy!)__H`4(qDf?Q!6ZW|Zxic@{51X 6$byTg$Zlw9jxIuyOKk5 HlFgS$TTx>M7IY`*z*;*=N?k6jLtTptk&1~f-4ob7d6Gq^a6xf z{mHA7sosf39+A@A%yweuz8GvM;jGg>9KMHg%O{iAB&|-*M--FkG+1f)hRyYtcMHfS zo^tRk=)0WJeBMm&C6SF?j>lHEdCfmR{8S;A;TK)w#z1ml6+)qnYKEVhYm57oxaDq8 zo?^%nx|AD@{o|KP$-Q%oZ02vFDTmYOtow_Yb_O1ryI9EK{gaa)5@>y?hYlxnlJNyH zMR8Pw0;JkibS-Owo9$Iii4Oq#kGyNW&q1!9Is+>48aa&?^2f?CtE{sb&$NSN=8CB( z;M?}Ua^t-ThjWTPr2E+h@Oda&8SEFux(w%)b8u^}8lsDv zW_aoE+Dbna_*fT^KKvIyuUA;_I(<~}ak@wKRu;SIpPV7C9$O)YSUzH#k>DH2r}?=( zo=Uo1F#*&fS;L%eWwgpO8k%NrwM?f@5C*L4E>1l2b^9Ki&g!P9pNnaxsDlwZgU*(s z>tLl%SxMm=*a(O?)iRCM#$W*)#E{3H_#AEoG|mOG#-%gd y zKUa5T9ygq++&}ptY4BXa`6zO27=%4iE!)X_3G*Lo*()*FrfA_Z%u$oRTo8EY?o8Sr zwK`7bMsBRgG5bRS>eUL}Y%pM5;Dv3Y4HzHe$K@%!_>kt%#Ue4{H(&gPVj;qORsDw- zeT{dK(!sX4r&Lmp(HBUSt$eO%ua4HS=RR+0&obgX4O1qGCkPhzf^P0Uw#hqlGJ3Dq z(b- %0MZ5Dm{dBk6vW`g0f!O^RW}B?K69M4sk5*XME$Z%P ztJU`Xg1(YtHF=WgvcbeO?b_lt%_!*0fK!*i(77Q}2ZLcj#BWy@jPPq>0Wkf{w038N zu`x2ek{JgJUa~#EQe28O0a*;W7*K{lPA(xgG-wil{LRnUyrAGSG(%KbM^Mx{d77t; z1Z40X#o#;tW8($I5A%S!aBu)rggZ|U@g)~by6FBnbe>T{I#oYQ!cugRBAMEnX9|A# zg-dksg5?3g-#(jVy-o8bVz1qDurPB@?Ot#T_q;Uo?58emz_v(q&EUz<1Hi;$M%WD$ zx**rm;}q%TeUZcu`) nxn2v6~#wpjG(ggQz%T0FkEn%A<1c@VO`~ZO{arL-_cfC^yi@g zcABIXZmyKx0idLr-fEyUDaGbw-n)rO%uNTkM`jPLrugzK6@oH9(GQt#H<{YQq7K0- zW+)>DD{ZSXxN(ilEB*$tllm$*CbBB?GYs9?5#T9yD#>=AuvXd1DDTvAi{e7ZattqV zB&@dKNyES3H9}kDX iI`DdPb@&n9 C2>uGK7jz}=g&)*>9Sw`M+aypHK#;V?IYBm6fjOLvp=FtBBYmpe1pe^; zYRx+fd;$#&EwzG%1^vXDP%Rfi Y$oT 3o|!{_ z-yrqbi*yW8qB@w%531D?DRE%^QIv%%N(esgd-fLXwnaF78)o1s*Fy1QwB LZzi=r&!KeZcT&D)kAqwxa;6*6rBezV~I}$KbhknCDmX zl?Lk3ErhTE r=W##9u(2{bXj ?3F@JV9fx*Zk3k<+ uIL-9B%=VqjeWt)ZjyA*qg8JT%H1}$;+-a)JmktQ{;6eRXMfQ zc@05yi1`ekfoA0$yP_0F4$!6ufi0_QNss^?2kdQ7?merfYEYrHP1QOnQ*qHpmX8+M zCFVIL!HPWljy3R0=#0R(I2%;_zMx}Vq9$an4^+K}PJ=f_CRBdE%PwVYkYR8H8&H#Z zZm$0$<@3n66z0}nxQq-|7V@J^7Dg!$fxJU(`*NlMXWValJO Titob zfppw#Bo+#K#{d%P`J+I@%;oF~(MUte)w2p5J7PY0i5HGSPsVDKRJYRgc0-1?d~~0@ zFrV`Ovv~X$8~)cHCfIIoO3tS))n8WZ5)xJH_nsATOl(K?fPzb$1 `b+~|6z7=fPxV{Nj!o-1>m=Q zMQs6hBz&pg8=}++ );K21%aB+!~oOX{T|)w|l6*T8sV4oUG^TFtoZC&}AB{(t7})`8AQh zRLr9#ft$`zsLOpT J+YL^!5J*xL-UbT(x_fhbHi#_Bkc<@nI~VfqgA|S?dsJ}y6 l4T*;nOI)_q_VXWh54z?X(sX!-F7%bg*5+B8`IsGiLM)T|VroOW zLBq=LM}sK1nW6NX;o~qNS=vAG4p|B3y1wkosUI!+&2^LUB!vCnA{gxM86r8oKY@ZS zj9}2o6zbD?;oyqy@0O
Da=sPO+S*d?k9GH^rrB>dN2CEo6X#bTp`{W`D#MCVWCb*Fv{!f&ST6^# zd*69Z!QU*X3C3$CSjj=TR3ZKlG-BPgqSYesw8OZ>3W=CHU5}_xQRmA8wJ5{El7dmE zMeFLJ-uKxkd(kan4T4ZD`KS$8@LVGf?KdxXzwwPxL|vLSK=GDlKjWm&>M6EydGI z*Z64%2b<~=XGZA+M5I7vKo;HR %#-5#l>!cJz9kuyo}<;Ade9;|+( zvTwZDns0`MebaDpL)YWHf0|J}kq?L?w?z}a`+mquZ1~!|DL7n>n{sgIOGwWSW+dR( z*Ih#h5?XQ_d{@l#t)mZks`|Q23E511T$lok>bmf*{LoE?B)jpSEONRIH-c2m#(PxH zYDB*bfvC%?cb|@D2fXV|9!P;2%piZ7;^lp+S)0|f{^OT%{7-3)$TYL8kOe7 w z+cMiJj-1Fvxo7U%b8$+9$9gDq^wX41w5LcN|}vOLlHdpi$o+9H{+2)broZy--|j zdwAQ-TBYdcZuZ+#4h%k5kqMsEAA91AI~c;cm@?>-d)IZ5@yx`%k^{=qbp-Sb;ql>G z4mCX#J3=w;r gBGYuJPe;o5loQk%mo`@VqedGD`>_N8Kpvh^NsaJ z_~wI`{o2waEO#orerdbXzu&OG7p`b)PV^q{vp_U-wf2&15jCV-uuHyNCb8qK;hUz{ zgI#H(btAr?`6RT}tr}iyhY46gHHsUDqQfDg%(<}^HE#t}nbAZ0?oIr{FmG5587rDr zKW(_4u!|}!(O_@IT?PFxMqEhx<_NyFEE0?sks=y(WS?ueR|LKvj1r-?5E9d1Vvmr) z7cK7*$(9pQbLZh=FKZc3m> `mRo_s+K`OMG@3--*^$NLNrVitNhcFBrdEP6+!`&
gCYi`eglqF%$Om}!- zz;fl`Z%HKnkyb1$v+r|gFFvS587!ZD%@}PjoUUxa_*n3)*xyn}<9l;+GF7{~UaO8o z%-FgMe*=O?!&o|M!&PANEs-`pnZLH0iWYt$aiVsmIc>x7>Z>3sY~FE#1i|@d403Wj zgK66ht(!^lPU-~8ZS&JrSy2FfOr%NDmy){Uf5H6!(#^k~qu2ZFtA=0GwLut+iI!<1 z0+#|4IdxoE*M#~;o{stQ5F8#Rj>1D$9KqTmOqs|>>GOC+*ZbxzdAJALDuh#ujFG>T z!V{7A<^{x3eGznHDqBjK>t$mtBB3XNTVIiwe7&L2##5Jgp6+vTy(pHMr9 zRr^^P56Y0oASeIz9Mf8uyCFOJ`2rRvh}K-z;5z^tpa*zt=Y2tWMSAt*(k}wV?h~xZ zdU@K>{z_MU-rUxBTJEN;>BtNuF7~p?-(*v3xs$5yKztAVyU(D&^_w+;MW4&F6T+9% z+7rn0o)+fnObz~5$az2V^3#sgDX7 x7~S+xU1MnTY&t zmE;=NUd>;e_B7y>%q}&_CWO)r^Dt}pbd__N{ob4kZ!}csJTjbzS +eyT8x>`}lu10e`pref%)@e=v|jB>(^b diff --git a/static/favicon-32.png b/static/favicon-32.png deleted file mode 100644 index 52d221cb1b422763db724e8d543d2031ffbc5f36..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1028 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyEa{HEjtmSN`?>!lvI6;x#X;^) z4C~IxyaclM1o(uw0tFqnHQMfMcHG{`@c+Nl_Ie=K)HBX$PpiY$28V5pKyim{O+Z11 z?Tw+U>Vc%Wd%USf9FPGPY_i|p3}l12+nen7*E?-)0gBsi1Ck(Jj$4~7R`mkS0jU9z zP4+uMhM0yX0@;=|xh}gqEGzPWiY=-NfeI|MGtJX7tctTOl2d`&owwH8)aIFnBm$jb z7MNgPpKqC;3Dgd>2nc{Sy6pgwKwqeM w zwem|cbV)Mx1d7Dk+uH*bn0m#V0Hr+R%sirPoTGfKBPtbr_cGXTWANC-V7!;X4#?gI zCRZ_p?qzTUbM1lRK#PE8?qjfzHwpo|-_$$a%rC)VRh?O2qE$t%b$x+(Op3#X2FI<9 zmibv0=^6G*YwYG$na8J^dd1mJFSqF|wwqaD>Jx7knq<>cV!yoBenqWyO}@j%2HPoR z=5eW(McK9!N*y;hngu0VHy7G1s4@>v28NHrnmWfVjTT917LWew0DYcW666=m(4)AT z(dgd+@$d_u4( GE?fyi#|rv+R@jJ)ckMs$MKR*Y|gI_n75- z9 {+GbamFI!IWGEw|~OV)Ug_qhB_Fmr0;yl66DOxm#<3LfkK$c_b=j(ys0k=dXOK zaX-K3a#6-oqg%QXJ43b{>+9y#5WE!avheO*mWdPl_wXKEGQD8~14sIXu8Df{FNSNg zbvAC;ez^N%%eCw7j1{a-R^os26W2sdk9Fa?)h=A&oLhK1jOj?W&jI^ITg-MaKJ1*3 zzp>jt#Mi~y?DmZ#Q(TTX?yG+IGhF1Xsmr~dxVe#00*yB+B*Opv7C*-JIcm-FGf# zp5upY`>uFNMoe=vJ-kcs7^j-#jH&mWRzE({p~kvF$zMq87i%k5LR}!+7d7<-N}Lk& z=Y;7Uj{o3&DfPhl(rCMV3`Q^G8=Pk3uTheE`>v4b?K}Amt&cZ#zWV*+A0xxs+; zLJt=yS8o${IDWt0VQJdRb;T7e85>r&+NjnswC!7DU^w?r95BWiJYD@<);T3K0RW61 BsxJTl diff --git a/static/img/about/v-meetup-tokyo-10-reception.jpg b/static/img/about/v-meetup-tokyo-10-reception.jpg deleted file mode 100644 index 6e6081994049989542433e3477d55ae9411999cd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 211423 zcmb@tWmp`+vp2f9yE_C6iv)Lf_eB;71b16J1YH6N4vV|9Sa4V%K@tcO2(F6;TO 6w1|>8hH?<;NX#Q7sjfmxjg$>RP&L05miJ0G-3$ z*Vhvh004M-L;Q_3lvyn-!K^sj0Gy|T2tW;BwRZ^cRWdZxeNqAZPx&AGzjU(*c(Mcl z%<=!n);K*ZhBJ~>Pcn~UVFpDN^S^rkp9tU4DZt@L^7rXR1*=`25CRtH!6CmU$LpD^F6|BLVPf8qbP z-6s_QfvQ`8ucv(|tD(q$ZvX!!h*QYZa{vG;KE9#;ZZ576R;8y=a$?o;b`aoW6&4hd z0090o=KtO5rO|(lB^veQ|MFrt0RXvAkB^VN|I5?<1OT)=)x_`lU*2;`0Dz1D0QlPD zYwvIWU-mGbuISFr0Ki2J06=6308o5?s$&)4EF%10ax_9^003*_@$r%i0Kmxv03OmF zAMeW_A0H|J0E~42V8Huv4G;$)#KpzM!zIMSBP1ihCm^FDAtWTBqNSjqqM)FqA*XyI zavB;2MrK9^8V(L_ZVnDH5fKqFng2s*L<9sx#6+aT#H5tOB*c`Iq-12IluVSARFsrV zob)tLM9;~}&dkir&ied0C+G9$!oq^W!vCkf%p($j33&5(1|U{)^m*k3a2$B*KicB} zfD9MY7iS9t@C<-PhK5dt_V^i4|0Kae`_I??KZFiI!@$JC#=(8!{)hgD|5T!(KS@ZR z 5hjKGGhx4I%5-Jp zGWM2NG21iekE;N}r&okVhE4`h0POIX`tfH@4fDc}D8~Zy2e3xxIAJU7 y_pBJ%%Ouua+q~^g$v&zY#rMAep@2!nIC%24L z k7*KNcXoRN^CXee&vGpd~gWBJ!C `u)W4&cyr5>M{YV;{ z&K`cZB98GH6bo6739HP*oq+P);nM5EJrA#M3#L7ql%Gr?a?)W)0{7Xma!fp4>93(T zR;KkPm4HDEHs52X*XqKJ#U+};Vz{#WC~ta9+@XE1v(*C}tQPHGF@>3ef>Pk4HyhUQ zQ|-Z6E;AfUl$VFT- {R4ZD@eWqcFTpeu?4nkGirK`ZLt8;n=AVbq7c2B;>hg`C8- zsJ7L^F*C1C0i2e `YssP8av0!_YFbT!-_sqW+%s_c7;@R7A^Mk^t1=v zV{%Kp3v^WPM?N=op4ECiqv2m5ZtOlueic9dp*ozm>C;8w!=jAeS!N>C0nCIPgFl=% zT-|>kCYD-pMwp;0r6cNV{Oso~HU-KyoL<%~#9FdGgxW^v-}JwLjhhGR)Fh;F+O(}% zF}c9siVZN`H{gSC66=uPKUSdV{PI+wz_A)7r$EgpyqG4$?gU_phDYxjZ4hj>;9)24 z(3*YN;=a=pw9Co|Z=xSVr%pDuV_FOxe9QOKgA6^ezMUBmduz%iGX8=zDftH0C`R1` z-=PQ5;0aU4<#;E|nJP0daMo>_db6l<05LPiG{YXqpXZM x*Z-AxI&oOjze> zw`h&pmCS`Us&E)E@YRd=zHD8vXZ7rRFyKWCFzxvM=Don#hX^GcqLapJ{I@rj&W^=q zh>&Sc_tgzGK|BU^BWv4sQFLb+KI2O=PVwVNZ+7DnkmzK)*0nj^Fa8O2T$cPH4;RvR z0PuX$x|3(`4ncmk7)$lBRaHT64f-t;Z_!b^#X(3aMdg-2ebquWE*aT?wRBGym#}m= zkaBsD%OGbwDuX(OUZ>AmJos%gIBb!ML2TmwmzS6Y0i3;d2>jupo(lvj&}et5!nX zia|}$9=~9}wu=0bxBWBnsOUFZnU$o%T9dwU>DMQ -Jd zzGf)UsP8CffmR7CDnb!DBOOIV+U>+fH36=-F rYXS>Imsk@ORekMv9`CepxA`1F(MHhsVn5V~4q#IJ$L2PHJFE`M ?03@B%NvYeN_NGwfYNg}XS%hyyXx_>uls;G z^)TD}VRm>Ax(q2!8=dt?Sa+;Bj==3){+PS$+a2W6w6`|Jc((}a(>CB|Z#@b#_##j{ zGSl!=;>~%_ziOmFP!qL>HQ1>d|L5HJv6pV}WSE$DnSPbzLM`(|A!`0;0qYxStJfV& z5kpJ3LHgGML(%x6x#P%bo=qw9S2TQ&_%qF0(2z7oP2WX(Ey?z1`K0|@tVYF9oWR03 z8ohsXvJG8@u;#F5>9SNw4+{gtN+T3)2h4SubL79yI>o(;F#rcJIW1O})<)M+zfZi1 z#u<1kq5c=VCY3we17OPM*hvxEdPEHV4Tfl6oNY~B;PFI#CzDz(nURUY_`m=oKt)G) z{%HC&k~b}|PdZMcF@sTr$ogJnBDsPitffgOIm9|3fqXSSgRVb}8~;#hS1KTbd5VvR zHYKTVi}UT@I9@a=u5fzAf%h=&=adTsKpxJ{>T<2Ti;l^gY{S~~T3F_+6+VBd!K?mb z%1m#D?aQV=Vt1NIlfI+uBTC0*?ACNTZ*Hi=^H6e<-zh1*3Q@vwigYpe!*Y`*;6ACf z7MyI@{-M0Yw2<%hxwj~$X#mZvPEvAk1ycGo`Ut6fIqGEp1z`_r2w)fmY61$gc;07V zd1Gqe#(nn9z2}U>^v8@a9OabEVV{$E&Ym=l+lKqzBtBP(mV=);ovOLcM7C%#V36Ti zM^9k?Ft7_NC9C_iu!h9A^(bpX380+4gKP(@^bft?{@3CYsswGy0f>=+B5QkKu1r!8 zyQZR6efIYWzmw)fZE<7;oENra_1CnQj=P921xN5$K+{6!eyN~juQ?Lpcge$cjH SKP@;VRmVL11mY*TNQaRsP!_j{cV zWX~N8s@8?td}B{)`gd6|SEoCybk-wZ @ujS7*_&DNsafvs2&O!5Bm9SH4KI{ykV%d)=7o4(Ow(i zKo1x5)v$z&kDlWK2Y5K+?t#_Ji387%Oaw$$EWOYuXf1m*3ykBoctOvd6$cHESZg3< z`K 89A9AJU|I67X4>KH&|N1Qw~vtlvsVK|!ZTtLm{)q#8Jn zyyM+x2+%F0DCO8N4J;l*E#0Nvp&8`@^&fp**F=wTE@;XX&Rd;WyWQ}^x6-S)L9A+H z#qwub!#4r>!(n^R*~4IvX1q$In19JI#=p9Nu`PS~8-ZZSgZwj;SxzsJ8+Q~siXTB# zCHq@gL%{42K%$&8rdJvSE$Mj??;ZJ;Q+x5E?84Z8{Rj!%>M5H{kb;#pHZCg?D34d@ z=u81fsYN<}wYsR8)QAkBV}3Spn!HZQG%j-fm^l!x8zY1%P~EW$<|qLU^*8>0`*k_k zx~hBci*?)j%ijTw>n7pP*Ja&li}4Se!ZP8;()tcQhuzLIe!kMN`djr`D3FI}J|bn? zL$*mjAYQ}VY2h1EgGD?;(NfF{731^)(F}0Rz>~c%4TNz^BsrTf*LcoOw(p%Dx%X6$ zCV0k}N6tlFJAHVTsY+5l7;I3zn%_bYS!E`=R_a1_((AAY^Y)_8hHUC~=_>?|Uw z2VU)HMgdd_$`Q!&TRQ2dFP zb*+?CieCvt#(@%4^ag)oZuH-~sdvEGY57>ne~pSx(bT;rTUar#F{<7@s21%#Y&O&3 zdf>8k(7S0rJ!6!lBX51f8X@Fnw8Mc1`?N^QI0!2DOY6IBx~7jQ(g~)M!9#|8+_;?o zqZQb_5A5s99F#PorW-0M^(+*Z9X+J^Xd|B3K(x94Kt>K2OIVRX_MFuBe;F~WVMSVw zdXjt-6TX!drFc%6#o3HW$a!wAHG6t3DDDq>f9$7)sQI?(q&;;t=UiK&T7OMKwW^f2 z)kLkqE5*b+d?8s9D6s<&`LIQ$l;7d`u8gfZ)WpT( =Rxdh>2&K|_{qc_J?1Gd( zdS;0jM$)O=3%2`}W)22`v?lPJLy}}T7HC0J5GM0hY?d&rDjV)`uP*ja2|qP{OAv&( zg-*Vu1A;|)5NRTa?lo@UbS$&OVL8S$bB`IXgie|HB~8NkI=yI87am-i`ys1#DlKt- zBDw@|AluRP_ wu&WCg1VhtGtVQI7?yxq4wqR8`_IwRNy&1t?cJ* z%eD&Ry;Wr5x`6!1hln-KIR^CJaGZ`tH!e)=O#dSRULU*i@A&am6Ba|EXK!nfVng(2 z5*FrNRWTU-RbI(9M=u*+s=UP3`rPEyC1xeX!7HbJxDb>lc~%GLV6T=uVn6QR4Wz@& z(zWMCx`9_dB+A5f>4iA4Q?R+&UfpzNcP7XuAQW`}g3M6l;;BfPa;vIv9gnx&(z!x1 zjX0}I4o+(VOEp(kX2wJTlG~=o{qh?y9=qtZJAq&Z*sCQL{q1?1D$8I{fYqf->o-Jj z;mEMl%Wq@gOg+uw{j;iIElFV8+rR9$DtXgL4=>kmLFvzvRY`+&0`P0!Cyu*r%V+6f zJy)s)hVf{go|T1;M`OTbUbe$a2eZP?o1o3)kuw&her(PmasG{~^XVCF&KV TExOz*%DMe=qo$4DqS0Ui~_faydwP5 zHoInVF1m4$0bD!^2l3qtBddM1N8Ohbb1aJpFD?^r>!fMTlE!I`O8i-wzD;z=n46&; z!+l1Q V)(*0tYgUdNvZHChnD^1-VG1>?#muFfAoF44TOT4}oR z9w=y((Veh*t+M9;6gU};kAU!ey=RHiQ)nlx_TZzNsb=5B5o(c9CaValPY%lcIy6gl zIn3H$dZgVYDY(poJ)AcO@%1)n7=Ce w->JALH44a5 zFIav(7#6gcnzw2k6TwDGTO7`TbB`a*T0Q#)u9;PO9wWzco*idLnM8OVg(Z1_rjX^8 zB~UAlhOJ#dj`IGVT<$lXoRrZFHllzl?CC%jB~NYUfj-P%i6n?t%`UxG)m3Z6+oyIF z%BR i8SuLy2FI&n*bFLd#7iJLj`(hyML z{-~; ofs<@jmYvmc%;j*U*klZtA)_`E5EktewgsI-Wnn$t^Q(Q83$dQrkb7)uLg&7pd& z!RGEObH0BPVA`K_s!uok{xsgSAoCmbE40e>Wu8x))SRR=t2<2DDxQ=_syY-fvl(yy zc6TXhQ>ZsWS6YMMG#V!2lBl>o0%{|&d=8xj9|0>aEzLa{DofAHeJo2uO<#U5p?wox zUUmLpLJtq$Ht15|-2_9LkLLdb{iqi`qgP6yG%I4ta*NL~2#m-!rJqUety}pmbD^PL zD`oQb26sh26Pq4gA3kz($9uDu=Qqwx58W_(m}`Z(bO&9jkK(69fu1}J%JV}~YhD-l zrW5KWpm4Vs?d*!x#SHz4+~Wvv1!tCeP-g2?MEAG(2|0u8BAtErD0{z(klNC&@_TkktR@PL37Usv!_-&f-cEDpBVeEY)3H-4kn zu#EA~obN6Y?+uMSQ|; M7>p&sfMfbv_gG02; zS*Xo3UcYocwi@m7J 6H)M-qa=U=F&;)HhP+U*?nXBB^Rl`wJ_8E zeV`VRw+jN_?9)>Fo7m=7w%E#UmM{1D^07u_>kPmeRDDf5Cv(c6uV#vU^ig{u^ovPR zB)}OVR(lntQZzJ8r_cr!=}P7eco>x*%(#p!GYbMI>gAgv5dY|IM@;E0EZ3#gL_CcY zdIZ2`oe%s75(koqNxLa>)d^#>5?zO!3M~^XaHqzV^~dFuP2OtZ0Qhc;YRGqynhenc z#zxh+oDBK&9N|r&f%4R^qK71m`d3w>Z`A~K3t8*3(_6NkZOs*b4NxF(B&CW!A>zJH z{s>YZeulqVQ7?4d&Uc@$P9l`i{yrGLF(^Q4&x5c--S%sp>Fh}ax_c|5GB%0ewQZ^p z7^2%IkK&DQ&y-~^jTBwzZL)n{k(L%7J#wT#%q9|W)=R(-fl?VKmQ$DlpjiG!qHMkj zj;Fq`77pKhG6~0Nj__Iv)<=LEpTmsek{{B-KK-oJwP*&QFeB-MB^AX*NxDGCW)5^u zNe#pU$2 1+9*0T5x4@ z3QRlgXwej-cCDzmq*TzG)n!So`v#Zna&UC#&meMfF_}h$SvW<@9gkj{!x~~c>~@Z6 z%IyY5AJL_>rO ?#DaI@D@YQ>MN^Z+Q*d;k_T3QiJ=d{Bji0_9HR9!EqJoHod7zA#H ztJl`%&@(X{K3F4)yx!#fo83F#M+6W1K%~1L0jpiluf|Ok39E7Hz^BzCF63p+etI!V zm?;y*Ep5R$jIE!5SB?2x8m+KX2fDh^!?yZsevUsC3#N7RsD%q->1i@pL3Oa1_lvp@ z+3gf-t%>u<0L|<_a^1j|!=)vR&vk|$n5nBW57$JE;UXV`@go}kj#T{#$cd1s$3c0S zRK(&VVf6F4w5S?}Or*z48>>Th3kVcy_75gP-#7PR99bAJHnJ+VJ~B5eY`|$8S~-I+ z?S;xI*)j|&CWvMMIhQD-ykkKhf~|k+yviH9*bg=`gO9&rR=l!;{G EERvy+-cM&y!yHBF|NE%7RA#Xc%M=?BvVD_1;?=D&D*2Q?&7I@`cKgK%f~)mgPn3 zL9wun0Z-ivV1zMD+Y@uE*Qfm3ktkO^s*i5Uz!%ZGrsTU4^o`biiux7w8IBA;#IOIp z!E%DT!J1y&M`7|r6j(w8*&6VMCkCX-%|DpEZvwU!+DW5r+g9!yRWC{qxk8UFbI#kw z!|SsR%TXzU^fVN~^Do08w`1ok@u^6w-|y>lN`_5@rR3k!PZep$#h>VF=Q%F+H-aM1 zrwTLJKwiDb%&6v%1#ayCj#}IBCbLaFwsY`ICX8TJSP2(p?zp{T7?K>GT0IfqrAVH> zHX{@3GDFx1be39G ua&66c+D+iRIy3(n4Jv|~3@O%YVS05Jo@hK%&Y^k7 z55EFi m z`0g3p`j&|u_izTC!?Q{>X^_Q<9gJ ^h$GgyT`j*NYR;Uk}G8mfW_k{Pt^bh)q%2gpPMMbxm{ m+ zIq+DF%duJ;JMobn_9!Gu*V~8=enq;h2QInsVe9fS^dewI9J{R>G;ta8fiLU6d=bRV z!cdseoJmCTmZdrl)C3V5#u)*g83~nUVQFb?F<#WBnc(0uLb~IewzQr$kavX b0-oJc`3V`VEXQr$=prag%q~(j5SWS> zY0syt)lNRk60I7&F?m{YEUy_=#uKN8vJcgiON);UUznVvLAbOGe`GjG>iwxCd0m?Q zO6Mjhakh6Cm1Q>DPIOYPIZ&3UX_Z-o>4@RORM`ip{ zS-A5YLq1feDPz=8g3(_&ep#E)=zmo`udY%3WEVsIbDg(6HCx-y86(gKFG)z7%AE8o zQqkXJK17ly5A#-WmH02~>!_w|04s1o709Yj5$2!V_?*;p%OCOL?Wyec83FxbbUmmM z-P~!mQH_hlY5y+iS~O?7S#7B3nZZ-^X_MUMeZjKp8d_k#@$q@*+eB>bt^8Z_KH@il z(hf5YN53vJb|oCbE3U?0r6wAZz%%-j=@-~4eAK*(b vIULG_5IoQBPhYAp<(o`nnMbCZeazDqz(Dvcd385Ht-(bm3DQ_yfywYKePa( zd|!yk|6ZG3G5ufSX+!QDM+DWrP@{G0g!i(2T^lwrIUkE-_*cAv%;o2YajhC~@^zS$ zj}HQUMQ;8Xjwl%;yrXdq2hn%qg5R&sQUh7F{Ot_t+>kh{muhlL0LSMUA(kasKs_ZB z**5&Yw~G}x%C)nra74eZXzXJ+%{uX>Sgh=QItN{+>Y-BVAy4iz3nGu{agjeSj9k9h z(3)U%>GCs9(IkouM8dn=l*=G38B2t5yG)xoeATuMC6nPej{s^&fWjRj67u$o9P4SY zfx<1;jyWZhc9}=MRiSob#eBVV=63P=Bj8kFZoTLix30oJn9d`h`+3RIo!{zy9?KuB z9q%jdvkE_1id*wDwbSYS$ePYaKqTZs;m^B}Crvgv@6V~fRvrQCH1BZwB8Bd=w$JkB z-|We3H~e#0K`wfJegx3v9vB)Gw|GXP+L-G{JLVq&A|Ll?5>33kDNsef0!y}!KW${6 zC4?I+7#P%kU+*s^c6`A^bsTwZ!@MU_zm)omIr5hBXMEdVxx9z4k%WBM^74i?6+=l% z7(Wk7qDMviUMR-KEnUF+n<@ggoHTll^P 8c| s#Y@7kv=%&l3@Rbv8h?C+Z7^qT@kD#RoIfH#hoI*`~^dR>hC z)qz0Bnt*T*7^Fg+&Gez6Wh%&AHtbKhzDs=nCMZw|gUI6gYW~vk045NlFMmXjwE=g6 zO^kb)73eTBVq=?i5RAlQ0NY%N5{kb9XJ!e##y7Ps{Cmu #Ar}Q-Fd5D@T5KwKkd- z9dV*j-?FQDkz*h~6376KG=m9fZ&X4aUzJ7zh zJ`#NdluI{UQer`hF{5V?CO~2T#2S{?eDrg6{Ad1Ep+j+vO1vz&syn6XOu#rT9DMgc zk;8I+O~P9Kj==#g_(?5B!l>i>F(7uWe+-$DW)cvK2Tcm+!LVe^unO G z`}HqLz>j5oJCmY|JVT2E$IUZi(qe903LZp7ESRHFM %)i(6(|K_+=#-&sSHN|-$+l5KG`mk_WUJ}2 zUidH5bX<__x%O(`VR9w6C3ovkcg?nBYWZ<|y)oL^=@rQKWT@B0 z{kVn{SuKR>@_IueHo&F07c}yQz&hK=r1UNYK(u7(cU}dwi%*96oGn_V*J3d8BEC)D zL`cK>n=*3>Gin2QgXSs^$i>sllC4Grm4ukGam-NI{RTuS7esT6-b)Ofp-)~DRY93& zfW9NUjK yp29#I-X2}8CQt4j|%_!w~^lW#cjsb^bzsn&}qX4b(<6P z&rgxvby7Tz$UKO6=grC65}8qML}pcRwE!+ZpFq>!YtDw9;A< rLhlCz04)&KH6;