From 2b8753a9dcfbc4e4c877260052677688e5d9e5fb Mon Sep 17 00:00:00 2001 From: Arif Ramadan Date: Thu, 3 Oct 2019 07:04:18 +0700 Subject: [PATCH] add komikindo.web.id (#1603) --- src/id/komikindo/build.gradle | 12 + .../komikindo/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 1996 bytes .../komikindo/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 1421 bytes .../res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 2628 bytes .../res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 4151 bytes .../res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 5893 bytes src/id/komikindo/res/web_hi_res_512.png | Bin 0 -> 26945 bytes .../extension/id/komikindo/KomikIndo.kt | 229 ++++++++++++++++++ 8 files changed, 241 insertions(+) create mode 100644 src/id/komikindo/build.gradle create mode 100755 src/id/komikindo/res/mipmap-hdpi/ic_launcher.png create mode 100755 src/id/komikindo/res/mipmap-mdpi/ic_launcher.png create mode 100755 src/id/komikindo/res/mipmap-xhdpi/ic_launcher.png create mode 100755 src/id/komikindo/res/mipmap-xxhdpi/ic_launcher.png create mode 100755 src/id/komikindo/res/mipmap-xxxhdpi/ic_launcher.png create mode 100755 src/id/komikindo/res/web_hi_res_512.png create mode 100644 src/id/komikindo/src/eu/kanade/tachiyomi/extension/id/komikindo/KomikIndo.kt diff --git a/src/id/komikindo/build.gradle b/src/id/komikindo/build.gradle new file mode 100644 index 000000000..0b00d4ac0 --- /dev/null +++ b/src/id/komikindo/build.gradle @@ -0,0 +1,12 @@ +apply plugin: 'com.android.application' +apply plugin: 'kotlin-android' + +ext { + appName = 'Tachiyomi: Komik Indo' + pkgNameSuffix = 'id.komikindo' + extClass = '.KomikIndo' + extVersionCode = 1 + libVersion = '1.2' +} + +apply from: "$rootDir/common.gradle" diff --git a/src/id/komikindo/res/mipmap-hdpi/ic_launcher.png b/src/id/komikindo/res/mipmap-hdpi/ic_launcher.png new file mode 100755 index 0000000000000000000000000000000000000000..1a0ef300622ff81d393e153b0c818f9036516209 GIT binary patch literal 1996 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 BJN*Cv literal 0 HcmV?d00001 diff --git a/src/id/komikindo/res/mipmap-xxxhdpi/ic_launcher.png b/src/id/komikindo/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100755 index 0000000000000000000000000000000000000000..0b8da509ef9436e1b8bf9ee1fbecb8711971b7c3 GIT binary patch literal 5893 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 literal 0 HcmV?d00001 diff --git a/src/id/komikindo/res/web_hi_res_512.png b/src/id/komikindo/res/web_hi_res_512.png new file mode 100755 index 0000000000000000000000000000000000000000..70368ee6ce139319c2ec2d6eb3f977e478084522 GIT binary patch literal 26945 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∾WT$^=*bt8y0nRl_(Ft)tP;5{_=1$Hs)bq@Xhpr zl}W}9PWwty9B|(kZ(&&B|9H#jp44tu( zJ~$o^S`+FZkl-KE$Ul-Z>RsLQ&jZ_a3tyT7Pjg$Z^Jx9WJC#drCQa+yX z9uRB5vhQ|Hu>%YXp@&V)Th$ng5%zp$f#n=)hsg6VOpp%%r5dXjB+@UxIbKInFPdB+4^;_;YjM zZVIWvinuTR_!drEiPE0{92dOw#XyD1g4}p_B0YhH@yBLiE3Q96#UnwH% ziLlP`?i&p)jY>_M;Y?k3olaGL|4rFwW1H+&JvOT}xpd8`le zM$1~_@H85GrL&g9Z34u7YXt!&$dS|+#W34tYxBtFBgxSPVE{l+P1EUn#+TcSCu<=I zT|f0OupeP^`Gh@lRze%nhLhaiwC6^MEw!UE6SgY4hQ||%*5KY>+U#?k6!&gAbIHDqpS>&c`==45Y9E8Q5aN1m1E$fWbD{;Y8E9U7jhC`KKZ@Pl54jI6JI0Ml*6&YGllzFKcPVui@Uw)yj%=@M0zCG|nTzOtq#t zv(vKjgWRWt!oHFNAGKN!uNd^=d2{Y8Rg~Yq(X!%ABm%C}fU00=u+@m5rls_k(gf;S z(EFmoOC!ad+51~E-E;pr_Ly$(<0o_{7>FAJ!xB^kB-PW+_l6IB(>HJmKDYd378?Yf z#AQ25Pq=EE;%1so?9KX1@!r)({f+9dpu`X%A|UNmn_D&WM43;Psma@)()15vWP@CM zqDJfa*Sr7x+_%zOHDD7CH7U?Av$k?H5pz9P768#|n+;DYAsc@3xce>521?)8x#P#J zG3^LVGX*`{m3o4c`rBuxucj-|1V1L<911{!hbt7jZg-ew_TI9o*AMd^e_T8n+Vp>q zlz-uMdcuGQ1r_t%WBzWuNMCSLPbbOaeDkIWz-;pHFm8Usc{&APXzIx#bts7oYgpql zQIw-ZNx%9ujY@yb&9Cg`@^eZK$wQu|Yi-e=LoXodV=X<}dw`XY^)r|X3+cNBz~aOr z*wb86v_Bk?t#LxBWw-_9sgRypPumMVQ3{VKcCm{NJ4_1 zi2o?>^u+G0^MOqOcRW~y_-Srn{(~y+__#H?^eSYU&XBXqs*s26Iu2(0Fid8h*TAGRSmnCTMEKCqi-p7l_Hr|eg&=) zM494sHgr6UbrBfC0a~C2I|R2H>H`w z_Ip{ZD>%Q4^9^t6s5V<6Q9@kFp03t4F;x!LAHIbJJluO0IYo+MtXRv?gjdI{eOY)@ z-;(++*fw4(X5kF%`QYBT&%W#7wcTF^dF=JJSf2czHzm;f;*>JCTc${UJOD!BrF++( zj(jw_LaSR5`JyJ2mQRe;^?jL7Ov<|PXp)dQx@2^gFf+23@OcDj^*5ftQ@qJ0&7V=h znc%w5*`Yp$+N^^}0lnK)&akk|5WU{`5LB&z?-(1DPPoAW1`C6h)JjSGP~8F#Q~QJ@ z5VQK$#dkTGuk^fc^k{54-721(z#Ww!Xq=a!C9uAY<{W5E{1w>f7Kk)o4ob#dlIR7X zui}vOKu#2c$JIht#GF?_wABXRRgP6uPubPSVc$@7e;ywVACH8xdsGuY$b_`LFk*|o zm7*5v{fTU(ps218A4^pJ*9>xRzf7{^gY;%+>D!y&uT}30w1(BiIPuUNctn(4c|XGL z&!vTY5ceT=N-4lnp~ziC38E6Sic34daIU7285_$jSO7}9DW|@{Tm=?OJ{g)sHxI7d zw3L8;rINIVB+|#ind#7~Ztu3~@X1UuMExPePz8H?dy#7cjUBDc@UgU6@@(bn(piGLteAjjMJ^;z`RC zk4as6x_R|1X!3>s_IyXcg9oHsh{}y`wxTCB>_Lw|Kj#koUNa+Wdkp&h(P11#LX4j;NW-p~} zvA@pP7_njZM)ost|G%KHq*^Wv`A-UvMgjF)V0=L=FSD1?>&CscmHZ)@3XG&kAIkzr zt_;%udD09&VdrfyS?SEmbm350U0KnZNH+ncOk!1rFO=KGetPSjvWmWF`kt@cTHB@pU0VzMX~-9atCpsc z@$yANpEO`>hfyDAjogohP^Jn5rf2bENUb>O55v6tUkv4q<@Xf)f;S?C2vt`g z*};GlN+C3sI9>M_;T3a0U^i4u!|-i0fYiK?AiqZKu2o^@9ON437_3#{BB`l@q7;v& z>RNE6n2XSA1t~0#2lzBSSYLMTIj;IQwRc|EV91srx^IA7o_Dah&d$zx5no(SJhZJg z!!HAn$Sc5wo=Fn-J^9=|m&L{f9~Z^}b}q_FSHONSm3omXdJuLF*$3=MVGt7@WIflb zSfwHb5smVj=@PYa+$cD!gg zGI!acR-XNdK+uu_l^^f;~j@Zke{9Bm-dPb6ydHnF$X{|GT9%B$&y zv+@qY^PiuR@h+!p72;pu^5Sn<900J#a^e}LURqt%BSHlbitUBOo~oh7kVwA5|J8~l zNN0I?=(6%k*f$#)W(5ViqmZRxk9rr*;zDRx!1E;IpE8XVmIpICv%OEYpn43#@M|U3 zzwWBJZ0?S)sm+vk;3Uiov0V= zBPF+B_>rd6iHSiwdq4hKu?zaQqY%nbc9MMP!gcJwZM)6sF0~~ji!dzJUvEO5kQIMn zj0K&XP{7?rFW(w*i?EdXV)ar)RHLJBl;EtAbS1}0P@ht|^K!2WIU8mHt{5QlFH5@h&Uz~n|hisA(gzHSo1a03=c>hl9EP3BDe0)?fte!(qQrl`V`_I4oarP}H*cy+-4wH+k zE6U;GxEgP5%N8^8Uwps~dmoQKxga@91>F8!ol)C*h4Ra6!1Q(LJMU3NNQG30M5jGw zg7J!m(R!Mz)h#XC8>9L<0Vez*{An7c&lpLm0L#!&a+FQGbYH(nGY6-Z^BD)QAC~D) zf4^5~^Yhz|5M3cy(g0+QaFrOR@zemDo(#FWh&qjyVzVCe%$tguUS~dF()j)w-*T>v z^?a1je#pD52od|4Xh5faz64{c9sM5U3U%d4yfUY&2R00M1GwYsYwN&nu-qhQ9M<@- zy5fRP%DYSmROF_i^nENfPw{v$eq2p1t~iI)#$eaZi_fk;X~=G=;S5sSZ%~F)Gj50{ zwTh9RdFV)N4mNC5*vr}H{LF|H=eszJxlyV>pR?~xWQ7Sr$EBwifp&}&gU(UF>(Q~xrI;#d{x5f!_xpbt;x%Cs1pdveb+F4!iSQ`&@V{|I#9IBggi@Y zX}Y<&jr;Bu@D?D$C=xIdT)XEjNcJ56CYe1rPH12oC0a3EFC}Hw_=e10ApRTDzKA?O ziLLC><}O<+at4eUhEMAK`GQ}79jlJg|E9`4N+qsdQl3-TeYJF;zyDe>I$AwbUui#L z#BjTij`KzBgF?7=i3B048z&1thsLGv9)W(kH|7jIr!wbIbfHZIiWL;o@aGCdo|_;% zG<4%BL8)QG;h>qCg;xyLP8}pe`@<%5^-1CGI7gh7tKkQo_vrTmOnK1X6m6N`w|;w0 zC*+VgA`~iiG9g2)8_;Pv*_Gw(`41WlGG2l=lW=+=F)B@HCRL$NP*Eb^#jZl`QF4Nk zz{;(|z=M~c@{xTzr2SUSl{oACl`>2U z+MXkB5&+@w6;$q36O#{=NdN~wgG&^S{US=oKB(G|DriJ%5v`;78%*%(B4<0@l1YW6 z+90Oe=JC4ad&+`bgR#FhIvo)ix3DYPR!^G7uQY1T+dAH?4=vzqu^@y88nD`)TG?Lc zDEA}(Y>iPt>^X)2s$9>Q6|F&-kP#6>?foEEK)+dN!jTDoG%V)T3*Lqw<|-tT>{Om-FJA}m9Mzk*EnFE`Y6O1Kf1ZsG@E`g7DF6$7^S=3$S9|31Lolk| zi&6A-cA5G5pk|eRD~reK#(YE^d5)-i1qt+@#P@$yG5yCPuRPeE*XQ74tgjL&gSbH! zs(uckj6Wzlr_SKpyHw&icanLKozo3{#f8M+dnam=dh5mdUEJ*I@`qogXf!X!>qKwD zUwLVN+TfC^AMwLx=_rkUVFufdYI~8=IBJtPa>?rZaDF`Jkxh_LIa5Z53LxZ-0ORe{ z>NMi~HIr{^8(BJ-T4nDf0iV0H9WJ|J|E5nDjrn7yKfgpzApSxuo^xJ=f}%)=Ykcyd zTe$vi&)e(;XkpKUKA;XnBXTOmj?zX*4tXUL=dihaNELcKu956rgf=Y{J}zKm{7FdQ z^_S^P-Rv{ZQn461kPdVeUCTjrjB3iGVjd>-7QSDpA5{hHE9KMa8=)P*@jN_95 z@m1{g09W|qO}9z+ODw$&Jt2(5;>jhVNWbMz7zY8fk9H+pP5tZEpx}Be_h$jLdxXKj zuw!uWMqzga$;RHz@p{iA&KZjQvFCcvpW|AT#aP;%IT@mLrJ6u4j;&0d49Ad}m2cV9 zHfc8g<6)YBz@l{{5fgmDV7++T$2VkPx))h@)Z;)~z=;56(c?fpUwdxS;yh~2^vxLg zv(BCjkdp2j&U=Nu9YgBrm4}S?0ZAD+fJ}VZ;B9l&6?7oD5#+h&C@#F&+J2yPI# ze8wvWUW0UC6UavO+s#s-)QkJ(=qwbpwddRA^RALSN~!u|X9=cJN%n%H6&^bXe8WAq zSr_&CZrD_j2%B-|GQNbacE|rGKy*<`=UC6$Nu)*6B2_w{*Dix0>1eLxP+#upyPPkd zPXp$b@#XE&?&O+|s*^y%_)&A`73_1Dd%IGvTXOp7B>5hJ%1pPV_GBClw35gl7k7MI zKs=IQ_ncXshd7;!$ib=s^#5GLn-+@9ZD!Z|G4fc>t(n1DQ<-VXyAJI2PkesY&8*1X zi{%FCvQrUo51;f=nN*IDcvFYm5yiK*7W$eKo}1&)z2RbPg=T8~?KnA^($!T#5z%ad zTGrtH5q$$E>y4g6!J{3>@d$?mx+Y8A-@NE{vH&rj#;Rrjc{$V-Aa8u&dNOF#JjZ!$ zCr<#a`6fpz7wLIS+i01l1vCR+|MBt)RG{w&zh-aGbM}BseZMNPNiWxdkpP*1*Sndz z@!YhC1qVy*wS_!!+BrzRgCb}JZ30eL0wo^wx|I$Z;dbz=wceCtQUohbH%GTzaFW2I z_}xtQacV=zV5&_u6(*h=Uy8)%6^_sTiC^?pLVM=y&G4HSLr17h_8jmk!BMSHNWRJ} zli_&O?N8%bY5B@d9*t424>TP`-3d_vK)^!RwoUwtPujp0xx?f6a4dPWvzY^umH;3F zi9?ZmTvyAgPV1X841Ypw-WTUiPNK0p{iTwUjJ%@CAMnQb^M|RJ?zm^Gf1CgHNXol0 zCMYqiFSrdq0Rx7{$>Z$l=PL%8@KM0WTI<^0aQFtw3?HGCk>c#IM`KLgc7k1)dtLBr z|B;~YA;|Cy5vYSWBpe?jw-g+$;;fZ~wd>`R(0S=*2owwS$F|p*H9;Jwr;PSIFj-;U zGEIP#5sLxPkg94oY^vY3QlzU?8HUY=x;BHG;X`%V0Tv;mFeLV~@kjzv&>VJRPHV4JD4~bpS~If9%5f zUKVfr3R*_{;H~WFM-Nk#)We{4faF6L8YT=C~nG_};E652SB6(2p zW=>nd-&<&+0(;s<5IN!Ko!GB%U2n9t(OE_CM)WIaB3!sL`D*9$cNG<|>3JW#39;|Y z)XGiO9I$C3{|@*#7fUHn?Sxhuiv{j%cUUbp52FKY!6(O1Vh=SEzub>b*WMn4&|wc8 z-2csfq2IO1^e^!p4^p`E2C4o1`KtEU*(taJ)#VeA0m<3k2&I-(kju5X3 zBELUx7V6sn8yrj72naGqWiy*TnRrtPu8x0}P%8$E|Gxh&_=eq8(b<_|p}u5XSQxtw z(Bh)&K+ng;V#OJvHF4WBEd7s#`Gk&2$QFCmN9<4WLbKr?9uksw`SN{ZVplo6X#vM9 z?H)1?roAP*x1obO!<Gn@$h7A0$`oLtr!u`Kbt=(DPJ53#BtDBhkHX!Z!mZluAH`Psu6oC?|y( zpm}n`xi)AkWOQ5RZFjlia3wGJo3(m1VEa2y(qM&`(VINHvh-uk|6c3Jb?9rKACfWN zNN1;@G%VYL=B4=6lZc_fLV(I3iK#$Vnd(MbYDP~+hZEV?Dt|jk?Ac{~KpYc?_Ak3- z?ms;3$8FJE$w$tt@jA6YeU4If6EVaKX(E$t1rDyUN<2{ley<-gS(;MH>N(kCW6-W2 zFqmS7wkf4NtZPw7&kATlucZI;i6KX?9kbzs$&W%(Jf{)N@j{<}r+_UxFD>zTP&=0$ z{n0z%KI3?`+i0msW~o_PJ*9o&J9N4~2;>_vklBQs3wNGr&^92o!W@w@YL(`7JZiF) z>k5#!TIBJ%8q6A^HC12IcJjB|sorYoTj%}cw3+|uO#p^^Cyfdx*RgrusTK39Ernn3 zq#Zh!yJ#FHYSp*mj+7#OFY}(ory%fiS@~Vf_?d>fH9$%$jhgxgymoxx#Q8q0V7CeP zS0ZK;;59seDNOp)4y*?h0}sE{b)ZRr+-uh^BOz|TahVSrxf)K;B76-DNkYl_;AK2- zI6lQgGGf9)mn_YOZz}66c{+8H?n~+tK^-)D8P9@xOM9yQk6Dv4vNKzj>JU2p=J*I_ z`Wu+W7yJ5G%+jf(S}-DP@yG9Nc5AZy=w+>cl!%e@y91Cr)WsxptN3zKk`V+8g1a4< z8*lFpm90$mtnt+rJOm%J<_mGZ^Ve{Dymgsmz_;nn5S5Umd2vF1GEwjg-)w}kXEP{ZA==o7m;Sq@&pNkfQ6dFZK2c_H@jfw_|O zddY8O_KoGPA|+EPM@`$H3Di#naCDTyK)A6jO|IdV=xMgu6J zU3sFoFZIb0U)!B-%$BCY&+_AxA0%|~p16UJo;z9}$pZ~WbqLY;HEnZ#P$LPiA@!@4 z4s5`8onv`R=#}qrHIE5OE^dDzRRoVAz6TpKe z5i2R^>?SSgQ3nAI|M6|cnbGSuUl>*Je`-1Ft}5H64_`ZIkhtki=>}=oG)PJ)pma$$ zNN=PY1S#o8x?48VA)(UU-JSdK{Sfc@0cM?l&6+iH{0?g39c=9Ua9%)NgRTJgi#ZAN zc45hIq?E>(+H~H}G0OGtB&YquKj&lvpDmIi&7YRMRsu<+O7<*_`CEAEw`V1LxT=bh z;O(3KHVzKs4^jLwTA$^0{JY*pgrUxI&EshXoyL|bVmN8q4h4VXY?im;e80J;AQ+Rp z7784iMKCr573Z-3-$gQ2V)b!Ap+Ev0ZW6no6 z1mtN0k1kvtN6b|$Gd*+ql5uUP7&l{8Sd%9M?$WR)n3*nc7VeJB0`x$XH^>6;sw2R@ zDj$c#K=~hmwRsGX{yS2cmAwbb6Z~)Do8{T$^s&FI$ur!afL1)W7N(Bys8?rso>yiR z$ZAl?kl-eE0+ZtE>51OykH(?w?ff5rg>OdjG8?Kxc$AVgv0;lJGXLN#J7IV)a%|l< z62BQC7B}oql2ihGN`BR$OoXwboYvL7c1aj1Mc#Zb<9GInczk>QOAQC6-0P$!#og7> zmNJHXHtbq7iVuwn?84R@8)Pb;Av@!Brs^RKa?s~jtc>3y7xJHp_@Ts@!{r(4ZPk{^Y&!0Mz?6eFae$Z15beu_*0o{-2%7?Z<59kQQfRcFzI)Rvc;AX z)uy1)c5cc2qR$m28%eK5hQ2Mto$#;a2eM~Op3;cER+Ugz14w3MfRq7&jJY_uGSl?# z{MVNcEvw>`*=g^c5}*@pe@=iGdva;fy0J)ftlg}i&9Iurfx3=XOjdwP(i-IOcUaOm zeVO{57v&?841BYooFLy-pBAiHUoec*`A=fQE)snnp~$h>lZ z7%mIq2&zdhK{(u6Zf3{CU1VuqI#KT8dY}@ zB@uS;_lJh`PqrLOvPP-L(;S+B+cm%R(@aT+MCgYdh7AJhH&JlrYUT#+%!_i?s%8VF zj;X%$Ph9n?8;f@|=yUsM8ALlANs_tOnT4v2fLII4$KrjBBMiL|bQb8?RdE@o@LaQO z(y~eSG)cuvgcW>QNmh8B3h`b2Pd!|#)8aoG-`iBbq#pxXBCTE9hxwNA^b;&JAG`wj*7{ytmP_t`L4Xy=rwemka03$k8qBc}g<#Q) z^2JZ@jtNpGS9c)-NtlpF?`su5E77xsdSsJOdgAFUH?x&&m;~;`$%l*D0Bbf+ny=c> zar%eX>ZrE=Es0v&fOb*gn$QER zhVGv*Cf zGlFO@b7+VyKH#peCOk`Jw;r=TR{u^&e=$d&ifsjI5P^tOy8KkUO^&~22Hk$mqdL`t z)1S*il)>rVQD5RB4l?h8)PC1hQRf5lJLFU z6>xvOWo#$s*dLKNx$vTWGfW01iZ*PBz_||ex!i5)34*`-omR_`YCJ{E09K>1D115n zE;uZ#PN7gNbPB+_Jx!j}kq)17ZbAU4X%5-utBRRNJI79H4{Ex zR)DXqyk9^yj@EzJ_6zH$TAg!S>)PL0DRA*VqHl{#y~~S&P2BQqOrM6(w@+r@BetsC zkF;>smScUnWKJmDI#JRz3%aL>I^bm|D!oq|tXRl;%bnp+8sVs&-H465HL^}<+%w^i zUh1S%NH$ydh(x)0^)t7vUEnY8Ahb@F7vhI5_ubJyZy1+H2WUKBy=oJ*WO6yM*4L=O+_5P?+^a^Grc9+~b z{GO06{(g&C6mpEz8w3mKd9D8X1;IE>P`w)omgs^_#P)28gU%Ju)t3xflC-Q`(CBa1 zaA#1&l2)lT5K?nO%a4xO*y^i=c{+@n&wF^j63Y%G&zrWL*b==HvTWAClF!>L_3cN{ zMFkL&OTI)n%ZP7^g&jzgyLfo;xau z9I9cNGHf*No=v2Z7*1d%0{G??_x7EYGi{xn+y*xRywEMv8MEUDF89@!hd$YjUurs_ z7~h8Ko!g$pKdof7B5fU%dbg!ME&>q-18;ETAovv*1aP-xr`Ud~w1$^nc%JHmIGYj% zME=Om3IF~4XCofG*oTwsx89A>?rjya`t)oN*Vi>vkCnJ>Ju2f)0Pt7~EvZmpz3Y zg?`Z%nUIVPpt6c-BDxAVlhw)Un~%0Qs>5aI&=Fpm$e|0rqcf`8GrqF;kQ~vz20epB zRBRdWCk+Eo&25(sKri+w?36v;j#`-{fk7oWr;uoNRnFzgam7!&1&5@|;cup-pLvjb z!q35u*&KgcPge`Z!y_Bhw83!JVNJrI7aQ3W6|Y*)&^x(S(Ks!0B=(PgmxmH$aKrID!kZ(KXO$S#XOl9w- ztqWJhzo^0ocHA@g>nI4SA57l+>|8n4GgBPVLUDg?<9W(Uhg-Y5UH(nYRsbM#8vhkx z_r-1P_p|9FX2kKTeETP%<`hEQ__=+3LBxESjp>{BepRGzM@{nDmBi+xD-M;Za}!D2 zVOrp?;Ln_^5sw^r?$z3hZ`Jx6Lqm@jLuOxf8aYw>b5{9+;-(y%a|Y=mUg;QSq%+#S zA>#Gd9||^yuJ{&(>HL|o%Yt}g;Ho^tTq~wEejvY<31^Nh?Ix``Q$Y8NrA#0OSO31H zp%+RxF`8Sa2haL))C|!Tnu5?%yPkQV>a;=})d9~%Tx-74fYHkP{FTjv8Ck@Z$ZThM z%h_{+rz;mh;AAXq1=s=uW&k|vX`2*-&X%OVSV!+Gyun;GJ|han>A6v{|CIo!AuomX zRCaWBB8ZExPDQx6GRVCF(Nc5{gYZbb&M!hK_}hZ6w@Po@mTYWL8pLyj>75X!zuBxgkGguPRrHv0~X7GT`fHVfpnPOS}V#<6t2ux`mXv?R`6$`1kexS<)hbrVdl;aP)(4wDy%$Y&Cu5Ta+A9NF@-L z1IFA#rcol~fL@yoVU!3cj0jLz`^WH_P@;wQ80{rKU*RZ!&&+Jx@fiYZRyBSetL#oHgv29YB*IZFP zA`Ic2b+Rg@vFeXE?0Y%&+e7smp1ohCd?FhEPFoOrbhO2T{io?^k!2>0xT(?VgXpoV z%h-=*BxhpXpX^q>QS7tOg9LHCgvsem9&hZsWY&?SXVw1w(9>;SFcm2oR|pF2hhkp! z1vv(~cEh};k??$!)0h7txYi~Pmhwnm;)-i<5EBPTKL3&d2CVV!VQoIq5~7N&2o6|0Nvjlo*s>qe+i{s)x-HA{HtC)J?$o& z)pez|{|rde&<#6X0uo)1#?n%-@%EUoco_aNH9o~m#|9G~<@OOY%uWbw1q|UyatD)# zAPF)q=LgmoVho>Qcq4!_??kWOdwa5G`+%8jHYRxp%CK8?g+eSyk#g2AYx9|QryL#s zxA-FY5VD%#i=qd+Dgai(rsn<^(M$LpjgPnp4rh45^RNGg!^J;K5nbM2d)b^R)=LEv zj-Hxp!)zFllo*r@8L7np3qW8}DCk9;O=YV@qo}WmPYhELzC{7!lj)51oW)(MZR5ya zoZ*mpgOp=&u4%6K4S-a{rX#! zfD=}efJVO2gHnj zhn`4mQRM^y(~Awf(?3w)_qEJw57n5j&OrqhmdOTB%=pMEit{dmQwSswy`%PMYfXFr z2XtxuUqE#=19K35fG0L7Tg$*SycdkOj@-dm9skJBIY*XouLw%P!k)rmVv@*`12}%e zg!|%zFq66$?YR~$OqoaC*>=QkT3WGUx&m#V`*S*^7GHl?IIw7JbwI^n=+UzhJbO~2 z^e=N6-lSarhOTi!i9$)gma*ZC^#}Fm{b8kDbG6#6LHKb%L!1onCwc{^SK}jA1cVOT zop4<%#rI!(`?;$apMymMJwpG!z(b&nxdGyfR^Ac#ciWu3NR4+jad^at>mYPfV%iTI zf!~UmAB>KHPa=^3eb>;~L1DkUv(dOhFSA|^rckc;x3bT@|71^(WKVQOls7sqn7J=p z=}}ILCpVnYNZBYI;;hn6mXOVPR4S+R_{n#NO2`%1D? zP!4j7)UpbCE^O-2z;%jd74(h)I%$$-dnUG|Ox?d@Q5{TbRIZF@PnA_Oe`hDm1{#!k zy?c9Q*;jVKm9)GRzrOU*rsfk>5#;zjaG2^#fi}|!wp4A2X0qrB_-sLN3>Dc zSf}N|ODDGD{#h&d357nWRm+2cJFSM3_mSW9E+fs1I&zeX4tn!f-(9z3p8T?1Y=yIV zdSGyBIDD>c-oBMh1p~64DZZK0Z{J=qT-|5WZj;%%|D)kP`Qk3{EZX?+%Nu}cfIFae zXU)&Iixx&0*fwVsa3gnN?s!8ozHvVJ+)L4wP@}GJ2RWg;^B;1X4ggJ`W--I4m)zuQ zYmxB}NKqHBxPD{wK(UL@rqkSyq5;Bak9T0a+l%?gC@sXdNi?WjIONs?F`06iM=z{^ zxmGgCjP@Ed{dZP1Z?${QZNwzfM`AG18Dg%}3SGs1%|#n_7cw>On7qt5DQ5B<`xzWjn`&PIRV zuHCz={}V@>lIp9zXWPn>&@3fJ~d31DM zG^uNpki-dHto=(Po7VF1>D%wwJ0L=yQRnvQKjfaImHlZIwMj(*(HyxxW$t-A)%zsLag&%mD~Ob9!m;AY49fPGI%b8fh3FVg+~T4#-O_ zoKOr=&Xu5Cj!M~|&JX)}7Ue_d%{wpOjO#h7t09P;Bla#PY%r}br^Nr$gUJXw9!qTvW1R;9MnaW41r0H1=M< zGda9#WZ(9e2QNvLHvcRU^PSNp$kqgPxpXYE5ogS*-!gV7A8T79mH%~P(_DLKRbwg6 znuJa#3$S~T6G~Iy(0hmPXD>FFqZq_ncYf47+vzVA3cxo%!3xuLHgh!@F+!3ag$;sp zI4f*lgiC!NPsjz#Udn{sN^_>!qU`NeY6sh2K@cC!}Y?jNg2&fY@AC< zB627whJ|Q^A9DwhTmRrt_&U`rx%i&63D?|PgDokA^1|>c?`mmj88Cb<7Zbv z?jc8w-OY)S`by?F7<7rd-yf;-gwdYQ8gU=cC2C_Ts5`{g@MGYP)9i5GnK zsC?*;g^A*Dd&r7{!!rn`iq18Bo2+WbIUi=`KEkhmd)K3+ zoAEWmM4kIxDYH)-w)LpK%dp-hXynIYTBg>k&s>jR{T0loS(beIOW@asr&)`O7NH%S z&-IbvXZjJ7mUXW~Dxu6+U4^)avrga?wdNP}oFMtN$G_ukrol7vui=_Dq4oLm>BE$F zDm+80k0&E{Ie~9GZV5%{G|FHW=C+s@HkxVN3UWaPGfIqlZ#Qvd9|t zXwc(>Dkz%AWc)P1s(&kqm>VMu_Y(vR2iNG_j!(dqU}PYV#0VZ<{cBb!!a{9^G>aI} z2Be*kR`W77G(aY$E^Lm-;C0b@NY0+HV#Rb1+QJJ={&CiTj?1Mf?kiQ_r(+ypPR4 zp2GH9w*%?4&q|54k>*8zYkXN`;n9V$5ced$i!6Rl3kFm}>Ke3x(jh#r^`XgN=(t0} zjD42NUo~h2J?B{%DF9ZmeC8<=tLvDlZy*$W)TGXs3LKoOLi+y8=G_br2*9I*v|eJK z!Ktq@9KOhUbq?7P@bwbH2vzb}DhSY@_%NA>KI^WMr>kTBCwkF;{<_MuWc>XbvUM4+ zS=3K=C1Z%hubLku4Wk-*f3w|O5lIYeUls8OZ9NDKKA#{r`GYG0!~#zB7iy=^#87pc zcXq6cZ4cPOFTcAWduvGskZu;dOI{%}Q}zL#C+j^;*75N@;19a(h-%HF$R7*lB*3Xz zLs!8M|J#Xrtga59Ep-%Pns<{(=_{HnWa6Hfmso#wGENk~pNNQedK z6a$VJYqwkz;B5cJu&zk)>5txpIm|Y$3%-GWpiMF5;{X)}@y#lt>US3XNM@+Od-U6x zDP~$;8h6imc)lCQ<@fY3{F)INXsHOzRMr1BJh};~FDWs36ErD#_egL9l3zfUn&uuI zrYA{q_jk>8@^lj1o0T|q9Q5k%_f@}`_?}U3>{lz|bD46nFm`*lA>Na2#0ZaNw+K=S z3>iuN;t5(K8t9~1T;ZY=UlDBRT%zrkUowsgU;}m^tH1I8MXODq_<7O4?anA}79TnT z=|k%f0U^*CZD5SKMd(bQij@CzvwPVW^5!1T0d{1`|lCOcNEl> z94=xXE52u~UF^SFylmVgqOE3r@7MPG_o_z`v;^qLZ9@qmt@jPM&EGN>MGhZ*=sFef z%@jvM&u%*3olr?$Xx$-Gzm>edKW@m*aB^^QU8p`Bm3391ps2nPXR{8#$;0%s=Ez*cFLQ_>nA_y+gK2MjQBK`8(iF0CLui-`d7 z!ERh@^)1E+Cr1t~1pIHf&KdlN!XXLKgmJE`Oo*uT32*Qf_tf#C|2K0XqgwcZq*a634^x(Iwg;%xCq4ml^AiU;_WpFHQAI;^e58%Sw+hOJZe zb&dLxMAU`?KbFuyAL*5*0dZ;j(Ao*^$&uK|`3$u&g!&BH1dJfcB+f`n7<-Q9EgnWh zL4rvTEx8HHb>F?OTTgO)v0A<-lZN_A7H4GanT1c05@NOMr3GeKpFVg?uI{G9=Ukhs zE0_ru8kAHX9Ubo|xkFuWlH<|nClIBU`>kMLOloPJKxVdZp0vaFbd=~7=caL$?KrZ3 zs(dky81;xBWjk;{^f$6)qn|k}7B1JW9gRDuq_0i9%3AZ8Rj0oy6`ZyN;KAUbT@?K|~&DBxVKM zW$_(1rqqL3mRxoKYS)I`T_fC8TuD6yN$;diXe6Y) zXR8Z&as>?$z?9JW;T(D3-2qV8=bzmT_|P8*Ur|xRrqJnqFmALY%o+w5X(wgUOXKIU zL3>%{oZHq`d_;e2+7g$7LR9$_0}{GI=z0%dpUCu;wlztYp?YIQ%jte~bFADq+?8s7 zctoDdFN9Kj&+%^GceQ_0OR-=@*RzzMwPu2Tv*gW>o~?v*3wB1HrOR@%#y*?j7o<(x z|HGm#a9B0i%cUccPXs_hZV)69Rj(Lc41C4SxO5fC!45hRt!L$1#FyEpkwa&XKqqdv z=G(%5Ep)s>!m_tnBbGht;dRy!1Nh-9T4>Y145QnIqueYVsjmF*cTtJGcUmk9~7=B6Z{KczID9+Ui)R{&!D^p&#L|d_VZ=!8e zRl=viVB|QvM=+${2^es^qYeMN&Dz``n3B(J1*7Fmw8gjn zYP%&bLa46tjLw*I~;>N==!SqlqaF-kyGgne>%2@oor*&lIl2m<~ zSBw=yx5h|TN}s*0-NSwjKOqJ1QosDsdh-++?g!m!t}_%9=kxPNWIaxNOmUyK4+c=I(G z=Kbuky@rgU~l zpcx_WHdk~a-8{VT_K81g-^qvuo-w7=SNrtK>p8vDaz8fv@9thtV9#rjSk-DK)0NCJU31Rsm4$ZtVwL5P$ zHHuxIlaBiSGRm6yG2-@K#+!QLfFx901K$Ls@o+EN%`qQJ(rx$C*5A+G z8`37@s+lezq}H^CVH#vgcktKI?f+Pt;k}b`f9^?|X%I73h6nX2d~66l6m!RbL0s^6 z2@?Dgn~rs0D~Q)79Erjne7nCr0mKQ`Ltf_QfKr(j5q+p>Yb72(HMWS5(l`M{P`gxI z_OUS!S$C2E6?SFV@Tv+X_j>Y=VO|;94y+3^CukYLSA=%US^db}K|8g;s+$D74B;yV z_aA@pv5Vsn$OpXv!K;{eA(LRgwqDN=&rpnn>RCl1nSc}lhE*MDPIlh?#DKJjBZ*RO z?y+XiiPY1yfk4mZ<7B1~AQz=_Fj5PxOU`%r@!*{#Q6>3l*-N9787jm=Go+19sRp7( z#t0dAVgwHY+i-ZKu1QWy{83wqm>SoBrGX|pkA5bHg&+~UuAR|zpnQ2Ln7l+$KPoLzdQ21r5>Dhs6hb15JSg!t;v z)(VPv*Y;Ipwch^fQ{1bV#o?ud)(V>ca!51s?)$EKRb(-!_7z_=u(h2jTqBGz2czZ1 zPHXF&NDCRx?~9zlt}#)`cPMnmT|~F95?R2zMC3}UL`;!D7{CXA0WZC;7+f)wUC5He z=Z8T{D!^()2d`4T{bhg_o#-(wcCbBYralhKIJq!!(CHNUv1f_3Jm%9*vaV~#$6>np zeDRgRQ>d7qRpdqHz9O5D2S1%uP)+2^fU`BJl#Ag&irECo_JIwdh`5kMx8ATm|8$3P zpM=3NK6f%_k7pelUTM3usf#ED^<6hQ8Ta&Z`r1 zr;j8ZE2j9nZ|ESFT&sfre*Vu4B>g`9J5|9~R5|c&sm%B=8nlpInMs~m`z$q#2~Y3U zC<3Egu5=|-$SXfu3?JqUm1D*ZY50|}WkC2Gd588S`s=e-s-GG#GzP1OCIl6S%#cHI zz7V6_-HSy1SmFdF;>Ms#$CEh5;AoG3{s#(pJRx%VLDIWU$H&PnNkN+O7aC@kgqsc# zdXf=~Qlni8_t^mGq=gEOj;`d~rGW0+k2#w%bT}|HfYf=P2HpFpGJQ35TLFmRK!a*` zEmY{9&TpAHPKe_`0ty(L68TbjG{-b?Pw~T&(3)m+T8JTf8@am#+^dh~EmQC#o|(UM zJ3iaLt>Xrq6qCgS*7kc}w;g6^Vb|Cy(%Kw;@!+@{#zw#z;O##yq|jtG-9wXsv=GaU z2KXl2b6HKDO!Ubi8{^RVS?#}C?geyRXys7M1Ql%P_{iN?YFpv=dRYb@of!7Ve=om# z^RVbRrNKJBJKfI*X59RG0fQ>1a~h)gLa=^c6=B@BD)(o89@b1+1 z$DHhlZyWnGPprMpWlzAa3r@s*hdroE$Q$Yrz2Sz_~ zF+>sP!qI*w6IQ;VW=XM)tAEQLJG9(X9P&J}OtvY2*Q4pqM-bs4f-AJk>jOFNG6B^} z#IMM`VPoS9SWseUMvk-8ZIE{Nv%;)YQ$B%@Ka9?u=0Rt59ed|DxsT zvf%++_uGQ@RrNS}DQPYFQ8}}OLo`U5{FSp$zP3+PHRq`TzD@H9=_1HT_8cQaviV|Z z{|vEi9kU2o$-1iJ3@0vfg2I+4)*+Y8-=*1)36|sRFcvk&mlqI~x6or3(!9!5Yo2=t z-TRlMpXc}#y@Vfh=L`ZC6OM?{FaE1;Hom{PxcXp|?)5$+e{P4RaB_|Edl^d!kuc&| z;ZnBZ9s6?2bBxJ5=UCe7EALEIzSHjyERw*1F$I!`9z2uq1 zb={A!f z3Epz96ulB;l;$E8|F5>Pyt-VKjLGN!0Uf}W5C8xG literal 0 HcmV?d00001 diff --git a/src/id/komikindo/src/eu/kanade/tachiyomi/extension/id/komikindo/KomikIndo.kt b/src/id/komikindo/src/eu/kanade/tachiyomi/extension/id/komikindo/KomikIndo.kt new file mode 100644 index 000000000..02ee2b39b --- /dev/null +++ b/src/id/komikindo/src/eu/kanade/tachiyomi/extension/id/komikindo/KomikIndo.kt @@ -0,0 +1,229 @@ +package eu.kanade.tachiyomi.extension.id.komikindo + +import android.annotation.SuppressLint +import eu.kanade.tachiyomi.network.GET +import eu.kanade.tachiyomi.source.model.* +import eu.kanade.tachiyomi.source.online.ParsedHttpSource +import okhttp3.Headers +import okhttp3.HttpUrl +import okhttp3.OkHttpClient +import okhttp3.Request +import org.jsoup.nodes.Document +import org.jsoup.nodes.Element +import java.text.SimpleDateFormat +import java.util.* + +class KomikIndo : ParsedHttpSource() { + + override val name = "Komik Indo" + override val baseUrl = "https://www.komikindo.web.id" + override val lang = "id" + override val supportsLatest = true + override val client: OkHttpClient = network.cloudflareClient + + override fun popularMangaRequest(page: Int): Request { + val url = if (page == 1) "$baseUrl" else "$baseUrl/page/$page" + return GET(url, headers) + } + + override fun latestUpdatesRequest(page: Int): Request { + val url = if (page == 1) "$baseUrl/manga/" else "$baseUrl/manga/page/$page" + return GET(url, headers) + } + + override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request { + var builtUrl = if (page == 1) "$baseUrl/manga/" else "$baseUrl/manga/page/$page/" + if (!query.equals("")) { + builtUrl = if (page == 1) "$baseUrl/search/$query/" else "$baseUrl/search/$query/page/$page/" + } else if (filters.size > 0) { + filters.forEach { filter -> + when (filter) { + is GenreListFilter -> { + builtUrl = if (page == 1) "$baseUrl/genres/" + filter.toUriPart() else "$baseUrl/genres/" + filter.toUriPart() + "/page/$page/" + } + } + } + } + val url = HttpUrl.parse(builtUrl)!!.newBuilder() + return GET(url.build().toString(), headers) + } + + override fun popularMangaSelector() = "div.lchap > .lch > .ch" + override fun latestUpdatesSelector() = "div.ctf > div.lsmin > div.chl" + override fun searchMangaSelector() = latestUpdatesSelector() + + override fun popularMangaFromElement(element: Element): SManga { + val manga = SManga.create() + manga.thumbnail_url = element.select("div.thumbnail img").first().attr("src") + element.select("div.l > h3 > a").first().let { + manga.setUrlWithoutDomain(it.attr("href")) + manga.title = it.text() + } + return manga + } + + override fun searchMangaFromElement(element: Element): SManga { + val manga = SManga.create() + manga.thumbnail_url = element.select("div.thumbnail img").first().attr("src") + element.select("div.chlf > h2 > a").first().let { + manga.setUrlWithoutDomain(it.attr("href")) + manga.title = it.text() + } + return manga + } + + override fun latestUpdatesFromElement(element: Element): SManga = searchMangaFromElement(element) + + override fun popularMangaNextPageSelector() = "a.next.page-numbers" + override fun latestUpdatesNextPageSelector() = popularMangaNextPageSelector() + override fun searchMangaNextPageSelector() = popularMangaNextPageSelector() + + override fun mangaDetailsParse(document: Document): SManga { + val infoElm = document.select(".listinfo > ul > li") + val manga = SManga.create() + infoElm.forEachIndexed { index, element -> + val infoTitle = element.select("b").text().toLowerCase() + var infoContent = element.text() + when { + infoTitle.contains("status") -> manga.status = parseStatus(infoContent) + infoTitle.contains("author") -> manga.author = infoContent + infoTitle.contains("artist") -> manga.artist = infoContent + infoTitle.contains("genres") -> { + val genres = mutableListOf() + element.select("a").forEach { element -> + val genre = element.text() + genres.add(genre) + } + manga.genre = genres.joinToString(", ") + } + } + } + manga.description = document.select("div.rm > span > p:first-child").text() + manga.thumbnail_url = document.select("div.animeinfo .lm .imgdesc img:first-child").attr("src") + return manga + } + + private fun parseStatus(element: String): Int = when { + element.toLowerCase().contains("completed") -> SManga.COMPLETED + element.toLowerCase().contains("ongoing") -> SManga.ONGOING + else -> SManga.UNKNOWN + } + + override fun chapterListSelector() = "div.cl ul li" + + override fun chapterFromElement(element: Element): SChapter { + val urlElement = element.select(".leftoff > a").first() + val chapter = SChapter.create() + val timeElement = element.select("span.rightoff").first() + chapter.setUrlWithoutDomain(urlElement.attr("href")) + chapter.name = urlElement.text() + chapter.date_upload = parseChapterDate(timeElement.text()) + return chapter + } + + @SuppressLint("SimpleDateFormat") + private fun parseChapterDate(date: String): Long { + val sdf = SimpleDateFormat("MMM dd, yyyy") + val parse = sdf.parse(date) + val cal = Calendar.getInstance() + cal.time = parse + return cal.timeInMillis + } + + override fun prepareNewChapter(chapter: SChapter, manga: SManga) { + val basic = Regex("""Chapter\s([0-9]+)""") + when { + basic.containsMatchIn(chapter.name) -> { + basic.find(chapter.name)?.let { + chapter.chapter_number = it.groups[1]?.value!!.toFloat() + } + } + } + } + + override fun pageListParse(document: Document): List { + val pages = mutableListOf() + var i = 0 + document.select("div#readerarea img").forEach { element -> + val url = element.attr("src") + i++ + if (url.length != 0) { + pages.add(Page(i, "", url)) + } + } + return pages + } + + override fun imageUrlParse(document: Document) = "" + + override fun imageRequest(page: Page): Request { + val imgHeader = Headers.Builder().apply { + add("User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36") + add("Referer", baseUrl) + }.build() + return GET(page.imageUrl!!, imgHeader) + } + + private class GenreListFilter : UriPartFilter("Genre", arrayOf( + Pair("Default", ""), + Pair("4-Koma", "4-koma"), + Pair("Action", "action"), + Pair("Adventure", "adventure"), + Pair("Comedy", "comedy"), + Pair("Cooking", "cooking"), + Pair("Crime", "crime"), + Pair("Dark Fantasy", "dark-fantasy"), + Pair("Demons", "demons"), + Pair("Drama", "drama"), + Pair("Ecchi", "ecchi"), + Pair("Fantasy", "fantasy"), + Pair("Game", "game"), + Pair("Gender Bender", "gender-bender"), + Pair("Harem", "harem"), + Pair("Historical", "historical"), + Pair("Horor", "horor"), + Pair("Horror", "horror"), + Pair("Isekai", "isekai"), + Pair("Josei", "josei"), + Pair("Komik Tamat", "komik-tamat"), + Pair("Life", "life"), + Pair("Magic", "magic"), + Pair("Manhua", "manhua"), + Pair("Martial Art", "martial-art"), + Pair("Martial Arts", "martial-arts"), + Pair("Mature", "mature"), + Pair("Mecha", "mecha"), + Pair("Military", "military"), + Pair("Music", "music"), + Pair("Mystery", "mystery"), + Pair("Post-Apocalyptic", "post-apocalyptic"), + Pair("Psychological", "psychological"), + Pair("Romance", "romance"), + Pair("School", "school"), + Pair("School Life", "school-life"), + Pair("Sci-Fi", "sci-fi"), + Pair("Seinen", "seinen"), + Pair("Shonen", "shonen"), + Pair("Shoujo", "shoujo"), + Pair("Shounen", "shounen"), + Pair("Slice of Life", "slice-of-life"), + Pair("Sports", "sports"), + Pair("Super Power", "super-power"), + Pair("Superheroes", "superheroes"), + Pair("Supernatural", "supernatural"), + Pair("Survival", "survival"), + Pair("Thriller", "thriller"), + Pair("Tragedy", "tragedy"), + Pair("Zombies", "zombies") + )) + + override fun getFilterList() = FilterList( + Filter.Header("NOTE: filter will be ignored when using text search!"), + GenreListFilter() + ) + + private open class UriPartFilter(displayName: String, val vals: Array>) : + Filter.Select(displayName, vals.map { it.first }.toTypedArray()) { + fun toUriPart() = vals[state].second + } +}