package Ġeu . kan ade . t ach iy omi . extension . en . m ang ar aw club Ċ Ċ import Ġeu . kan ade . t ach iy omi . network . GET Ċ import Ġeu . kan ade . t ach iy omi . network . POST Ċ import Ġeu . kan ade . t ach iy omi . network . as Observable Success Ċ import Ġeu . kan ade . t ach iy omi . source . model . Filter Ċ import Ġeu . kan ade . t ach iy omi . source . model . Filter List Ċ import Ġeu . kan ade . t ach iy omi . source . model . M ang as Page Ċ import Ġeu . kan ade . t ach iy omi . source . model . Page Ċ import Ġeu . kan ade . t ach iy omi . source . model . S Chapter Ċ import Ġeu . kan ade . t ach iy omi . source . model . SM anga Ċ import Ġeu . kan ade . t ach iy omi . source . online . Parsed Http Source Ċ import Ġeu . kan ade . t ach iy omi . util . as J soup Ċ import Ġokhttp 3 . Form Body Ċ import Ġokhttp 3 . Http Url . Companion . to Http Url OrNull Ċ import Ġokhttp 3 . Ok HttpClient Ċ import Ġokhttp 3 . Request Ċ import Ġokhttp 3 . Response Ċ import Ġorg . js oup . nodes . Document Ċ import Ġorg . js oup . nodes . Element Ċ import Ġrx . Observable Ċ import Ġjava . text . ParseException Ċ import Ġjava . text . SimpleDateFormat Ċ import Ġjava . util . Locale Ċ import Ġjava . util . concurrent . TimeUnit Ċ Ċ class ĠM anga Raw Club Ġ: ĠParsed Http Source () Ġ{ ĊĊĠĠĠ Ġoverride Ġval Ġname Ġ= Ġ" manga - raw . club " ĊĠĠĠ Ġoverride Ġval ĠbaseUrl Ġ= Ġ" https :// www . manga - raw . club " ĊĠĠĠ Ġoverride Ġval Ġlang Ġ= Ġ" en " ĊĠĠĠ Ġoverride Ġval Ġsupports Latest Ġ= Ġtrue ĊĠĠĠ Ġoverride Ġval Ġclient : ĠOk HttpClient Ġ= Ġnetwork . cloudflare Client . newBuilder () ĊĠĠĠĠĠĠĠ Ġ. connect Timeout ( 1 0 , ĠTimeUnit . SECONDS ) ĊĠĠĠĠĠĠĠ Ġ. read Timeout ( 3 0 , ĠTimeUnit . SECONDS ) ĊĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠ Ġoverride Ġfun Ġpopular M anga Request ( page : ĠInt ): ĠRequest Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠGET ("$ baseUrl / browse /? results =$ page & filter = views ", Ġheaders ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġlatest Updates Request ( page : ĠInt ): ĠRequest Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠGET ("$ baseUrl / list y / manga /? results =$ page ", Ġheaders ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġpopular M anga Selector () Ġ= Ġ" ul . no vel - list . grid . col . col 2 Ġ> Ġli " ĊĊĠĠĠ Ġ// Ġoverride Ġfun Ġpopular M anga Selector () Ġ= Ġ" li . no vel - item " ĊĠĠĠ Ġoverride Ġfun Ġlatest Updates Selector () Ġ= Ġpopular M anga Selector () ĊĠĠĠ Ġoverride Ġfun Ġsearch M anga Selector () Ġ= Ġ" ul . no vel - list . grid . col . col 1 Ġ> Ġli " ĊĊĠĠĠ Ġoverride Ġfun Ġpopular M anga From Element ( element : ĠElement ): ĠSM anga Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġm anga Ġ= ĠSM anga . create () ĊĠĠĠĠĠĠĠ Ġval Ġcover Element Ġ= Ġelement . getElementsBy Class (" no vel - cover "). first () ĊĠĠĠĠĠĠĠ Ġvar Ġtitle Element Ġ= Ġelement . getElementsBy Class (" no vel - title Ġtext 1 row "). first () ĊĠĠĠĠĠĠĠ Ġif Ġ( title Element Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Element Ġ= Ġelement . getElementsBy Class (" no vel - title Ġtext 2 row "). first () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġm anga . thumbnail _ url Ġ= Ġcover Element . select (" img "). attr (" abs : data - src ") ĊĠĠĠĠĠĠĠ Ġm anga . set Url Without Domain ( element . select (" a "). first (). attr (" href ")) ĊĠĠĠĠĠĠĠ Ġm anga . title Ġ= Ġtitle Element . text () ĊĠĠĠĠĠĠĠ Ġreturn Ġm anga ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġlatest Updates From Element ( element : ĠElement ): ĠSM anga Ġ= ĊĠĠĠĠĠĠĠ Ġpopular M anga From Element ( element ) ĊĊĠĠĠ Ġoverride Ġfun Ġsearch M anga From Element ( element : ĠElement ): ĠSM anga Ġ= Ġpopular M anga From Element ( element ) ĊĊĠĠĠ Ġoverride Ġfun Ġpopular M anga Next Page Selector () Ġ= Ġ" ul . pagination Ġ> Ġli : last - child Ġ> Ġa " ĊĠĠĠ Ġoverride Ġfun Ġlatest Updates Next Page Selector () Ġ= Ġpopular M anga Next Page Selector () ĊĠĠĠ Ġoverride Ġfun Ġsearch M anga Next Page Selector () Ġ= Ġpopular M anga Next Page Selector () ĊĊĠĠĠ Ġoverride Ġfun Ġm anga Details Parse ( document : ĠDocument ): ĠSM anga Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġm anga Ġ= ĠSM anga . create () ĊĠĠĠĠĠĠĠ Ġval Ġauthor Element Ġ= Ġdocument . getElementsBy Class (" author "). first () ĊĠĠĠĠĠĠĠ Ġm anga . author Ġ= Ġauthor Element . select (" a "). attr (" title ") ĊĠĠĠĠĠĠĠ Ġm anga . artist Ġ= Ġ"" ĊĠĠĠĠĠĠĠ Ġval Ġgen res Ġ= Ġmutable ListOf < String >() ĊĠĠĠĠĠĠĠ Ġdocument . select (" a [ href *= genre ]"). forEach Ġ{ Ġelement Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġgenre Ġ= Ġelement . text () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgen res . add ( genre ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġm anga . genre Ġ= Ġgen res . join ToString (", Ġ") ĊĠĠĠĠĠĠĠ Ġval Ġstatus Ġ= Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdocument . select (" div . header - stats "). select (" strong . completed "). first () Ġ!= Ġnull Ġ-> ĠSM anga . COMPLETED ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdocument . select (" div . header - stats "). select (" strong . ongo ing "). first () Ġ!= Ġnull Ġ-> ĠSM anga . ONGO ING ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĠSM anga . UNKNOWN ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġm anga . status Ġ= Ġstatus ĊĠĠĠĠĠĠĠ Ġm anga . description Ġ= Ġdocument . getElementsBy Class (" description "). first (). text () ĊĠĠĠĠĠĠĠ Ġm anga . description Ġ= Ġdocument . select (" div . summary Ġ> Ġdiv . content "). first (). text () ĊĠĠĠĠĠĠĠ Ġval Ġcover Element Ġ= Ġdocument . getElementsBy Class (" cover ") ĊĠĠĠĠĠĠĠ Ġm anga . thumbnail _ url Ġ= Ġcover Element . select (" img "). attr (" data - src ") ĊĊĠĠĠĠĠĠĠ Ġreturn Ġm anga ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġchapter List Selector () Ġ= Ġ" ul . chapter - list Ġ> Ġli " ĊĊĠĠĠ Ġoverride Ġfun Ġchapter From Element ( element : ĠElement ): ĠS Chapter Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġurl Element Ġ= Ġelement . getElementsBy Tag (" a "). first () ĊĠĠĠĠĠĠĠ Ġval Ġchapter Ġ= ĠS Chapter . create () ĊĠĠĠĠĠĠĠ Ġchapter . set Url Without Domain ( url Element . attr (" href ")) ĊĠĠĠĠĠĠĠ Ġchapter . name Ġ= Ġelement . getElementsBy Class (" chapter - title "). first (). text () ĊĠĠĠĠĠĠĠ Ġval Ġdate Ġ= Ġelement . getElementsBy Tag (" time "). first (). attr (" datetime ") ĊĠĠĠĠĠĠĠ Ġchapter . date _ upload Ġ= Ġparse Chapter Date ( date ) ĊĠĠĠĠĠĠĠ Ġreturn Ġchapter ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġparse Chapter Date ( date : ĠString ): ĠLong Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġ" April Ġ 2 1 , Ġ 2 0 2 1 , Ġ 4 : 0 5 Ġp . m ." ĊĠĠĠĠĠĠĠ Ġval Ġf date Ġ= Ġdate . replace (".", Ġ""). replace (" Se pt ", Ġ" Sep ") ĊĠĠĠĠĠĠĠ Ġval Ġformat Ġ= Ġ" MMMM M Ġdd , Ġy yyy , Ġh : mm Ġa " ĊĠĠĠĠĠĠĠ Ġval Ġformat 2 Ġ= Ġ" MMMM M Ġdd , Ġy yyy , Ġh Ġa " Ġ// Ġbecause Ġsometimes Ġif Ġit Ġis Ġexact Ġhour Ġit Ġw ont Ġhave Ġminutes Ġbecause Ġwhy Ġnot ĊĠĠĠĠĠĠĠ Ġval Ġsdf Ġ= ĠSimpleDateFormat ( format , ĠLocale . EN GL ISH ) ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġvalue Ġ= Ġsdf . parse ( f date ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue !!. time ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠParseException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsdf F Ġ= ĠSimpleDateFormat ( format 2 , ĠLocale . EN GL ISH ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġvalue Ġ= Ġsdf F . parse ( f date ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue !!. time ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠParseException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ 0 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġpage List Parse ( document : ĠDocument ): ĠList < Page > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpages Ġ= Ġmutable ListOf < Page >() ĊĠĠĠĠĠĠĠ Ġdocument . select (" section . page - in . content - wrap Ġ> Ġdiv Ġ> Ġcenter Ġ> Ġimg "). forEach Indexed Ġ{ Ġi , Ġit Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpages . add ( Page ( i , Ġ"", Ġit . attr (" src "))) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġpages ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠimageUrl Parse ( document : ĠDocument ) Ġ= Ġ"" ĊĊĠĠĠ Ġoverride Ġfun Ġfetch Search M anga ( page : ĠInt , Ġquery : ĠString , Ġfilters : ĠFilter List ): ĠObservable < M ang as Page > Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= Ġsearch M anga Request ( page , Ġquery , Ġfilters ) ĊĠĠĠĠĠĠĠ Ġreturn Ġclient . new Call ( request ). as Observable Success (). map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresponse Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġquery Parse ( response ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġquery Parse ( response : ĠResponse ): ĠM ang as Page Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġm ang as Ġ= Ġmutable ListOf < SM anga >() ĊĠĠĠĠĠĠĠ Ġval Ġdocument Ġ= Ġresponse . as J soup () ĊĠĠĠĠĠĠĠ Ġdocument . select ( latest Updates Selector ()). forEach Ġ{ Ġelement Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm ang as . add ( latest Updates From Element ( element )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġnext Page Ġ= Ġdocument . select ( latest Updates Next Page Selector ()). first () Ġ!= Ġnull ĊĠĠĠĠĠĠĠ Ġreturn ĠM ang as Page ( m ang as , Ġnext Page ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġsearch M anga Request ( page : ĠInt , Ġquery : ĠString , Ġfilters : ĠFilter List ): ĠRequest Ġ{ ĊĊĠĠĠĠĠĠĠ Ġif Ġ( query . length Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠGET ("$ baseUrl / search /? search =$ query ", Ġheaders ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġurl Ġ= Ġ"$ baseUrl / browse / ". to Http Url OrNull () !!. newBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. add QueryParameter (" results ", Ġpage . toString ()) ĊĠĠĠĠĠĠĠ Ġval Ġrequest Body Ġ= ĠForm Body . Builder () ĊĊĠĠĠĠĠĠĠ Ġfilters . forEach Ġ{ Ġfilter Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( filter ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠGen re List Ġ-> Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġgenre Include Ġ= Ġmutable ListOf < String >() ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfilter . state . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it . state Ġ== Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgenre Include . add ( it . name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( genre Include . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgenre Include . forEach Ġ{ Ġgenre Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrequest Body . add (" options [] ", Ġgenre ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠGen re Pair List Ġ-> Ġurl . add QueryParameter (" genre ", Ġfilter . to Uri Part ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠOrder Ġ-> Ġurl . add QueryParameter (" filter ", Ġfilter . to Uri Part ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠStatus Ġ-> Ġrequest Body . add (" status ", Ġfilter . to Uri Part ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠAction Ġ-> Ġrequest Body . add (" action ", Ġfilter . to Uri Part ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn ĠGET ( url . toString (), Ġheaders ) ĊĊĠĠĠĠĠĠĠ Ġval Ġbuilt Ġ= Ġrequest Body . build () ĊĠĠĠĠĠĠĠ Ġreturn ĠPOST ("$ baseUrl / search ", Ġheaders , Ġrequest Body . build ()) ĊĠĠĠĠĠĠĠ Ġ// Ġurl : ĠString , ĊĠĠĠĠĠĠĠ Ġ// ĠĠĠĠĠĠĠĠ Ġheaders : ĠHeaders Ġ= ĠDEFAULT _ HEADERS , ĊĠĠĠĠĠĠĠ Ġ// ĠĠĠĠĠĠĠĠ Ġbody : ĠRequest Body Ġ= ĠDEFAULT _ BODY , ĊĠĠĠĠĠĠĠ Ġ// ĠĠĠĠĠĠĠĠ Ġcache : ĠCache Control Ġ= ĠDEFAULT _ CACHE _ CONTROL ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġreturn ĠGET ( url . toString (), Ġheaders ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġclass ĠAction Ġ: ĠUri Part Filter ( ĊĠĠĠĠĠĠĠ Ġ" Action ", ĊĠĠĠĠĠĠĠ ĠarrayOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair (" All ", Ġ""), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair (" Include ", Ġ" include "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair (" Exclude ", Ġ" exclude ") ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġprivate Ġclass ĠOrder Ġ: ĠUri Part Filter ( ĊĠĠĠĠĠĠĠ Ġ" Order ", ĊĠĠĠĠĠĠĠ ĠarrayOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair (" Random ", Ġ" Random "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair (" Updated ", Ġ" Updated "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair (" New ", Ġ" New "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair (" Views ", Ġ" views "), ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġprivate Ġclass ĠGen re ( name : ĠString , Ġval Ġid : ĠString Ġ= Ġname ) Ġ: ĠFilter . Tri State ( name ) ĊĠĠĠ Ġprivate Ġclass ĠGen re List ( genres : ĠList < Genre >) Ġ: ĠFilter . Group < Genre >(" Gen res ", Ġgen res ) ĊĊĠĠĠ Ġprivate Ġclass ĠStatus Ġ: ĠUri Part Filter ( ĊĠĠĠĠĠĠĠ Ġ" Status ", ĊĠĠĠĠĠĠĠ ĠarrayOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair (" All ", Ġ""), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair (" Completed ", Ġ" Completed "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair (" O ngo ing ", Ġ" O ngo ing ") ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġprivate Ġclass ĠGen re Pair List Ġ: ĠUri Part Filter ( ĊĠĠĠĠĠĠĠ Ġ" Gen res ", ĊĠĠĠĠĠĠĠ ĠarrayOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair (" All ", Ġ""), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair (" Action ", Ġ" Action "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair (" Ad ult ", Ġ" Ad ult "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair (" Adventure ", Ġ" Adventure "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair (" Come dy ", Ġ" Come dy "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair (" Cook ing ", Ġ" Cook ing "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair (" D ou jin shi ", Ġ" D ou jin shi "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair (" D ram a ", Ġ" D ram a "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair (" Ec chi ", Ġ" Ec chi "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair (" F antasy ", Ġ" F antasy "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair (" Gender Ġb ender ", Ġ" Gender Ġb ender "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair (" H are m ", Ġ" H are m "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair (" H istorical ", Ġ" H istorical "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair (" Hor ror ", Ġ" Hor ror "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair (" I sek ai ", Ġ" I sek ai "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair (" J ose i ", Ġ" J ose i "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair (" Man h ua ", Ġ" Man h ua "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair (" Man hw a ", Ġ" Man hw a "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair (" Mart ial Ġart s ", Ġ" Mart ial Ġart s "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair (" M ature ", Ġ" M ature "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair (" Me cha ", Ġ" Me cha "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair (" Medical ", Ġ" Medical "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair (" M yst ery ", Ġ" M yst ery "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair (" One Ġshot ", Ġ" One Ġshot "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair (" P sy cho logical ", Ġ" P sy cho logical "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair (" Rom ance ", Ġ" Rom ance "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair (" School Ġlife ", Ġ" School Ġlife "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair (" S ci Ġfi ", Ġ" S ci Ġfi "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair (" Se inen ", Ġ" Se inen "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair (" Sh ou jo ", Ġ" Sh ou jo "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair (" Sh o unen ", Ġ" Sh o unen "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair (" Slice Ġof Ġlife ", Ġ" Slice Ġof Ġlife "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair (" S ports ", Ġ" S ports "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair (" Super natural ", Ġ" Super natural "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair (" Tr aged y ", Ġ" Tr aged y "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair (" Web to ons ", Ġ" Web to ons "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair (" lad ies ", Ġ" lad ies ") ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġoverride Ġfun Ġget Filter List () Ġ= ĠFilter List ( ĊĠĠĠĠĠĠĠ ĠFilter . Header (" NOTE : ĠIgnore d Ġif Ġusing Ġtext Ġsearch ! "), ĊĠĠĠĠĠĠĠ ĠFilter . Separator (), ĊĠĠĠĠĠĠĠ Ġ// ĠStatus (), ĊĠĠĠĠĠĠĠ Ġ// ĠAction (), ĊĠĠĠĠĠĠĠ ĠOrder (), ĊĠĠĠĠĠĠĠ ĠGen re Pair List (), ĊĠĠĠĠĠĠĠ Ġ// ĠGen re List ( get Genre List ()) ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġprivate Ġfun Ġget Genre List () Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠ ĠGen re (" Action "), ĊĠĠĠĠĠĠĠ ĠGen re (" Ad ult "), ĊĠĠĠĠĠĠĠ ĠGen re (" Adventure "), ĊĠĠĠĠĠĠĠ ĠGen re (" Come dy "), ĊĠĠĠĠĠĠĠ ĠGen re (" Cook ing "), ĊĠĠĠĠĠĠĠ ĠGen re (" D ou jin shi "), ĊĠĠĠĠĠĠĠ ĠGen re (" D ram a "), ĊĠĠĠĠĠĠĠ ĠGen re (" Ec chi "), ĊĠĠĠĠĠĠĠ ĠGen re (" F antasy "), ĊĠĠĠĠĠĠĠ ĠGen re (" Gender Ġb ender "), ĊĠĠĠĠĠĠĠ ĠGen re (" H are m "), ĊĠĠĠĠĠĠĠ ĠGen re (" H istorical "), ĊĠĠĠĠĠĠĠ ĠGen re (" Hor ror "), ĊĠĠĠĠĠĠĠ ĠGen re (" I sek ai "), ĊĠĠĠĠĠĠĠ ĠGen re (" J ose i "), ĊĠĠĠĠĠĠĠ ĠGen re (" Man h ua "), ĊĠĠĠĠĠĠĠ ĠGen re (" Man hw a "), ĊĠĠĠĠĠĠĠ ĠGen re (" Mart ial Ġart s "), ĊĠĠĠĠĠĠĠ ĠGen re (" M ature "), ĊĠĠĠĠĠĠĠ ĠGen re (" Me cha "), ĊĠĠĠĠĠĠĠ ĠGen re (" Medical "), ĊĠĠĠĠĠĠĠ ĠGen re (" M yst ery "), ĊĠĠĠĠĠĠĠ ĠGen re (" One Ġshot "), ĊĠĠĠĠĠĠĠ ĠGen re (" P sy cho logical "), ĊĠĠĠĠĠĠĠ ĠGen re (" Rom ance "), ĊĠĠĠĠĠĠĠ ĠGen re (" School Ġlife "), ĊĠĠĠĠĠĠĠ ĠGen re (" S ci Ġfi "), ĊĠĠĠĠĠĠĠ ĠGen re (" Se inen "), ĊĠĠĠĠĠĠĠ ĠGen re (" Sh ou jo "), ĊĠĠĠĠĠĠĠ ĠGen re (" Sh o unen "), ĊĠĠĠĠĠĠĠ ĠGen re (" Slice Ġof Ġlife "), ĊĠĠĠĠĠĠĠ ĠGen re (" S ports "), ĊĠĠĠĠĠĠĠ ĠGen re (" Super natural "), ĊĠĠĠĠĠĠĠ ĠGen re (" Tr aged y "), ĊĠĠĠĠĠĠĠ ĠGen re (" Web to ons "), ĊĠĠĠĠĠĠĠ ĠGen re (" lad ies ") ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġprivate Ġopen Ġclass ĠUri Part Filter ( displayName : ĠString , Ġval Ġvals : ĠArray < Pair < String , ĠString >>) Ġ: ĊĠĠĠĠĠĠĠ ĠFilter . Select < String >( displayName , Ġvals . map Ġ{ Ġit . first Ġ}. to Typed Array ()) Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġto Uri Part () Ġ= Ġvals [ state ]. second ĊĠĠĠ Ġ} Ċ } Ċ