From e5d7705569cdcda236012c543375d2e15c46bc5b Mon Sep 17 00:00:00 2001 From: Estevao Soares dos Santos Date: Mon, 27 Nov 2017 06:44:25 +0000 Subject: [PATCH] first step for reverse convert --- .jshintrc | 1 + dist/showdown.js | Bin 168233 -> 183101 bytes dist/showdown.js.map | Bin 417844 -> 460372 bytes dist/showdown.min.js | Bin 96677 -> 102032 bytes dist/showdown.min.js.map | Bin 73761 -> 82144 bytes package.json | 1 + src/converter.js | 502 +++++++++++++++++++++++++++++++++++++++ src/helpers.js | 25 ++ src/showdown.js | 8 + 9 files changed, 537 insertions(+) diff --git a/.jshintrc b/.jshintrc index 0dfea06..bcc0efd 100644 --- a/.jshintrc +++ b/.jshintrc @@ -23,6 +23,7 @@ "module": true, "define": true, "window": true, + "document": true, "showdown": true } } diff --git a/dist/showdown.js b/dist/showdown.js index eaf5306c9ecf1cd9c622727a0db675716ac075bf..827cc9258e259daed426c89e5b1481ef71f94aa3 100644 GIT binary patch delta 13108 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 diff --git a/dist/showdown.js.map b/dist/showdown.js.map index 8e7bb06a62fcce7e6ccdeb1f803bc428151c6079..efc6a688cc1d107b3853942c26e7617eb4833a8e 100644 GIT binary patch delta 23584 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 delta 6759 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 VizGu%GCez;p0(fx4_%}k{|{n>AbbD- diff --git a/dist/showdown.min.js.map b/dist/showdown.min.js.map index 6e938d8481d204c08603caf313ed3670556414d7..2260d8c494aca26083755a812b4676d3fc28f95b 100644 GIT binary patch literal 82144 zcmd?SX;T|b*XQ|N?&x>s87~-P_q-}C2w9e83>f2y2|`GP5NNX&w*K<-`=66l$`U2) z>+Yw!r=!DRRF##>$+Mr6Sy}(>Uw7$zF`Q2R^V9|C&YLF?EWo?4Sidc`yaDY!XFAB5Y%b(?_$PS-aXJ|{hV3K-c_dpZj??2OVRYQyGXqgN6v6@Y{2md7MtFu^C~seY9Y3{Vm@Mip+B9# zMO=GbJPji!DxEf9ib%x z11!?z!Kiy@c)Q9j2E*m`>XO>i`EW3tbVq7{Ensy@j_=R@f&+U z-+oJ_+cXf=bj$L3Xuw1jP+@DR5Y70uKA#(a=p4%PA-SMc4t{>U?x&y^vl*{0ze&A_ zWLKyQeiqAq{bBjl*~*xX+nn9#BpHqJ5&=Gk%kR>>$Vz}LFHoI~dGkWbdT25z&DDK( zF5C%^ImZnb2U1_aNhzbAxY}J#^BO%c%(IM@5$<}|cxHNeL%ALYj+!Awln9VbzN2WF znko>JEl#E`#1wb0;LA!T+Y}f}=cCUD4+pTH@#(jzx?U`W#Zh`CqQEQH`h|^56X;qT zx(G@=ok(=9_%ETQqx7MpJChlHXVzuVO5@$6zfrO~-z@ovKGICPQaIg9 z5ud+em2R(>nqlYyO?PyG(=xs{9o`+z8OUr)chsGaFM4uf)MS*7FNfC0XqcLWjW1VJ zHL`cdv+L>Hbl0TEl^RS2sg2HWxSvZ?QN9{3u1(u_P4jkV?ooArue$T$N_gPc@r8c6 zzmVi1)&{v1^rsl=^g<4sRaT`?wvupmL#@K&`^g3Vfn&s;Bjkl%Pqv_m9McLJ`Ck|QgU?gu(RTs5R>xj6B%dnrE9&&B0*xiqb9cfISO@tWP_t%Kg>$7JQQ+aC`n zKwy0g2Hio*M7u)`d)XbV(&aL}xWs1@yC4DL&8S!hR|8U3TZxcki0(OJjCSZo{41+svT#W! z*VEaBeytST>UVf6SqLEEuCL2-KvhLf-{o+6-Fg(%omR`8vR^d*7bMbC+%%k>1^vR+R8+0;zN<#cSo zg|_?<#u#gb%M0QnX+`xOevR7+fUI=&8?Lu2oYUhCP4EcSTLcuOU-UxQUXP~%Zo{HODIXNdhX3%&Y|99J>iv&uo{j`v&u_b z&R3ZyhW)UKuSTd4Y|wCWfrU4lz@xlu0SKDFYCa!2Z<>v`TrCJ17K@9;YPduj-VGJ> z`IJ@*bd)Rsm6jLuyBNacrW-=xqNG#;b~V!Udjt|TNUv+0FZD6$8`0znVumlSL9W$A zE!vex@eH#WT?Bj0?R-dFEsf!9 z#ozt~0g_lw8qDr9KW=?<(I4J{J&RT-ovs$?2)l!m?rrAAK|Nzb{=QSG&FUIrh}F<+ zq!|Y05M)};ew`;|fn`G%xDf7zMh{oB%|~d}bdG@u(vO-Y?66S?Io;w@hVi*Tu!4wD zuvku3;%~DL=6i58!k?R5^ybtHSiK(3#w*KR;DYp~vSqjqhUaTi56f}a!1Mvh{77nh zu+UhFUHWOoa}Nf4!{sA7hlOYGxE4fh4=>W$UqsO~h|GVpY z@3XS^>$1J9Y;RrmAuIc^F5Az__Sa<}v$ButvQJsrr>txNV+8$)d!jo{#re#G+)x}@ zK1x;rX{)|h9Z4%q0!!%eMzJYH=^6(hd;Yv+F|mvcL*O}Hd8UDsm}%l3kS#rq=uNM# z%;f6Ad!3H@7mIt32YS=7>1KXsEA)#-4VM>V$)goau26tOxYcYhYVry{t#9^RH&nA( zPA7wTcPTF|gxnhnHNM54m?Le$f|WhVOaaf9^Xcf~b}|iOVV5h;`DYH zF2wS)sRBOt4tmqsW9E5gN@}{oMUnZ*L}R*gCm#ot3#W;hMfZDhFgKqv#MWmvf!uHM zo^OX(gv~~I;d;s%$BH*QQ5LQ@y*F8z-d|21(e%rl{&NeadL+Eei|nDzFg{YaYDR?F zLxDip@DzX6sXs>{^-q5|gQq$7eeSSBPXNeiTm2O?DKT4$D`)(&gUb3I|hW!;1 zBGV$M`tH*9Qxb4Xk`#K5Jn;}Xl}0!7Bx<8QyX7?M&oYt8*Fjsam%E{*t*M3U(; z#Vaufs6XtE@%;#BNGdv`b_vMjMg&hJ)DSw9O`gq2RuDIB++GMMa_?UL^dyY-hx}%g z>Q65wbW2p_dZBO00{)8k`cr&+Ln;?G(sVStHvQ7~90dXI;Mxsi-(9!=(Egli~nnoyC4DIPa?qNC@DCeMIQz`F@fKQwNMGoS@{Lx~De~D8Y z@+c}FK{Rd??5H1dH@FgX>eI?f$eS&h8X>UF zjHROitT@RSQY$1~vSFT9Odpg))shNp88*{LYxRf{ouw)2@N#uY)Ydp;ydBJyTfMzPOp23lWzSe-nqiN3IZ@1UyzNz zLH>P}Wk`W?!g9i|Sg8v?7bI-yA>7F=GJzY;fn8YwD}3yOKUtG*%A&vVkn>0Alzk>8nAHaNk1Y1)`vBy*`zFq?sp-M@|!IC-8ZNys>sR(eP-f!KPPJL=iJ zHzmP9X2(5AuECKt(S`9K%p=zJM^80ix7R$n@1&_r0fJ5=23muGEv>UQg z27KyVI@{~wLPb@nFr5YbrgLTLu7{Vy1!)qy9N^KI8dDN3D+&4>4Sp@>N~`boGlAJ= zmTbzhPxgz34E)6+xTUUsh(&ue`%dQ{wZHTuQqVb6w{)NjHmI-#fu|UPmL5YMV+fae(_Q z=P%uZbHz5Ckg3y3n>6n*_-&XbcTFjSB+3t3VlkJMA(?==`(sO&U*gea$c==yf_>H^~y-E;NC)maB)=NGV46!sTQ9HF6~7`BWB5_8yvs zQ=dz%c;?SY)m%^Lcd*92Q4J>qR}(5_BU&k*C)yDhmXcHqN0>c^&R47%04|#iQ)zth zt--4#Wr(1)sZeX+{46e3xWs5=t7ASls|pLPL1)fSc2Bpegxx1fCkpd%wSD74S_ub9 zhQRi7kRX`Sx7`k;lUPVHNgX4xc1!F|a$%VfE1jTs=qW(?~ue|W(({F zO=~+%8T!^29<18v_VL0ue#nt!vCK**c&Q6xgXyJ0F6&ABpr=fPY{GN}qh%6jMTTsd zUF$CS&}tcO$qN*Y>a0&Yr8SleUF@EUNcNb zVamnT%63cwZ5F;{mluWg?ak7hmRYbv3_41qo)rKI`i-KnWI%W3;MwmxLmC@YQ3wdH zk$3voRn#z^YmY|PvA$Y_N#KEymNO1xg;R@1kqsS(A`*u-<8TW?%rK8xVxZ#*ph^Gu zHL(kuCQRxl=JC-bs$YDLx?=B?_Iw0dPVhmO7U)dU0hQ6azA}#2tW0#~pAsEKZC1E7 zqjeX`u1(VWEW*kz3s#T9#f%6>sx801U>QPuJYg4|TqRtDd_mq6I7)aho%Vr3!j;`+ zcvEm2X>kH$lQ-3z7MsbrR@;o=`1CUOq#)cAPN>^ z7DobnlmEcY6}KQ)u9+uT7=vV)hOkV;)1`x&g%Y5;7eZ)NuyKi+lv7|EjhJ7eJrzIU z{TTwLWIouerxJH(^JL`|2IzYZ*ESh3nDn%2D#j4@G=A7}q6I4#QcJF66_jXM*AYjW zR?3o&7udR~qskt6DiVqrK$(Z@D@EeQxYDxwAPGPzVd@HL9V-&7){CBJsJAE4;vX7r z$TE`;=YCi~Fq-6g+Q;2Cp4B+3W#oOc^+9Edd)WSc>&_Ib+$0Mu9J#Q~SXN+KjWrTA zP=O{fL;9DObKlA#tDPl;agvo465w3+yO~57pKFcR9>DXu_FD5U+g4>D1}x4SeI%LA zOj_r-z@p>8d!QC#LzR=!WeH^>6Ef2(vP>HWEex?Rg91C*!k*PZ&eyVpm!&8s+n=Rd zSretfS7wK}vYDEz4h?$4k@$`)Ht&gfxYDLjyPC@&0%Uij?yv(EsBLrzhC)W!4H$IINZy*BNw&HYGkbM04jZ>!x1Oy={j9rB1#naXqU$qttL1_=z{ARgCmzEVfO4nPU zX6z<5cn}{bC{m&1d<{%na@hXs8(Vo2rJ`7OWoIyDejyxV9?~qC;Aw<_?>XBzr7G=r zO;fvNk;K_HSns@v*>blz)>PrT>=^ZQm2Fw!R;#nxlPK;AIyIE)E*Lpj9L~qFgTE~E z8dZ_x>sDgmO@bOO6gp{0pjvHTLM7v*JLR5$A=|3PeQ{mpG{Q5XqOrDiUcmo6Tz;PLS3d`A!BoqQOCdA*Q1{n+FQRG{-#E zixg^26pNk0Y0ynR04Wo@M><35Sqq0KYA|a2Vz*jG_j+0nG{>F!hUGIQf7Hj6-J|v! z7TM?1E9nUN5Lv{pYv$LR+Jd1yM4o&cS1iD%xY8c^{xO)*<3`iS7upQ(j7t7lQw@ai zn@p++W!TQDEP6I8v~yHD+@Xrl>867gzS=zxPqK~{(q04{qS%T0N)l!SS&zKH+4FtdAt#K)9_ z7Fa=LHW9msO2zD+>7<>LRKIzR%tc-(I1wf$fvqQL`lQC$gxPjwF`#3dJJ!f7kFV&; zg)dwMLGpcCi>Wfyiz%-*7@2(w&cffO3AT`k16?zm-05XY)#eorryRcBwYFe+;r!Mo zE?*4&u`VdMTXgsR2|VJCou!W6Ey2J}O0O9DItOBWaSsm*9M zRB#pTK&75a6eIw@0T(*s{Y1N8VgYUcM#jbHl6R`80NdHtcPeFNh-SabPSJ30)AUy; zy<~|Upw5W5R{aG+lxTOX4SECs!J<+mgQ<y+ydbZc$4L`*?h(b}7iRAZ z;8P>9$eK2;DG^LU$Tk>84*;Cx-t%%7r1*j9`HZbs6JMPbH1X!A%#G(a>^2Qo7YYUy z{8;Y7NV1woOM{DWms<`DmGSQirm}Z?qZCE99npS?45t=<_+2jN_bk_ImB!u5#r<$> zZhers>^2|I!Uu!val*!>CRL%Wf7cExRisD0^U$ApE2o z+r5K2W%E=o#Z!~)sSq1w`70I=c=f~zEjw7;6T{n&Ms+=BWk>uabL`TgOto1pzpze* z9?>oJD*;*ZS~TuL$O0BtWE=}ilCF8;!(Me+5^8(5)7!@>4C`iw$k@@Cb1>Ym5#T>F zqU5b6{!)x3I)dAvYv0Ylm3AKG-U#>RF59oc>b{|?a`uGI%|}%%sR%+tDMc}`Cz+H{ z6w<0(u@B5) z#kGQkEpHvB*eJ2XWGhV7jxTZiEGYl1rkB7L|`OAH`en?&+rUKo-n-cj%-W1 zGkJEGN%}pj0+>6TzQXp_P&|-t&$@9)<3h=>LEv6ax4-_xxS8hnb%9HCZ`YOv>^@6) z-{S;YT`hjQgM3e>sBCcMr`cm|_ToP6>-`cdF{?6SBZgXq`S`ZNtT3MzzNw9-U$Kj= z*2vEFaZ2s204rftWH`6Sy#H2QroX?oqHLkiZ^PRS*-cOge(P2xf1Sw-%U@?IKFeNb z@=~`o8{PQr+Vs?l?U6}cb zmzQj;d4)n>_3|5;!}Us6UWU$NB_dnv%8J8kSGX;#cX`?7ikFvWYh2k~zRKkV(K?qG zY_4>9X|~oC?!ulbDW4!o#RtyUVZF;A#VcN+BwF(dC9tVkxp14Wd-?r(+GBXF4_OUX%XSX0nHJgl6+H}z4*kZ76|)^6Fi!q z5EwQmJPzl1%oj4)yqnKok^}?3TL?tzF<}D$QOFz z+z(DjncP<8M5=C%SgtjGn*b-gMZK6yqZ*dKy0w}34>Ou9Ium;@ZfU0*=s`F_!Rnt_ zDZ5?5K@V1VNE*?IX?Nc^o5Oa-WMkOuey@mOvXVnl-YRPf+4Z-1s?$26+wAg0t1Q`# z>Ig;IeI4JXyD(4Dx;&Pqvb3n!sAk!aFcxR9WUZQP8&H?_imZ-a;aZdZ5l-%*%c|Zy z6N1!8ywhB!{$fPw105D%XE&(oR}+bRifTzGcw+j=`f_BVrtJkc9%Pq!S9Zw3#sgcM zGO)cpkS4rR$&#)iSSM{nw+Jn?$+^Vt#0mn#rFY_>&eK4Pp*YvpwUTh!i~2wv2o25q~;Q%*!BGrYEX|+=RF4Z01I`s^@j^NPJ@(Z|kW#VAk2C!gAcA^2o6_fuDNR zUiYFqNKL-q*qUZYAjsi@6;xjs)U`0kub(JlWaEwlU-XPD*D?)5aj%{G;pf|-o~vzm zoDE`IgR^dsqcA7oYvo*nZb|2XYtR=l!tJn%;gSl0pTn6xVlIt5?$->kZeQo6bfJ=BA^o=gStLl^$%Esz>yvrX2N6a%mttu)lGy--P71opd)z#5h zys@;uVNk(A*)=}e!O|jV1 z;o@ueD-TTtG%a*TL>Sx1eyG0Udl7VjI&TnUi6gI@HT}&s7BHFtp^z}UcYP2NeBI^4 z@$%8Q`8vR>Zq(Lb;lf136unCb3#_5${jhIp^xDD&s_K+9VQM&mr`8AHuvYQ(2;6=Q zm5zG&@IJo<3oN;?9u}7zvre^S3v^x<&=B4y6Q3{)?=qm&7SgzxQIS!=bn#GD;v{gl zKw5muEUI~F0~NwdFCpW%kR{*>LD+$@BzV-kZhPyV8yM&-GF zf|(EcQMMCBO#Yum+&i-k!q0T%th@@pyosr8r{5oPgIkp)wUPM654ch@`|TKgv&*K& zrvgcrYHxG>uglRjyfib z=chi|`r|e0Vh6(q>->N?o>;D5c@&RORfjlbO3;RNI@nG+&K5ek%m{)`l8QN*e)sd4 zXsff7)HbLdR`k@PpTx#RcPy49??8T*3*K(CEoz*N$SkzT!Lf<|`oF75HQ6~!TFK6F zk{l;H^&}ZosymIOdRN)$CiP^enIugsIH>MCR+4JHy3Syc6R1#V8d zJGUV7l0I@SpH_B6+xoJk@|2DXmFdM838~7ZC+m5z+4G{Z^GaYmlvMt(+4D;9RqIbB zb;TA1DDEpxh_{k$WLWat&%k&*h-ypf9@S;FzFX4s8^o#5^Ba&MkoQU|OH>M#-&J@9e-dA=y)csUacd=RbgEPhJlDdO05fJA|U5Gr zp8N$7UO}hffyvvvv4hK&Oskt6;^zVLq-GtquOei%?}X0G)p^1FC$$Sys(38Z&rk7)wIuml#}=%_IjW z;Ln2%U2-6`aGZ1`^KTB_j$p>=;0<0qKj$X6`&FbE-`+6SN@}>_df2E+d7J^78Mmht zvxG9hYXDD|cKy**{7>~&-7}lml*y=Jq3TKP&}|9OOVeVuzv~ZtiH8#8#VRJ98g-gX zO$2~$7={Em^<%b`zrZu7?AC>+R1m$cyf?#gE=l-h(*V2jKdFQxlPnCVW%W!Bc79it z7aiT<6Xkbx$xhbHKwsa0lIT${z5z#BJ>rc*@3MB;v#Ol9{0>JI2PwbB+My`3s!jPr z`JLG-9yOBsL-j*d^Q}J!hk1>joXD)kJHvDxjTd9#bQ24O0scqgq-t`%p4xVtC{E1h zRFCI`nS}9DJY<`wpfP(#+h%ffS215RImY(F zja{JxDaxx#BX>@4+yxfX#?MGq2YszN#9=&GOBb`dsk)zXj02HR0tYFA0c5w#Iwl=Z zk>~^b;=k5OK5|~q^C=!jqVar!V_lFOio8(!oyl{d#$@`L(@ETm+@7Ss!8{u z0)PU6x#oCZ8WP(pg99C$!!dETGX>Fc+h(4M%%AuSnK4fwIiYP`c9L?%0ZG$&^avcM z5#W!GtWuHIWe=sb%qAMHVUXE6%?ouI_*>c<>nK4=2+4t6Vq(K%$v zkq~|M)?aAYBN z>p*R9D{t+Yxev!*U4Fh9W#wq>RywK$i=8FMKYf&l-Oday6iCLGUE zYDrfR9beb><4!&p^L4Ek86BToFh&g#{j*_O`a8L;n$_R0SkTKPl zw_)Jax_)B-n(YXrGbgfrEk`st;xWzdDuw38{5@+9*8&BCw%Y))h9nB9{0n7iJNWem52N=AG{O_msXfXKFVe*SO37(1AG}S@8a;LPO2dXxXHV`gfO_>I5u^F@B=)R$#OrH0WRl4P!C( z-qez>lnV=nReTJL;E_1L`qTPs;_#*@@eg$>AR*2{KDG^Q?tjugpkZ%RoyD|s)#==8 zRx@W`QOLTlqgTaZW)e{i0xt0qfK~n|X-e7#FrO!RoGnuGKk=`D^mMoCHa;l&RXsMa zMv%7s#R`IPkl9sgNnKlUPjl{=wD(LA01hs1DlkrYR-e`3BjrRwb)aYU0&@UUs26&K zAaQ{A(Gb+7aRZ~EFwU|RKIfKcl;p^Znsm{^KByy@kB)+dw84-LN*sKg4S`<+eA56e z2ftyyTElcZK^4`_+xv3uL0HpF^0As;dS=W9sk>;4B`o}2hS~-PG#7=O`-}(y0zGY8 zFZH|7fzk%dv-(tf=gew7?8QB_O-DX!F|QJ2fguIhfYZcfJrVd4fU3`pV3vZqG+ol_ zQzc7F*la_&xH~cS{30_}|17?&C70G0$kfx8JW|gC8rL>niwjtFknnu0(=24XEVpQR zLGiSjo*RzLna-OMXcAhBWCN8|56)Dn)3U$D*wBE-z|7OP6~avk@GpCAfHivdJR5=z zpDGpz95tw848k>RXw@QF1@G0c`Y2rr)t^L)g3kyfCcw;DRFyOrHbvuilU*M~ZjUm_40uCgNYD%1#^@kp1(P^Pt>J%A zJ82aeNDmr5?~Rru>`=miwUeeJC+5{vLr*(*f()^~HwbNz>Y)I&1vI+Tcbo#WY>p9zQuBc=M3P z3_)o>7@kQjgno7Fz+G?PtD{yW1oG0mCr{RW5T^GHqzqR>68YMhab&GKw-(70(gbUt zv_8cRJ(|VU0cCsUwXu5uJNjMIYtjeZDv?abXFwxg)-3hlP<6mr^No#jYSvRp2QmVu za+k^QNK)K@qd*t{D1iS6Ma2_!r$|(nEE{AE+UR!N{ioVPtSknH>-iCw3$Lsh3g!?k zhYK^&4fRlT(iimA2Lp zN^Sh)x}O+2g0Bbx%s)2bsS)}P^qHB56pZ&xIH~)ZUd!Buj?9^qDo>#hc)7-JS5aLv zNaX`4T(f+QSizK6^DtC7PU@HPO{;Y;*M!@qwG|a9aj$~#jOLwZ&m4-pa%1Amr0hla z=iL0>KZ2Md2!UW+O#;UsBJkkeomVK(N{%otS}EuwX4UVwM-0J=LQYkD6R6r}vJl1EYPR+7 zuHKAWEdIZIR^zq2ANW+f@yhbJS60V55yp>yeTp$YkngA6RC42h4fH-#Mn=s*liMaN zryAlI{#3sdE&~%+$%Rls0;1J^rD1ULxEVp4m+k^PSHHhD1tfQ-`gvd}^=!2AAw*6M zaAJuyBPHR0iPo9QSt!CYmR~L4L-3}pLEz^|6~2e`ESFfBs6y0pRJZ)n5~ton1ZGqh zLS*1XrKxR}pq(HNIV%92aTl^;+zEA-VyE6^HH%`onec#+lzm9tD6sPkqVDG0g?w_T zxV48cEY&ou;fiZ;Rcs$kpfF}(3dJVHo{P`!;S9?w5C@q=QV57@IH&N}VkLWV05FxG{)~K#IJ>cW2Af3@PG!Wn2G8}Sd4~<`i*EFT^7Yj>!So5fVT(kY=PJAlp~3TEjB7vi$*j!9Q+8&5uj0* zQEAjegxF}Rf4q!3EAZ$ayNke#peXcFKB)-h5sO6Q1yu)TrRs`z5gN+-DN0c^{h}f% zYM*E>5lC9RCVvYYyTB3Ed5NYGfDs=?a6|}?W)SrrVIu0Gylzw>x{P{=E~6eIAfx#f zXcy76$g~B?j|Po8ie`&*l-X;mi~YhfN8?8TY9j=m8~B#zR>c0cQ6p>?szl`xYKuG& z)hSH9&`~tQ=rYm@5n7|tXoe9AqRB=$iU2HfR*^}gE+a^y#!-cTQW~Kl>i2(((g@*2 z&!DI@BD5E)vA#p@Qoi6dJG+XFig%GXM7@Bh zC^Alkev2{?!5VR7#7WU*RG|QN)W>@e%0eF^{E2Y`6fm`c5wNXWp*!$8mCQXYQYPde z_3(+F%9TqI84-99L=lS=&`>TR(QJ#I7uptPAF)FOWwCWcr-+tOOCvUHc)98DMs*^H z%P*r@N0$Z24I6L;?tIj95!eWi<(Gx&M^%dIs!(eiJY`LY^c4QEM_-H8@&aI%2yGEE zi^e{hQ6xNt`9~Cr0FR)H`iPJm)r|m&N~0bkhKo8YqPPH4`8ZMM5zvgDMYmDsQH5yq z2u}rCM7W6>M)N9K-Xe|*kVkEDXx^T$h4tO}hF=^_s)&%H@E5?1W>hGTU=Jz{zE;Q@ z%`X}+C=}R9`s9U4MdXNvE(4J9#Hc}!Nv$c&4in>{yw~76>7fFH(2Z^tz-~0%P})vs*9LOTXzDWZ84 zfG;Z52PFoal#w-rg<+V& zFojA{;|SNq04G9NR6T+q!d9;LM`Rjvc*mA@%(I>m@}gdf#3&yrs%}tW8sQS35!|jE zUqrbQ!1x2d)!{+^F*iM-eCytWgE)5&Q#S1W1Id0wJQ>Q6Evmphf{C zOBJ(h2470UM{_o?s6=u(DlPA_06>99A{>?TUy-Au>V9}HwgY;ZhN53y zbmxmCDw?t)qM~ujDOR+*5yUz7Zqr&(g$PLzGel!YbB>xt6{3N|bU=elNL0Ouk*LdP zW>IO><>o;2O)ftIHHyiL!XNQ#)JYMNqQWoUMPo!F7C~9We}R3XsTXS%?+R=jwTVEF zL?HqwuX~Ls<+X?0M3tghM^ug`5FtMrCYo#!p#^A*IxiY32d%(-QRzz*DE3;cSqw-c zD5EJylZ!5+*%!q&_)_R1xl$2~IZ6wrod3Kq!#fRw2`qWmzl}qT2?8LgF6{4 zn=aSc!XD6Jf`Z6UF7pv&lsma-QNP7%0WPY^$`m-)lnW0~BSugzaWtaKV%w;Cm>vz} z@dstcos^vq!HuR>xQSpia#4p_MVCb+6lJccFCx7dT^4DO6FGPPL8IV}xU7JW2$G1w z3sjEEqh2Bzh)N4{kJu)v5;cr2Bf!fqqbW!IMlwY6lexAES<aYunIya=yB05GGs%IKKOcBk^PL8N>SMa`Hz=ikewn z*ph{x2)L+1M1crZQD@O*k>{g{6d$~R+z5%$Wubuq1mV&45kLh}MCB2aMSw>0D>N+J zM0k#1iSQ92th_>0T4Y!o-|cWQ-w@%f085d5trjTAtQ<_lWdv_Dzlbj)TtpShFSnYh z0$2sYMC03_07&E)4H|(Gp)M+oa2s7l>>LeI#7I$V1hWnR8#_@Vfx90sdC|n8>Jcd;oJL(o18&X{&d!r6TyG>*tRcA;n7^oD{FoOh*9pos>c7Y*frmh( zoYja^BjBP^Cn8hb03(`JbQxhF!gDNFbKZf>QMTYFYF%XEsDmQkTXP^neMgP+P7B5- zqCMklR)Gi1~1eZYzksx!Se#9(Amh_HjAwrqjcgqPMMFn@6yu9XgGIQCXd6}7He}SWe8`A4cIgJ8Nc_SiB5(`k z1+j|8iXezETO6R!HkwLw84Vj@AgWNrT>-SHR@645hx0E zHe0$!6_rMp(IlhN2%>1RQE35vT6EUM8WcSoH@m(j!`unO|B4TPwd2(Uu!sLSXw z!eB9{905}_FvWRAqrGs6Tap>P=n@iTrP1XdD|p?A$I34wl$6i6NRs+G2T>I8h*=7x zh-5RuRWwwDj|i5iZiM>+r6Ni4@}N?RM!V<{MI%JbBM=HBL_kCw8*zPcs0h%g$7sl) zDj=P5+o3T5i^9^VMTDH9UWnicR6+3NIc*}D5iSd*MI}{a;Ub2LHH*)-At%B}1Y(4; z=rWq8K@HJx+XdvO{cEwtn6 zer_*Hws(H((1q$N2Y6MPGe4%F6W{V~^b#bU@rtC>MhuOgbi=+BnrO%-ucZ6=XbV#l zZC`#`TA%G5j@&#P@yaW;+rI4QaCQ!CE$zErM2(M|%I0MG8Q$ZEIvh~}adtU;1z7CO z)o|R@zyUwo3lmtMHzf)|;?|q+aO{ykwAVKqyyD55*_YlGue}})-`FVW63#`>wET1nUVdfTcBoMO zz$^2X!OV_R!7zM z&J&$I|K%(kZ~(9%zM(#J<|;4MLR@kFz1O<0y!H#@eOz0oZ1Es5^&=3Q&P$T1bB?;H zjC{)BUC=G`_M>C{WacBA#POQeb#hUfyS?5C+d}6P*{h7s{(>%NO+aMh*S{q)d&|q| zTm2{WSW3ByY@A3NCFs;Ht zR@;xCo1&K%2id`Q9I?EsSG<#ZC)*`m@-DVxFgu0n4Ncx3_}Lw2utDSckT<0vX?8}h zoej2E=~-DHtkr*I*L2`Ry8FP`Tj(#pd$YybX$DyX^JT_9Bp_435sMIo6G!SRDuWB`BZKLjkX#b=VlMAu8$98FD-NwPq5TbY z(Q2O9bCE4iaUEO5_nW=qGo5$cA|66v??KgX}EZ51kk zj;1s>4>Lx)2W>Emkt@it$$d+eTv@lCLX#E0ba5r$l7HVV!~B&n3t}+^^Zx-x$R?eh!sBs_gnSI`8<+&n#A9gR@Y*m)4Leny(|U z3bL$^4CpY`Y3QZ!u=*7n&<4kP&pv5=pcgvuL;v<{1btRPgqOVyXD{h8*vm(&Q$1)x zc)j-zOX;U)f6-4|!_WNn#}LxYyd^7epQ<`!J5`}|Z?9HpT{yet?S4o*tSn7jXvH}U zJRD%*I>}q+WTq<|G!cZ*kjk7|Zz~-82N5Rz3XD|>F}jSbK2FHRU|1_e1fHyhOjRDIwj*Ty<9si`w#6Z8qCqlziwRs+B} z-BO0!`a0G*eoa4%Gpp(7QcXU8WayxZ9Y>$lu%k(`zCw+beUYQ*k95d?a`YNAlOk8H zP05({zJJ`a9e#ConODX=!&Zi#6<(VDZ(A_b z>r;))QxRP{iq{;atgZwu>FE^pVqK)`S>2xMp4*XEcs5bTOezeW+H{Ed=uZc1XOw~o zLJe#dy_}h(DmYx%S@#ms33kR_UPs9A`MCzbNE3S4sg)giGq(n9b8K}^r4H0oiX?9J zTdiK%VVC=r#1GvgN(7|l9Fdl^%WaV((B7}eE$7i@1+&c@?RH(=QbA5HYKIfMw^TrH z9m!jGyRCw0s>l}Gj9Yixs$kwydGR;fD&Vu}Y^83}!cP%` zKR8m(Ec4XffWiu~YECl(49d(ByhLCLoBufKe*S&Q2W5g#pE1fB@7 za-`hdy0$-^lQ!`%&+{jen);U~zcJ+-GBfuSLGp3s!Jg^JUr0K&!l%k2v|jRyz%`~w z8#5wgfgX2NKPL1vewt~2u*7#MsvOAm-W310u9}>DvguYk3nUS6kCZ5Z_IikV`m8J%$fI==dczWzhGg@8(_IOY&bA9u`=$25s`eEhnv83(T6H741ocsy`c|uM}(b>yiLe)sUv@mwn|i;CPb@bioWK*$U(y zaP@6o8HC|!bZQ^2Ag&d+fkxmMnhD6b%mo@~;W0q=*sSF|Mv^KZ>#%0JdlNyXo`)4b zm25kL29VYebnPr{DL$r5S##(`XJq_1)hnQdioOi3w09arR2n;7g8UuD+ zdt(+fkC*TW$`u(uRH&;7Fe$#!MJr`U4r=d>EPsJpmIsWNW9HkyEzCDW5;clZWdosm zmFy`nko%Lwh}{TdH7~PZsaY@=lz%oY5cI!%S|s3~O)E9la!XpUW8kTT?f~PT_>_(%m2U@?SGI--(V|(hZYnMx+S!vF&e9{v& z8oQYWB_iN>=S5%y%;<9y63dd4V}{Tsm`4fyR~T*ZhP`@nTi{wVck56=h{H0gjr++~^r!CF>b2b80xwy7TYU z$>QLZ(e_+%nCJJKO=SouYdo4~@cGdDH8=PxkLZ^?DiykWKFJTB!AI&zu4JC( zrAt|#L_+*z^kY?!yxj6@dW7T&^Cby=ZiLG#jMo*CV>yw^lL_g#c~C|4sFO_ukd_tz ztA|q>0O2ux*?Lm85=M+tJ+uhy*(3H$iIGH zXMr%B)2t@(lwf@!)3OuC_SulUvU(E_KJaTsX&Ts5>oQ@f?3R#_?@}=xjX(c8a9toQ zVgCsDFNjA+4a;<2|rUN22RqI+HW^;ZPEK3Hwt{*?$83(p{ zq06Ls>s;m`s;!^Opx0-7-TA+Fpq8bTP&at^HwXVI{gDYCaUi{D>WbOb;~F2n0xXP4 z=*e*y@`70|1j4=+Gtj5m$}OF^p*+ceyy+o-{!>H2m%|lwG-d(CA#QMsU5xDCnf2)0 z*?jsLgh`VRjzP&-FY$FEN<6Yp&XksrNG+W6P1C=2kuqjG;@cZhbqhE>ho?<-w629rsfCZuSMuG?<=(ijqgy$Gg}YNb@ZG=7l?S9KqDf6_v>Kqa)dOBj9P59c z)yB>aEmrB+;dX9o&R4>R<_gIofU%rcY+h3DGA7I3FIMFm$rm<8=}R-Fc|s(8L$5Xv zf6SEJWLXBYN1dc~6|xSNhQPSGh-Zef?V`@kCq!P>3=)zSbFwf)A;dzFIzcp0HjNOE zWOg9SK-nWE;9WY;nNntF6Tmn7nN6op0$K@My|w>biM{ut)-J!9&aJ!ejS6DaPnE37 z9#y2^Kk}~6oMFHo`=rLcj|YuRl096=-b*v~`CL-siU_>md8CKeNTe!a5E=ri#3!=;Z93;S;` zYR~vZb>MYk`L3(VEJEaCvXAt5$|pDYY0oJoabb>GV%bN1;`0W+6{Zh;o?;&x6U)q; zKly$y++}HH74g{$Zx9fp2HM=Ey+_hs=JiltA5Geg`6B0QDdPgCp0AwGn2)ma`zuroxWc7^sHow?9bWUNHk6o~BPL(C# z7-jpeg?ZjvzS?RWaAf|dJLn*uk0R*X+`^deP!fCiI>tv_0c{MKqi*y(&GzYvG<#+- z-d4=#I(DvfjrWbpcpZkzuGUfcxM>dL&{!sBH9i0Va!&2L7pHD^WKHTQ>d>lI!&Xqo zzgc!l7ohg18<@DKsmD3#gx^eC@ioP)ct$bP=otPVD#K7)#Zp{vU=i`qTW1y3QnHd3 zJq>=8?|)Q-y!*FRFDJXptOvGb5a`}kq+sgFfxZq}KV^?up=+|rtdclZdqKYl?_U0s zc`s@FvUu(6mA2d9g@xCOncZE@F-0DXH8tD$WIKdl>T1$aBK0d@a-r7{mAP0vSg(1A zXEv6|W>OpT01z!cX{&Di+f517k52p}?cYh-_p&_geW(Am_3-7}F!bbKQd-x9x>qlC zsfAO%&#RB5v6^iBc{DMFag;yeo5jJ}yZAt(gG*Q5=0h~4^wrH(gm1o9q9Tvv7RB$B zq&n=f{#qh)t2A7j&)oFHyFaAKVQ`SnsQ{0`}4~cQu4DMg+Y0DgFAT@8p zm30BuIX!I=hKG+@{JX*)Ho=w^ZSsDidSjPD&=)_O6dEnpS@~Gp&X&v*k$nJ zy@}?=(7%Ci;h#sk2S{McWm0pt666+!+%q$pio`!nXSkS|tk~XTJU%JYw*^t~ZMg5v zF*<@?S`)=aNg`Cc$(K9r`VHEc47rLzqNe@iT0^Z;Od1BxFv_3f_l8eC18#aHYGZ*x|^!Fv*^O3AOSSi?#Q z`B_9~8?vUsr^aZGkNnZ7Yn^fT22@Ho{Mn)w-%Sh81}K(LvuEm5T7w!WaLDPOe75qC zI%sy)>A14bvLF}jkNz9e^S4Q5$WqyZ+UJpZ_!&z+kTm*dg2;;^^-uLTf$9SAQGNDT4tQ^k_8wtESulA=@G#ddPiG{M?MKqS3y?8}toE=^YjrpqQ zAExqX`H0VSPUWRm?@_VxBWs5KV|jP=Z*nmKDQJjIwlEmm#ul@H3{kMXa0L2y#5{>3 z?mxD^*mXg2X?b8bPM=`av)!?;H|eBZi$HPy&T~lQ3Jo8|E!thhGr31(iaN>nWVEsp z>?*3YrK%^sSFtlOHqDK*Z=`dlr+sZgo`JAmd+mYh(X57rtp0fQ!H4-2b!ZROI7vwM8&s_KV3vZWKyh5IGFo@_kz+n5s)9pMAup;FBlg8tUciDMTN#Z}JOqr* z%Xc=Fa>b>0&_9+zfhYPYAgESf+Tuz_P?=t~s=V=#haEUWbjM1s(P zJMUSoQLPNGw^@%SWSe+>o9{X;#j6f4`%pHcX7bBPj!CZk+}P(!)aF84ie2(h-GmKE zpqJgvFLIo3I4b41=3UNl8>6S#vn>N>gKe}>LZhrjW0qrQqs8_e#`Uc`jA6IZJ=?5? zZh=c#qcXVgxwo{C`&8DVJ=xY``%J1^XR-~h`WmiMZrZ9qa5NvDNhzav&|WqnKG6*q z@$m(?h|ncNN9nLyI9Zf2F?#DE=c0l#+F4-l(63Sv<_4Xc&gLtB@;*MeNVWFucU94D zi%BKPimj){HCDiUDxWo0nEcMbO@jwW>nd#-C$!vMWlIHb@Z8oN3?g5_--pxVTsNh;~6LoyWRjB*usB3?+ zU$$av2UAvP9W`$<#K{>2ZKNWGKG`fYn^iEhu`6yC_N0?QvG~DKZ@$?hOs-|G6tinQ z!VBvY`v)&F&Q|rqTU<}i`1LQeUj1c8-8vqbU_MbV{P9&x6#wbYxQ+_dyKwAx*D_aw zw{k=B3r1^(7hrA!lNd3?kg~$|w<&Xr7lQwTK5~aA=RxUFMNy1$_Bz6}Jh2+luSVZ&BM#is=BB=-jWp?&HhbAP#!IJ@j8%-6 z5TLv2IG~}t0w2N+PA|?L-gor}Ul0XuMKg`>*~FFe#zVFVX-lJ3kjs2mox6`1vtl`@ z$=OivtTrF&TB)Oljo{IOcR7LC+ef9k?FE(kq4Hd({)Hz96XIT8SBNND$-%txqJ(T6 zUfM2KtxU7dYh};ph?dpX?^w%H$#_%0#-V#2xc1bXD7c=q^^xH(p47vEr?@`P$eiiP zy~=MV^JWEGtAP*LDIF@zHkeopsbvKEZDeVp@Ydi>&6%M&^0qBOeinpGAr|`^4WQ;` zr@jNDtXrAB+%}hz_yym#^W3*JMi)X$ttO#+HzAV&2H*a{YNlfGQrD|7$|-BJ&Ad`Y zCE8EdxT$V`VNRbg&p5i+I@h0TgWDpzf_hSV{Btb`Zcj3eUg}Ss28F}30iq?Zt~2e7`JXErlp?9`E`=7FWZ%^9E1Zj-$F|>^QRRwb6t zrt=rPNz^5RXHl0O{!mrSo^;5_*0t$H_A2btIYSYjX|3ZV`D8{goN!Sdo^9i3r5f_2 z;=OZ~y<&OF@&RforN00Z?dPEv=+%DHwlJeiw#2 z`4sY%rI_8yCP&ZNm2+M$A^>B0TR(8~jnY^Z~eGwM3#J^<)diBwSZw zt-wX8xf-vle1Dz74XyJL&t9(>ZB(yM>Y;im|Gc8rpbRV|bM_1yx$Z5s8Wypq!o}sw zisl6eHj39p-0J7xqADS&Ja)E7;rA%nuxOFp=g&QwdybA9eZ5}TD@DgvM}-x+=WfzH zG(}jqGRNcq<_L>&E3+_XJ1cydpQbO!p4Rjd9Gk3@8v-&`!0^qtg7%8R2DK6fVo7Ux zkS%t+alK?I|I-I<&@*hsc9SK1hIe8dJ(LqGhW#m?PcLE&VQG9S<+pdS0(|m;mL&uI zvDZ>Md}Ok(%Gt6vX>1B<2%Wdm;gj4Mj5}D!O$KE>@^s-mfKnjv>v4igFpkLXn?1xS zurrl7LFl83ajC72v^l@e2vQ6a-o*Juk#d`-fRbwHX)EO}9L7 zYLWUuf%1ko-5u>?L{<0wp{;fK_SClTbvsueD_v_&MGuhy>8w9pH^Sbm4NaScT$4&T zjHS3N=_aFuZJNnG$5ALyYNB&Dv!QO$ZsTP zBxiLhS=K(}YF%fsb3+H$ttu=)*ORY!bOIyr$19Uxwj+s^?EC<|KQ6J=<|E3^Cm}W` z^T%zT>F5z8IzM;zO|V0zjW?0u0@N`UqKz%mpQCW<(2>^Sle4>kZk^o)s=LmWxc_#Z ziPkjD_2xaxw+9)UmXcs=T9dxsKJ&eS_)pnXU-8fqk{<%1`MWCf5Im^4^S5Rp^yao4 z@2u3s@pPYOxcRnG!jgA))v!$L^17~I=)n!1Z>tbeHjQ-;#=N-N0LHOx$W_j}?+VB~ zOWJq!z2K*3nHUdMw%c^}L;aBnrMn-u7>->}(7n@E2s>ko+%(Bcou>2BA6sok+Md;8 zZ*8J2MN$pfm6h48wa|MYOep(fqgmPdsa>tBtgph5=Lca+0Vl`U7L*_Cr2)SinlUoO z*-nO)u?9<@Mo28M?-x3TNbDMs5c#gQU8h4FhrjWn(GPFwU~>AFLQ_}fzcT-u`bTRTjF0WeS=ZtnpzCT_rM1(uI<{$HU4eL) zH=kg=H=VC@yo9hFlyI<+~DNP5E-^Ufx$lLL8ZG&r`S4el$I$ zt&E076gVjqbP;g2=MYmwADi;ZcH@LMrl|vtwUH69LA-2lrqYU1sOD7FTMH2Xm_19s zE53*TCg}eZUTKVMs|(r=bPd9b=`>O0!$#8H@1JC})e zGz(-?J9!3bYFj?s)y)Jyg+kB68Z^(dHL)^_VZljq`p(%MC1LC?9M~xln~G=?1uWIs zb|%xkcG%QYMK2FN2mSFMfX?DfX6#B$gDl>CnV!Nr?>#dO?#XZ0jO_I`FB?%ko|;JU z5*QR?H;W;IKSy&b-!O3tj3?yNCS_9wZz`m$Iyg&7*t}RCt8Imzjf`)%q^lq@o{p4> z^b^3rsN!?qCf&uVV-=T`Eag(<8qXZWt#L8`y0x~(AY{?l>>v2+)~30lwxDdYZEFp8 zDYdt{Mo@eA8MWPW+fHr#nLpaWt)8$ngh{sR{@1SaV%;Ck$qSq^3sJV|ChZz-VTMTd zx*7QGy76=wGndX)QJhv;_*3n8s(&%pN?BWZvU-;h?Q%+gyu)XD`IA|-wja=tbfn$s z#NLOmCHCyp;|bX$b71JGBew!cwfKcJy{-e`C>Pvn(vwvC!KPTA^fcUcMGIf*0I5MR z+B!9sQ>A%%0f&Tmdv*~{h z{r}P#|Mn+m-1o!&=Q-oC<@(2QBO9yOOZSMd!xX+5l!?|S%@>{Y7iiObP8;+5r3{|i zE9qNF<~>mvHI5(Mw|OvcB6|(_)-uY~WF=PRG#K=5Qz;zrt^D-h#=((c_p;tE)kE7< zSnoQ=QVTw|)nxbSwDijmR>_x&B@wHd)}JS}Bpga~G_ui~UmuNGYxO-BP;9?6T4A#) z&N5bqRk(K+R~?0W_9Y^>yHRPXQ-0XOENB{EL+!V=7pwX+_-IEq-Q*Zki^TY@##(*k zB6CDENTgIfcxR4W^-FPgG#+1;XcXQh)T1nKhWKh%Mm2lSE8I7-`@jooQu{_eq}ukE z@kl7*rB+Ye&HdAeptd+71=$ETA|Ph>77`gPG+w>+0bN6|xt`N{4yw?o1%Lv=ev~1s zaTPYVpV<-y?mw*d1P;U({#QilY}Nv-Pu0yr7*30CYz|S&`QgdlOKTikSC3H5VGL7 z*dWT(d0p~G!+3qt%>d*iNmV@xg2D^}jjL5*m~#vXnMlQ|POa z%fLQXlx^Vg74jy>_)|}Nu$kibk?953`BHvA`~^aL%K2{ZgNqZ^3UsQc$B*uzu(_#( z>f|rxihVu9{naM=SNoDF1?<627?P^ytV&0b|xUM1?Kp7&DfscwzzO5;*9 zX8Kd=4Uu{3YNbI6|Iwr@eH#Sio&O%=RY)joS}pe-cwtgS{)8k1mWFFdDo4NbQoz}f zD&|O#Zh@k%D%Pf;{C&HDWt763cBhOim(By3ll)D)C&Pf=#)F?qU)u|>zlOK#?!w!3 z{@Dr@0{CUN>B`6OmlT6CXn)ej3pj@Hy;Iiysu1)XQN}ZU=LR|++u!Wb2OXu}*$>A* z3Nh7h`!Gos=(R~|WqzPbj}QLx8+$AxHn5Xoo^WF0F*vUM_rC|oyH}QFd+&TKuXI`= z{OoXEG3)5uws6|VYL7`YyNmtGF&^ipRta8V2hW2W&g4z z7Zw#!tgMy_Qg^$uxrC)&JUVvlb$w~5J+fCC*^2(0Lbt~IorqtS)jNdK&_=G3SGBkIXqsq~ZL%J7?isB+ zj9#P3xTgT(zGupdyqtBI@zUF>UbNYUg^lDrg47J8#`XO>Vwk=OADw&7OD@?3q=W%j zCHT7mUf`vzz4OZBU-rJiORejAw#-qgUH_RAZl0p#sMHC!{p8quDjfed<*IYlpaCvJ z18WZ}Sn1K}4ogVi-y8E~nf8q9EbB=IVP1Wt2#>+OoAT4_|DH8(?~Hjv|LaG)!O>98 zhj+1&c4>%r{BmFp#}L5pPxa>9-6ox2rA>K1JS&PjG&mFt*2xA8;aF|k(0{snZ&M(3 zBW4QkrP>SK#PjBl_>Il6x<_u3dh9U*@{hK99DMJi*V-JM9Sb$Egl*>&zMb%sMQyOg z*`o)g%?AfO3#~`B4+d*bsI0Nvi2qmf@1>nRg*n3Gq#EayM^?D#wzs2Y#J*cGH{`D~ zGzYE4mI6~bY-@H<+B>`&kD6r%l7Bhwz*cCr(yq5Qn3cXn)3tL6GXEy;^c9rgY%np% zE#0BPvn5g}gEPb)#$T$eUf%Nyj4dtxNiivx)m4*GRfkUT=oxmT$ETH$wruYf@v~oZ zT0U!~K&Pw?OMrK3lOOfVYxlW*gIA7H>%Y^CM~PK+2#_ z%tyns5g&P=acQuV(nG>oh*qp%piR>H}rpqx3z8AtqSovY^fTa2BL+WRJ- z2Ji7w?4PX{g{)9J*oo$Bv2JIzOxy9*U}EaO`I=FTHWYH;BwTm&5kR34OZZY7maWwBfX(@#H31VxNo}`cs33VS zv>2`IB{e8S;QwWfAkvu*IFn_Jd_axGsULq2EjaCv@F{_;&-Px9jHxu_1v464XdgIf z+5sG!7z3A+sxLunQ`}29Iu{|2>=fxuY&4$y6e{cJy}fnJ`(|3mWRm4kNxCJHQlJ)Z zbZ&eVI&1aJVK_xMR}Uv124&Ig&U-s-#hA(PdoGpF*q&z5r!vKKL!9#YY2rAd884SFOSF@ z@jhZPVi*5ejyiu8B|}MJ`zxBb{3Wi=^S5*UVo?|8p+g!aOVXAO`NCouQE}GPq#{RR zSntKRddM~a7c0Pv_Tu@=udHoNiIir+F+4rvky4M5$g>+ZWczDL`Qb(Mzpd^uPdZM)*77^P|bO49`^5W)gV1H2rrG<4LReklA#Z0s) zY}c~W`kQQl1dzM|LSt(i`}ooUL4wo8D)%DI*qfGZp-HJ=J|v3z?b^#Qx}dDs0%_S| zd3DuqVJl?}1U?&**Cgd+I=r1PG8#^*o^N~+Cv6gLO;#NYF~Pe%2m0!-TNBQ%q4oH! z;Rs{$-Y)R_G5+7}kU|dPgA&4u_V9z>u27A{3e{v!nBtKZbEQ+{<<9**d4qpnCdba|k<$ITaSA$a}+bz3Qj0X)H8mZn|8rfh&ysm4k3H zTT4d|No_3Gn1}LjJuY}wn?xv|GMH8JSJO=f@&4x3SFTRo4LN(wopG*5xY|Zdw*)m> zv>sGn!^RnY;NUyX>Bdg!Y{}rGX-m!q0;T@2btj00&H=i za6>1W=)g={K7^S)UY5T$;Yz49o!5T;>Q!o9fIMR63n(R@n1t4^rA0un{JQXg?q*B; z{Pm;9KF%Um_WzZ3Zrw>FK^*@sc}gu|6RWkIl$mRH@j;W+Ppw6PH5xX6bWEPHCAz7ue6{=l39`yJ8 z*FH$!t5nPk_T&SpB7Qnl{PZI7@#BCrtQ%TlubBEMY4LQj?rj>P8`R&M39o^5` zt<0;*){iG$sSc-XorzL)wt^81pWTFTr#cf zr8er17?AVoxvZ_|rB%@#jjCR{-|FzCz87v6*Q{hcl)KG5NE?g?ZDX1ee3u@!oJ}5B z1U6xDXKDwJ*yLF&UVtxhPA0Px&zTthPH`%kHo>_jE*XZrvdHdyRz2@zj@VE=&0uZH zz~_y5C_rO~fj9c*E^mLy|C)&nq^{&Qry&lnkORPuFTIt+06Y{23ce=1jRAzoWc^CiV$@wFNPj>H$75VW1cf1%Rnmvb?h81z4~TU+Ykac z4?U}|ow?6-G3GGi_Ia*&aq!b{2`iLJh|+$;e}gWP@O4Y+d%7OE>XVJSD<@Hw@^$b6 z%%kISpiYdpT8E;w-Gm=!D~8v(H6Ko#8s=y&sW3LZ!c*Ebf!`b}k{K=)w2y65rhWHD zOh4G+ia`%6xFS_g6@BY{qR_@&GHN8o6iDwdPh%LQa1fKU6$WaN>ei4TT-eZNT^-)B zZZJ@L?aFV&Cy7JoH%kGhj2P%o6|GCnQw61$ZClft*+?)_YgQgPLSDM!!XAywBYrnb zA8G}8XkE8UFPm+1SnMdBH~=iYg_B`J8E=#wTAw!CFF|39ricUHFKFSq>@ovIs4N7= z2R6Hq!f~+K6N_{df=iCzxX__?dXay-;&R^_h6+F@=G9-IL=_4eq)ms?FTKv}1O<2cc!U%@);K`S39 z5VcZ4+op)f1cgV;`53sb;s|_HgL~)6qfQ>h7ac%P)xo1J=FB@5Tr-x2v4{=qc_Pxj z?7Zn)|HN=?^c{ppv^+8xZi-PactPz+({%aBm4EowaFyoh$(}OUcrqp?@tshibFgPs zz$HKsg5B(T(LmLNn%14A`BX3E_MZI-NqD{*M>{da9X{h&=GdyP1s*)N z@g$a{O8Y9l6@V0?NgkVDQDW^6O@FlcC4cUM%OPrcV~{W#%7}}ANJfN7hZyDHLP zA}4%x#DWBh*SUKTxYAYU#+Sp!@LyY5bnf2jU`{^TU)k*a|Na|B+Vl0AT5R}3+b;Hh z=iL>V6MkViK~HA%R9?2OZsrg$X4R&5fky$i==uHJX?uWP`e8dNdwBWoN4TV)OK{=x zs$B|7vP)~&8Ul3VxsP{p#;+++tfIE887#Ex114``==nyih@ohHzIw6w(rUqCD613A zWwPKc=8!ALd!xjgZEkO%P~K)EWT17))1BsC`iH{{+B2`Y*sTf-Ct&xEgXM6v7fzty z=ljW(@Qr|ln^hT`-O@^&8Q2`#(kC|76yn$t%LWl<15O+qT=SOo==)i}NpI$U`hTZa zRrh>f04&7gf=Lh>hr|Uwz46LtV{`~MubH})Ig_iefE&(|sRx{Q}j!qYd~0$CA%lovCj}E9Mkslw)gH`gjgjCsv+lZDz@@#saKH&Fc&=|3T7& zx8__tzP847cTi8pN}e+D~ism%KB4qt2@5mY=CRU><8+{N%71{zvFHFulC2cDo)IHg(7L0oeuKv@glG6GXP;uj7A z;~oK-ld|{X>Cp}_@bk$d)t0~^c#MDSm2({DdG1;jGx+DJ6osc btCOuiw{FfZAC4~{E}nfozj(H|+4}n*3?iru delta 26145 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 diff --git a/package.json b/package.json index c76253e..0a0c171 100644 --- a/package.json +++ b/package.json @@ -59,6 +59,7 @@ "source-map-support": "^0.5.0" }, "dependencies": { + "jsdom": "^9.12.0", "yargs": "^10.0.3" } } diff --git a/src/converter.js b/src/converter.js index eacf003..5acb194 100644 --- a/src/converter.js +++ b/src/converter.js @@ -322,6 +322,508 @@ showdown.Converter = function (converterOptions) { return text; }; + this.makeMarkdown = function (src) { + + // replace \r\n with \n + src = src.replace(/\r\n/g, '\n'); + src = src.replace(/\r/g, '\n'); // old macs + + // due to an edge case, we need to find this: > < + // to prevent removing of non silent white spaces + // ex: this is sparta + src = src.replace(/>[ \t]+¨NBSP;<'); + + var doc = document.createElement('div'); + doc.innerHTML = src; + + var preList = substitutePreCodeTags(doc); + + // remove all newlines and collapse spaces + clean(doc); + + function parseNode (node, spansOnly) { + + spansOnly = spansOnly || false; + + var txt = ''; + //indent = new Array((indentationLevel * 4) + 1).join(' '); + + // edge case of text without wrapper paragraph + if (node.nodeType === 3) { + return parseTxt(node); + } + + // HTML comment + if (node.nodeType === 8) { + // TODO parse comments + return ''; + } + + // process only node elements + if (node.nodeType !== 1) { + return ''; + } + + var tagName = node.tagName.toLowerCase(); + + switch (tagName) { + + // + // BLOCKS + // + case 'h1': + if (!spansOnly) { txt = parseHeader(node, 1) + '\n\n'; } + break; + case 'h2': + if (!spansOnly) { txt = parseHeader(node, 2) + '\n\n'; } + break; + case 'h3': + if (!spansOnly) { txt = parseHeader(node, 3) + '\n\n'; } + break; + case 'h4': + if (!spansOnly) { txt = parseHeader(node, 4) + '\n\n'; } + break; + case 'h5': + if (!spansOnly) { txt = parseHeader(node, 5) + '\n\n'; } + break; + case 'h6': + if (!spansOnly) { txt = parseHeader(node, 6) + '\n\n'; } + break; + + case 'p': + if (!spansOnly) { txt = parseParagraph(node) + '\n\n'; } + break; + + case 'blockquote': + if (!spansOnly) { txt = parseBlockquote(node) + '\n\n'; } + break; + + case 'hr': + if (!spansOnly) { txt = parseHr(node) + '\n\n'; } + break; + + case 'ol': + if (!spansOnly) { txt = parseList(node, 'ol') + '\n\n'; } + break; + + case 'ul': + if (!spansOnly) { txt = parseList(node, 'ul') + '\n\n'; } + break; + + case 'precode': + if (!spansOnly) { txt = parsePreCode(node) + '\n\n'; } + break; + + case 'pre': + if (!spansOnly) { txt = parsePre(node) + '\n\n'; } + break; + + case 'table': + if (!spansOnly) { txt = parseTable(node) + '\n\n'; } + break; + + // + // SPANS + // + case 'code': + txt = parseCodeSpan(node); + break; + + case 'em': + case 'i': + txt = parseEmphasis(node); + break; + + case 'strong': + case 'b': + txt = parseStrong(node); + break; + + case 'del': + txt = parseDel(node); + break; + + case 'a': + txt = parseLinks(node); + break; + + case 'img': + txt = parseImage(node); + break; + + default: + txt = node.innerHTML; + } + + return txt; + } + + function parseTxt (node) { + var txt = node.nodeValue; + + txt = txt.replace(/¨NBSP;/g, ' '); + + // escape markdown magic characters + // emphasis, strong and strikethrough - can appear everywhere + // we also escape pipe (\) because of tables + // and escape ` because of code blocks and spans + txt = txt.replace(/([*_~|`])/g, '\\$1'); + + // escape > because of blockquotes + txt = txt.replace(/^(\s*)>/g, '\\$1>'); + + // hash character, only troublesome at the beginning of a line because of headers + txt = txt.replace(/^#/gm, '\\#'); + + // horizontal rules + txt = txt.replace(/^(\s*)([-=]{3,})(\s*)$/, '$1\\$2$3'); + + // dot, because of ordered lists, only troublesome at the beginning of a line when preceded by an integer + txt = txt.replace(/^( {0,3}\d+)\./gm, '$1\\.'); + + // + and -, at the beginning of a line becomes a list, so we need to escape them also + txt = txt.replace(/^( {0,3})([+-])/gm, '$1\\$2'); + + // images and links, ] followed by ( is problematic, so we escape it + // same for reference style uris + // might be a bit overzealous, but we prefer to be safe + txt = txt.replace(/]([\s]*)\(/g, '\\]$1\\('); + txt = txt.replace(/\[([\s\S]*)]:/g, '\\[$1\\]:'); + + return txt; + } + + function parseList (node, type) { + var txt = ''; + if (!node.hasChildNodes()) { + return ''; + } + var listItems = node.childNodes, + listItemsLenght = listItems.length, + listNum = 1; + + for (var i = 0; i < listItemsLenght; ++i) { + if (typeof listItems[i].tagName === 'undefined' || listItems[i].tagName.toLowerCase() !== 'li') { + continue; + } + + // define the bullet to use in list + var bullet = ''; + if (type === 'ol') { + bullet = listNum.toString() + '. '; + } else { + bullet = '- '; + } + + // parse list item + txt += bullet + parseListItem(listItems[i]); + ++listNum; + } + + return txt.trim(); + } + + function parseListItem (node) { + var listItemTxt = ''; + + var children = node.childNodes, + childrenLenght = children.length; + + for (var i = 0; i < childrenLenght; ++i) { + listItemTxt += parseNode(children[i]); + } + // if it's only one liner, we need to add a newline at the end + if (!/\n$/.test(listItemTxt)) { + listItemTxt += '\n'; + } else { + // it's multiparagraph, so we need to indent + listItemTxt = listItemTxt + .split('\n') + .join('\n ') + .replace(/^ {4}$/gm, '') + .replace(/\n\n+/g, '\n\n'); + } + + return listItemTxt; + } + + function parseHr () { + return '---'; + } + + function parseBlockquote (node) { + var txt = ''; + if (node.hasChildNodes()) { + var children = node.childNodes, + childrenLength = children.length; + + for (var i = 0; i < childrenLength; ++i) { + var innerTxt = parseNode(children[i]); + + if (innerTxt === '') { + continue; + } + txt += innerTxt; + } + } + // cleanup + txt = txt.trim(); + txt = '> ' + txt.split('\n').join('\n> '); + return txt; + } + + function parseCodeSpan (node) { + return '`' + node.innerHTML + '`'; + } + + function parseStrong (node) { + var txt = ''; + if (node.hasChildNodes()) { + txt += '**'; + var children = node.childNodes, + childrenLength = children.length; + for (var i = 0; i < childrenLength; ++i) { + txt += parseNode(children[i]); + } + txt += '**'; + } + return txt; + } + + function parseEmphasis (node) { + var txt = ''; + if (node.hasChildNodes()) { + txt += '*'; + var children = node.childNodes, + childrenLength = children.length; + for (var i = 0; i < childrenLength; ++i) { + txt += parseNode(children[i]); + } + txt += '*'; + } + return txt; + } + + function parseDel (node) { + var txt = ''; + if (node.hasChildNodes()) { + txt += '~~'; + var children = node.childNodes, + childrenLength = children.length; + for (var i = 0; i < childrenLength; ++i) { + txt += parseNode(children[i]); + } + txt += '~~'; + } + return txt; + } + + function parseLinks (node) { + var txt = ''; + if (node.hasChildNodes() && node.hasAttribute('href')) { + var children = node.childNodes, + childrenLength = children.length; + txt = '['; + for (var i = 0; i < childrenLength; ++i) { + txt += parseNode(children[i]); + } + txt += ']'; + txt += '(' + node.getAttribute('href') + ')'; + } + return txt; + } + + function parseImage (node) { + var txt = ''; + if (node.hasAttribute('src')) { + txt += '![' + node.getAttribute('alt') + ']'; + txt += '(' + node.getAttribute('src'); + if (node.hasAttribute('width') && node.hasAttribute('height')) { + txt += ' =' + node.getAttribute('width') + 'x' + node.getAttribute('height'); + } + + if (node.hasAttribute('title')) { + txt += ' "' + node.getAttribute('title') + '"'; + } + txt += ')'; + } + return txt; + } + + function parseHeader (node, headerLevel) { + var headerMark = new Array(headerLevel + 1).join('#'), + txt = ''; + + if (node.hasChildNodes()) { + txt = headerMark + ' '; + var children = node.childNodes, + childrenLength = children.length; + + for (var i = 0; i < childrenLength; ++i) { + txt += parseNode(children[i]); + } + } + return txt; + } + + function parseParagraph (node) { + var txt = ''; + if (node.hasChildNodes()) { + var children = node.childNodes, + childrenLength = children.length; + for (var i = 0; i < childrenLength; ++i) { + txt += parseNode(children[i]); + } + } + return txt; + } + + function parsePreCode (node) { + var lang = node.getAttribute('language'), + num = node.getAttribute('precodenum'); + return '```' + lang + '\n' + preList[num] + '\n```'; + } + + function parsePre (node) { + var num = node.getAttribute('prenum'); + return '
' + preList[num] + '
'; + } + + function parseTable (node) { + + var txt = '', + tableArray = [[], []], + headings = node.querySelectorAll('thead>tr>th'), + rows = node.querySelectorAll('tbody>tr'), + i, ii; + for (i = 0; i < headings.length; ++i) { + var headContent = parseTableCell(headings[i]), + allign = '---'; + + if (headings[i].hasAttribute('style')) { + var style = headings[i].getAttribute('style').toLowerCase().replace(/\s/g, ''); + switch (style) { + case 'text-align:left;': + allign = ':---'; + break; + case 'text-align:right;': + allign = '---:'; + break; + case 'text-align:center;': + allign = ':---:'; + break; + } + } + tableArray[0][i] = headContent.trim(); + tableArray[1][i] = allign; + } + + for (i = 0; i < rows.length; ++i) { + var r = tableArray.push([]) - 1, + cols = rows[i].getElementsByTagName('td'); + + for (ii = 0; ii < headings.length; ++ii) { + var cellContent = ' '; + if (typeof cols[ii] !== 'undefined') { + cellContent = parseTableCell(cols[ii]); + } + tableArray[r].push(cellContent); + } + } + + var cellSpacesCount = 3; + for (i = 0; i < tableArray.length; ++i) { + for (ii = 0; ii < tableArray[i].length; ++ii) { + var strLen = tableArray[i][ii].length; + if (strLen > cellSpacesCount) { + cellSpacesCount = strLen; + } + } + } + + for (i = 0; i < tableArray.length; ++i) { + for (ii = 0; ii < tableArray[i].length; ++ii) { + if (i === 1) { + if (tableArray[i][ii].slice(-1) === ':') { + tableArray[i][ii] = showdown.helper.padEnd(tableArray[i][ii].slice(-1), cellSpacesCount - 1, '-') + ':'; + } else { + tableArray[i][ii] = showdown.helper.padEnd(tableArray[i][ii], cellSpacesCount, '-'); + } + } else { + tableArray[i][ii] = showdown.helper.padEnd(tableArray[i][ii], cellSpacesCount); + } + } + txt += '| ' + tableArray[i].join(' | ') + ' |\n'; + } + + return txt.trim(); + } + + function parseTableCell (node) { + var txt = ''; + if (!node.hasChildNodes()) { + return ''; + } + var children = node.childNodes, + childrenLength = children.length; + + for (var i = 0; i < childrenLength; ++i) { + txt += parseNode(children[i], true); + } + return txt.trim(); + } + + function clean (node) { + for (var n = 0; n < node.childNodes.length; ++n) { + var child = node.childNodes[n]; + if (child.nodeType === 3) { + if (!/\S/.test(child.nodeValue)) { + node.removeChild(child); + --n; + } else { + child.nodeValue = child.nodeValue.split('\n').join(' '); + child.nodeValue = child.nodeValue.replace(/(\s)+/g, '$1'); + } + } else if (child.nodeType === 1) { + clean(child); + } + } + } + + // find all pre tags and replace contents with placeholder + // we need this so that we can remove all indentation from html + // to ease up parsing + function substitutePreCodeTags (doc) { + + var pres = doc.querySelectorAll('pre'), + presPH = []; + + for (var i = 0; i < pres.length; ++i) { + + if (pres[i].childElementCount === 1 && pres[i].firstChild.tagName.toLowerCase() === 'code') { + var content = pres[i].firstChild.innerHTML, + language = pres[i].firstChild.getAttribute('data-language') || ''; + presPH.push(content); + pres[i].outerHTML = ''; + } else { + presPH.push(pres[i].innerHTML); + pres[i].innerHTML = ''; + pres[i].setAttribute('prenum', i.toString()); + } + } + return presPH; + } + + var nodes = doc.childNodes, + mdDoc = ''; + + for (var i = 0; i < nodes.length; i++) { + mdDoc += parseNode(nodes[i]); + } + + return mdDoc; + }; + /** * Set an option of this Converter instance * @param {string} key diff --git a/src/helpers.js b/src/helpers.js index 9e23245..be68693 100644 --- a/src/helpers.js +++ b/src/helpers.js @@ -350,6 +350,31 @@ showdown.helper.encodeEmailAddress = function (mail) { return mail; }; +/** + * + * @param str + * @param targetLength + * @param padString + * @returns {string} + */ +showdown.helper.padEnd = function padEnd (str, targetLength, padString) { + 'use strict'; + /*jshint bitwise: false*/ + // eslint-disable-next-line space-infix-ops + targetLength = targetLength>>0; //floor if number or convert non-number to 0; + /*jshint bitwise: true*/ + padString = String(padString || ' '); + if (str.length > targetLength) { + return String(str); + } else { + targetLength = targetLength - str.length; + if (targetLength > padString.length) { + padString += padString.repeat(targetLength / padString.length); //append to original to ensure we are longer than needed + } + return String(str) + padString.slice(0,targetLength); + } +}; + /** * POLYFILLS */ diff --git a/src/showdown.js b/src/showdown.js index 93eba1e..18b8268 100644 --- a/src/showdown.js +++ b/src/showdown.js @@ -2,6 +2,14 @@ * Created by Tivie on 06-01-2015. */ +// load dependencies +if (typeof document === 'undefined' && typeof window === 'undefined') { + var jsdom = require('jsdom').jsdom, + jsdomObj = jsdom('', {}), + window = jsdomObj.defaultView, // jshint ignore:line + document = window.document; // jshint ignore:line +} + // Private properties var showdown = {}, parsers = {},