From d59d5faa0383083adc7e99cc629f9c1d70b7802d Mon Sep 17 00:00:00 2001 From: Harvey Tindall Date: Wed, 23 Dec 2020 01:34:22 +0000 Subject: [PATCH] add remaining modals --- .gitignore | 3 + README.md | 9 +- base.css | 25 +- images/modify-settings.png | Bin 0 -> 58309 bytes index.html | 93 ++- main.js | 110 --- main.js.map | 7 - modal.js | 41 -- modal.js.map | 7 - package-lock.json | 1340 ------------------------------------ package.json | 15 - ts/main.ts | 46 ++ 12 files changed, 163 insertions(+), 1533 deletions(-) create mode 100644 images/modify-settings.png delete mode 100644 main.js delete mode 100644 main.js.map delete mode 100644 modal.js delete mode 100644 modal.js.map delete mode 100644 package-lock.json delete mode 100644 package.json diff --git a/.gitignore b/.gitignore index 131f700..369c849 100644 --- a/.gitignore +++ b/.gitignore @@ -24,3 +24,6 @@ version.go notes docs/* !docs/go.mod + +main.js* +modal.js* diff --git a/README.md b/README.md index 46911cf..246c371 100644 --- a/README.md +++ b/README.md @@ -5,9 +5,9 @@ This branch is for experimenting with [a17t](https://a17t.miles.land/) to possib * [x] accounts tab mockup * [x] settings tab mockup * [x] modal implementation -* [ ] modal content -* [ ] animations -* [ ] JS to TS, utilities +* [x] modals +* [x] animations +* [x] JS to TS, utilities * [ ] Integration with existing code #### screenshots @@ -15,6 +15,7 @@ This branch is for experimenting with [a17t](https://a17t.miles.land/) to possib invites accounts settings - settings + login modal + modify user settings modal

diff --git a/base.css b/base.css index ce08189..ba637c8 100644 --- a/base.css +++ b/base.css @@ -48,6 +48,9 @@ input[type=number] { .mb-2 { margin-bottom: 2rem; } +.mt-1 { + margin-top: 1rem; +} .mt-half { margin-top: 0.5rem; } @@ -193,7 +196,6 @@ input[type=number] { .full-width { box-sizing: border-box; width: 100%; - justify-content: center; } .unfocused { display: none; @@ -242,3 +244,24 @@ input[type=number] { font-size: 1rem; } +.inline { + display: inline; +} + +.flex-row { + display: flex; + flex-direction: row; +} + +.fw-group { + display: block; + flex-grow: 1; +} + +.center { + justify-content: center; +} + +.textarea { + resize: vertical; +} diff --git a/images/modify-settings.png b/images/modify-settings.png new file mode 100644 index 0000000000000000000000000000000000000000..0681541eae45269f738e41cc9a8b2d4143eaccaa GIT binary patch literal 58309 zcmeFZ^;cU@^e&uIph78L+=3Q&mllEqrxbU0C=%R?hGNAXio3hJTXBb$;KALw>GyN* zTJIn5{&d$pWGyD=obf$-_I~y=2~|>%LVrv2761UCgQY=V0087(0N~~2Yb3;-7t^_n zh<~U?vQi+x^S{4eZ3VFa00jUH`ux=`?O@gYtM+v|?^6_YqnO_(iVp$3@6AHH7W#ve zk^+&fcwP3~z_EPkmT4FBcgYH=d&&8GwU*nKDOYl^t37J(7zf8GK5qesn0}Wp11^Uf zfyl3r^r}L;I4F3)Okxy2Kkfcte0=)t52zYMMZS3y;O7@>Zoc+}(A?h7xx(7c_CNn? zB;q$Sxk4gLDf9`c!zeaTF-}Q$( z5d2^2gs7YPzmyyL|10kQ`mx*Ifg_}1bR3k^!*iZA)*U@2qei^wr3*}Y6XoW$fd<_f zILFv{BZ2z|j*SqS&Ig1%`Q?qs%zaLswBV!^W?|*2cIb5gmD<|$nr&dQCegj!LOGu# zMFjv1P(J^AcTke&WyCwJ2xv5;UxW?nGIY``<|H8C<4-9e{lwP@QQLljkT@oOwQ8#} z56-G~me-?n#EYntgrVG(gP?+H8PunC|Rt-WUbUFqhmX@sl zTCnP;BR;iibghVXmVXOy1&CNdC&G-HA-1&oiAY`s3ufJNLjP*PMbvV$Ru~~svzb05 zS+7i-@EtLd8VQJ1*m*5kRlG_1PMsXl$z(CaQeCh4om3G95D6&3001iGZf~0b05)~A z*}Q4hu{Il}(dKSj>u$BFg2bMs7}rX{yM5wi(T^Q792W7^rK}$n-k(Dp5OuctCxHF7 zx@Ww$%n~Put59eA?#AO)AGd9i{I|v-bo!6&{dcL4W|1|!aga;hb{2F1z%Nnl%Q9-` zgR*Lydwvh>6N_^H<2pmQ-oaU^^Euc3c;yC+Q-Akh2$c31Uq(!QUZt*Ka4vL>ZGO;L zq~v^YwHqv78U(vR>enYBVThK2VQ+?>K`FYt$Pi`!Q9$UUN*(Bz`7*n5t0U8wMsubE z@k6N53ltXNrC|Ej7L?V{S$#&TVI!aO7HXKHF4f2J_gm4!u2t z7`F1x_!MRDo6QHRnw64R&s|^d-+L~n5KXXelx|df7}}v!8sEb)Z+&|5oOh;Pd^k~e z@)s5&i%xFSGCkf-NhNi<4?@Vh##e;m%NXQ6x=m@7Uo2NDhD81-Vq>7BK4P;1kS63@<-C%7qy9xoH`X0V> zNfN5~@exlWh0Mk*o;tg2W`CTc_2h5QUbqM$H#kMes9SF!h-MQ+19BP=X*8q-zKvvL z((GpTu~CK?7DC4nw!}M~+>2f>OJvsKGqU>9~l{68D{P9T5YJ?*1to}Fj*zZc> zQUqIcW8kVT;h0#_T!!NQ+ZU$HQVEd>c4{96ZW=8{2ELiYJF6eT*$p|fgfuj+s|__2 z-M16ORJbT1fl_pNtEz*^!J3kMjf33nAWCW>_4WD#Mq=9?_L%-XII@-%^UMG!S~X!+hCW#_x4&IH}D zx8pPj)Jwg7uGr_`0}G*gJK^rOqkE-_+>a{As@JHsZuf1*CW2S=1~zv3*l4@QVK&31 zV{3P`KTSNwG=L99qMq7~tG#H6>B%oLPxXi!hRg5kJ^t+4Oq&E@(?-MX{B$=vZ|!De~+IrrNu>?B2Z!(VVlwyLpBDDzqnW z^3=iMR9U6Ky6Ro=GHzLlU7OFhnQqP7aNkegpwt{3JR-`pXvtHU!-O-;!)A4ACFC5M zr6lY6xYUtx{rTkzp^0u*+*@3kBxOewz--kf!TPc*C6D^snx4eNRb}Jj^)`N=R_L9q zub{R)#hKzly%UT9s8(TVXK8szL_$JpTINN|M*W2-JtaAsYw!05Z+PNmqLxQ^BvX;7 z@7dt(X$aNvqPzY64X5P2;1aGaqJdq5T6~Q9e{g(=MDfB&WOHs+aPKtn+KT z+yXpP>K)e#mp78i*N?E5gzvB>ld3nABzSpG6*Pn5855!1Gl zGvx#{Pkz=_w4OFqUJ>>@(yP0%6le31KE|-KdCqO!HtSdhJA9b_Rc@;^?~+5w-cd+B zT~`X%5pmG5-dY#6%dFtht7z9-A=G9R6<+3gTHEHUX;&{hR%Ns+UDJxO`|Zi{w{pKb z*BHy(RGvy;8d@%^s}E;oU23PY{rC`wFq7It*xr1*FKx~*R%u%mh=fXazLt1bMau~< z?A44IMlh<}V^0-vnY?7D{(k-MvU3k^$Kqk8#o!+3W;c z%)e-AFFxB(_`I_QG73#HgmMxFU($O1I*XEzyt=)H7U?e9RuITyf1v^4Vv^GdSIjzs zmg>j5W(l*%GW+-7qK}&~c1toH(g|#aPZ^Y3bmaPK+WE_Atg_Ma(lPsJbR|ox+W~($ zpWZp-l*0THp6Zukb5^dhL5kB}YqZ|*y!~c7W@}NqPXO@`(}jJ>jFPjE*~DCJUjF=S zENHgLX>YXVdREOf-W5hv_&XPFiMQPWht}9m&F89hW2if;FE&no0bXdz_4EYfT+P#b z`ar%H>%u4shC-VoK%kdnw*4d+HG>&R#-DGgboChU8MQsK{Z1 ztyGG4h|_KF8zl81oKULiPudl*%ecWDoyBzIFID&z(XRTe3Ob5ofz)6m-(bpdlfTe~ zwbTLyI1O0=15vBbwoT3WDVGQi2@nfya5RztJu*T6JC|xCHNu^EFH(VwREnHmZik~> zDO6BM!7MUEwk{_efj?|LD;WtbZH7ne*P(FS&vm`oQ&#tEDFw|e7ZYj4vNx%Ihg+&8 zlP=R1jPsFOT1YA@qblo<=|}01Qv$Jv(DIY%ElS~zO;q4BnjvD@x3N?tpJRzFiupBX z4L700t(p#$hEYzfiyDbyf2Cu(d$V83O!W)SL?qv7X=~xFeur-x#|JHQt}K<;&HGT{ zzz!f*%3{@}3d@ExQ;eyXgc%>wHf!gtbipyv)HZ|T&?xLMWKhE2Cy}z|8mXTfYu#oR zjY>OmF%Q2NO3|&cO=AEruy~8-udD=Ta;ga$+H-Q!_0wEw!M?)y^|I`%c3U{q?`=Ie~!Q@P%V{h6}EvF1)D{jp5q zj5H#T8oQs+(l&fi7JOVhQ-yik<@8ez(+DashjJ55DwM9f5aR;Q7Y zbsTe&MAYH4_1lIr2mNv$`jW~)*c64+-_`jrU0?4$h~v?;b=5BWZ?1Ikmxl=#A?mK_B|H^^#qE{o8FzR4Rn!gmu%-0_c282_0T+zhp62 zje>$ElY{aI$A22^!%6h(#o|&vY!y0OyVS~Ck`utKAoZ~bk;$ltmzMj%D082M%x+E2 z$X&Wzu?QC&&4yUSFgFJmNqQw!Y0R?KS;4*L#JiP7m~=RT*6V#G2TXjN7v#qx9VkR z3hWA9X(#^ljx8S#K@*YrmM)Q~OE#u?R?`nf9Bh1zy+f$nQSM9eus>~2UR0`lg+6hUR#o257zx&VStC;)PKW5a1U|04 zT&=I%!qHu7K!!`DbnC4LC9oVOo9Cpp)>#^J|8^imJPe5K=xQ?&b}Gb-$7|wzG4x?j zz2)D)AqNetsw&kQ=TzL+z65lB@n?I(#`*wroa&}s{|MD%cI63;Ad>9&OnZY9lkOD0 zj~hEpU0}KI_;pbnXKJU!&dx@ik74X7l;2WCQsWJfBbH<`^w1Kb@Oh8!!W9|SSkZ}9 z@D?m9?i-c^Wd2Fp8>RTP!73YCNB1(PSzg$5Lq4{6b&@jyDaLVrbdEb##no95Nkr76 zr&+aT470>qZTX%zhJu5U*K8Ohh~%JV_k-$IqZx1dI=v0@FjzWT#K?e3)7P{XLnXl#8C`kwKg8j~Y3F$#WYp_`rQhLBn@ zgtN6BK*2N#Q+({A951*1Fy3a?KRB%$Ka+p;;=14)QP8lmd}4l{Leb~7?5Z`E^qN8k z<%}4WZ%H!_sAd6c(W!yTjyv_icPhSu$~gz;M%9@TU6y$1R|`DugV_`elhMpl++(Y; zv5FmY{4O)10z)t~j_>Wu$?3?-p*5_!{3{g@6Y!64?X4#DUtd|AK>8*1)-Tkk-i0Q( zr>Lt^zjtg`;U6E_GD(uw%!QGoi;GLR-^PzWO(thnEr?;iC0lel&NmslDTtnJ(5-m< z)7J4+C$q@QPl|5oL7K?T$FVd`!h;0PJ+}*3Gnf75aev9NP~haFkOy{DoK}33jRO>V zqQGX3a$K=L;B(qMj*k%TalJ|rM|hW<&gw6cFtUHLMX7Rr_d^DeSsD8`))GWl_kci; zq-6oFLHq?11S$|`0lMZvndF9K&36Lk=|AC*7Zb-`0lKIQ+{)*UBkJ~Od=TX9z*PPPM;e1%vpEN2keYD&;3#M%E4ErVTJHxX( z=Hd3JGN371e}z1!I>%LV;H2)jt!D}w7?z|J5^;qsk+@eXc7T{j zna9@(62=upcGK(x%heYJh!RD};7sN7;(y55?(1qa(o`z3aoDU|s2$Y8oUWfnYdx>c zA8tWvK%k5BTEMVd;*2|9^W9qYuRGRqt|F;Y5NJ->wqT=10fj1bWLz&6j}xM)uzrFT zIle%UUNt#0J@f5v_4%sxez}M)&64J(#)7};m>yTlZF$i6NJS$1IR7jo`}gUw&%JWj z{qGbQZ>|2!qV1FylGJh6d9(L>}t1hpwr-}6V$2!p_^>75Ekrr-a zTO*_K{GilG&}ERFuK$PtMFifBUk9|GPw_*XR_^Y3X@XgzKY>BiKNOZLshHd9_NQxj z-;rP?&(x{EntDsyVJ@M33jWL4PyKzSC$2NB_r4-g^Nm@fG;nb#TZ-dVN;%IAH-yh~ zRO_O+KPrkI@3wDwE--5!0kyc?;J@fJ&sHCynYZ5$E!58=7-fD<2t9Ce3|vvIWFLa>x6=#Q_SDy|{9U`cvqnchL`{GWT78|%zzS+iz}7VBf4_4U zo;_gT8*@Hj{-V^VYftOugzM}6_{tsB)8mHRnfLLyw#uJbFV#KT3l8b zchIOGd4)iWDG+$oN#4mOXkgeac)Y&LzpjfY&v^K&WJVlUMIFNNm;Qtr32n^E_$<@h z2R1_atUQE5GX%f0{~D)Xr6^uv|HXnwviF`sm_Td!j#PG|Z!57Z)l5unbrzFkkNjx;(m!aNCBLWnvrGn!+}$gbSC|plScD-LBxCj4UQp_!C3z4i=kZSY#~Fdh zrPj_M53Q0=7GONvA!C`Msf%)5o=M>QC+djhZ;Cqg3b(iTiGq?)DC%2YQ00vt0myvB*8{mm4_70WXn2WY601 z2Rf`KxjFLicjo@zifT%Z3+wA#=X`Qvq^n@dG1D&N?LVbHZ8Gd&`#q);MRERdY*wf< z{zC3!lH1Gdb*d|j8G)*Z=cBMZ+3|@v7WNEusrQ>`ha52!ym@I zHcs*Ze{1*iFyx~>geIJyJ2HxS8#?lbUR~;P?Mg4oHddTyH4eqjoZ_`C3%!C(oF zGDYKdTh5zdYil@ay^JIi2hvz{w#vz!7%v=KGLoN>5_TAg+Mralg9rbBTcBD0Ol>wGz_`-PIwIP(R7wnKCrbmbuX>eTZSKgZ=Va4=6dp=G zMb$1=%v5*55OnQ}cz@+G=X?)~IAtiLly$zcXv7bv$^E40Px{S~C&Z=p! zIPFn4r<31BWsC-=`$pCKs?Fv?;zx{>c-1o7^K}b#uyM%_Zg{(p@HCs0?*W1; zPM4=YM$k!@y1;vGUp&-xF z4_%}*lfzX=eXVZe%3lvo2U>fx=r$Dp#+De8V|N98bv^eo*H*}i(1NDZ_O!>uVGIJ> z2<=dtSyhsMV((h<&B-5{B>NZ>94ah?4*(p27)=6ScY48sJ-E|{-%GUAL?so~6#Hjp zq+!xUy-uFU+>!{jRG!scB}s1idSx7{qAumug5Qyp%O|yxW zfM*Q?`*m6?Z}3y+sTQd$sPxHfi;kD^Hv12Na+1KDJ(=lhDTl)F^2TR?$s_)*wfIu# zH2Dujs7CK=C@K5?y_Alu{@{GRr|!yfKSVGwF}L#uw8x|^ixbl;e~AjLcCIbd)C7uy zaDT=%RKaW@@Yh(;;Q5Q&0r^av%u~8?Bgog>JUek&loB31YHP;$05xFsMT4%$s!Q^X zS1`0rKtLe4*<9@NW`4{3g}PT!9k%A>SR!Kz>v=Ljva^bI#BD&Dmg9b{g?0kFnSqMC z8YWw2%pO)k7d6lM;+=S!<%~mw7*!9yZ3piv?hdViYH{3pSsgZ3fjxuh8tvN)d=2J& z<>!l6WGmD(K-ms8C%qEt4bJbBSwP?Z%*M&TK94u|pA(W@!d^Pslbg>KX+etT_8R`k za=bk^UJ>o=B9ypIfn~09AqG}8!aS1eEkPC(3)7)==pZd$l7!nq3V~`wOJ|Tlno34w zKsvtXMLmbv2EH#4Bl}R(es$Rm_DoavQC^fFELPz~DERQzS#oa;#<#d($j14GIS8ak zt}$?L-qQ`Osz>)QLU&ja`26Shug*?DaOuIIpWW}%HLCB)0`b4Z)Kz-ohnv>>GIaaOw&S_bqGY;nP|*;h@|8W zawm2Cq1+e;OfrtzH$7Gyk-HI8lIAhg*{9<+I2xKcSq&xXdHaW?iZNpDYu$*B|W1W11UsG&R*@s8eeDU*XjG zcuo>&`Yq4r&+f~_sPNEz=gO%y@%H*tLemr~P1^#T&RGdqg;2lwfE)>7+G83(`>UDFj9xtUhkyb*L}0 zD>ymZ_oPnR_J+5Ee+eCbPY;@mHIKyVTh(`YrfvFt=@rRMjOb%dGUWd2jr`IhBL0va z-hIgqBj*jX+%UJLWIqkMUQHz7^ZAmG<=xR0O`XHh@S%T#Cm^zqukiSAUk!43)f_`j zHO8_SQzK^9h63<&_shh8;S~`IPP}iZ6BKwanMbp-R2}hoCl7!o4cX8V1%t+{o| zF73Fd-uDA8Kc@Q_kdwo78;0cHop*La0R$@VZ>N9Wk5q`zDj;`8HU5r>Tm0k`;$ZQH zbQk~9b{Bo^cK$OQ7Ups!Z*6aPJavIVc-ezG*X;o6H3z*g0)uQ?g@kD+jhfemL6h(X zAK|u!wkOG!eAiF*QPD^uJ;>l(!^!HKi@1fNiS%hY7Oq3Mr&zhJorT(-GcB6b6Hxgl zHG_x)`(0?T8SXJuzQy6xBP8E-a8L_O5hqQx!BOov4fMZ*3wf_0gZq{{@@?!bkB=tN ziAd0EyuQmqql5swGDGnNEyNkey zJwx_8E{R8^KoJ5In){2G*z%Kp^W5-|)V-Ri2@l@Y7Q&hUS^`dRP zf~Bw`M{+x_Hs&`wL_i6Y4JdkEBlji;U*w-&%7Wey^U(d$Bme;HNdHB%-yo$@B++sF zayV1K9!0}lU|TYxe7$mCUY(CM$F&#RmzZn2qLt)lhOploNf8!I<=4P7e<|D2pnfl1 zOpSN%CPd@#h3;Lxp@A%y$=_SsS|1RzI`7Gjm|TnEeJB+AVrj+ z`#)uzgp&7R!0WG^xOz4zE3t2)DSqJh4_FML!0<_;>uG_u5fvi{f0>c!4&f|e11Ub^ zk`o#S!Ei)l$j1jnKOx3$gyf0&m0w<8=7Z5~v{*(*1sW0>&@V~DCs5Q-7(vnTGsRfd zd0{a07e_ROj{8h5AniL$)7%${>6I6;J`nR2PVhdWf>O+X%>kjr(koGr)DlMUFcDU_ zo=;rMK%D76>xrrxC3A!-F5ii+>rl&7&iZ#htV-uxLZ4GX&Ccc39RwylV3&H zOMq+kHcNm&;2`ff5iGeUK%ms06zyIGFJ0LEzPutb45nT zqkumCD}ce8!6-GLlmt8kmW}~ba)EpD5XpZuhfXhq&*vB4X;vd4DPdlr3y1py0CJ3; zhf60X-%`i6|9u_B_*c!<0e8(zEpB)$f&mgf0LwEs`+2U71~6#)N2}NxQ>BZQ$!lkR z1L!QJ9xuNcM9dnJ0TNjw)rkhDuSpVLWP^?QRL$uvHKxYP0Gse{Q{rl=5j9$g_H}^+ zR4+0oGN%gp63-oH`)zo%Ei4w0;xPdR?Sa8EHaw|q#6fUWKqp5~0$AhLtyGh(a7UAA zgcppBHDR@-$>jf8IEuSvePYqZc!fhD24qr$u+FwjvI(?K!KB7MsQ@n9Q9!R(vl@!hZoc!aQ2n`qv9D zO1bXg0T`b?zM+V`Ksuhvn`CF8lPIgF@Vh#8fCkG+847?AwVQh7g_=gq>|4QfZGRa8 zKq>W&!b?BXf0`zNeWnv&aNEsG0AOhPZu;NjtHs>&YW0rnw;iY6 znYeENe-ajKc*vr5{&8ehJ|N&P8k5qk(XF{sbQ%Z$<&|hQpOJA=Ga#`1dC44)VJM-Z zH0q2Bh#ednI@+N7g*@3&?>eqL3>Q%d0_9(r4|)km!s(R;Xs{z%obcY|m!>hE$yiUu zgP0MH_yKQ#fOVlPNh%RJFUI{PcgN2K5IfeQ4bQy$P$|N?HM*4tXw+k}zW5*JOwxNn z4gFQMbpfI7)0aK|D!kP8((jz>2qK*sCRDE>`vb@uzh=;fLYs-rC1W~tfiys%!up(^ zXOSWzx-4estaFerU%mV3e!5xY&IwJ$@p=w-C&MEJ!&( zn_hcOZnA+Q{8@auDa8qW{|W2uk8piodu1P;pRnl3c2?2n2QS%)pPHCJ#bqyjL&-*R zEam5|=W9_?YjRCdEfq+UZRY`9q^54=Vf#WBV?17>pobJaJ%{DF`jI~I7Vn79HdZjf zi_YqxcW(eA2*vIvmG<{RYQ7=@d=|!$15)!&-G4~7_P*W{Nh13M(#brtH|N@J?2TbI z3g%vGopE!4(wL8|L$gnF6eD5|0%KZUqR@)>^j$@XaQNCPI$n%=t5a=a2w6Pdhpcv8 zZ`nm|#di7{#!{ot`(8}? z51UYE6$RdGt4|+*W8p;)zZmR{*CHdn_l)5)u=t!M9$~(fYxcBOphsjZEq<`)W?yfn z`(d^`(OSJ|1CovhR0<)a;NRT;lU5-@OS_gix?xW~Mr|<=E-5h)pX2QejjE!D6;}jg z?(zzy{4NCBz19yZW}I^q+`}v!SwOVUviFh332ycg;S~`v=3zuRr>PHiB=n6sOMlPg z`-z3Ak4cXkX74(>Ns<)6Q7_!c^8;$3dZ6YF&uq6j%nt_zYXQI*iAWco=duFpq-=k))rqps zuOWcSYDyC%#Nx~Q3=sO`oZgd0{Z&MyuSDO*s{3u-$4) zaKL?%6GIK_QpV08Fgu(iXp~@hAVC@0$ky>imJti(jEclkw%4AhWaHuPzm-){sufDB zU2SF`Soa_7wb(KK{`oV~kMIceZx5uHMD)~lGjdJ~6Nk+(Bh!&oLA9Oy(s6ms^wj$b z)uX6)vu#bj%L$|0+Aa_0%jjfu>O@wL_tq1Kte$MXJ^7=vP07||^vw5H7#W@&h87M# z+Al0h^d7bYnyh*7;)R`R`{ofE5V6vJbG-TUW+XCNiQc(Iioz(6OUQ^en|)4B?pMch zfKNE1V2UQ^DNVTNbap0`GLjSq{gBn=FixAX##gf_x4oU?YvIx{&H7tt`=%Z9br4QF z?*p~zHt>df@KaMqR$0tgxTXr#{u_N>dwYkg0pNKH;#)&u+u7ZF(071s$2FMjaI)lH`-bp^RG(u>aAh_OcZ9s?m_lCJJuhC`6Yv} z1fNH9q-9D(8lRA)7%1D~V~1W2JV!}NHG$g#6?yxharkJEMaQ2zG=|4Wp;hd9d}N~X0w0*4UZx8=_33D^>88x6 zk(6nF(fp!wmmcCsyk5?!)Vnl5w$4#?IpI~-I)`_hns>FOL5N{ZJC+oI;>*o8jTT`SoPaLmzQmf1EJZncDEv>lD{ztidoAm}*fIg`T zQ4)0Qo_wO^5nTUFeV_M!%nb>5$L_s7|Fk3R@03(*dNy?K8JCODoc4ra zOsqG(4wDZ~mxs(%A482wKIaIi+tWH;CE=mUyeu1o9NK0}W4-ClercXoW&Zsp&yFdE zocZ~W_|Z`db`R2!5Xa0cd%|63Fv0qPx!pDd*;IcvRKV$T`wmx;u;=!0%y0~dQbLiu z?c!z4qRPY;rF%$l6)GyF>Lr!IGvilb)IXhgxaT-V=`yFNz1 zlKm^uultC`FEbu1wFweWFfi_@<*h9HRX_-48%`Jwb7Nul4Zc}5*)6|*F%G21d<%q-jTbw0jsCMdvU_^@Q z&64TES0s1v8WdRBcZ@?SVA)2^`F3gCvS`f4?qdC7J-a@?8oN_Mt$0iz;kU=J`I+y@ zi&Yt(+fi2SHUy#CsYC+4RDZD$Mg;%HKU%$h;tK=ATT4%~_1&v*9xt~l9zG}iQ0J^D z5C~)(Jz2hduz*eM!+7>pk5oFtNVknj+$2^mUMpzt%SU9%3xdSc+3px-%We5sy-(3 z=e3Y6w+MURp?tY3ClPesO)nP6leGSYsX5ggGthpYUJWtZ$qMboX#aAp4|D3*aX;!3 zK3?*ThCUwYD?ai~`y9+oD6~J$!3P*;$&l=O)t}knFj4g-azmbuuaEnYMJQA49St|? zbyv2%+UuoHV{Owx6~pF^9p3$GNGT6x*TcTs@-+pT=Zk{&-YZa~o3_Pd~x$zQfKlpqz>Jn}$d7u-v+H1ekly8}22w&8QBX>oEbw1z6 ztGfx2Wlrpzx*ffk@*$2!nBQ2na!4y8E|pGxV%QSxECcCgR`spIW`;hC0{P7`H2Wp= z6`u7JzGokbYYHk5R9Ze??e>#LLf3r$(-n-&$4`F~tTe>+wO5Ng(HCfHPnRh#hjH^4ZICkUI84;hg zTa~rxj_1cGFR7wng{Rz$5WJcLt;?%++gDaQMOBS|AGmFO`l2$0{^+%e)MbAuD-?n} z^s?%C?@e9|v4)0>sQaENUeZOSyWd5LhJA$#CEjg1-DmQz?dsXg{Vq_uD8j2VkLtK8 zX~kz;TZj;98br#$F+zfnQuWuTSUqQtxduh;fWxjvCajkt)HXu;^Fiz5;YL^a(p=I= z2re>&_J!T|{KL@#+aLAcGswgh&F7m`%4~5{lCgK;MqP*ONkOTuo6Gkf;KPb~sny@} zA57ZXqO7~h$HdOx6-hX4ggoEO1XA;#O7ljFUPff5DarfH{q@bjl<2=y?KtTPKzHJM zMHh?}M%BCVnjJQ$o)Y?P<>Py-;MMywqhy%RRZT43(#H@c^2}PE`in`z{017CahFR2 z)l4C`LI;JKycD?J(zSd8^$^q)YwESS!#xX`+u8Cf-4>2mC8o%vZ#=L99Lf(Nn9<47 ze7A9Zuw`j+vDRHayF%ecd!rcV9LDD;b3Lmx=Ys8BjDjYw;ILO24{LFUq0qvuLvlsw zm~c0-TX34bS|Ih_%NOkMhRtE5&{A=ERc_wP$PDa+r~dtvxzCKJ0XSz3rJ*NdO2`1e zyqC-fhV>^BT)yn)uUYJsYS=g6>^yBUxnV5^>)oz0qY!$d>noD&6^R6C@1q;M;p9rU z;Np#5RUpvlt*cEaTZf2k$_$z3-^H47GkRKwd)WQ8onn-U#$iNpP6er>^UOhs+ZEmM z&eMc=`B9ZP9Y(A38lFUNGRDz!SC0D`=K0UFjmi1?e{EZ{K5hPly_VZ3-|;;^*S#w5@K#^DosD|V5d(utH}ZBO z58R&F`IQID*XNH?D(MSt=85Ac6jLU5s(KR1sER#2daff0q0pr8N2w@LhcIz&blV72 zpu<&;sE3iOozZJ!rF7A=Gy5pPc@ay&JGEJr4#J5A@h#RiH@k>r=<$nl1QKqhlMdZj|{54%Gii&TAsF(TO1%Z+_jkG16^ zrS^QTUC-?iryooqs^@+|H(h5D68w`0>;!-?!5YL!nzlaAoT!o2Bm*04mC>MSwjQ*kFfd=K|igQwt4%q=1bCx#G2vP_9XO>QiJH27`;jw)=lE)i-Z{H z;J2sWS0yy^E+o`&6(e`TXdisb2J>^j)7BM^!Lq{BQ3##BBGc++uWN@&{rI$$ z>Fz;RPUN)VneWy9cinR3Ff2IP;{<*@#__ERF;aNlxouIQtv{lSDY za(`T08iX=<4Y_<%?vr$r#rOTG zzOHxzf+A>CoM^7*AC8_TA2M;=sOVWbpv8=EkFlka_;_ZuoJlcUf|e=^-BF~nBs2sZ z@+*}Q;FmhMF{R@f5RmUErZ_)$W_;D8-6ye(CJr5)j?i~bU5XoW+bEg}wWbW-6uL|w z8&|WDzpe5Zkav1CFHiVncK&p{BcJ3gnN)Ku=zhNTKBn4xLSR5)G3AZ0?&^JG{_z@r z$Q#I}DeL3yt?rPWDOYX$^Ins1AI5?Akz3F2+%j}-x)Kui)FH%H?Xr>64OvEuC2d%? zf(u=9=^}4rdwX)y)s_dx#qmoyU@y<}JpD*!ee&+!8cDw4x(*ZhoI5(JTz&YvVy%@U zuYvt0g^#6!UQkBbq@Hd_)m@v10*nOULjXynejU|oJB$a;37DQL#-P0`63<6H_p4F7 z`2c1-I=g?nkNrSGax)hOcO)wp73*-Sz>xJ|zL>grX1(%X0=^!l`ebVA_eW0p%U6f^ z)~lR`)~h#cpZl`NpU$7?=$@{Z8PtoX6gch2fEo=n_Gcsw-5O2ssif5eUFEuBUAVj1 zhi!#qqWQ<{7TJ$W2Og07@s8Gln=bE(wnxn{{8)l6V9zxxz)#SNv3uAYXLMc6K(;e? zT9ds7pdf%no}s>(P!@S50Fh{Nnu<%PF+cFup{kEt6@08F1Le*}hLF2EmWD8IR&khH zckbK5Av!1X?F>WL@PPv>tWJZja@ zT(_n@!+(1VqDmRrDR+*zYyJvA_>Od#a8ZSk&c6P zE7D4pu;h1P!<&aJ$wY-_tCluhITK{XH#a%YE1YXGLk#a9_n|q5(?Zj7jk3YZrYW<5 zBLi-YK4SeaRT^wF;ivsjQPDO=@dFoc&C6Su=<}6moXG8V{E%=UA~5Kp%cnkXN_&=Q zV(b2^k%BTwaSm%XXxLhKf`~vOV zR}`U)OuvrOWjc4EGn^9?oQbZ29X#z?;pNHc%auJ;$75KtyX)krW=x=w`o3|&8~I>L zb+Kz=?5owI5=)@9cw6HlrUCJ+5~3ebhFI zOx)_Sr`CLS$iictRMIH#-h0*CRWZ-+|}kg5Mr&ZZk8V?ZDaE zF6Og4dTZC4%gocFSRbY=j<<$K_OXEN)Mb?hbs)@2hMf!~cec#Z{;MS?{VPgEB!B^r zdL!oo0p(6noq_3}bGL{1+4y<8efNK$#s!W%yH2){LLWA-eAl{^(cZb@LEu8i_H5= zW~Ehbcy!2_zNnHcD3{Nn9^xt;R1;Owco99;kU?|!WteRJ%yH|ZXN9VK*piRY)S&dv zV)4>fvtg~HOofIK^P_3EW-rtpCQ23h3D$cDpGB48;+_uSlc|qVQu;l!ycnuS?uPZ5 zYzFOB-j}NQ0^w>KujoE}Siw88?+`SYZT94u+}Tm>@0wd;=vtLX{>ymMf)6k_N^lTI z2Xu-><0qEaty`4{xo__-@&JL@_=m%(bzfLV2c6{WvWv@7mP&Jl_5Y^K({XUFvICXL z;3;q7ZA+7unkIEzs|=5}u77yJkC-EkdDB`n^fZqNDhQNY1$})u!%Irczxd?CZCEo3 zb)L@024h!P^y@;}i-yC{o$i@G(X*~x>mQRoDKtCzHupNoA4ivBMAm4-)rR`;e^#CzwHV>>ZdOEHR=$(|bP(*xLp$hrHa~Eu=#7gwZ0T=T z4gio1HrR{-B}lQVP(6QzE>uJ8{xVozN7a+v)e8&lDu|pb+Q6O$8qB3QO0OhmCq+pF zw&n0P>J$&i6$`K=qP9aP)QO?ch35H=Hv8RI>#Ol}_%-6g)^tzKCnvKgB){;!)S63y z`UJf}-j{We_t>)J>2L!HC*w=)V={O6{KjUTdsEXQoWq!^SIh`~zxhYb00U9FJ6pFc zvf1F(smF%|K_ozmM@9pfl#*QQ$v% zd>wZGhYJ9faj@(kf$-}1%E~rOtPRYvXZq}yh3J0^loUT~=_vMgeNdK6NGi2eVNuG){cyBKc0ZoU1q+d7Sx({pHvK|Ot_SL_N$GyJ{WnRh{(sR0a4`dC{}_n%gR zG)Q_4SE)Q5SD!{bOqMsN@99AH+E^sqfwa+LcPd)+~oH~~!TY7%1F2(#3pUb%e$1iTMM$G%!2;^!qOYZ6j zn^o(i+UG)V>*~i@EFL%Hhh&~4f~!*5%eFB%xDZ$8p4W19KreH~$5_gichI@F;k`8w z<)fs$T&PrpjtUIMk{ZTQ;c%2`NQ_U&SM-@xArrWnU+D35yYIcd`%u@_$%bHlX%r@@*vy~rk7=I&{t+~1tC<^wLJ?Gc`JvH|DSy3@5C_n?PW0R_ ze^rbijtS6BGoc&RA$GddLtpP>&vvF2#{%K@ikl{x1SoXz%xjB$1k-q11#yN&Uvx8R z&~k^ku4Cxj!M(HK=|7w$Y5;bA3+i<$FSPFH(w;+m^|F%`6%o`2_-RG9>B1~7OpaDn z!>Rc@g5zwZ`>ek7MolQt-p9Sxa`VO)hew}WuD(cCx zEP5O#w62U&H|f~;;)Q%wrSo|#(a&(@xu;D$9J@CBh=7&1aS(yk&UER^BTi2}`&8!w zw?mZf0M|k^RLzqBAb%g53)-K36F=OH62F=Yew^S60wpkwK!^%A2vGqzP@+>%l1H)AK*&U^=A^6K z9re8b2;Xrt`S^RK-!KkTUz(>*wu+Iq=4hmoiRL09A?N1x_g=X;51}T&{I>}K1c8Fe zd0dFz==L&h?Vk!)Q4RcAxAk^zJ->J528sVSq<`A^ul@hM@W-2vE+9Z`p>lzpcFp_M z1p-3EjP>+%C&1l?V{QJmN_`~z^VEAwd+!F6@c+sAao6(>oeL!0k@HF($@D>?a}*~2 z^6eWA1>C5lOl)lA6{r%zHw+NcPW_v!=HM-b5jW!>K9C8{Jy>9)Z$+W<&MOE+K>_uqO_~&UU9xj2>$vEBya>Ny0x={EnE!@- zX(MH$U5h6J&45Av{UZuTYtwVbS3ne`A-Xyj?n;Muv+F(QKTge9D2?9J(#Gf8L5e4? zn05L4VDH68Tx8($>K47#doCgWyZwk-lrvMy`}*heqrd-Ny}#$)=j(nZQtB{w+2xNK zJf90feXga`jmB^Hk?RH9CB~nJX$k@#jGct9Y47$NI^0j|NmFxpH9nS)yR|;C{Re=? z^2*+sQrxjQc{9_VGxY1{c<=jzzu^5uO;g?v%e|^nI6%_!k(coo?o(m_E!J<@fyn(A z=%xGD4qw<*js;A1TQn$MBgX8fHb*Xdk@(tiRtX3V#%4|QjSH;y8!=qo{Ka0YQ`XNO zS4Zi=2ex~q9Zte7N_rDVX6J z??yDoWoN20?)??PKf&iV4*0c=#p*OS_f^SsCr;m!B-e2*{`}*uyU_o+K#HI1fDns8 zX5(t|($6w;z|lVKKT4#x6eqNBQ~6ig)gqNR1jm}`?-vgtjNEO z2!A8`Eb#NFH2e+wZSDJ0MrUixsN){hut>RLv zBBVZ_;ndAMRn9$5g3MyDp28L*ZH*N2;MDXsvQP|@3dwx$38 zpy+vXjuM9!rT*y(&3RbqzO)2<&ux~%15A&xx)BKI7uC$oY1*y#)w8CRhE#a#7s?S1 zYajwKj`L}A6ZwzLF7utkk(xFtTBOw%H$E zlc;?Wt9#o1Qqsere=-gz>$=<52y-3}{CW53L684-X!F4*W&6tP&7wNS;)efPELljZ z6EaI}SstSFFz)5c>6 zceyoR-o;CKG{5#zKQHd#kBl}g&EJ@63Af5=#dR4`afF+lmaO-sajDWanZNX;l0>~( zot&C?JB(CKA5x%O*tko~Rg3tpfO6)#hsE?!_W)hr;TRI0Oe8?w_}2aP%jsSbRORfG zqMHE!pmIRnbFaSLa@R-4QFk*d1eheJ2CQbmr_-$xFd3faP41HSvWGKkS*2`mhkVD`d>~>b|&`Ady0BUyg%z*PiZz^ zWwh`t={IAwEN6F8Sh4RL_&cY3>TAN0-pUca0i6pY8(G}#fv||4=Be4hg{mr-nCv9F z2e$654T=^Cq(evRu#;^H}iI}}(1@q={MdoKjJ_7F|s+UZ8yw&_prs(LkP)swnSwdupniplHvA$x={E?3{KEyL4uyQqdR zPE5U7<^-tRreZ^Il z>}f6=GXOv)rF_UZHAZ9R@))N0H9W~bjUyEbK!nzCBB1Th_qv)jk2P+$hjS`P*o z5Ls`&wBt*6}q1GD$10+yU zYlFNPI1fK0t0dPxt?-v5CQj(xmQLGpL%hhfb8jaHMSuj9t%DMsk1jtr8@ zn`Y(g1hGY1u$qtWZOkbKD#kKv)W>Q1Ht%P3dasX@&A39oOj&fa^wzL-k{2{LU^=gc z^@f6sOlrb3ZAcS-@el_Ih*6&jY)kR4Q`K!lDfWB()8FX4JJBju7HVYG4{crFoW>%* z1ba~HxutwgQlI$|cZx!oER!bv15bfL3gGgIao-uQ?6|nCL*ukR76L~GfUF@)wyzR& zZK9i5g|P@zU;HeG;}tv4&z0^m&w)7AEZwm2o#=Ybxh*akqssh>z71DP`-=;2XX`kz#A5~WMWRNFt$ zG;^FwCODu3d4d=2GcZ^=;w>r^)!l5bP(w94DX;?T^BGi&3)~fuvANZx%jCx=P7S~1 zCM|i2%AIaZkPlEw@kc%Q*D>4%>&$ikD3N!ph7aB)sm>2)Qk6Vf7<+krYdb^Dq#6qX zhN?>|fB}-JlfMd5jE#59akAA_BGlzJAc4zdnBcP_@+`#Aph_2ZNXRsh*AwUU)YMH` znnjTIiiH;#WD@SA0;+rhJlnRl$ep{`ouI!zfD#u&Jk$-d*JKHBcuHm^#81e|J80s*i zxuz7&^tMj~nVyz!g~VFs(o? zcr5MKjbZfiJ zzvJ|)(F_jgpTFcrV>DX$mU$Q|nuhgYmVIVRc zRjLNateB#uYr6^d^RVID%ZKz+(j-05E;5_1)ifW2cfI ze#owvjy)PwV<=xkfy_<5AOQws23fYxh1g(U*5{mPOvW0s+m4SZOU* zI+5xL-L$N}b7q77z8MF*6GTF6zQZ?g3>Wr*UH7&*FvG(#wc)h zxPMHMf$`X~2Cx%YFPy{(@jU9Tn8Lc;)C#Pmo~FmAa&S(JqyXL-wHHnAWSuU{V%Z(| zPixP4+=9qafBHOviOE*{(R&kmip}n{I@8fzDUPmvwAU)7{LJ}w3vm3+Un|MjLEzg` zt%Z+DFy#gW8gPG6oFg?4(yN4-wUq>|{LC5y!ga1Zt;%fgS=OO(9-jM3TQo)?4p$CW zab4zx=yQ7(KwDMGjuGwh$G38+8z$oy9tEI;yVJwkSCQSsEQ0$DYb^Habo-kx#e==( z#u}oCY+jPFBB;7fKj#i4`7>`CZ>!HAGP+2t=al`=3nHCvF|@;Q7isP0UAsA`oT9WM z0116l>EKB_&&?VPruvDeZ@U!8Oy!6H{omxYc_>pC@@TA~m9fr|PR7h)yVoUaCEF>*`9PUJ78(@^H0#i66MGbrwD zl((2r5}Ms(piLb#hNQJgG_`;Ai*%orwgPE& z_T<&nkN9k?C!#p7n(=Z}9;@~OZ%w$8rYlYfWbzmpDzJ&n#U=CN%jzd5WwB^X*vl9C zn&0bse7%{_PDU?CkeBJclOjII7N8+?lF#&6F&=#Vl9-afuN@4wi{1sy;-Xy=69WT) zsTv*#x+|-ocjZ6Kmb+k+>#&h`@w!g-(|3kH?}A4h3{(wLo^I%C5m>fz<8x8Vd+>Q* zrl@b*ly_4bs%|Ifwu`FD2JmLGRWRmsl(;LPw}ZFI%f#}wTQ0%qt4%~Rg~I%SSedzVgP)?C3ru<7gDH`8_2CbrwKguncd z?sqV+s4=~?Ubf4aK}tL_rSr9e`8~?E;~B1ApeD~=J?+o;3=mKM{q`t5cq7rmM!lwDR*Gi>$e8o2=_fbwk&}Z` zTG7()Z~R-)5QnTSS+mM6sbTgLMePS9N!JLen8l@p%MV~}U3GVbYB^O`d-I<6>69%t ze52^}dYwkF{bY4JsWm@x>dk>Q_~ujttfC!M>=#EAD}AQ8G|Gu@&)yfu-txAZTS90I zKc|D)D-RyZKZ$Q-f8?mwn|>~G#^J(oexJAtxdd)KI?hawoAu`0bMvwS`<$(n$w3)s zYn_vUWt6#A6G_ezINMk^GghkyGd*Qa>_7*!V9C^8d(S(WTx+%`bR-9{GgMiH^isj3 zo?{1mF^|w_?RKm0I=vV&kW-r1)YksLucKYDtN;E+iPC?2COQ5~P-GZHuiKv5!+ASD zlg)c_Cq59v7@PG34hG0$m{GJV_`&N>hT?ScLF3uShh31okKlq$+4}@k@fr}r;;|`=i%ixDf=2 zezoCFuaPmFI~t#)?YX9kgzS?u3Ie=14Lhf*ug*befVbmHg+4I6e+?fm@6_KQf+w^d zGs=o{)3(F=)ywlddy}|nI*Jwvt)nwu7W@?hdR87ASIeaVJ*C1+l9m7h&~^PHECC~N z+st8q>=#H(fkW*uMTXN}r;X0fePTix8U9OZwv;pxvMi<23a-ZB&#u_a;LW@an#gdB z^vApumXrV*EJgO9aa=au=V>I)mZx(ZKpsBAli zOcCN=bzETh4cU6n*5mcS&rpwV_MLP0rf_mv8(*HbZ(+3VzM|T_)xlBIsuVr#1&zSg z!s3V*u6wPI?zH{QosCD5Dc&~Xv)JqBPO=DQauaZ5QI z)BzR@pgI<-KOK|9%=~A6(~^)`WU~HKZT%R>Rm7Ny%O{p=Kw;-l6nAK5waeNYUVKs> z^nKHX1XJo+ONlgtg3g_F6Od$VnuruzB1e z;?`38^+QCZbc9R8R+2UxY<_<~l*ja+>#H1a;adcF2aewPl+mxQ2Wf~oKaTF=r?^Vz;v(H zySBTr9#7IZo0#D*N+f18@(iV%!a6;FYm1s;gkG8)3ESNrK}v9!FdsfV)YhB@C*8G9AQPTzoTGOBZjM`>Qc*h2CPr+s0aVm3dK;v* zEb08Eet0l#MS(^$U}<8vK9SkyG-++-hd-J?O8Pw%bKp9hND%RPeJXmoS+S0T13pzZy# zn|%EknACb>pUQb6$My}#NvB8S(&*!zfg@d`*QL3V$H}bIMK*(em?=2ku5uvS0SL%f zcdQr6x0}c1!OPZd16NWNhV|}a-9qV*aB)~Z?>hBlrxyn(nidxcI zQTuxTtf;GJ%P(SjExSK0*h(5{=T;U5*Om|(9x#qB8S5J_o#&E%!`g@-;sgypT$y`6 zMM+fNGT;NNaj1s68QB=N#*66&}jj(POx;3a=@8__%!( zlLCJfMD%7*9WdD{h#J@FV9{a53Q;ABZ@u|lE@T+K6Sd&nn$k!=O*i;E=*?|@8mu~) zmG!zQnGzAu#Ys13>`+c(VG=O$nF=3iE-Am4~q`T~u z9u0qErkBLIm;uSa2B>}!O>G#K_{Ft0*{(*)Tl!~~m*Lmh=!t85Ir-xV?o!P9by83p z+xxlBeneI5N|dk3%Uy)@+|gf4IJ%5-IqfwQ z2M+&j?8_`#E_LCwXhM7-w5`%{yD_IMM6l@UhCHB~D}F=fwd*cmO>ToGlN8=<6xjGhjt606GWYA= z?3S-uQc0PpzkdXF4-lA3v2*7=vZ#s5Zz!;P_IOws>d8Yn=siGZkNH|$)DBy$LUO`- zJHej=Qu$RRHl83eIa?O&=tY6wZsW9=qfetoYjH*_=>dzrsBD|m-WCZ(AFER_`Z+cE zLihdF<^UqE=aRUc$xb%zPUOp;GDS`>P?VUQm4Uv$>ZsQHLIQ6M8s`c z)xMFx-ec6r@tln*{a~J@_7ALJv%8*c|Cu!Z$M zaZBZgCiZbD#%cgJ?xOsC$iWWb<2j#RkyQcgH$k6)`K1FH-$}xro4qx{Z*sc4#SG5= zZb~t+4wxfA-5e5SLf`}!g9ba;n&8bst8yvSGMuNYY1+e?V6KL;%9`MEyM97I>fiu8ZU|-z zI6)i$Bi23>t0joGUl)5D@BU;*Pp52=?^s_U`0(MO&zGm6S?-8tCp22Dc{ z0G+3#venD6TUFs)gARnK?+_9=Q7iXREX#bCa$6Pb%n}k;zRQ5W1CQ5DHumMIqtv-W z;X^a>fWE^h_LS!(cwAD74F5nLt0s9?%-DxPsSj8rY><{9O-OwmXuQkBw!(0y0;xxZ zDs4goSik|s*~nDVBMuup;?{MJaZA~eo2GAO#Kq9|HN;yNzm|Pk%cj23<1ua$e3{EuSEUihj>RCTHAkUGkKBB_7ls5EnlpGNg6JSxzkb0Ol&)Eb%dLNY< z`_TF|`v8pw{i}|8CO}rr{NaKZLf)|P&^@NQy0`ApB$q))J${)7S-q6&_Oh|Hxtaoi z6Lon=3Xcr`a7;xvk9aC^QQ*xy62y%verVvx_fa;fIsm z<5YoG-XrT-i<;|O?&--<{jG|5!i6E((T%%r*9Q-`Wq$>mKytPMaJd6{bA@XJ6OeZ? ziqzzZ;KV!xt}P@riEXM+;Rs5soo z;qQZEbU?`n?-=5>k~49KGFBFI8Mm9>n4gTTe}KusQVR6i& zPyvElKJfM1BRT2LaO=^uQX)~ilQ}r2W0cKIFP3wr;GU>Vsql-SpFdpJFm{rY6-0E9 zUZ59T$us2u01MO1#bV4?S)I3>zmmKIEHtFNr(#-y0&ey9?K0Oe?0| zj}7#qp0jXbO1c*79KJWDwTJ3(`FtyT#lEwSYmB;YT~pMzi6sN;E2>pWnJ<%`LNV?? zH>_*tLl1B`@Nn|vSi85|6?h+<7XkzbIcmvmh8;S~5D~)*QLZ_6g>w4dSAZaJqHpvy zDgF(dGN~lk<~bZ?kMT7=w4;~+A<@)PK`!~>x22tD5^%tPFOE|hevi8F`DSqp_C)n=__!xV9!{eqtH^`ER*+}xopQ6 z8~BGK&0rnQvupf2#-Q=XA4A}jjL-q#gM~#0=fj#|&gFknXfY|`0jO<>iaqro^D_-Y zO(1$rg;a5jzqg1L5eLW2;P#(7-lugT?7o?mQ8U6A0~ZMmhQx@Z4ZCp!J3RsA_{(F; z2z=bV=YXK)*TSVH2;;9&Z~$=;UM#zfr(A7*bgoP<1v+M|=xOD4fA8XR@zBwW4&I>2 zM!^l0Q%k#gMu}T^)rPJDes09v8L)`mXB(U*+-Qnv-KUE;sI@^Io+@j2W(mU}to+xY zPd8MYa2d&Xa%FIl=X2@PKBdX?$ln%lFo1wBWCwa@XmUKy2-S1&a{CQ@`$D&vVZXSR zK^4DKH5BKJ9W#)t-@GiJ_7p*7=5QE^{_HO<5C^*jO=}U;S{ysdS4-zdJTwFwP1O|Q z<(po~+%=z6V~kzJ$lTfUX?!@OtzqN2g%@=yO#ByQgsMowShAi})T8^_woQ_@p`j{` zg=r_CNLGJg?A->wjbn>nIqG(ZDxO_~k!P-5D_dUh)L76}h3ivH;-=mkRoPG^CAEku zQ`)8uH6WI-DER}6hAg%+uo!05# zuTx%_TwJ4{8&wi5^#@xfidd-h@X*2zI+ElB?r~tkKuzC7$_O-($gnOY$%c+p8S@bs zw4PM(q-kSbDvs78FC`7bnb7Z4g_eqg2_H)xgQY@bw&5FS5)(674Qwpp0-?5wlUUUd zl~QA}2m)^C{s3eVT+<75P;H$tlUH&nQmCCnsGXydn@r5xnw*X!F8iNX#B}J^Rx~}v zdDq;0IDlzvS%c>YvuJYLjQChY^-E~-plw*2%?V3A4pKGzz4Nbkxts4d zK+gwj3;)>}n%ts}u~iS3)FIIUE`c=!TyPn2Wz(otS|s$7Tgh$-oMLJk!ecx=aig$Z z$rhNjQ1P{_CZ3<&Iy@Q1Rkm=qr;sb|aIafhTsH!2zOy&p7gxM+<-i~T0uG4fC9kdN zx?Nd&%Vhbhh6!jIau-yPUew`n{GMv}1()qikE_!HP44;P^H?v`n4v2$`qFLJo+Wrt zPuTHTa~*7z6K4O1vZR&l?EH2@&B~?Nd)a&AU@n4q^V(_Y}up=g1@9u2EJne zLl4{HJ_h(5|1S4u+~-Mhy@9lye& zk6f}qQEP4jq)i?=cWhoIu^|;PJ0&XeQu@!!_JK z_oAxiE@5I5N1^s5$EGoM7BRUSN#{t&rfvOP#L~?A?4s*jMw+ zWiP9ecD(l@CG}`)<@N3aTx2XtWGY96w5cZ)r*)Y7)M1bj>J;Qvk~)Lm=*UB6((vhH z`1gId>AdD{X&$ROTFUw?Y{>AE+8+Y_E!E=j1O~{8)V`JZhe&VU@SvKLd^y?l`h5)T zHEvNl=w5=x2Uv9G;8tEfRR6)b&il36BYktpW5<|NbTs>e&@!#es3o>uDd+ zN7rVfw;gW!I@!FNzJ_A+{`1HC684nMH`D|K0fqDHKy16g?g~<2kwF6bovn_H&s%n_ zCc&u1MWS9Mw5AIw-~iF@wJSqasD>tn{UKEYoyt9}2>6K5 zwx$Ro=qwpXeI|~Y_~f3ZH0BECd5%w2-w)vE^lVJ-^Q}3N*}X$xI+*(Nx>a-?DmO^Q z@r*vGt2J_|FYX?QR|;XqVu_OQSRLzX6sj0_zg=_qmmPqbKN%`Ka8_zui zvkQWS{Y(>uigK&CBYyMZl3xlT_&Okvpe4A>8knfGa$X0AoxGWEuZUsuqJxk&g+&90 zT$>kH+|RCtvA_a_+q9^bgaXKctLSPQL~-OHGn)=|4e7h2Cv)ke7%**$EGz8UY&AfE z$buIn7T+Qjk=S#7?+6w3U2YEYw~veMFv+2z1?%SpYOvIVnvT;3qcL)hdF#Ks(CSL6 zMbM+(mJ!Sc%9iEgukN@%=)RS8dVkMX%C89#@co5oH<2|QRnyzrUG|%altyQ-hqqVw zFu|oZPL^HWs&6EU)qy5BbhIqqQH7`GV6)3d8VnH=82_hCNHcby_UE?fT*@D({c2U1 z7z0l)F6Ed|9>Y|HtyF@o7t;o+X@f$35URzSbeO-PU1 zH>AS$p{ZD`ltP*@HJv4QK+y5_U`j?~zGKlBU#+Qy50|oxW6Y}?*>A=m?VTj$*fHf) zvokyoIfIAbYT&9Fh$v{A(G~Ieg_u#or?FYV2^O<|Mv9ojyvf%SevyX7o>ZMYnj*N5 zCCA3IHmHUk6=M)gfcL>GTqd}#xNU&>VDJp}JXevNdT%UCp|XUC$#YI{z3xC+vH}_Z zd$E7S5Yibn@Nf|Bbafu8*JP{~PCPCl6y{kQa|6Oug?sDUpGyT3lrzC$%zE4*0)fk9`7ShZM4? zrX~dAc254p=YE6%-=$R!%>5k<)-Z>DrU~nm)2#GQREGXZ_AGdv07mZ~%PV5EFR?Ql z>y}FoN9dNS25%VF{9HyoWHm?0jW3~qnrL zN5Fh$0Sw(9{??QF-1+i@O@hV+qC(2Ku#DYiX8xC6ejDFyw%{Quh@JV;LkmL;=v_`z z!S8#U_%41`tA_%%c8KC7ZT`{nioZ=A>s`)URUwdzz&3ye=o^*c>6hV|5Hr3q@A15Z zin6r%c(Q!E_HAh_G)@&?J2)VbijF5+9Sz*aWV>DZ9yHpB(lK%rpI-R7a=eqywKlg2 z2NtmXg?W{-;L`14kMqlguU2rpFUXdg5XNAB<-6KL(w^Eh5)>|HaZgq}hX&lf8~&!k zgzgivK0&0euhB&L%OYeX;f{Iw3qMKE-XFRo`yOT4P6Tx3$*=S~t7o-lzBqckFPOAw z^_>@bamZgrE9?+eDN%x>_3OH*_}}|lQ2O>miV3T6xPCzjXLaqU#F2W(60SLQiJ?s8 zY!(DVp)7y-i__|}auYql@9mbA4@w9f?>r^}eH!fR_T&EF;Ke zjIv8hFPSMF0Cjt`{Pu)Z!DhuHkzA|GO>B$nS29KL<%@aEV{*}J+#2>qt4r5lyp`WW@MDQN5xn^R7s3qhhhBQqH;ruVcx?CJLZ zaDd_Rh7O+6%8<2NwI3atRLk|ZdcB6`7c=*~8a!mwH1fkE*Y0ql_q9JLFXVNfKaL5; z)yLz$4(SQ|B?gaGjH^0;5D3f|G-L%}s3N=-~UsXV6-N<^MRnz3yoSgJrw)N6L0ytPt} zgH8pkI@I&?>?+>2p%QeSzo^#@P5y-{m(4rbfEtwlHnB}Q%s=ux(?$8tLp?t`{V#8^ zr#9aB9dBg9$F!lAThE4`$L+~QEDpm?hoq!r$ot2@=(pki?zC!z^XVZe849hOSmj)I zI@Z>uIdMD)%1K}9Wglr>L-obcU^?HUzi%$<3JT6^`^wz!+q2|FuLxTg zH0WcVcf6c`qpym_o$H(sUhJvSt ztLEaLhr@aaZte^h*PGKDCsg^|>#U_|`_KOgmBD>QjQU?TJL6rp)(aSL346WxgxT#rDy#n`i2+C4V@sVKjR?XZTWn4{$S!y>GruRgb) z61>eAgM2m@)BpFTZR#=M7fq+`+GevRDn9WMbMJTpE}EgQNwJiQlGT^T;$Az!32WP z<4`!#&d$Jh2cFmDs=b=Zqv4{m*Kjfr3P=p1%)qXE2O&>&;-<|Nvmc?FI2B)0LW!I; zh=VAR9XqJ)Apmj-1zIG{Z=0Qva{ivGO55iR;@NOmbg^MVSVRvT7JsH$1yDN0tR)e0&Bd*1rYZLe z8L8@D0H`{KKWxI;6Ya|v`KCsK`D8L^$Jkb-S2nZ7_JT2_9YP`$olbuss5upKz2 zffEP6gn-aNU$l?@Oe2OneCNZ{lKV_5QX(I~$P(J%b-VbFdNCy3t)O^v^8WUlwm*7$iIwbUYK)$J3= zh0Q#|iy7~KPyzGoi|a!@@0Vgv*4XLMW%8trVaO)WXsn_NUev`vi(U)58h5UxwHr@4 ziZ9h81HxVla>F8-Oc7qwV{?L|e;_dPU1naXNqoNI{sT=f;KJHT=3zhxOl>8-treXb z(p{POAbyH#5iJOTX>qxBwYX`B+h06^`SIE0y%digBtREX-XvncPc77vYo|Usth?63Uq);k)(t zhre&nHA+MvmNW@lgCca{`I=i{eQ$D^;15gKl@R_U*!$n8(AtM28EmG-5RACSWi-|7 zkRZF~Gp((qZymJwzSI+X;n`#;B2 zaAepQ5^&LVN^JIW3?F}aS%ocM4g$bSg> z(F}Lb>DB>eY%KD0srQNDo$Nz##iD@=2!eM2@nHWuj1HSm3}Wj1>kfL>bUcVV@IUc) z5M=%D`JfAICLqWA-@AYg;{nCi|8?(w^4tG)Zzy7r)PHpm776`_q5tQ?|Jm?&Bf5a# z9E+No!U1710-adik;#?OV@J$G%_Y$GgZJ8dF$oC?bMsPHQV@{8z3KCg0rQ^*`V|1O zz)bd>y>&feaWdB0+9Jj(-6hxJ2?g!X7rP9|!U}Al_icz1FO2bJ;G;2$E`)IV8~3BZ zI^;Djt4l?xc&Sz3q9Jc2V%X{7_Fj+4yn>D54K1stuyD?R&DG^EetcBT zS@1%c=q?yUipVG6$xj-&4UbLayZD(GCaFc*wp+2eaI)Ql2( z4R7a{I!v7WP0&=AWj?zbxr9%HIUrB`DP3yizaYt@oFaXy>{~p74Z^(B{0l%%WG0?o zkQaj01c^y}$UWxI(|*q`^6&p7=S#?7i>zP22RgAfNLC;XZr7$)Rw5e7|A~spc+C0g zy8%r!CECePkYsfGWBfw=y-Nf4PeyWtiW(cwwL#ZdK!V7BYU7V`)&KZUcuwMMdBJw2 zf&u?aupR?H+7JS!cY|9oX6Az9tJYt_Mh_&+aqrku#-g_TKWoR?zk;@_n)h_Rwthbd zhR!ZwyFBataBavN^iv8axzBT)a!o1WN^*1i&Rsi*55o7HeP zzEsGK$Yc@qd4DJuHa$HZ|sa z@r>Up3a!6j0~C8cCplT9Cvc@&{4EA*KlM+dKDfpK{Bk_`U();~fL#Cd?TA`?dkeJj40%+DYxkD$iqm220Q(OphA&@2;8# zyNr}AezjFI5E5K&7qqpXYD2o+4<_z>aH_}owLNde3pet$Ghj#Zw)$1Rq{bn)v8LMc zC?s@j>ra07y^%<|n)60v&$83+Z>k-<`5A<-B7G+9fxSkgq-VsNf0^003Y`uoj zJFX*9!3Nuhm6$i%b}=`HpBvA|Vacyktp&_kqOkd;FwjXyE2h2L=$$k(Nt24DjJ`$WY#$hYn3i-9-;_C&6m|J>fmF z6v0LW7zjGB+Ot2Rq8F4&y4|l3c92Lp|7?&Eqz(^1BzIeTf<=O29Eyw2<<_ukbDs?~ ztR?fhF|-CF)&^0Y;*s70g%sc*zsmLh4=%vKB#Hi^qHW4KkwBR#kG}PBOi%|1Be2uYUis(W9HS zP5b(`rV71wNNt%uBFEu@hZ4;z6{O5LO1{6_+#Wmwr@xf(ZnDmQ`)oS*cTaP@G``vq zlp{nCV#0dKr0jh?T6^<`cH;L=ESn|l*>vh>F;~{`7TncE;zag)%N|IquE8N4H4pJ# zzp0(Y{FW`~L}V>DRuj)DsK+T-N1I1RX7AIo%40seL6KObsy(Z>0cMa#Ra;Me%1PJv z1D$`RD&HjT7rI18f%!k=)U}@qoga$MdQZ_yPEOal7Of@~$^)yXw(Hee&^N~Qpdep; z?hh>DO<<#G%cy1#xJFrJP4kLNYr{_J4%nfrl^snoh_7a12q=7v0qr3t@*=;5_jMf2 z)qA_&_wRZh6?}-jk5zh~OmCv=6WM=%EY(KDV|3@0LiO4)I3yG101*O(TbS}h z6*~SSXpxZu31mV`;CzuXydSPXtha)CUo`D7l_TFywQAuQ?|%_UK}KiN6~Ox?7#|XM zV9rJ04f*gRBKV4cl+RriGZG(UmTM!rwcL^27rB9zNzWV^puIy6gZ& z6p-wo{J!@QOJEN-S5r3zZAq*RtCJhUH0@|FKu;SYdmegvX1e7&1Q_w;C265 zyEA=)@VJ7)JvQRrRCY>C!ZTStR^ubtng`grkO)dl$Q7X{{G+$`2Sejv-3g?KZ& zENH~qaZh8tUPS2~Y=ml$pip7=2Y&b@8kSA2HB#EEK8^HmgyG`Qj*WK`BJJ#NnrGub zVrq0h-)3(4+~3|3_J+SF9UTYYC&Pk)XnXP4HIt#@siAY9JZ#UvTDn|M)BA0B_`IF@ zrOM_;Kiv$(cvvdz1v35HagO?6vofRW?lFFM)ED40p?oLfX|=zxY*hshkd2~>wak@>p_G1 zK95o4Qh28yonn*^rWKX0U*pf>r-K)8mA{B)KLWCn79A)vXoJ;z9>6FK_-A9v)smUSpy2 zVa@wHzL75|G{IN=_;9C2Y417`NN046LqM7a)#zXO*PcI9>2a0q5cISK&d5bc`#v_b z39LR|I1p!&flk|1CA0CK6*tdYY`|1+Klw6=?8^7xJ>4E#@g2c!y&TiRs+_uAq6 z*$WTzwvDfO^^+tx$Mh)+v>;5NO>?G-tf;I!?Hr$*OCk!d2afQ+DD#gWOlCBETz>kj z7Yiw*dN!8uovBP)x`>2b8|Fgsv$)`J6r&0Q8Q!2pkCfV+xWho@6~n_n(7%5Ds?(mu z%6Dy|vf0WzRi2&?@_^iJ-lyjxnX#iWKQ;Zc2uJZklcE8RKndTcDeeC)bldsAg>Htq zQS#0XE_t}oC9%j^f%h)XE-nVsma(xS1V=BewXsuv)-8Jpz8I}r0!{C~y6}$zlRn#+ z?monww&-8BGk2{Xf<0?x_`}*gKrZW_5&C{OXg{O$m0bvQ_Awe7nmI7r`)FT?U&?rZ z@cUJOA|oiemPdSh7aJ7He0*=QS^Sy87;_;gr+qxRb`Aji<`o<6n3i-xeO}aC{;*B( zzrkgFqr;8%^6jjDw@W(iALnCnar+4|l_mxYniB$~&O&YPazarY(9D*}I6E4$3rz=D zuG($US;J^J!WOm_y>uvJV*6cMG#r?fL-%c&A!zelJ`$hHw)Tq_z~-C7f?kaSM3H{X$9Ru5pzSor1Nbu znS2JG)hPUGWo^#KenWwlG5D-55q2&U@h=g+)KwAKd_!}aHplu15qTn z2g~3(xJ!Z)Ah^5x5ZpDvEqL(Y4#8c5`=B9saG1f}d7a<=Zq=<<->du2J4F>eGu@}V zPoL9gpSAYh>*SQ%TtU3nz%sYh6V=3z+p&$pdfxSNsV^P=l59d|Dw@vYF!<}v68HS8 zSi?%>fT;)nJ5-Pdu7Nk_c)NSU!7y?XipYA>(TG!aent|CH?vG zS0p3L(urK+Hf^8xtqiC@dL#F6643Kc2K8)p3YQNJ*@)#_Lv5a5$F;>}OPf?|v}uc1 zI%#q6?9K;`-}|(_=JSyTpq82pXUo&E&es_M#V6An$Wj-q1Y%ZSySN9jyk2ta@wu#< z$WmR0nRb6c)>Ggf_R4FPo%q&BcUENkQJ4WemUzRsoKYyvbJIrkD()hfjstV(%yF5hq) zih3M3O$}b0tWTY%;mkiSx4Khk?#gtC##-BycDUX50s;^qHVsQlaz2A%s552+3Z@BS z7(yZ7vfpr+qlphJtVmo+PYZJkGy5>{q_5ds)e9^yGuiwfN?{gc$w|EIFLEZ=jmXQ| zRVt9^*hpk6UjbQ()G@86#EA5tD^ROWOI+`AsAtyMCs~dhj|BEkbdg{FWPELwy0;$X6 zE@kP|?XSZ3D~k*|kd^1^(Y3a(vc|(wWbzJ8o#t$6cM(e}nCFT$h(FENGJ=pbjcoV% zk5<5;HE(#k=Je&U+p7R&(?S*$>iKOESm{0)aj?Sh;v34p?)U|nhn;_;_wrKpz0+Mp zR8>@R^^ww?IXfOoN~`N?Sbi_>9gd-;*ebYmhF8%^H@Uj0td*Zf-RGk58oo}xY{rbm z5>uq|ThE=NYiZ^nB?Y-4rLK|#ESKK=WyV`8k~F06NE=0CJXKkyH~ko43N{c3vjcMM zcLv`UE>@Q3c3a{sf5``_Ip620BlFB!U0Y(Dv)s-D_K@RfItC$omCYI(5NyeUAVGiGJ z%X~2YG|S`9KquoLX*^EOFEzP~^r-z&j&-EXTz` z84DK_aE$kP5A>G?8%ReJz?2O`W~+bu2Bef%&Wqf1=OLzA3sk!k?&Mx5{=&X3CqlCsK<9MDqShVmYZ^%7)Nrp61J@I;2{ z{yX#HHu!TUw z;=#L}@6aHh#rr#jIMYPK=pwD~d6}YtczKJfr_5)dybdyu4gP6J^~Q2eMLQYDirRS> z6YX7}F>+x|+jU_Ys@bqyTHql*dp|yCVc|jw)Z`2uz*xK(T3lQV^}+Z$p^5~|KvJZ1 z1PK^MHox~kHMycs5k<(su(B z2c12#i#{~-52~ZKyL(XmLCt4u4?)jeKx_^5)0y8v^01#M&eD4w^ZLaOHa4%0kFP8Y zpi|tbe0ky_#*8Ma<_dxVx*qFMRuIsS(ul*W6)t_OUCGW8s0{~-Sg+aKmk)qRiDU|x zVXuv5)Ofywo`-V|gz)o&cDV`_5rVfmE8(%-EYhpL=VGa-wKA?YFa70#|?dvcJyB0=KAct{^FAS)msXounyI)6Vn*~Y>^j1 zl&GkvU@-VrPDx4WJyy>}2HIShp`_th;_NoreBozTI^x1YDTP*G*!3EQX9B)DF%F{o zJ-FAOwOve2Zxn<<(tpK~yLJiJACfGG{l}L|Umv@h230q2e-ajCus7a)@X>7Ytl67b zayjc};EhZFq_3t`*}7Vlp=^qSYqo01a$I0JGqF1Al!bY1_T- zN|#Q8Z>;+1{v9Z+x3-1hpu-}#BaB&7Qdr|!xmS4+r|a& z!^Nu0N3pVc@`ZJ5Ce++qCwe6%EUrOW%96mZq?M}_{8(b|a|cf@e6-T^=IAsrnfik}@|nHRWz^WJC!_Y6(Kji&tVOYABt{3|DS!)f*Sm(_MuE zC5X$ivXh0zR`h2fDr6ICx|&`iVnTsjY#gqSx#xhqU_71O5MHLBe*s)We~$%CkuqLU zd4PfZ`2D*mxz*1*n?oF91=G>%lv{1;={p9C{=4H3hPz0R&ma1y*PVkkt87b$xh%5Y zlN3iq`u#j?1c9hVif!#?;#fZ7XuDWMXg5LQ9zB%R%|DDQl&EB8#7+8{83G15%DpL- zIU&LpICvd(GjKXv>nGPFk8-NdN@?GipU(ON-s1k^*_HH zr;#p_zI&EjUY-=D#nftfgcQ4#3EQtS)drh{XWjX2=T&hCyhLKI?5gb^w(aVfLs@z)16Z>;j_ir+oyEYz7r{7?`&(4c@G`VNfI z^R5sUbEryg#N5pl2KZD0>n4}-@xW{Tf&w2qOBJ#>b2K}J~)a;&bkp_kn zp@1+0sulYq>`*|sgg~x4d5H#e>jteci?UxIy&8Xq0lxbr}t?uT?&RNq}A)rp2|I|qk*=N^q zd)#ai_xG^?3FNimNSr0pMI^sWix&Eh9FtHD#D;CmqY3){Su43-i@6_K`~ENIlq*sI z`)DYPGnJVj@`ZR6l99dvOa zPy>5B-u_)H1(PU)8;`tSZ>yEp1fQ?7I!i$rPkb3bYt8#kiE{#kBXm zgx6y~{eAyrjn>)T=%nSR44g0ERS?iZrcy=0vo1PNKhu(%ey5%-%Q0cO1Kwog60t2o zSf`|@kkY)$c`M%B7Vqln{ef?dW=C5=v*#YH)O7W6{4l)%pNyjOu^KKKyWFy<>}#aG zQ6{>eFDv14)_!DWA!jJ!Un{BF<}Ww22C=t3MJz+^hpzJ=4$Jm-lRh`ARm_oO$*U+v zZA?`y%}=|jcLa<6=kf{kl`vw`|wwx_mFTXSm-3dlQHUEjvab&Dsh> zqgh+ok?|=Wih6};MWCY*SAIkSMZE&j2D9(ph6V^(%f+Y9v5^0^0nY9FU+2bD6#Y#urUK-F zG2<|XnPB2ErkI z;vD+g>_B^E19I5kXGz3A2YDF%r&@IP)_hG9UbAsVpN+ZD4j!O^NthxX+|ZSTJZ>7} zJ0Ck8NL#EabNeArb$3Dbp3+;vRf1t*U)LBo@y#fEK!AK|mB(npKbZr}XN@nBh-gzF z_-XQm$;rtbWysH--S|8%c{2EF3V&;%@)y>#sT1Bt&G#D)>pidI3pNVl!6ff}{Ji=! zQDyj$>?NHL`1Myf!r<=s;P^2zRP^q#qlMyezxwzn&SfDY`@yQ!h8H{Ta^0}=td-l9 zOe{y9p!Oc-e?JaN2Z5^QPd5*Jr7tOjYdsH4sDTWip}qTFS4UL(uL45*aO5PIM;5Yc zn5)gqD;)8w)|^ z5uJ+Pl|X@_CMtR*s=o}F95iA(Tyf7|G{eXyxj&YzDLBZg!o0b?b>brpF@AX#-+6HR za4|g)lc=@rOXuu}HE(DREo*VQP|?;uW_x4%K__jiZh*rN_6}0vPH2K=> zo15$RHv@5JyXy`X6R3qd|7J$Coy`ruUAQ2~Qmf3!Z1DK-waFd-T(d@GFro6MQJt~F zz?r@C*v2(aLs8G#NPa5UT=rLtJ9neT=GLYrZ(VBhRM+fe`6}5gXoabU1>#2+t1zI?F)W4&JfM8C3af96Kt?I;X}uE zB*I|dyhr@{W5{3J$pXqF1@e}nze*V5dJkx40}lq8VEuYknNm|CxHLD{bUVLdzJ(*o zyXYFnqU{xk5(o9gs;5`5S-e&L0yWyzk*HI9!lJja?a*FcpTJYEbPk@-)JUvc#Zvzjx3CP3-j?}Yn-o; zcikiVVAd9|$kMExy~!PhGo@)a-v$;=v-#v-^OQFJ=vHr86RV-yt-@KKNRIawLYUi}N8TtDqG{Xp@ zT$`m);U1-uWxRHi?IrVYWkBsZ}Qm7hy1X zT5jsk*pO7WPi~49oRcI<8y?T3FSoYhO!Gv3dcU<#!xS&>Az^0I>bN};xz)H3O_0S! z?XLeM_GMr}kC!@nwN6}E)<%@FOic1>MOaV$cl@Kok6Ia9bIAlgCrA2NdN$XyOSO_- zHy;g2dQW@rnB-X(YT98LLj$dXSeexhW+)DJFk|p7X3be-`Z@u9amw$ST*fS~>6RDM z&n5CzoEF`;^q3Vj#^P|68CjdCvND@ZKD>?%QwvOP5GFh;-LZ>7_=;f_|2|mS^C?7E ze!X~UHm6aq{IgrjxkSE79;TN<{|=0*&Pb2=(gs%0OFIn|@c|L(SfxHEdXitzU?S5^dCG@Ikl z?*m1L^36d4x$65Fs$V^ zmGmkufS+5^K`$Oyy=3aG$qz1(Kp}&dV+_V7HRwJ{buJ`f1I}Z5w`uXZZN+>^-@?L* zJ{nZJ-i7eL6XIx9a2<1|l?8*dtm40;Cqq+^?bVYG)_3{v0b`p?cIr}|c{{FpT3*6J zVT^1fahGkt2xOpDt}>yaS>#$)+|kjHNmv@=f<8hh)lXki08b7KOS9qja@3L!qr#M< z+CYwWolBPogmf~l2U;D-%3F5UQh48@Ti}EN&%wUkmOxRNPw?avuR2b}*H=G1GzF>a zSbT)Ki_g4{Xw-rOez;OHDyVOd@-dT4OrjreU3kDt3zQ^WM+ z*l{=Gyi;Skza{@bSPp05Q9%Js*YpJeK$pX2Z`cAr8TI^?bF&35BZzsGfkdjV_a2=|g^DOQzVfJ!NBE==v}+V4KW$5gJ;EOUv2+I;ru_8G0-3 z9pR>?$@3b_8!Y%m`}jxN_IWf3nI<+Ep*^Liy+9kIjlW;wqN`e~jFtZlC+^dnF#*H9 zw-bXQ31z`;ArH6&A=hC&73UI>Z;6%H1v9iOu{oqf-JO8Th>Ua={p>Xy=C)b9$dA`P z*J+o8O%sRdy{t-qbL*y{{Wz4q{?*ly1B`S1dB}?GyEm&gi&Sm%S!J?}$oEwW5IGAV z%zIMO%!YskH-zdv?ar`_?7YN^Q&yc8i{MH+s{zx?|6;Onm{LwWC})n9iP^o0_foOa zqdwZSyc4ngB%4O~R%pntYr>kurS03yVAh`TR-8>|!p#MVb2pbRaX3f$j!n;;p}e}( z+)-a>TET@y!V%Sy2&jvVO~bt1yZm=ImSe%>5OEnUzHo|lOKA;3px1}*?u5{gx0Y2i zksA&DmuB6CHSkuPi+)PXf+O`!{JIzUl@aT>K>v~v%0Y1bMGpKnDmAAkEn&t*B17-S zvO`7i?Uxlb$J^-MjT1e&v#-cDhg>*ulomagpmwE0Aqwuy$G;Sk0$}imuKgrLvQ%Vv zSbpi=2SQjTESnXWq_&oAD+h%QD(FZK-(o&{FA5~h?x(Z9kBAP(S-+JjIF%i*ZTkge zqS!uv_2juwUoLU9Z%^~>yd^M<3wq|($#iq`qDYjL?|?8NzJo)OKRn8d%JJbvWx^gx zA2M)N1Op!=DM`k^M3z+NXbZR!tzv=xVq<-+SW26;=U#Rp7z_DtUjRgts)5T^kH3`$ zbeV1XvQJM}T{e=>B7CY$TVA)y_tBchePvrs9fsXpz1bpSrBR-%Xsqh|7>KKYWUV+} zyCq+_W82%2>D)~IasK#L+kEwWF-3WJOXNm88Z$T(8kjWVch1#VKHfj>- z5}Sk^y~FuD#%qeU^AS+It?f+;fv%B1S=3l)gC=ZgVHqjhFWcih{E(qfi=JQQqj_}% zb#+3I-XMXWY|%jQu5tTn&+C z<~ll$RH%9);z7l98HQ2VF!k)Nig^9Eoubpyy*TB1{JfD11JDP;2q|3zThP9WaqQ}k zxFVvd@m_~{h#|qsxm&gszx=YIK%akQ$gByZuTRWTj*E|V-`P%~6Bd^K=;OK6a^T2x zA<#ZA&5W;N{|QO2#yDYOZ<49plbUC8m~t_aVE{N*D(}J7yePZntosGqlfl)SO*2MPg3X}xW$Z8e z`((UReru2p54XOpHbHQxD<0zAy?7n9&??Nk#%8Ts&&5A@P*1Ho*u2o%lI5*Sym$m} zp87E)LH#C8zU8u2IM`LELXz_0%%x~(w@c==NE(ikZ;IO?2nDGUu{{I8 zRv-op|DJbj$B)i1^ukf`1ek0j?uyXOuecGKIRqR!>#Of}(>q@p7u>_+a1aT2FuQ7I!M3Sdg;^Z)c z7b5w5Dl@B!@C~;*Nv)xL@%J!faN^_bE#r>f>OxusK_v(H&+lvNsRmb~p}gMm$NAYDIatX?{)2QEpaR%&`hQ~yG*^gvWe|IOm z3}IPmqvto1h@rdHb?yJ_;raB%O~{BSWMqpZYMJ?j=*v(jY{N0MP8JDZi)(`qcv7RK zaK$Ys0%793a_~xWVRcAM6#7Ym!gl)6GDD|FK|~@`LQuGjszzA~Oy-!&{F7m!;LV)~ zODiDet8&>p@U|3*<7JnU_hGN=8+AtF0%VnOTZ~pno)0 zG$qOX?^jR1x?T^24m6dl`3e=mMU0S>7gn8kcjG8 zwMCD-1i|nYK@vvRj4G=)@?-Md5|yAlKnSbr^LIhW)@ea^TU*<|C8O=L|6VeRpF>Ms zMQ_(YWpu%`l_N6ytv(Aa{&(s}H22?n#}AM{7kYP=jo>;$eY%vY(B2}dDX3aPtr9ka;Q?UQ!EZ)Mh~jMihJuW0oX9-42jEzNI8K-ywK?f8Ba7okaeY0X3p4zw}vpGp{j zWL?+&=}wYYhKy+uY+c8w2stl%o$a*+;bvR22t7?)E4-cFuSIg~Q$f*Wj(Z(0QyGCr zn6#~FbwR)x%ar_Fx==VNE5FXZcgE>pH_oO#mFe3{DVj=yT1rNcW)&#!Wi4X4GuDL+ zL{1>bj9pzWjQO*iMNca{tiHzklKfa}9dJkLgXHTKP_mo(#uYE*% z*uKCL{1@v-G_rcuzKs}-NON4`gpB{M2&KCqh;8l9r%fM`?4Gsj>uVsY&FO{%kk&G4 zFnvAus|@hAV9WZ4P)eA!o^G6Y=&=&A%k^k1E6;&etdB6uT zujinj9{}91`d6r&{x+cPX4E7A1Q3IcQ4cu*)a%RWs{y8eAei!VLQ4S33G3!~ax z|M>#=l8y17o?sL)n3W30(R=w>$e@k6UE?j$WGNu*0Fvjsj-UYk1EnqGe`1XP_1*uD zBK~K;V-f%c{ZH|D1HfGWDgR4#9#r~(E=rtxU6AJio~lpiURA(w?24AD{@Vcz%Zh(B zNO1x}wV(-@$Oig1>hR*qOann~C8YGlQ2$PA1d}&Bq|~6WyYb0)+QDh@)l)>shUoHb z=L#!%DQc8l{n5kq4TbqK`JN3>QTUQM*k(Yc^MT z6+}@AnVM+O^(w&qAnGj<@Ff1ucS3UgQ{^P;u8+PjKp97v;7Tlp9r2n;&U}r%T;8m! z9ffPxivH^HkBhU*uP{iNt>K#^vz*iJ`!ccExY&EJj*I1rj8X-2!# z+4zM`=ZbFC!rgG>i#5oD`G6h8UHsv?u&Bp_#i@VWZTUh4tq`2~X%iMI!Zhjft%^gy z98sIDicH3I(db-@N!q4Ywnwe~UgGptA=O&7Z&M|KEPliLfLqqjX7Q|~aKjsel%;vz zr4dn7@ zq@<~YJ6wEbFP(#9=T^`!@KIy7<7%T(fWxo3>98x*vW#0NKDcC>v%!2ke#x@aRgL0d z^Sb$TG3~d5ypN>(!tGAu7;0|6qJhr=mG-u%AN%SFLgipZ)6b3Pey7zf|60i#2&dMT zGyi=O<%Zq7tI*vc*wR@?5@E?9Hj zdG#rCk1ZchYwH7jnSfEoW&sRV(D}C;6=_23$#r@!XEN+bPKwF;kPmG&t+yT@G_R9W zKXCYYEd>f&%AGqWWbl8LZ>)VnyuTlwg_I{Mi7UHZ2ClXb-A&6y2HDx_!rE_EW(Iyc zcryg(eEhUOvT{N4u&;WdjrT&Wu!M|Z+?ZJUuMRt zj??F(aNgCECxpZFm#{FB*pA13QNbBS=wd2;L2~@k{?$tH?9(Y`S|S3;7{Yuak_WW9wK4ZMLK3Lfz! zcpbz9*MPRvIMmJCFLW?yEJbR?`y4tx@3!-_R;7dy0?o6i=D2gP^ensca^WERX(uM}u5EG#A9l2Vf2J$_ zjC1u*;pMvybXnm2)X(>iJZc3-DlojyuZr^`G5kWqcE60A`?F%g>u=+oH5ITMG-@`v zF1(L2TmQsu4!)BxBY=%v4|&yNVk>Bd-f=zrZRZ?75SW*Sg~`)K3|&9QG=sspduzGL ztL<3{-mVV~^OX*4=4+?Bxbx#t3;J2QQw4e)qTS;9qavKV4`9<4OzaY>#9R2$0n^jR zY;x+t!;x%D!xZMH*vwQL5$s8q`l<6)LQ#Ib?+w!gU;mxMgVwn+ENop}Uo(60D#>nS z)s6X-3XHmwlJd0e)f`eNJ+Zu0-W{{6P<8m7LP7%m`Xm!h7)#pO;xu4)aIpPpl~`^Y zrg0WdZ*j})T_C`^FF2d8cQca0x&O{Hr?#W8fpNN!*DoDvnA7NGHJGyt)cbn^{iH)sX1c*%#CQD;smu#3T7(T$4`Ve)W3EoH~pZBE1@5j#S za=obXRdZ_fF6lJ18IJPR9$;NnFoY{gsOfuDyE>VqErgQ9THw3&+TT2ME{G7g`qViL zbROLu&%hHeem!)cVPhMT(x=>DWkXU)c14YV=M_+mWJ-$^GPETZ{NiQ@gF@iXmEwoT z=8+Us>6W1PPaP8?8{@wYsLu-4U*4v~zPwRc?o-_=+)d@Y&h+x7lcXE_v9L7au8(>Q zwg?dvD2`tpoC{C8+t3+AY;$i{8?F1Vn$!Zqh7U{ z&mPD$8<|>g=m|;9aDc;ku(6lRo8}qRMGM`|J8Aqz@AqoP7i@*6VJ$Nf%yB0S^a9k@p)^=LGP9==dY5oL6ee#0 z2A_;>$=;_IMWg{j+>BLiG)BK8_I##R@8KB1bYt+nQ0DY3QiZg58wl+(U=V*~PQ*BvIxu#XgRkn9$L+pm=1t4!LmO&iOi+Ye}29 zqQoy-{|C9P5?F2Q{)0A;sL$lBWg|-jwyL{jO1O_X81pUF`iO)uQ;T4${LJONztB^v zE%1D-yVNgNrM62Np4l>pdQo5Ld8*1;YBq+;)8_KsxmgyC;dL5#R2tu?s+I!pofkkX zE}!4kio+%o?n!ZhoZ{xr9vSF%LOol+Ex(uJNH8@r({SipPW?JOH5Y#S+aZb?6;&Og z(_oZVcjcN^ZS&+!H>S8h7)A)po&S^H@CteL_E2pzvr}VbqO$Qg-)U>Vt`7~oBw&oF zGV}dLr+?;9rsmVWZQ{2!3zw?MY67T?e94jcpx{fB?cWh?8TarI9!^aXqFSSq;p;9x zMX;B`;V&5K0=V(s$~w_kd9e>uL}-4gDBtDxWv2D8pD1ZhG(=>S6*nIWlXt)QoHmT= z6ba|H7syL3lLwFx@R9p75L*-gB!zq#G9#gs#ZeX$>z;3Gd*|KRFjZd8$&HusEinxa zStsr&sbUp$XDbufDq*pXDSLiU?|bLEw@UUmN@UH&=0`#L} zpZ3)kEvgn=?oM}Fugsnf$sP^;*$qdpXlxL>=WW88B0h#93{(E6qiGD4mh{RK0cGUh zI_?iv+q~I7uf>qPwUCcHE;+jwtm1!G11k@XeSw$7@9ljsnj5Jj>811az@6|+b~T5} z$xZzLzRQ*HXU;i(f5vl`2Nn0j+T+8Gy&fxy9^p!v(Bp?sp-#Uu>d_uNLj*O?AmoD$ zcFS>O`Bv&QF^;29lGDK8qFcUAI)`)CiTWY#q zzFhg8Cw-64W<}T;O5XO|(>k(PWbGUkfQ+sI-vIPbU_pDAY)vMS`fF1EUZ^Sr%xh=J z+2c5sO+X=9d;Is6W$adIVGoQ?N_XZ_zoSpm*| zaWr=S%lOpwxyW(C!4Y|E!EG<$LslP)Cg!4BlV`dhnz(n&ngPTKGGc zpC5L3C6}M_Ide;#d5`RhA00o{hinf>OMgA9(qn;+s=X2V`HfzO>=$Ix<@(dX9U8_@ z_^+8Hz3EQ|*9lQBcS2GvF&Md7iXvcPb;tYD;H7aV-#^`bjDRk1nPr)kp|a;)spRGP zA7#H2fnZVdJ9-H)wsoEGs(78IZCZG@{>ro&hwGJ(D+qV;#aYxC)966#l9N6kgWHgM z(Q9)R@*XycVS4SIO5Y@!#wm4S{l*J*L+d7NrrhTeW|e}~PyaX0=&7g#6@S_L>a)7G z+%2xKf2}SPQ(A9aq`0RN%@q@~HVnpNa@-xEHFRho*X|_)|nzANGcm zJV{)%gQJ~OOB()K6~MYH6d|v>)tS1AzxXGEHa#gJeMDym`@v+c|X;r^(+OS>0aqVMTk_g|JWIzwT< z>eA+fUZgl#YbMpi@kkU^-PzP>!V!nPD7_QBi;QzRoJ8aSw8(BZJB*TBaO2-(=u~-; zTcKR~|6~Tc7{d2P67WcMFUYq!(Grx~^L|z4MT$HOi>IdkD&HZT%M>&a<@Zc)(G)sX zE`nwHY@arl+7q)&NC^2V|Mn+aIX27aRdY8sbmR87*mg>4XU>*4*FHL8XVE1R8zcO5 zUpt7`VXoa))OecOam>D_`%2WBqtE_hvL_=uWw!R)4*aXo<)eK92RTKIAKMX2zWf3g z$+K7KA$3)M@rfA*R+sM97aOzX)n7%(ta{z)e0fSBmi_RCaAjn&Z#1J6JyA*eV6s*L ztlknIX2zhqz0+|y)Y^&AYZv+?mZ@M^Pv20UeYlose#WVpx?yb=91LG52IfHl#Y(%-pH&D77{;hQ?k_^F*LB+xtkSqNFIVnp()L zrewFbV z!oxgDH}Q1|pELEjlGGMlxp^e$2@ae}B=nm7Y+6~Zt0=9}C(VQkBBK;kHo~wY`h=$3 z(!vMJOPWnn2;y=^(O#4vX~ZKz7M=)`+0+>GqesdZYZ@i@r` zVG>JgUheH6ajGUmLE&v~$} zxNxUSjh8CyL^kH|@+=u(vn~}-pTc2d@@>&oRQ9{i)ebC*h{bn^K%rj0D?Iu`E#iGW zrkExmQ<>GdHEVz7Es%LqWO?|yGr9f>f6YGUVimSvMtv=Pb}9>?tDq zNiDH1#Ga2daCOTlCj85~^L!sT7I;_}r{v+q&HF58I&lBy+So{|0T@H_Rde}TM;a9%cE|T`|xVxQk zD7dT(jwrIcf806sx5)O`x!}R|ui=2M$wBPC+pkjOCXxv@9?m~aK0VGtPv5BZRrvCV z-xoSlvxthAE+$lH53JlwJI39nu09eOJDJ44SzjNS$hD>st#2!`l6E!!Lg}R1WE#%p zq4Wjszev?}CnIPjvpw!W`KiY@Yg-#0)F3<+@YJ5bC^*<3wyNC0_5S09g1y9HyIODr z)*aC}lC6qw$yBktVjZuY&VMtgcE(emALKu|cGVp951rqzLRxkGL-828BXG0v)VOS9 z%fr4`Uxzm{-Y+5%k^LhG-?mpKcq9~%LubbmWM8j zS_)3TV$y7!yU!~x478B=R&r^w!g9DD#f>KBDUq)?tKWII8T@gXYcUbiLjQ~LWXx!9 zfM2N@kLu<|*>qm8ghUQ%&SlSj?s`jN0b_1qcMzlVW(XbOC>ECTafo^J(P5`k3BR#6 zV617c7DxMgN$dP%DfZ2qBz}S9$O$fb9fpi=yk-Ng(HZjDm}>41ZK=_EJ5U*oC|Wxa zxn>tM5dP~JEwFJ!VS$Csjg>mOoU09cG|?z53Zmr*-$;I1zZ$uN3T=h@J1#b1W)Bed zv3!DC4o)O)`QQG$aX+jI6^B{Q2`yL;0&~Tbvu1L8s~E?aIil#`iE8yjre}tpf6C3;!~3mT#G+y{ypF zEar~)LXfTO<4m2szl`$(pTQ_xUz|eZBu{l|A@HFP;=k7DTc#i(!EvDqX}eBD#9!%` zzDv)#nJRnm5dmRr_Xj}`9@R|S=c62XWsJ7i#e`oy-PbId94|k%^FeLxVAwS!<+qg* z?UU0=8{YVyFYJ*@%5twI%=Wo(6n6zYlqs>|=dIX8|IC`&&ewZY+9+gfY*L5K{}g@? zNnCugCwAB*t-A6zLCCYmtL5-oZc2mPql48E5zxLYpAL>l+mLA9XKx`SG zZLtEv&AJ?-!(~Vd;l$`vmkA41Z;P87WFboZU-?)mdn4HRxw-53EC|-5X!|fc3^2pc z9mlcWp+}-^@9C!1N#vK=PMj1s*nONZg7A?RtnJ!Q=*-T50n%;VTwiUr}BQI1Q-4NGLOATQ_E zshNk8d&rrHM^7|C712nq%EFeeAVGi@mkKcFsUt{FU;f({AlQc-+Yui-B5QHuB_nGyJM4Hb{w*((zBo*bwTR zX~=u7Kb+0Yi&p#mE8h?IqI>bt!orxgupuUsmvr4ttbLv)n3*mIy}xQxMEJd{52Yqk zO<#nHuK6-?D%0Y<9{jU>B-j5!Vf;|jY2g|Pz6BGlHCbOlb@{U-+_@9&Z$PK*GIa)X z2y62940vZ;Ea-jwKG?{(|CZlrF3(=hI`tFDTi$Cy{^kF}Y+r8n^Ud{?H0PA}6Me_q z;MrByb);uHg7!unjHn4qyH*!TW zVf2qm_iYol{5Lm-WtuHM)%H-vVaTkU1x$Uub9KvcXvvc2*CP*cAr@XePl8YXvlZHw z_QDl5x^cH8lj7zTGXiPGdcVI4Dh}|E0QCgIc2bg)0S(V{%^!7j ziLk5F{*#CJQSFXmM#N|!W{0dyMD#h~3Hs`cW{Q4$rE0!#{U7#2Ws+UGi8(wx$NM`W`h? zIdyQdfAHa65HM_g^N;>3rqBYp$AK?S=ozh{2W|t@8$Iswo;(Z zUkF~DhW|PCj4cs4g>xcax?p5q z9$LM!o^SuAT@v)WG(uy*q?+RsLx;AqIl95Nm%EnfGU1(Ka(Yq;c792*)5@YU0YM%f zn(6jH_Q24=_Oiad;vQnXne>;3+)mAQ=mQgQDX^&wSvX!cvm zBVkS!&E5@1x)%)gWY!i!$$H0YefwYP_}C?iJC#2-q~&U!&kdr0de8w68@|!Z6sH>% zV*>*NxyaDPcQ0SQJiWPZK2r(Vf7nDJUfj|=g%~oh7Eh3j3B~z`Ijtp>?MRMf2C5S^ zS{)pi(!t0d10<$3q01iGS#qcR>AYy;1bBKv&g!<*fifaA9J3plSi$$!vGp>$TL$3#PkF$6;rRKzMQ@R}X4=(-g^Aayh?H=^UJy zmD`pXw4q7MXo7D1umwP^h20}Hn<$AfbI;HYr)FtoCHVM6W&Fo>Fpb5xgcKVDB5h2f zF(P(_(M`Kt?`^Y=l8yt4KHi=HR(nNZ>6nJ~xN4ynD{n^Zg>Byh@c<6mL#38)c$pgo%dez>gFsX-{{{IJ z(_S9RXadeDLZq@FBk;e-8kFHdw^$c^kkM#Q+;b2u2f!13|G~Vwj0(bhBaH+4J_s1i z|GB9yTYyvUWuwx627DwE{JaG+`tm>d^Up;`aFRVn;KwfdAfU&^0tYTFw=arJsRQ2u zO#R$T5c!Ez3o_u>(1SI?AyH9bZ>(ArlsgctzU1Vlo_bJ-417PY=p07C*{JE+cMz?_;WxbQuMdWF{M1{itrnDi zx*tv|HtcA6H{5|_^Ke=P@#Ei0fk52=DVFN8`uZ^ud7K^^B)uQzI9>XZvu`42Ii~7C z0q;y&;=E^>*H#BvW}B_Gh8J?-WS8dv#UdS+^;c>P8w3?FAH{BOP- zpnc_y>3C{9^EEgGoAtr*&I%N(1ctveiVDwW{B+`v2fSP-?0J$j^(pprKv7aa;~fgr zwRDfrQ0b$Ah)6P%EUS(!gfa=#QvEAteQ69CQ(g^z>CWBpy?gQo*F7M_q7lPGNKT#s zV%$3?qYiXR=JRuz&)VLIx^19tMQ7;glG=}n`k9~ND$>b?+yX*R*h(HHT4fIw`L;-G zBmiXTv0LR-ab1?&YTsjs4LmX!b*!S?ww{>a|}%U46v`FA=0-Hw08 zsqRCq+8)*uBZy7DB`V~yA*KOCzi*B=Elrom#H$-@v5K?{xO@Z*W`Vs~C_~J(3QL*` zN}7Y~1?H;9v)e~{J{t-9>@wTdLmqxP!``?D8`YJKv`?8pVGpy4PGoXln+x<&#%1+A z14rD15-R_O(~cDQE@1nb^0v3JM;r-iGoFySP?;(X?=w)iOBT?F{%Dv5eRtn|&bis=q_SgEfNNv7g9=acv^4!< z{+*lLK<**SGy~sK@)5@g!E98fNB$$jmbOccN~dIRHLiu%6?w$x1Xejl#|hZx;}31` zpN+Mjh5CPw%2wyFQ&EXe0Tcq{1*K_|q#)U2vAdbmKXo8UN$bDeJZzFfIV#subK*-g zp=9So+Yw<&f|Tu$rRdD5u0w(0QBu@mLgC2=W~hi5q=)ME0W(T?G@Pzg5_W0e=*v#D z*Q!O?ch5|v)pA?u=q=z7W@#vVnnh6p)PHt_tEy5`S$4uc7a=?VE`;`aZ?q zUY8lT`Dx+zew!LaK5W_PEo4}Vt| z9s0D%oeCzsU?Z5sbSd}0p({b6d2CbU9|rYu;%8~~Iw&)O#}NxIbSo2Sis`24l3NpB zIAWJD+12k?dXGLeJg|5&31|hCIQ-qQL?^GEUgihAx6Yd`p&OMy#oC^3*-V?s$P(0Z zW_Ez2Dnk+OyrXNPz&_dWmR+<^Y*{O^hVa;jY^CXj^2z8RgNFHuiS9A@ZaO(00nUt} z6LEr5JlFaz6fPiug6TIdALvcW}q>iR>Y_IVb)3y^kODDn)m`v4DZCib2eOW2M(|i)kecI2) zP?A#C@cH(4;iaZh^vj^yO8gp#3jyApq&lm+ONo^|vrNTaEQCf)cf18XEOy4>;>Q+OGaw zK_NwCh`?Dj5HT3**UO-kPP~nWF382{@X)YWlG^qkl?TRV^=(gNUiN72{ua2Fh-|5I zYAXpTFP_~muq(wDyA%qu0U)=3bZavPrl|5M(o|G*Nr|GtZOdz+Mbx4Ee4zaLcuBf6 z4?}?_Ohq$V6pB;UNTN8ue(|CNU0}RD`$9bT(dp^ zb-ffGvkI%H7^#uXD{wVE=D$^I+$LfYSm1ylTSe=_NTAx^a#aa=p?((N#%y9}NRmFiA~o~n97u<>TAuRHwG(la(>yePl${0R1q3tqz=}k@r12_|0tF z=yLsHYnwe0vkrnY+&hC2lCKNz;r3Eui_66$@qEF$ld5__+MU+y#1xyPX z>+gU02OBH;6>9+4)ZX4hN1KFJ&!|TPAjJMl3mv+f(LzlEcX@D5kAamzkqzhAig^fT zJjQ!AZD<;4I}HDcXheeYFIG@7nM~#=1vCiIUKf`KXQnE%NY4jXJ39ub0-W zJ~0UZVIO;Y*UzmuvdBsD$+_uT4%*mS{{Xe^mB7dnBC}^oArxR1f2+86PS- z*R`8)8jgt~jcx_r{o)xba$MzO&8R`Hwbprc0BBM8{G~$Oh1O(HIIB46e;=WQFLlJb zS##JDa4|)VO&e(V+mx-eb0V z2npwZFDtutku|-x-7|BLds1HnVjQAN0^Nh%5P07-N^ z3bHJY_2_(tMHOQ_!%MJ&+%pw<{VH~qlsP;u7@?Ab|8OdFxci3s?dyt~@x^@m#N;)w z$t|z0CS3WOl;@tw$;q0Cs*0J*uHoU~B(b_{JLS=hIAxSg)mj6nL(dxPK9ckg%xG7c z<8Pq+Lf}K^&-g?=+_MMqw(WLMb?RQ8vH^_g#O%uF^Z901onEGfOouUj$PsOeux*Rd z9A&E2kugJ&rYZP`nXyC+L;y$ajBN~Zk3YBHNq$Gw z?e^*(adYn$u@(A3m>*>nU62|QY6N0mB6N=TANzGp*S^QO!CRrIAi@0$}|4>=J* zu(TQ;N)jJ1+agfWTTLkCRbM#!`NbP3UKO>ShKIJSj^afzuNyYaAKc{%jV)0Pa{l-h z3^%FOZXcic#+B(-mm6qdr8)O08S!tv)sETBR)=CBxb>wVWac&gffnp}27*|N192q` zg=TqZNeTmpB4C`9hLhaP3q^r$fSDHfcnkUNd4gLls$Tq!FAmrnH zwH>+BX22hf?02tmdSfbMb%)JIkI|auq;{&JP&9mcd{4qMdqn^}$jLha4#(=tEKG5D znF=dRg77r$B#RgD1a|$IgKT5TmI;+;Fc6d+9)zg;0*%cp+?ZoD9`BM*ulGzG_oie&(jy5w%M3_at@ zzR|f6zx%S$a*LcZwcszz1&Ih zqsc}SqvyegkpsUXY-e--4B3xnGFYIWAZc_g*y*3`->Zs%7ysG*Yf1Zm91Z-Bb~o@n z@KpkMi~?Gu71u;!l(TGclVqL`L5VZ4@p0olY=B^6Gi)%y1|x2mgAKFz7x)BjJI+Lb rCvzyg)seFsklKLMUjV89Ul_S^x}>zvxn~@c_~&?QJ1f>v&zpY-0Jz~q literal 0 HcmV?d00001 diff --git a/index.html b/index.html index 0e5ce15..003a32b 100644 --- a/index.html +++ b/index.html @@ -12,7 +12,7 @@ Login - + + + + + +
@@ -50,7 +126,7 @@ Trigger Login
-
+
Invites
@@ -161,7 +237,7 @@
- Create + Create
@@ -172,7 +248,7 @@
Add User Modify Settings - Delete User + Delete User
@@ -202,9 +278,12 @@ -
+
Settings +
+ Save +
@@ -233,12 +312,10 @@
-
- diff --git a/main.js b/main.js deleted file mode 100644 index 2ac2a0e..0000000 --- a/main.js +++ /dev/null @@ -1,110 +0,0 @@ -const whichAnimationEvent = () => { - const el = document.createElement("fakeElement"); - if (el.style["animation"] !== void 0) { - return "animationend"; - } - return "webkitAnimationEnd"; -}; -window.animationEvent = whichAnimationEvent(); -const toggles = Array.from(document.getElementsByClassName("toggle-details")); -for (let toggle of toggles) { - toggle.onclick = () => { - const el = toggle.parentElement.parentElement.parentElement.nextElementSibling; - if (el.classList.contains("visible")) { - el.classList.toggle("visible"); - el.classList.toggle("hidden"); - } else { - el.classList.toggle("hidden"); - el.classList.toggle("visible"); - } - toggle.previousElementSibling.classList.toggle("rotated"); - toggle.previousElementSibling.classList.toggle("not-rotated"); - }; -} -const checkInfUses = function(check, mode = 2) { - const uses = document.getElementById("inv-uses"); - if (mode == 2) { - uses.disabled = check.checked; - check.parentElement.classList.toggle("!normal"); - check.parentElement.classList.toggle("!high"); - } else if (mode == 1) { - uses.disabled = true; - check.checked = true; - check.parentElement.classList.remove("!normal"); - check.parentElement.classList.add("!high"); - } else { - uses.disabled = false; - check.checked = false; - check.parentElement.classList.remove("!high"); - check.parentElement.classList.add("!normal"); - } -}; -let invInfUses = document.getElementById("inv-inf-uses"); -invInfUses.onclick = () => { - checkInfUses(invInfUses, 2); -}; -const checkEmailEnabled = function(check, mode = 2) { - const input = document.getElementById("inv-email"); - if (mode == 2) { - input.disabled = !check.checked; - check.parentElement.classList.toggle("!normal"); - check.parentElement.classList.toggle("!high"); - } else if (mode == 1) { - input.disabled = false; - check.checked = true; - check.parentElement.classList.remove("!normal"); - check.parentElement.classList.add("!high"); - } else { - input.disabled = true; - check.checked = false; - check.parentElement.classList.remove("!high"); - check.parentElement.classList.add("!normal"); - } -}; -let invEmailEnabled = document.getElementById("inv-email-enabled"); -invEmailEnabled.onchange = () => { - checkEmailEnabled(invEmailEnabled, 2); -}; -checkInfUses(invInfUses, 0); -checkEmailEnabled(invEmailEnabled, 0); -const loadAccounts = function() { - const rows = Array.from(document.getElementById("accounts-list").children); - for (let i = 0; i < rows.length; i++) { - const row = rows[i]; - const editButton = row.querySelector(".icon"); - const emailInput = row.querySelector(".input"); - editButton.onclick = function() { - emailInput.classList.toggle("stealth-input-hidden"); - emailInput.readOnly = !emailInput.readOnly; - editButton.classList.toggle("icon-edit"); - editButton.classList.toggle("icon-check"); - }; - } -}; -loadAccounts(); -const tabs = ["invitesTab", "accountsTab", "settingsTab"]; -for (let tab of tabs) { - document.getElementById(`${tab}-button`).onclick = function() { - for (let t of tabs) { - const tabEl = document.getElementById(t); - const tabButtonEl = document.getElementById(`${t}-button`); - if (t == tab) { - tabButtonEl.classList.add("active", "~positive"); - tabEl.classList.remove("unfocused"); - } else { - tabButtonEl.classList.remove("active"); - tabButtonEl.classList.remove("~positive"); - tabEl.classList.add("unfocused"); - } - } - }; -} -const modalLogin = new Modal(document.getElementById("modal-login"), true); -document.getElementById("form-login").addEventListener("submit", modalLogin.close); -document.getElementById("modalButton").onclick = modalLogin.toggle; -const modalAddUser = new Modal(document.getElementById("modal-add-user")); -document.getElementById("accounts-add-user").onclick = modalAddUser.toggle; -document.getElementById("form-add-user").addEventListener("submit", modalAddUser.close); -const modalAbout = new Modal(document.getElementById("modal-about")); -document.getElementById("setting-about").onclick = modalAbout.toggle; -//# sourceMappingURL=main.js.map diff --git a/main.js.map b/main.js.map deleted file mode 100644 index 0756de4..0000000 --- a/main.js.map +++ /dev/null @@ -1,7 +0,0 @@ -{ - "version": 3, - "sources": ["ts/main.ts"], - "sourcesContent": ["interface Window {\n transitionEvent: string;\n animationEvent: string;\n}\n\ninterface ArrayConstructor {\n from(arrayLike: any, mapFn?, thisArg?): Array;\n}\n\ndeclare var window: Window;\n\nconst whichAnimationEvent = () => {\n const el = document.createElement(\"fakeElement\");\n if (el.style[\"animation\"] !== void 0) {\n return \"animationend\";\n }\n return \"webkitAnimationEnd\";\n}\nwindow.animationEvent = whichAnimationEvent();\nconst toggles: HTMLInputElement[] = Array.from(document.getElementsByClassName('toggle-details'));\nfor (let toggle of toggles) {\n toggle.onclick = () => {\n const el = toggle.parentElement.parentElement.parentElement.nextElementSibling as HTMLDivElement;\n if (el.classList.contains(\"visible\")) {\n el.classList.toggle(\"visible\");\n el.classList.toggle(\"hidden\");\n } else {\n el.classList.toggle(\"hidden\");\n el.classList.toggle(\"visible\");\n }\n toggle.previousElementSibling.classList.toggle(\"rotated\");\n toggle.previousElementSibling.classList.toggle(\"not-rotated\");\n };\n}\n\nconst checkInfUses = function (check: HTMLInputElement, mode = 2) {\n const uses = document.getElementById('inv-uses') as HTMLInputElement;\n if (mode == 2) {\n uses.disabled = check.checked;\n check.parentElement.classList.toggle('!normal');\n check.parentElement.classList.toggle('!high');\n } else if (mode == 1) {\n uses.disabled = true;\n check.checked = true;\n check.parentElement.classList.remove('!normal');\n check.parentElement.classList.add('!high');\n } else {\n uses.disabled = false;\n check.checked = false;\n check.parentElement.classList.remove('!high');\n check.parentElement.classList.add('!normal');\n }\n};\n\nlet invInfUses = document.getElementById('inv-inf-uses') as HTMLInputElement;\ninvInfUses.onclick = () => { checkInfUses(invInfUses, 2); };\n\nconst checkEmailEnabled = function (check: HTMLInputElement, mode = 2) {\n const input = document.getElementById('inv-email') as HTMLInputElement;\n if (mode == 2) {\n input.disabled = !check.checked;\n check.parentElement.classList.toggle('!normal');\n check.parentElement.classList.toggle('!high');\n } else if (mode == 1) {\n input.disabled = false;\n check.checked = true;\n check.parentElement.classList.remove('!normal');\n check.parentElement.classList.add('!high');\n } else {\n input.disabled = true;\n check.checked = false;\n check.parentElement.classList.remove('!high');\n check.parentElement.classList.add('!normal');\n }\n};\nlet invEmailEnabled = document.getElementById('inv-email-enabled') as HTMLInputElement;\ninvEmailEnabled.onchange = () => { checkEmailEnabled(invEmailEnabled, 2); };\n\ncheckInfUses(invInfUses, 0);\ncheckEmailEnabled(invEmailEnabled, 0);\n\nconst loadAccounts = function () {\n const rows: HTMLTableRowElement[] = Array.from(document.getElementById(\"accounts-list\").children);\n for (let i = 0; i < rows.length; i++) {\n const row = rows[i];\n const editButton = row.querySelector(\".icon\") as HTMLElement;\n const emailInput = row.querySelector(\".input\") as HTMLInputElement;\n editButton.onclick = function () {\n emailInput.classList.toggle('stealth-input-hidden');\n emailInput.readOnly = !emailInput.readOnly;\n editButton.classList.toggle('icon-edit');\n editButton.classList.toggle('icon-check');\n };\n }\n};\n\nloadAccounts();\n\nconst tabs = [\"invitesTab\", \"accountsTab\", \"settingsTab\"]\nfor (let tab of tabs) {\n (document.getElementById(`${tab}-button`) as HTMLSpanElement).onclick = function () {\n for (let t of tabs) {\n const tabEl = document.getElementById(t) as HTMLDivElement;\n const tabButtonEl = document.getElementById(`${t}-button`) as HTMLSpanElement;\n if (t == tab) {\n tabButtonEl.classList.add(\"active\", \"~positive\");\n tabEl.classList.remove(\"unfocused\");\n } else {\n tabButtonEl.classList.remove(\"active\");\n tabButtonEl.classList.remove(\"~positive\");\n tabEl.classList.add(\"unfocused\");\n }\n }\n }\n}\n\nconst modalLogin = new Modal(document.getElementById('modal-login'), true);\ndocument.getElementById('form-login').addEventListener('submit', modalLogin.close);\ndocument.getElementById('modalButton').onclick = modalLogin.toggle;\n\nconst modalAddUser = new Modal(document.getElementById('modal-add-user'));\n(document.getElementById('accounts-add-user') as HTMLSpanElement).onclick = modalAddUser.toggle;\ndocument.getElementById('form-add-user').addEventListener('submit', modalAddUser.close);\n\nconst modalAbout = new Modal(document.getElementById('modal-about'));\n(document.getElementById('setting-about') as HTMLSpanElement).onclick = modalAbout.toggle;\n\n"], - "mappings": "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", - "names": [] -} diff --git a/modal.js b/modal.js deleted file mode 100644 index 223d358..0000000 --- a/modal.js +++ /dev/null @@ -1,41 +0,0 @@ -class Modal { - constructor(modal, important = false) { - this.close = (event) => { - if (event) { - event.preventDefault(); - } - this.modal.classList.add("modal-hiding"); - const modal = this.modal; - const listenerFunc = function() { - modal.classList.remove("modal-shown"); - modal.classList.remove("modal-hiding"); - modal.removeEventListener(window.animationEvent, listenerFunc); - }; - this.modal.addEventListener(window.animationEvent, listenerFunc, false); - }; - this.show = () => { - this.modal.classList.add("modal-shown"); - }; - this.toggle = () => { - if (this.modal.classList.contains("modal-shown")) { - this.close(); - } else { - this.show(); - } - }; - this.modal = modal; - const closeButton = this.modal.querySelector("span.modal-close"); - if (closeButton !== null) { - this.closeButton = closeButton; - this.closeButton.onclick = this.close; - } - if (!important) { - window.addEventListener("click", (event) => { - if (event.target == this.modal) { - this.close(); - } - }); - } - } -} -//# sourceMappingURL=modal.js.map diff --git a/modal.js.map b/modal.js.map deleted file mode 100644 index df4035d..0000000 --- a/modal.js.map +++ /dev/null @@ -1,7 +0,0 @@ -{ - "version": 3, - "sources": ["ts/modal.ts"], - "sourcesContent": ["declare var window: Window;\n\nclass Modal {\n modal: HTMLDivElement;\n closeButton: HTMLSpanElement;\n constructor(modal: HTMLDivElement, important: boolean = false) {\n this.modal = modal;\n const closeButton = this.modal.querySelector('span.modal-close')\n if (closeButton !== null) {\n this.closeButton = closeButton as HTMLSpanElement;\n this.closeButton.onclick = this.close;\n }\n if (!important) {\n window.addEventListener('click', (event: Event) => {\n if (event.target == this.modal) { this.close(); }\n });\n }\n }\n close = (event?: Event) => {\n if (event) {\n event.preventDefault();\n }\n this.modal.classList.add('modal-hiding');\n const modal = this.modal;\n const listenerFunc = function () {\n modal.classList.remove('modal-shown');\n modal.classList.remove('modal-hiding');\n modal.removeEventListener(window.animationEvent, listenerFunc);\n };\n this.modal.addEventListener(window.animationEvent, listenerFunc, false);\n }\n show = () => {\n this.modal.classList.add('modal-shown');\n }\n toggle = () => {\n if (this.modal.classList.contains('modal-shown')) {\n this.close();\n } else {\n this.show();\n }\n }\n}\n"], - "mappings": "AAAA;AAAA,EAKI,YAAY,mBAA4C;AAaxD,iBAAQ;AACJ,UAAI;AACA,cAAM;AAAA;AAEV,WAAK,MAAM,UAAU,IAAI;AACzB,oBAAc,KAAK;AACnB,2BAAqB;AACjB,cAAM,UAAU,OAAO;AACvB,cAAM,UAAU,OAAO;AACvB,cAAM,oBAAoB,OAAO,gBAAgB;AAAA;AAErD,WAAK,MAAM,iBAAiB,OAAO,gBAAgB,cAAc;AAAA;AAErE,gBAAO;AACH,WAAK,MAAM,UAAU,IAAI;AAAA;AAE7B,kBAAS;AACL,UAAI,KAAK,MAAM,UAAU,SAAS;AAC9B,aAAK;AAAA;AAEL,aAAK;AAAA;AAAA;AAhCT,SAAK,QAAQ;AACb,wBAAoB,KAAK,MAAM,cAAc;AAC7C,QAAI,gBAAgB;AAChB,WAAK,cAAc;AACnB,WAAK,YAAY,UAAU,KAAK;AAAA;AAEpC,QAAI,CAAC;AACD,aAAO,iBAAiB,SAAS;AAC7B,YAAI,MAAM,UAAU,KAAK;AAAS,eAAK;AAAA;AAAA;AAAA;AAAA;AAAA;", - "names": [] -} diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index 164f9cf..0000000 --- a/package-lock.json +++ /dev/null @@ -1,1340 +0,0 @@ -{ - "name": "jfa-go-ui", - "version": "1.0.0", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "@babel/runtime": { - "version": "7.3.4", - "resolved": "https://registry.npm.taobao.org/@babel/runtime/download/@babel/runtime-7.3.4.tgz?cache=0&sync_timestamp=1604441258461&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fruntime%2Fdownload%2F%40babel%2Fruntime-7.3.4.tgz", - "integrity": "sha1-c9ErqBnjZfz3/RUq7VbW35fSHIM=", - "requires": { - "regenerator-runtime": "^0.12.0" - } - }, - "a17t": { - "version": "0.3.0", - "resolved": "https://registry.npm.taobao.org/a17t/download/a17t-0.3.0.tgz", - "integrity": "sha1-w1RZpNL0Qyp2I0PNi/x6RKaSx2Y=", - "requires": { - "autoprefixer": "^10.0.2" - } - }, - "accepts": { - "version": "1.3.7", - "resolved": "https://registry.npm.taobao.org/accepts/download/accepts-1.3.7.tgz", - "integrity": "sha1-UxvHJlF6OytB+FACHGzBXqq1B80=", - "requires": { - "mime-types": "~2.1.24", - "negotiator": "0.6.2" - } - }, - "ajv": { - "version": "6.10.0", - "resolved": "https://registry.npm.taobao.org/ajv/download/ajv-6.10.0.tgz?cache=0&sync_timestamp=1607269179189&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fajv%2Fdownload%2Fajv-6.10.0.tgz", - "integrity": "sha1-kNDVRDnaWHzX6EO/twRfUL0ivfE=", - "requires": { - "fast-deep-equal": "^2.0.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "amqplib": { - "version": "0.5.2", - "resolved": "https://registry.npm.taobao.org/amqplib/download/amqplib-0.5.2.tgz", - "integrity": "sha1-0tcxPH/6pNELzx5iUt5FkbbMe2M=", - "requires": { - "bitsyntax": "~0.0.4", - "bluebird": "^3.4.6", - "buffer-more-ints": "0.0.2", - "readable-stream": "1.x >=1.1.9", - "safe-buffer": "^5.0.1" - }, - "dependencies": { - "readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-1.1.14.tgz", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npm.taobao.org/string_decoder/download/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" - } - } - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz?cache=0&sync_timestamp=1606792436886&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-3.2.1.tgz", - "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", - "requires": { - "color-convert": "^1.9.0" - } - }, - "app-root-path": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/app-root-path/download/app-root-path-2.1.0.tgz", - "integrity": "sha1-mL9lmTJ+zqGZMJhm6BQDaP0uZGo=" - }, - "array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/array-flatten/download/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" - }, - "asn1": { - "version": "0.2.3", - "resolved": "https://registry.npm.taobao.org/asn1/download/asn1-0.2.3.tgz", - "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=" - }, - "async-limiter": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/async-limiter/download/async-limiter-1.0.1.tgz", - "integrity": "sha1-3TeelPDbgxCwgpH51kwyCXZmF/0=" - }, - "async-retry": { - "version": "1.2.3", - "resolved": "https://registry.npm.taobao.org/async-retry/download/async-retry-1.2.3.tgz", - "integrity": "sha1-plIfM4NY0yKxoAEreQMMb0EdHOA=", - "requires": { - "retry": "0.12.0" - } - }, - "autoprefixer": { - "version": "10.1.0", - "resolved": "https://registry.npm.taobao.org/autoprefixer/download/autoprefixer-10.1.0.tgz?cache=0&sync_timestamp=1607411581276&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fautoprefixer%2Fdownload%2Fautoprefixer-10.1.0.tgz", - "integrity": "sha1-sZ/YUk7e+MhcnbO9sMmY3oThcvs=", - "requires": { - "browserslist": "^4.15.0", - "caniuse-lite": "^1.0.30001165", - "colorette": "^1.2.1", - "fraction.js": "^4.0.12", - "normalize-range": "^0.1.2", - "postcss-value-parser": "^4.1.0" - } - }, - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npm.taobao.org/babel-runtime/download/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "requires": { - "core-js": "^2.4.0", - "regenerator-runtime": "^0.11.0" - }, - "dependencies": { - "regenerator-runtime": { - "version": "0.11.1", - "resolved": "https://registry.npm.taobao.org/regenerator-runtime/download/regenerator-runtime-0.11.1.tgz?cache=0&sync_timestamp=1595456023687&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregenerator-runtime%2Fdownload%2Fregenerator-runtime-0.11.1.tgz", - "integrity": "sha1-vgWtf5v30i4Fb5cmzuUBf78Z4uk=" - } - } - }, - "basic-auth": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/basic-auth/download/basic-auth-2.0.1.tgz", - "integrity": "sha1-uZgnm/R844NEtPPPkW1Gebv1Hjo=", - "requires": { - "safe-buffer": "5.1.2" - } - }, - "bitsyntax": { - "version": "0.0.4", - "resolved": "https://registry.npm.taobao.org/bitsyntax/download/bitsyntax-0.0.4.tgz", - "integrity": "sha1-6xDMb4K4xJDj6FaY8H6D1G4MuoI=", - "requires": { - "buffer-more-ints": "0.0.2" - } - }, - "bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npm.taobao.org/bluebird/download/bluebird-3.7.2.tgz", - "integrity": "sha1-nyKcFb4nJFT/qXOs4NvueaGww28=" - }, - "body-parser": { - "version": "1.18.3", - "resolved": "https://registry.npm.taobao.org/body-parser/download/body-parser-1.18.3.tgz", - "integrity": "sha1-WykhmP/dVTs6DyDe0FkrlWlVyLQ=", - "requires": { - "bytes": "3.0.0", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "~1.6.3", - "iconv-lite": "0.4.23", - "on-finished": "~2.3.0", - "qs": "6.5.2", - "raw-body": "2.3.3", - "type-is": "~1.6.16" - } - }, - "browserslist": { - "version": "4.15.0", - "resolved": "https://registry.npm.taobao.org/browserslist/download/browserslist-4.15.0.tgz?cache=0&sync_timestamp=1606864358374&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbrowserslist%2Fdownload%2Fbrowserslist-4.15.0.tgz", - "integrity": "sha1-PUi7ymo/N46GEC/9AX2aA/EivbA=", - "requires": { - "caniuse-lite": "^1.0.30001164", - "colorette": "^1.2.1", - "electron-to-chromium": "^1.3.612", - "escalade": "^3.1.1", - "node-releases": "^1.1.67" - } - }, - "buffer-equal-constant-time": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/buffer-equal-constant-time/download/buffer-equal-constant-time-1.0.1.tgz", - "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=" - }, - "buffer-more-ints": { - "version": "0.0.2", - "resolved": "https://registry.npm.taobao.org/buffer-more-ints/download/buffer-more-ints-0.0.2.tgz", - "integrity": "sha1-JrOIXRD6E9t/wBquOquHAZngEkw=" - }, - "bytes": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/bytes/download/bytes-3.0.0.tgz", - "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=" - }, - "call-bind": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/call-bind/download/call-bind-1.0.0.tgz", - "integrity": "sha1-JBJwVLs/m9y0sfuCQYGGBy93uM4=", - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.0" - } - }, - "caniuse-lite": { - "version": "1.0.30001165", - "resolved": "https://registry.npm.taobao.org/caniuse-lite/download/caniuse-lite-1.0.30001165.tgz", - "integrity": "sha1-MpVUkNL2ApC7GGu3VPKYGRf6dE8=" - }, - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.1.tgz?cache=0&sync_timestamp=1591687018980&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchalk%2Fdownload%2Fchalk-2.4.1.tgz", - "integrity": "sha1-GMSasWoDe26wFSzIPjRxM4IVtm4=", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-1.9.3.tgz", - "integrity": "sha1-u3GFBpDh8TZWfeYp0tVHHe2kweg=", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "colorette": { - "version": "1.2.1", - "resolved": "https://registry.npm.taobao.org/colorette/download/colorette-1.2.1.tgz?cache=0&sync_timestamp=1593955937807&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcolorette%2Fdownload%2Fcolorette-1.2.1.tgz", - "integrity": "sha1-TQuSEyXBT6+SYzCGpTbbbolWSxs=" - }, - "commands-events": { - "version": "1.0.4", - "resolved": "https://registry.npm.taobao.org/commands-events/download/commands-events-1.0.4.tgz", - "integrity": "sha1-dyEj1/F1sphEdLzjenIvTC09KDA=", - "requires": { - "@babel/runtime": "7.2.0", - "formats": "1.0.0", - "uuidv4": "2.0.0" - }, - "dependencies": { - "@babel/runtime": { - "version": "7.2.0", - "resolved": "https://registry.npm.taobao.org/@babel/runtime/download/@babel/runtime-7.2.0.tgz?cache=0&sync_timestamp=1604441258461&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fruntime%2Fdownload%2F%40babel%2Fruntime-7.2.0.tgz", - "integrity": "sha1-sD5C7t31iY4AZG5MhA+ge6jcrX8=", - "requires": { - "regenerator-runtime": "^0.12.0" - } - }, - "uuidv4": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/uuidv4/download/uuidv4-2.0.0.tgz", - "integrity": "sha1-PsdkKI+enE5A+AJ60wnCxSi+KXY=", - "requires": { - "sha-1": "0.1.1", - "uuid": "3.3.2" - } - } - } - }, - "comparejs": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/comparejs/download/comparejs-1.0.0.tgz", - "integrity": "sha1-H2GkwsGcWu0ImDlS6IvR/okk498=" - }, - "compressible": { - "version": "2.0.18", - "resolved": "https://registry.npm.taobao.org/compressible/download/compressible-2.0.18.tgz", - "integrity": "sha1-r1PMprBw1MPAdQ+9dyhqbXzEb7o=", - "requires": { - "mime-db": ">= 1.43.0 < 2" - } - }, - "compression": { - "version": "1.7.3", - "resolved": "https://registry.npm.taobao.org/compression/download/compression-1.7.3.tgz", - "integrity": "sha1-J+DhdqryYPfywoE8PkQK258Zk9s=", - "requires": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.14", - "debug": "2.6.9", - "on-headers": "~1.0.1", - "safe-buffer": "5.1.2", - "vary": "~1.1.2" - } - }, - "content-disposition": { - "version": "0.5.2", - "resolved": "https://registry.npm.taobao.org/content-disposition/download/content-disposition-0.5.2.tgz", - "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=" - }, - "content-type": { - "version": "1.0.4", - "resolved": "https://registry.npm.taobao.org/content-type/download/content-type-1.0.4.tgz", - "integrity": "sha1-4TjMdeBAxyexlm/l5fjJruJW/js=" - }, - "cookie": { - "version": "0.3.1", - "resolved": "https://registry.npm.taobao.org/cookie/download/cookie-0.3.1.tgz", - "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=" - }, - "cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npm.taobao.org/cookie-signature/download/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" - }, - "core-js": { - "version": "2.6.12", - "resolved": "https://registry.npm.taobao.org/core-js/download/core-js-2.6.12.tgz?cache=0&sync_timestamp=1607218318589&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcore-js%2Fdownload%2Fcore-js-2.6.12.tgz", - "integrity": "sha1-2TM9+nsGXjR8xWgiGdb2kIWcwuw=" - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/core-util-is/download/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" - }, - "cors": { - "version": "2.8.5", - "resolved": "https://registry.npm.taobao.org/cors/download/cors-2.8.5.tgz", - "integrity": "sha1-6sEdpRWS3Ya58G9uesKTs9+HXSk=", - "requires": { - "object-assign": "^4", - "vary": "^1" - } - }, - "crypto2": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/crypto2/download/crypto2-2.0.0.tgz", - "integrity": "sha1-VTn0Wyg9jCvcoOpPr4s0AUpOos0=", - "requires": { - "babel-runtime": "6.26.0", - "node-rsa": "0.4.2", - "util.promisify": "1.0.0" - } - }, - "datasette": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/datasette/download/datasette-1.0.1.tgz", - "integrity": "sha1-yHhrvTa+ZgYXnnolJUMLnb2Tleg=", - "requires": { - "comparejs": "1.0.0", - "eventemitter2": "5.0.1", - "lodash": "4.17.5" - }, - "dependencies": { - "lodash": { - "version": "4.17.5", - "resolved": "https://registry.npm.taobao.org/lodash/download/lodash-4.17.5.tgz?cache=0&sync_timestamp=1597335994883&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flodash%2Fdownload%2Flodash-4.17.5.tgz", - "integrity": "sha1-maktZcAnLevoyWtgV7yPv6O+1RE=" - } - } - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&sync_timestamp=1607566856339&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz", - "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", - "requires": { - "ms": "2.0.0" - } - }, - "define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npm.taobao.org/define-properties/download/define-properties-1.1.3.tgz", - "integrity": "sha1-z4jabL7ib+bbcJT2HYcMvYTO6fE=", - "requires": { - "object-keys": "^1.0.12" - } - }, - "depd": { - "version": "1.1.2", - "resolved": "https://registry.npm.taobao.org/depd/download/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" - }, - "destroy": { - "version": "1.0.4", - "resolved": "https://registry.npm.taobao.org/destroy/download/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" - }, - "draht": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/draht/download/draht-1.0.1.tgz", - "integrity": "sha1-xMiHmSPSEw36nFkw6VbIXWKx6XU=", - "requires": { - "eventemitter2": "5.0.1" - } - }, - "ecdsa-sig-formatter": { - "version": "1.0.11", - "resolved": "https://registry.npm.taobao.org/ecdsa-sig-formatter/download/ecdsa-sig-formatter-1.0.11.tgz", - "integrity": "sha1-rg8PothQRe8UqBfao86azQSJ5b8=", - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/ee-first/download/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" - }, - "electron-to-chromium": { - "version": "1.3.621", - "resolved": "https://registry.npm.taobao.org/electron-to-chromium/download/electron-to-chromium-1.3.621.tgz?cache=0&sync_timestamp=1607538704273&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Felectron-to-chromium%2Fdownload%2Felectron-to-chromium-1.3.621.tgz", - "integrity": "sha1-C74hAO8LKPiNCxEB+99DMxL2m+A=" - }, - "encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/encodeurl/download/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" - }, - "es-abstract": { - "version": "1.18.0-next.1", - "resolved": "https://registry.npm.taobao.org/es-abstract/download/es-abstract-1.18.0-next.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fes-abstract%2Fdownload%2Fes-abstract-1.18.0-next.1.tgz", - "integrity": "sha1-bjoKS9pxflAjqzuOkL7DYQjSLGg=", - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-negative-zero": "^2.0.0", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - } - }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npm.taobao.org/es-to-primitive/download/es-to-primitive-1.2.1.tgz", - "integrity": "sha1-5VzUyc3BiLzvsDs2bHNjI/xciYo=", - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npm.taobao.org/escalade/download/escalade-3.1.1.tgz?cache=0&sync_timestamp=1602567437752&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fescalade%2Fdownload%2Fescalade-3.1.1.tgz", - "integrity": "sha1-2M/ccACWXFoBdLSoLqpcBVJ0LkA=" - }, - "escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npm.taobao.org/escape-html/download/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz?cache=0&sync_timestamp=1587627212242&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fescape-string-regexp%2Fdownload%2Fescape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" - }, - "etag": { - "version": "1.8.1", - "resolved": "https://registry.npm.taobao.org/etag/download/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" - }, - "eventemitter2": { - "version": "5.0.1", - "resolved": "https://registry.npm.taobao.org/eventemitter2/download/eventemitter2-5.0.1.tgz", - "integrity": "sha1-YZegldX7a1folC9v1+qtY6CclFI=" - }, - "express": { - "version": "4.16.4", - "resolved": "https://registry.npm.taobao.org/express/download/express-4.16.4.tgz?cache=0&sync_timestamp=1585184189864&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexpress%2Fdownload%2Fexpress-4.16.4.tgz", - "integrity": "sha1-/d72GSYQniTFFeqX/S8b2/Yt8S4=", - "requires": { - "accepts": "~1.3.5", - "array-flatten": "1.1.1", - "body-parser": "1.18.3", - "content-disposition": "0.5.2", - "content-type": "~1.0.4", - "cookie": "0.3.1", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "~1.1.2", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "1.1.1", - "fresh": "0.5.2", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "~2.3.0", - "parseurl": "~1.3.2", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.4", - "qs": "6.5.2", - "range-parser": "~1.2.0", - "safe-buffer": "5.1.2", - "send": "0.16.2", - "serve-static": "1.13.2", - "setprototypeof": "1.1.0", - "statuses": "~1.4.0", - "type-is": "~1.6.16", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "dependencies": { - "statuses": { - "version": "1.4.0", - "resolved": "https://registry.npm.taobao.org/statuses/download/statuses-1.4.0.tgz", - "integrity": "sha1-u3PURtonlhBu/MG2AaJT1sRr0Ic=" - } - } - }, - "fast-deep-equal": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-2.0.1.tgz", - "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=" - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/fast-json-stable-stringify/download/fast-json-stable-stringify-2.1.0.tgz?cache=0&sync_timestamp=1576340291001&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffast-json-stable-stringify%2Fdownload%2Ffast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha1-h0v2nG9ATCtdmcSBNBOZ/VWJJjM=" - }, - "finalhandler": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/finalhandler/download/finalhandler-1.1.1.tgz", - "integrity": "sha1-7r9O2EAHnIP0JJA4ydcDAIMBsQU=", - "requires": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.2", - "statuses": "~1.4.0", - "unpipe": "~1.0.0" - }, - "dependencies": { - "statuses": { - "version": "1.4.0", - "resolved": "https://registry.npm.taobao.org/statuses/download/statuses-1.4.0.tgz", - "integrity": "sha1-u3PURtonlhBu/MG2AaJT1sRr0Ic=" - } - } - }, - "find-root": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/find-root/download/find-root-1.1.0.tgz", - "integrity": "sha1-q8/Iunb3CMQql7PWhbfpRQv7nOQ=" - }, - "flaschenpost": { - "version": "1.1.3", - "resolved": "https://registry.npm.taobao.org/flaschenpost/download/flaschenpost-1.1.3.tgz", - "integrity": "sha1-LB579O7PnzAzPdZytCehdMLTdEk=", - "requires": { - "@babel/runtime": "7.2.0", - "app-root-path": "2.1.0", - "babel-runtime": "6.26.0", - "chalk": "2.4.1", - "find-root": "1.1.0", - "lodash": "4.17.11", - "moment": "2.22.2", - "processenv": "1.1.0", - "split2": "3.0.0", - "stack-trace": "0.0.10", - "stringify-object": "3.3.0", - "untildify": "3.0.3", - "util.promisify": "1.0.0", - "varname": "2.0.3" - }, - "dependencies": { - "@babel/runtime": { - "version": "7.2.0", - "resolved": "https://registry.npm.taobao.org/@babel/runtime/download/@babel/runtime-7.2.0.tgz?cache=0&sync_timestamp=1604441258461&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fruntime%2Fdownload%2F%40babel%2Fruntime-7.2.0.tgz", - "integrity": "sha1-sD5C7t31iY4AZG5MhA+ge6jcrX8=", - "requires": { - "regenerator-runtime": "^0.12.0" - } - } - } - }, - "formats": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/formats/download/formats-1.0.0.tgz", - "integrity": "sha1-MnFUCEeG6sCdO4OcqyjRULmCsWM=" - }, - "forwarded": { - "version": "0.1.2", - "resolved": "https://registry.npm.taobao.org/forwarded/download/forwarded-0.1.2.tgz", - "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=" - }, - "fraction.js": { - "version": "4.0.12", - "resolved": "https://registry.npm.taobao.org/fraction.js/download/fraction.js-4.0.12.tgz", - "integrity": "sha1-BSbUfGWl+0hU33i8d/e+xwjXuMM=" - }, - "fresh": { - "version": "0.5.2", - "resolved": "https://registry.npm.taobao.org/fresh/download/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/function-bind/download/function-bind-1.1.1.tgz", - "integrity": "sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0=" - }, - "get-intrinsic": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/get-intrinsic/download/get-intrinsic-1.0.1.tgz?cache=0&sync_timestamp=1604120627697&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fget-intrinsic%2Fdownload%2Fget-intrinsic-1.0.1.tgz", - "integrity": "sha1-lKl2j8vdBZWhySc6rPTInQdWMb4=", - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1" - } - }, - "get-own-enumerable-property-symbols": { - "version": "3.0.2", - "resolved": "https://registry.npm.taobao.org/get-own-enumerable-property-symbols/download/get-own-enumerable-property-symbols-3.0.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fget-own-enumerable-property-symbols%2Fdownload%2Fget-own-enumerable-property-symbols-3.0.2.tgz", - "integrity": "sha1-tf3nfyLL4185C04ImSLFC85u9mQ=" - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npm.taobao.org/has/download/has-1.0.3.tgz", - "integrity": "sha1-ci18v8H2qoJB8W3YFOAR4fQeh5Y=", - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" - }, - "has-symbols": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/has-symbols/download/has-symbols-1.0.1.tgz", - "integrity": "sha1-n1IUdYpEGWxAbZvXbOv4HsLdMeg=" - }, - "hase": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/hase/download/hase-2.0.0.tgz", - "integrity": "sha1-NErtcdAIJsRdCjfN+U/n+vcVTGA=", - "requires": { - "@babel/runtime": "7.1.2", - "amqplib": "0.5.2" - }, - "dependencies": { - "@babel/runtime": { - "version": "7.1.2", - "resolved": "https://registry.npm.taobao.org/@babel/runtime/download/@babel/runtime-7.1.2.tgz?cache=0&sync_timestamp=1604441258461&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fruntime%2Fdownload%2F%40babel%2Fruntime-7.1.2.tgz", - "integrity": "sha1-gciZNfRkdwb8VFQRRea07P70uOM=", - "requires": { - "regenerator-runtime": "^0.12.0" - } - } - } - }, - "http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npm.taobao.org/http-errors/download/http-errors-1.6.3.tgz", - "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - } - }, - "icons.css": { - "version": "git+https://github.com/picturepan2/icons.css.git#80a5631a2348c47f9c4e1b307c206d074da4e95b", - "from": "git+https://github.com/picturepan2/icons.css.git" - }, - "iconv-lite": { - "version": "0.4.23", - "resolved": "https://registry.npm.taobao.org/iconv-lite/download/iconv-lite-0.4.23.tgz?cache=0&sync_timestamp=1594184266261&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ficonv-lite%2Fdownload%2Ficonv-lite-0.4.23.tgz", - "integrity": "sha1-KXhx9jvlB63Pv8pxXQzQ7thOmmM=", - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" - }, - "ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npm.taobao.org/ipaddr.js/download/ipaddr.js-1.9.1.tgz", - "integrity": "sha1-v/OFQ+64mEglB5/zoqjmy9RngbM=" - }, - "is-callable": { - "version": "1.2.2", - "resolved": "https://registry.npm.taobao.org/is-callable/download/is-callable-1.2.2.tgz?cache=0&sync_timestamp=1600719278998&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-callable%2Fdownload%2Fis-callable-1.2.2.tgz", - "integrity": "sha1-x8ZxXNItTdtI0+GZcCI6zquwgNk=" - }, - "is-date-object": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/is-date-object/download/is-date-object-1.0.2.tgz", - "integrity": "sha1-vac28s2P0G0yhE53Q7+nSUw7/X4=" - }, - "is-negative-zero": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/is-negative-zero/download/is-negative-zero-2.0.1.tgz?cache=0&sync_timestamp=1607123132826&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-negative-zero%2Fdownload%2Fis-negative-zero-2.0.1.tgz", - "integrity": "sha1-PedGwY3aIxkkGlNnWQjY92bxHCQ=" - }, - "is-obj": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/is-obj/download/is-obj-1.0.1.tgz", - "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=" - }, - "is-regex": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/is-regex/download/is-regex-1.1.1.tgz?cache=0&sync_timestamp=1596555709354&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-regex%2Fdownload%2Fis-regex-1.1.1.tgz", - "integrity": "sha1-xvmKrMVG9s7FRooHt7FTq1ZKV7k=", - "requires": { - "has-symbols": "^1.0.1" - } - }, - "is-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/is-regexp/download/is-regexp-1.0.0.tgz", - "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=" - }, - "is-symbol": { - "version": "1.0.3", - "resolved": "https://registry.npm.taobao.org/is-symbol/download/is-symbol-1.0.3.tgz", - "integrity": "sha1-OOEBS55jKb4N6dJKQU/XRB7GGTc=", - "requires": { - "has-symbols": "^1.0.1" - } - }, - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npm.taobao.org/isarray/download/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" - }, - "json-lines": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/json-lines/download/json-lines-1.0.0.tgz", - "integrity": "sha1-SsbXUx3uw7koUWx/hol7VI+CcR0=", - "requires": { - "timer2": "1.0.0" - } - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz?cache=0&sync_timestamp=1599333908796&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson-schema-traverse%2Fdownload%2Fjson-schema-traverse-0.4.1.tgz", - "integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA=" - }, - "jsonwebtoken": { - "version": "8.5.0", - "resolved": "https://registry.npm.taobao.org/jsonwebtoken/download/jsonwebtoken-8.5.0.tgz", - "integrity": "sha1-69DKKml5eBbhxa9ltsdZeHJSlH4=", - "requires": { - "jws": "^3.2.1", - "lodash.includes": "^4.3.0", - "lodash.isboolean": "^3.0.3", - "lodash.isinteger": "^4.0.4", - "lodash.isnumber": "^3.0.3", - "lodash.isplainobject": "^4.0.6", - "lodash.isstring": "^4.0.1", - "lodash.once": "^4.0.0", - "ms": "^2.1.1", - "semver": "^5.6.0" - }, - "dependencies": { - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.3.tgz?cache=0&sync_timestamp=1607433843106&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.3.tgz", - "integrity": "sha1-V0yBOM4dK1hh8LRFedut1gxmFbI=" - } - } - }, - "jwa": { - "version": "1.4.1", - "resolved": "https://registry.npm.taobao.org/jwa/download/jwa-1.4.1.tgz", - "integrity": "sha1-dDwymFy56YZVUw1TZBtmyGRbA5o=", - "requires": { - "buffer-equal-constant-time": "1.0.1", - "ecdsa-sig-formatter": "1.0.11", - "safe-buffer": "^5.0.1" - } - }, - "jws": { - "version": "3.2.2", - "resolved": "https://registry.npm.taobao.org/jws/download/jws-3.2.2.tgz", - "integrity": "sha1-ABCZ82OUaMlBQADpmZX6UvtHgwQ=", - "requires": { - "jwa": "^1.4.1", - "safe-buffer": "^5.0.1" - } - }, - "limes": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/limes/download/limes-2.0.0.tgz", - "integrity": "sha1-Mrn6DGL+coJiyLIxbKNJbt5xU/4=", - "requires": { - "@babel/runtime": "7.3.4", - "jsonwebtoken": "8.5.0" - } - }, - "lodash": { - "version": "4.17.11", - "resolved": "https://registry.npm.taobao.org/lodash/download/lodash-4.17.11.tgz?cache=0&sync_timestamp=1597335994883&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flodash%2Fdownload%2Flodash-4.17.11.tgz", - "integrity": "sha1-s56mIp72B+zYniyN8SU2iRysm40=" - }, - "lodash.includes": { - "version": "4.3.0", - "resolved": "https://registry.npm.taobao.org/lodash.includes/download/lodash.includes-4.3.0.tgz", - "integrity": "sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8=" - }, - "lodash.isboolean": { - "version": "3.0.3", - "resolved": "https://registry.npm.taobao.org/lodash.isboolean/download/lodash.isboolean-3.0.3.tgz", - "integrity": "sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=" - }, - "lodash.isinteger": { - "version": "4.0.4", - "resolved": "https://registry.npm.taobao.org/lodash.isinteger/download/lodash.isinteger-4.0.4.tgz", - "integrity": "sha1-YZwK89A/iwTDH1iChAt3sRzWg0M=" - }, - "lodash.isnumber": { - "version": "3.0.3", - "resolved": "https://registry.npm.taobao.org/lodash.isnumber/download/lodash.isnumber-3.0.3.tgz", - "integrity": "sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w=" - }, - "lodash.isplainobject": { - "version": "4.0.6", - "resolved": "https://registry.npm.taobao.org/lodash.isplainobject/download/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=" - }, - "lodash.isstring": { - "version": "4.0.1", - "resolved": "https://registry.npm.taobao.org/lodash.isstring/download/lodash.isstring-4.0.1.tgz", - "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=" - }, - "lodash.once": { - "version": "4.1.1", - "resolved": "https://registry.npm.taobao.org/lodash.once/download/lodash.once-4.1.1.tgz", - "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=" - }, - "lusca": { - "version": "1.6.1", - "resolved": "https://registry.npm.taobao.org/lusca/download/lusca-1.6.1.tgz", - "integrity": "sha1-90ReUMcgAw9e5T0TNunlPReGw08=", - "requires": { - "tsscmp": "^1.0.5" - } - }, - "media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npm.taobao.org/media-typer/download/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" - }, - "merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/merge-descriptors/download/merge-descriptors-1.0.1.tgz", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" - }, - "methods": { - "version": "1.1.2", - "resolved": "https://registry.npm.taobao.org/methods/download/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" - }, - "mime": { - "version": "1.4.1", - "resolved": "https://registry.npm.taobao.org/mime/download/mime-1.4.1.tgz", - "integrity": "sha1-Eh+evEnjdm8xGnbh+hyAA8SwOqY=" - }, - "mime-db": { - "version": "1.44.0", - "resolved": "https://registry.npm.taobao.org/mime-db/download/mime-db-1.44.0.tgz?cache=0&sync_timestamp=1600831202365&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmime-db%2Fdownload%2Fmime-db-1.44.0.tgz", - "integrity": "sha1-+hHF6wrKEzS0Izy01S8QxaYnL5I=" - }, - "mime-types": { - "version": "2.1.27", - "resolved": "https://registry.npm.taobao.org/mime-types/download/mime-types-2.1.27.tgz", - "integrity": "sha1-R5SfmOJ56lMRn1ci4PNOUpvsAJ8=", - "requires": { - "mime-db": "1.44.0" - } - }, - "moment": { - "version": "2.22.2", - "resolved": "https://registry.npm.taobao.org/moment/download/moment-2.22.2.tgz", - "integrity": "sha1-PCV/mDn8DpP/UxSWMiOeuQeD/2Y=" - }, - "morgan": { - "version": "1.9.1", - "resolved": "https://registry.npm.taobao.org/morgan/download/morgan-1.9.1.tgz", - "integrity": "sha1-Co0Wc0odmvvIJLmd+H5zjlji2lk=", - "requires": { - "basic-auth": "~2.0.0", - "debug": "2.6.9", - "depd": "~1.1.2", - "on-finished": "~2.3.0", - "on-headers": "~1.0.1" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz?cache=0&sync_timestamp=1607433843106&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "negotiator": { - "version": "0.6.2", - "resolved": "https://registry.npm.taobao.org/negotiator/download/negotiator-0.6.2.tgz", - "integrity": "sha1-/qz3zPUlp3rpY0Q2pkiD/+yjRvs=" - }, - "nocache": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/nocache/download/nocache-2.0.0.tgz", - "integrity": "sha1-ICtIAhoMTL3i34DeFaF0Q8i0OYA=" - }, - "node-releases": { - "version": "1.1.67", - "resolved": "https://registry.npm.taobao.org/node-releases/download/node-releases-1.1.67.tgz?cache=0&sync_timestamp=1605581679207&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnode-releases%2Fdownload%2Fnode-releases-1.1.67.tgz", - "integrity": "sha1-KOv8zNC6pqrY6NTY/ky8Sa4jnBI=" - }, - "node-rsa": { - "version": "0.4.2", - "resolved": "https://registry.npm.taobao.org/node-rsa/download/node-rsa-0.4.2.tgz", - "integrity": "sha1-1jkXKewWqDDtWjgEKzFX0tXXJTA=", - "requires": { - "asn1": "0.2.3" - } - }, - "node-statsd": { - "version": "0.1.1", - "resolved": "https://registry.npm.taobao.org/node-statsd/download/node-statsd-0.1.1.tgz", - "integrity": "sha1-J6WTSHY9CvegN6wqAx/vPwUQE9M=" - }, - "normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npm.taobao.org/normalize-range/download/normalize-range-0.1.2.tgz", - "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=" - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npm.taobao.org/object-assign/download/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" - }, - "object-inspect": { - "version": "1.9.0", - "resolved": "https://registry.npm.taobao.org/object-inspect/download/object-inspect-1.9.0.tgz?cache=0&sync_timestamp=1606804315827&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject-inspect%2Fdownload%2Fobject-inspect-1.9.0.tgz", - "integrity": "sha1-yQUh104RJ7ZyZt7TOUrWEWmGUzo=" - }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/object-keys/download/object-keys-1.1.1.tgz", - "integrity": "sha1-HEfyct8nfzsdrwYWd9nILiMixg4=" - }, - "object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npm.taobao.org/object.assign/download/object.assign-4.1.2.tgz?cache=0&sync_timestamp=1604117098938&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject.assign%2Fdownload%2Fobject.assign-4.1.2.tgz", - "integrity": "sha1-DtVKNC7Os3s4/3brgxoOeIy2OUA=", - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - } - }, - "object.getownpropertydescriptors": { - "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/object.getownpropertydescriptors/download/object.getownpropertydescriptors-2.1.1.tgz?cache=0&sync_timestamp=1606459922634&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject.getownpropertydescriptors%2Fdownload%2Fobject.getownpropertydescriptors-2.1.1.tgz", - "integrity": "sha1-Df2o0QgHTZxWPoBJDIg7ZmEJFUQ=", - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1" - } - }, - "on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npm.taobao.org/on-finished/download/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", - "requires": { - "ee-first": "1.1.1" - } - }, - "on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/on-headers/download/on-headers-1.0.2.tgz", - "integrity": "sha1-dysK5qqlJcOZ5Imt+tkMQD6zwo8=" - }, - "parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npm.taobao.org/parseurl/download/parseurl-1.3.3.tgz", - "integrity": "sha1-naGee+6NEt/wUT7Vt2lXeTvC6NQ=" - }, - "partof": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/partof/download/partof-1.0.0.tgz", - "integrity": "sha1-2deUahSn2dlzilnnyI9HjsXJZMo=" - }, - "path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npm.taobao.org/path-to-regexp/download/path-to-regexp-0.1.7.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpath-to-regexp%2Fdownload%2Fpath-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" - }, - "postcss-value-parser": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-4.1.0.tgz?cache=0&sync_timestamp=1588083303810&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-4.1.0.tgz", - "integrity": "sha1-RD9qIM7WSBor2k+oUypuVdeJoss=" - }, - "processenv": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/processenv/download/processenv-1.1.0.tgz", - "integrity": "sha1-OGdCJGiVTxr4LOe/uUTIra3Vzfc=", - "requires": { - "babel-runtime": "6.26.0" - } - }, - "proxy-addr": { - "version": "2.0.6", - "resolved": "https://registry.npm.taobao.org/proxy-addr/download/proxy-addr-2.0.6.tgz", - "integrity": "sha1-/cIzZQVEfT8vLGOO0nLK9hS7sr8=", - "requires": { - "forwarded": "~0.1.2", - "ipaddr.js": "1.9.1" - } - }, - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/punycode/download/punycode-2.1.1.tgz", - "integrity": "sha1-tYsBCsQMIsVldhbI0sLALHv0eew=" - }, - "qs": { - "version": "6.5.2", - "resolved": "https://registry.npm.taobao.org/qs/download/qs-6.5.2.tgz", - "integrity": "sha1-yzroBuh0BERYTvFUzo7pjUA/PjY=" - }, - "range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npm.taobao.org/range-parser/download/range-parser-1.2.1.tgz", - "integrity": "sha1-PPNwI9GZ4cJNGlW4SADC8+ZGgDE=" - }, - "raw-body": { - "version": "2.3.3", - "resolved": "https://registry.npm.taobao.org/raw-body/download/raw-body-2.3.3.tgz", - "integrity": "sha1-GzJOzmtXBuFThVvBFIxlu39uoMM=", - "requires": { - "bytes": "3.0.0", - "http-errors": "1.6.3", - "iconv-lite": "0.4.23", - "unpipe": "1.0.0" - } - }, - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-3.6.0.tgz", - "integrity": "sha1-M3u9o63AcGvT4CRCaihtS0sskZg=", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "regenerator-runtime": { - "version": "0.12.1", - "resolved": "https://registry.npm.taobao.org/regenerator-runtime/download/regenerator-runtime-0.12.1.tgz?cache=0&sync_timestamp=1595456023687&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregenerator-runtime%2Fdownload%2Fregenerator-runtime-0.12.1.tgz", - "integrity": "sha1-+hpxVEdkwDb4xJsToIsllMn4oN4=" - }, - "retry": { - "version": "0.12.0", - "resolved": "https://registry.npm.taobao.org/retry/download/retry-0.12.0.tgz", - "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=" - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz", - "integrity": "sha1-mR7GnSluAxN0fVm9/St0XDX4go0=" - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npm.taobao.org/safer-buffer/download/safer-buffer-2.1.2.tgz", - "integrity": "sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo=" - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1606851857382&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz", - "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=" - }, - "send": { - "version": "0.16.2", - "resolved": "https://registry.npm.taobao.org/send/download/send-0.16.2.tgz", - "integrity": "sha1-bsyh4PjBVtFBWXVZhI32RzCmu8E=", - "requires": { - "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "~1.6.2", - "mime": "1.4.1", - "ms": "2.0.0", - "on-finished": "~2.3.0", - "range-parser": "~1.2.0", - "statuses": "~1.4.0" - }, - "dependencies": { - "statuses": { - "version": "1.4.0", - "resolved": "https://registry.npm.taobao.org/statuses/download/statuses-1.4.0.tgz", - "integrity": "sha1-u3PURtonlhBu/MG2AaJT1sRr0Ic=" - } - } - }, - "serve-static": { - "version": "1.13.2", - "resolved": "https://registry.npm.taobao.org/serve-static/download/serve-static-1.13.2.tgz", - "integrity": "sha1-CV6Ecv1bRiN9tQzkhqQ/S4bGzsE=", - "requires": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.2", - "send": "0.16.2" - } - }, - "setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/setprototypeof/download/setprototypeof-1.1.0.tgz", - "integrity": "sha1-0L2FU2iHtv58DYGMuWLZ2RxU5lY=" - }, - "sha-1": { - "version": "0.1.1", - "resolved": "https://registry.npm.taobao.org/sha-1/download/sha-1-0.1.1.tgz", - "integrity": "sha1-KjkwS/QburEd2e+3R07CWxqSwlc=" - }, - "split2": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/split2/download/split2-3.0.0.tgz", - "integrity": "sha1-VQV81WBoen72RkRxWXQEV3/xc10=", - "requires": { - "readable-stream": "^3.0.0" - } - }, - "stack-trace": { - "version": "0.0.10", - "resolved": "https://registry.npm.taobao.org/stack-trace/download/stack-trace-0.0.10.tgz", - "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=" - }, - "statuses": { - "version": "1.5.0", - "resolved": "https://registry.npm.taobao.org/statuses/download/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" - }, - "stethoskop": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/stethoskop/download/stethoskop-1.0.0.tgz", - "integrity": "sha1-uDjo9vePjmb4YTlSToBY5KL3i2I=", - "requires": { - "node-statsd": "0.1.1" - } - }, - "string.prototype.trimend": { - "version": "1.0.3", - "resolved": "https://registry.npm.taobao.org/string.prototype.trimend/download/string.prototype.trimend-1.0.3.tgz?cache=0&sync_timestamp=1606008280085&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring.prototype.trimend%2Fdownload%2Fstring.prototype.trimend-1.0.3.tgz", - "integrity": "sha1-oivVPMpcfPRNfJ1ccyEYhz1s0Ys=", - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3" - } - }, - "string.prototype.trimstart": { - "version": "1.0.3", - "resolved": "https://registry.npm.taobao.org/string.prototype.trimstart/download/string.prototype.trimstart-1.0.3.tgz?cache=0&sync_timestamp=1606008280265&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring.prototype.trimstart%2Fdownload%2Fstring.prototype.trimstart-1.0.3.tgz", - "integrity": "sha1-m0y1kOEjuzZWRAHVmCQpjeUP1ao=", - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3" - } - }, - "string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npm.taobao.org/string_decoder/download/string_decoder-1.3.0.tgz", - "integrity": "sha1-QvEUWUpGzxqOMLCoT1bHjD7awh4=", - "requires": { - "safe-buffer": "~5.2.0" - }, - "dependencies": { - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.2.1.tgz", - "integrity": "sha1-Hq+fqb2x/dTsdfWPnNtOa3gn7sY=" - } - } - }, - "stringify-object": { - "version": "3.3.0", - "resolved": "https://registry.npm.taobao.org/stringify-object/download/stringify-object-3.3.0.tgz", - "integrity": "sha1-cDBlrvyhkwDTzoivT1s5VtdVZik=", - "requires": { - "get-own-enumerable-property-symbols": "^3.0.0", - "is-obj": "^1.0.1", - "is-regexp": "^1.0.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz?cache=0&sync_timestamp=1606205044904&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-5.5.0.tgz", - "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", - "requires": { - "has-flag": "^3.0.0" - } - }, - "tailwind": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/tailwind/download/tailwind-4.0.0.tgz", - "integrity": "sha1-BwteXxwsGQ5MDRKApGs2xzaepG4=", - "requires": { - "@babel/runtime": "7.3.4", - "ajv": "6.10.0", - "app-root-path": "2.1.0", - "async-retry": "1.2.3", - "body-parser": "1.18.3", - "commands-events": "1.0.4", - "compression": "1.7.3", - "content-type": "1.0.4", - "cors": "2.8.5", - "crypto2": "2.0.0", - "datasette": "1.0.1", - "draht": "1.0.1", - "express": "4.16.4 ", - "flaschenpost": "1.1.3", - "hase": "2.0.0", - "json-lines": "1.0.0", - "limes": "2.0.0", - "lodash": "4.17.11", - "lusca": "1.6.1", - "morgan": "1.9.1", - "nocache": "2.0.0", - "partof": "1.0.0", - "processenv": "1.1.0", - "stethoskop": "1.0.0", - "timer2": "1.0.0", - "uuidv4": "3.0.1", - "ws": "6.2.0" - } - }, - "timer2": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/timer2/download/timer2-1.0.0.tgz", - "integrity": "sha1-eiRBVpxlZMuJH2BXiO7wN32J9d4=" - }, - "tsscmp": { - "version": "1.0.6", - "resolved": "https://registry.npm.taobao.org/tsscmp/download/tsscmp-1.0.6.tgz", - "integrity": "sha1-hbmVg6w1iexL/vgltQAKqRHWBes=" - }, - "type-is": { - "version": "1.6.18", - "resolved": "https://registry.npm.taobao.org/type-is/download/type-is-1.6.18.tgz", - "integrity": "sha1-TlUs0F3wlGfcvE73Od6J8s83wTE=", - "requires": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - } - }, - "unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/unpipe/download/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" - }, - "untildify": { - "version": "3.0.3", - "resolved": "https://registry.npm.taobao.org/untildify/download/untildify-3.0.3.tgz", - "integrity": "sha1-HntCsUC8/ZIrIucMoSZb/jY0x8k=" - }, - "uri-js": { - "version": "4.4.0", - "resolved": "https://registry.npm.taobao.org/uri-js/download/uri-js-4.4.0.tgz?cache=0&sync_timestamp=1598814377097&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Furi-js%2Fdownload%2Furi-js-4.4.0.tgz", - "integrity": "sha1-qnFCYd55PoqCNHp7zJznTobyhgI=", - "requires": { - "punycode": "^2.1.0" - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/util-deprecate/download/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - }, - "util.promisify": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/util.promisify/download/util.promisify-1.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Futil.promisify%2Fdownload%2Futil.promisify-1.0.0.tgz", - "integrity": "sha1-RA9xZaRZyaFtwUXrjnLzVocJcDA=", - "requires": { - "define-properties": "^1.1.2", - "object.getownpropertydescriptors": "^2.0.3" - } - }, - "utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/utils-merge/download/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" - }, - "uuid": { - "version": "3.3.2", - "resolved": "https://registry.npm.taobao.org/uuid/download/uuid-3.3.2.tgz?cache=0&sync_timestamp=1607460081656&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fuuid%2Fdownload%2Fuuid-3.3.2.tgz", - "integrity": "sha1-G0r0lV6zB3xQHCOHL8ZROBFYcTE=" - }, - "uuidv4": { - "version": "3.0.1", - "resolved": "https://registry.npm.taobao.org/uuidv4/download/uuidv4-3.0.1.tgz", - "integrity": "sha1-MXUbCrePUMnkLb8jFpMhCzQ1tnM=", - "requires": { - "uuid": "3.3.2" - } - }, - "varname": { - "version": "2.0.3", - "resolved": "https://registry.npm.taobao.org/varname/download/varname-2.0.3.tgz", - "integrity": "sha1-BejcZPu25ZFw3kSq1N3quKuHto4=" - }, - "vary": { - "version": "1.1.2", - "resolved": "https://registry.npm.taobao.org/vary/download/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" - }, - "ws": { - "version": "6.2.0", - "resolved": "https://registry.npm.taobao.org/ws/download/ws-6.2.0.tgz?cache=0&sync_timestamp=1607113185603&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fws%2Fdownload%2Fws-6.2.0.tgz", - "integrity": "sha1-E4BtmROypfPLubpHtWPAAsvHxSY=", - "requires": { - "async-limiter": "~1.0.0" - } - } - } -} diff --git a/package.json b/package.json deleted file mode 100644 index 85c6d72..0000000 --- a/package.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "name": "jfa-go-a17t", - "version": "1.0.0", - "description": "", - "main": "index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "author": "", - "license": "ISC", - "dependencies": { - "a17t": "^0.3.0", - "icons.css": "git+https://github.com/picturepan2/icons.css.git" - } -} diff --git a/ts/main.ts b/ts/main.ts index 2f5d94a..c2e3d1f 100644 --- a/ts/main.ts +++ b/ts/main.ts @@ -96,6 +96,37 @@ const loadAccounts = function () { loadAccounts(); +const modifySettingsSource = function () { + const profile = document.getElementById('radio-use-profile') as HTMLInputElement; + const user = document.getElementById('radio-use-user') as HTMLInputElement; + const profileSelect = document.getElementById('modify-user-profiles') as HTMLDivElement; + const userSelect = document.getElementById('modify-user-users') as HTMLDivElement; + (user.nextElementSibling as HTMLSpanElement).classList.toggle('!normal'); + (user.nextElementSibling as HTMLSpanElement).classList.toggle('!high'); + (profile.nextElementSibling as HTMLSpanElement).classList.toggle('!normal'); + (profile.nextElementSibling as HTMLSpanElement).classList.toggle('!high'); + profileSelect.classList.toggle('hidden'); + userSelect.classList.toggle('hidden'); +} + +const radioUseProfile = document.getElementById('radio-use-profile') as HTMLInputElement; +radioUseProfile.addEventListener("change", modifySettingsSource); +radioUseProfile.checked = true; +const radioUseUser = document.getElementById('radio-use-user') as HTMLInputElement; +radioUseUser.addEventListener("change", modifySettingsSource); +radioUseUser.checked = false; + +const checkDeleteUserNotify = function () { + if ((document.getElementById('delete-user-notify') as HTMLInputElement).checked) { + document.getElementById('textarea-delete-user').classList.remove('hidden'); + } else { + document.getElementById('textarea-delete-user').classList.add('hidden'); + } +}; + +(document.getElementById('delete-user-notify') as HTMLInputElement).onchange = checkDeleteUserNotify; +checkDeleteUserNotify(); + const tabs = ["invitesTab", "accountsTab", "settingsTab"] for (let tab of tabs) { (document.getElementById(`${tab}-button`) as HTMLSpanElement).onclick = function () { @@ -125,3 +156,18 @@ document.getElementById('form-add-user').addEventListener('submit', modalAddUser const modalAbout = new Modal(document.getElementById('modal-about')); (document.getElementById('setting-about') as HTMLSpanElement).onclick = modalAbout.toggle; +const modalModifyUser = new Modal(document.getElementById('modal-modify-user')); +document.getElementById('form-modify-user').addEventListener('submit', modalModifyUser.close); +(document.getElementById('accounts-modify-user') as HTMLSpanElement).onclick = modalModifyUser.toggle; + +const modalDeleteUser = new Modal(document.getElementById('modal-delete-user')); +document.getElementById('form-delete-user').addEventListener('submit', modalDeleteUser.close); +(document.getElementById('accounts-delete-user') as HTMLSpanElement).onclick = modalDeleteUser.toggle; + +const modalRestart = new Modal(document.getElementById('modal-restart')); + +const modalRefresh = new Modal(document.getElementById('modal-refresh')); + +const modalOmbiDefaults = new Modal(document.getElementById('modal-ombi-defaults')); +document.getElementById('form-ombi-defaults').addEventListener('submit', modalOmbiDefaults.close); +