trackkun-dom 2.24.2 → 2.25.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/adBlocker.json CHANGED
@@ -1 +1 @@
1
- {"hosts":["aliexpress.com","shopee.vn","shop","top","pubfuture-ad.com","tsyndicate.com","bidgear.com","googlesyndication.com","rlcdn.com","rfihub.com","doubleclick.net","viglink.com","acscdn.com","netpub.media","radioonlinehd.net","pubadx.one","pemsrv.com","magsrv.com","pure-device-app.com","thejack.github.io","aqle3.com","flytechb.com","roledale.com","e-planning.net","360yield.com","creativecdn.com","cpmrevenuegate.com","id5-sync.com","33across.com","nicelybacked.com","app-lite.com","giftsacred.com","wugroansaghadry.com","dm2d.com","baltitilaite.com","topworkredbay.shop","typhonsdiscal.top","bassaqueued.top","hlnymphon.shop","vidiconmaskers.shop","hungrycedula.shop","ekamsply.com","bmndx.com","rtmark.net","stathome.org","outbrain.com","boltedacyetic.cfd","bekisspolars.click","tembeyeaned.cyou","kismetrosland.life","d3n7ct9nohphbs.cloudfront.net","stoolsocman.top","malthuscorno.shop","farcivinage.shop","fixatealaloi.top","footlogmerida.shop","attalidhatters.shop","ichthusthar.top","vingtunacroter.top","carbarnbonang.shop","duppedbawsunt.life","jaspersfamilia.cyou","outheelrelict.com","cinderycandor.com","coaphumewy.net","vntsm.io","ad-delivery.net","a-ads.com","adskeeper.com","goomaphy.com","t7cp4fldl.com","endowmentoverhangutmost.com","ccg90.com","vlitag.com","addthis.com","mreadercdn.com","drokpasewer.com","gorgeirido.com","adschill.com","upblowcorbed.top","seisorsverbile.top","dependsmoscow.com","hottedholster.com","pubfuture.com","xylidichiatus.shop","jzbvwqeowwwoz.top","yockingdey.shop","infolinks.com","prospectprefer.com","benchsuited.com","busyexit.com","realsrvcdn.com","adhub.digital","stoachdarts.com","godpvqnszo.com","zuhempih.com","prplad.com","openx.net","socdm.com","redcapsunlime.com","cebidsbessel.com","akalibalboas.com","objectsgteau.com","vdo.ai","imasdk.googleapis.com","noshelfrequired.com","weinsteinandmiller.com","walkeralacrityfavorite.com","topcpmcreativeformat.com","chaungourtee.com","tektosfolic.com","suffarilbf.com","earthenicings.com","trotolhonor.com","zqvee2re50mr.com","waisheph.com","groapeeque.com","genuinelyunfit.com","impedegrimy.com","umbretalen.com","guigebichir.website","divvyprorata.com","dummieseardrum.com","hbcdn.net","falcatayamalka.com","ribwortjulep.com","noritesfarrago.com","admatic.com.tr","ppcnt.pro","sowfootsolent.com","%20sowfootsolent.com%20","flarby.com","web0.eu","codensmilax.com","d28bcu8ltt2bxh.cloudfront.net","y8z5nv0slz06vj2k5vh6akv7dj2c8aj62zhj2v7zj8vp0zq7fj2gf4mv6zsb.me","xlviirdr.com","org.uk","funnelgloveaffable.com","wordsnought.com","fictionfittinglad.com","wrestcut.com","obediencechainednoun.com","scratchconsonant.com","pestholy.com","mv.netprotect","microsoftonline.com","securly.com","t-mobile.at","bihussfoob.net","doruffleton.com","tenmrwwk.com","fcoexcuf.com","yxextvgvbbhfuff.com","crwdcntrl.net","mcheaprjnve.com","btcijivtsvph.com","yssmiccrhxiru.com","brand-display.com","ads.linkedin.com","xwnutgihjjkadbu.com","affec.tv","coshafvl.com","ymajpuqag.com","prplads.com","crockerydestructivespoken.com","parzoom.com","lwonclbench.com","purpleads.io","abrhydona.com","taxismaned.top","viewyentreat.guru","foramscoypou.com","188.42.84.12","taiiwin.vin","licensekey2018.com","caribedkurukh.com","tzegilo.com","casibom.io","jubusvaleur.top","intimalsejoin.top","squeaksgridded.top","cussingversate.top","newcrystalcommunications.com","gypperywyling.com","wpadmngr.com","yandex.ru","fpyf8.com","can.re","flinttovaria.com","bitonclick.com","fuzzyvisuals.com","mimamsaslews.com","naupsithizeekee.com","lakeletbothria.com","flairadscpc.com","mbidadm.com","23.109.170.2","orsedebebeeru.com","shopboyreminds.com","shakhasewn.com","ad-m.asia","pubmatic.com","invstatic101.creativecdn.com","cinarra.com","analytics.yahoo.com","blismedia.com","w55c.net","antiadblocksystems.com","d3cod80thn7qnd.cloudfront.net","ndrrbpgmjpsng.com","uwolvsazk.com","chaseherbalpasty.com","adsco.re","lojvicwu.com","qqwtwpdvhoq.com","pushaffiliate.net","lavangataled.com","betteradsystem.com","d2kk0o3fr7ed01.cloudfront.net","abtfliping.top","eloawiphi.net","dantaradiohd.net","liadm.com","wylin.ai","visageagar.com","unslylysmug.cfd","murathernias.com","a-zzz.com","pumeloricing.com","sondeliseafolk.com","jatosbathkol.com","links.services.disqus.com","tempest.services.disqus.com","muthfourre.com","koaptouw.com","exinesriles.com","lowseelor.com","sporulekakis.com","upstandingstoriessuited.com","avalanchetremorunfilled.com","crowbarrinds.com","salutetutortwiddling.com","mxhnkn.pro","blurbreimbursetrombone.com","awwagqorqpty.com","clobberprocurertightwad.com","coosync.com","bncloudfl.com","bullionglidingscuttle.com","btoomlalk.com","x8.games","mplmncb.com","shakingtacklingunpeeled.com","bankingbloatedcaptive.com","xibet.com","divisiondrearilyunfiled.com","isolatedovercomepasted.com","9bet.net","chilihandshakewing.com","cupbearergrowllurch.com","campfirecroutondecorator.com","profitsfly.com","kulroakonsu.net","trypsinneutral.com","massifbramble.com","babistmucuses.com","urgingslaurae.com","greatmidship.com","oxbet.com","whoanebsos.net","lanky-bar.com","glizauvo.net","teksishe.net","dirtsower.cyou","spokanchap.com","viewdeos.com","d11enq2rymy0yl.cloudfront.net","aukveygibngnjg.com","xadsmart.com","bqpvduxtfhwsd.com","qjeirnapocqcy.com","zxomvphodwdpcs.com","murozwuddtow.com","msincsayqmji.com","recordedthereby.com","proftrafficcounter.com","sympathizecrewfrugality.com","capaciousdrewreligion.com","jobetartane.com","amon1.net","bulkconflictpeculiarities.com","zodiacdinner.com","peanutrefusesplit.com","ectypedechlog.com","dapcerevis.shop","captorbaryton.com","wilfreddrear.shop","cowpencinclis.com","arvigorothan.com","ccoyaballots.com","betowelumph.com","protrafficinspector.com","cassabahotcake.top","craxzapas.com","ovologysnoops.com","mysidaebetire.com","oaphoace.net","justinepulvino.qpon","h12-media.com","craniolgozzan.com","cuinageaquilid.com","beyliksyowler.com","tylulewe.com","ohgriforkvan.com","dinwhozi.com","stoopeddiscourse.com","laxativestuckunclog.com","earringsatisfiedsplice.com","childlessporcupinevaluables.com","footbathmockerpurse.com","janitorprecisiontrio.com","dodgyfactoidprecut.com","alvanhaybox.com","berthfrankly.com","appointeeivyspongy.com","flaxdescale.com","flatjeep.com","dtscout.com","scakuvap.com","occasionedcaneturner.com","highperformanceformat.com","aiharsoreersu.net","madurird.com","causoupushoutho.xyz","couphaithuph.net","dawac.com","bobapsoabauns.com","vooculok.com","jmeoyypc.xyz","unasonoric.com","corvoidhas.com","tripsisvellums.com","zoeacaring.com","radioonlinehd.s3.amazonaws.com","sparersetnean.shop","gekeebsirs.com","dental-human.com","pricklymine.com","pointlessplan.pro","coafeerapheepho.net","calculatingvoice.com","pointedpleasure.com","ellipticaltrack.com","visariomedia.com","d13k7prax1yi04.cloudfront.net","xcafcyxddc.com","pbljxppwurd.com","streamtheworld.com","rubiconproject.com","adtelligent.com","zemanta.com","adswizz.com","chambulwacs.com","onclckmn.com","wry-boss.com","1xbetm.info","runative-syndicate.com","vealedincite.com","a11ybar.com","optvz.com","afcdn.net","gloutanacard.com","gollarpulsus.com","ungreeninwrit.com","centricgaffkya.com","errandsracket.com","dipppyruiners.top","outoctillerytor.com","spacemancreativedom.net","ptougeegnep.net","ptichoolsougn.net","driverhugoverblown.com","hotbcoharu.cc","trck.house","diagramjawlineunhappy.com","hotbjumelo.today","partners-show.com","vaikijie.net","bossedmarlier.help","medullagrooved.com","slavirappels.com","wkvvzeqlaqooz.top","d3mzokty951c5w.cloudfront.net","displayvertising.com","kalingacurvant.com","warmupposaune.com","d3mr7y154d2qg5.cloudfront.net","ipxgpcjii.com","unfretarara.com","intellipopup.com","fotgjbrvuzw.com","boodybasalt.com","unluckasserta.com","popcash.net","bvtpk.com","sacwumsf.com","alfredatitres.com","jads.co","waust.at","e695de9aef.com","612fc22a02.com","e5ce73abf6.com","d980ffe9b6.com","ezodn.com","bluekai.com","go.ezodn.com","22hgc.com","ampproject.org","refreshmould.com","kettledroopingcontinuation.com","lhuojsddipcncs.com","wnkiamnb.com","defroststringbenignity.com","klpuqtvdxxqf.com","edhpczkm.com","caroakitab.com","abdalminhag.com","gerentstaperly.com","bobsleddomesticglandular.com","d3g5ovfngjw9bw.cloudfront.net","cdn4ads.com","cwggydrmj.xyz","loajawun.com","cyetwkoxmijucj.xyz","airingsjerky.com","horoutavitamin.click","lmcomments.com","stiffenromano.com","xylylicpeteca.com","toxinspalsied.com","metricswpsh.com","edcc0994fe.com","multstorage.com","ntvpforever.com","capndr.com","61d7a302a1.com","0491166852.com","7021678b65.6d1e5b5068.com","chnsrv.com","tapioni.com","amselragman.com","doesnscapha.com","uby9w6k4vjyf8ebinxq8zmk7wyimi81fyl.cfd","pueblossedilia.com","79iqviv5n83lzgy64.cfd","utysolomonaut.com","ukankingwithea.com","dh8azcl753e1e.cloudfront.net","d1pk6uu6wqrpce.cloudfront.net","peuru.com","rigelcabda.com","niterforeact.com","hizliresim.com","poppeanwivers.com","theetheks.com","mikratoyotas.com","woewornsequel.com","ueuee.com","dd133.com","renamereptiliantrance.com","bb2r.com","richads.com","becorsolaom.com","navyrecentuproot.com","twinrdengine.com","mappersavarish.com","corylussunroof.com","68s8.com","ptumesukrerd.net","oursoonethair.net","xkqaqnuhoxlqnmb.com","globinspapaya.shop","jatobacutikin.com","strombugi.com","21wiz.com","embolicpenlop.com","mgid.com","sashingdermoid.com","ml314.com","bushsurprising.com","explorerfutile.com","deductgreedyheadroom.com","xfidfuxidr.in","detoxifylagoonsnugness.com","bundlemoviepumice.com","sacodnajroh.com","tzokruogxo.com","browsecoherentunrefined.com","cpylzuozp.com","mournersamoa.com","ossetbulimus.com","lawzyscapoid.com","x7i0.com","ads-twitter.com","connect.facebook.com","cdn.adjust.com","stupid-police.com","untimely-proof.pro","worrisome-sea.com","knownfeel.com","necessary-jury.com","starkknife.com","simplistictheory.pro","gentlefieldpattern.com","unnaturalcamera.pro","strong-training.com","grown-committee.com","expensiveincident.com","lone-horror.com","bewitched-display.pro","optimal-neat.pro","longtermeffective.com","hurtful-message.com","trafficbass.com","anysize.pro","3nbf4.com","gizokraijaw.net","forfrogadiertor.com","rebopsmurly.com","mildhide.pro","eavailandpro.com","cland.fyi","d4bx2if8xmi89.cloudfront.net","nappyonsetstiffness.com","dcbbwymp1bhlf.cloudfront.net","gukahdbam.com","d3jzhqnvnvdy34.cloudfront.net","yougetwhatyoupayfor.net","boxypluckunrelated.com","pumaqmqix.com","coolishrocked.com","chubbyexemplaryhardiness.com","clammyendearedkeg.com","dgaf2ncy4dtan.cloudfront.net","epidermispushupvariable.com","tacitmsl.shop","overloadenjoy.com","hardenteiid.com","ymqhrliivzqq24if4r.cfd","weirdopt.com","preferencenail.com","professionaltrafficmonitor.com","torchfriendlypay.com","indelicatedepictunderage.com","skinnycrawlinglax.com","sourshaped.com","paupsoborofoow.net","essencereferencetummy.com","rusinsawbill.com","sewdialogueconcealment.com","wainseustyle.com","monetiseup.tech","aidennagib.com","al5sm.com","succubmisship.com","crampleadspace.com","foldclankcelery.com","astronautlividlyreformer.com","trivial-final.com","pl28126626.effectivegatecpm.com","seedtag.com","lijit.com","tremorhub.com","fwmrm.net","pubmine.com","staticaly.com","emxdgt.com","smartclip.net","commonvivacious.com","hentaigold.net","mediumdirt.com","zebradiomate.com","nickeldefiancepriest.com","push-sdk.com","judicialimpatientgenerator.com","ornery-possible.com","sombernewspaper.com","folioleformism.com","effectivegatecpm.com","anotherantiadblockurl.theblank.net","nsd.ar","adingo.jp","clmbtech.com","mgcdn.xyz","imacdn.com","spooksmoop.qpon","gainsayacrasinconical.qpon","giriudog.com","damagedface.com","roughremove.com"],"css":".ad-topMobile,.ad,.ads-container,.ads,.adsbygalaksion,.adsbygoogle,.code-block,.display-banner,.radio-ad,#radio_content,#content *[class*=\"bg-ssp-\"],#adplus-anchor,#fixedban,#noktaplayercontainer,#p_6314647,#psdn-slot,#stickyplayervideoclose,#teaser1,#teaser3,*[class^=\"ad-\"],*[class^=\"ad_\"],*[class$=\"-ad\"],*[class$=\"_ad\"],*[class*=\"-ad-\"],*[class*=\"_ad_\"],*[class^=\"ads-\"],*[class^=\"ads_\"],*[class$=\"-ads\"],*[class$=\"_ads\"],*[class*=\"-ads-\"],*[class*=\"_ads_\"],*[data-adunit],*[data-google-query-id],*[id*=\"_ad_\"],*[id*=\"-ad-\"],*[id^=\"ad_\"],*[id^=\"ad-\"],*[id$=\"_ad\"],*[id$=\"-ad\"],*[id*=\"_ads_\"],*[id*=\"-ads-\"],*[id^=\"ads_\"],*[id^=\"ads-\"],*[id$=\"_ads\"],*[id$=\"-ads\"],*[id^=\"pf-\"],*[id^=\"publift-\"],iframe[src*=\"adata\"],iframe[src*=\"ad.\"],iframe[src*=\"ads.\"],iframe[src*=\"/ad\"],iframe[src*=\"/A=\"],iframe[src*=\"/click\"],iframe[src*=\"?click\"],iframe[src*=\"?banner\"],iframe[src*=\"=click\"],iframe[src*=\"clickurl=\"],iframe[src*=\".atwola.\"],iframe[src*=\"spinbox.\"],iframe[src*=\"transfer.go\"],iframe[src*=\"adfarm\"],iframe[src*=\"adfarmadSpace\"],iframe[src*=\"adserver\"],iframe[src*=\"adjuggler\"],iframe[src*=\".banner\"],iframe[src*=\"bluestreak\"],iframe[src*=\"doubleclick\"],iframe[src*=\"/rd.\"],iframe[src*=\"/0AD\"],iframe[src*=\".falkaq.\"],iframe[src*=\"connextra.\"],iframe[src*=\"tracksponsor.\"],iframe[data-aa],script[src*=\"doubleclick\"] + div,script[src*=\"romanticwait\"] + div,.empower-ad,*[data-empower-id],#empowerplayercontainer,*[id^=\"bg-ssp-\"],.google-auto-placed,*[data-ad-format],*[data-adtrack-id],div:has(> iframe[src*=\"radioonline\"]),.rev-src,#Arpian-ads,iframe[id^=\"bg_\"],.adv,#vi-smartbanner,*[data-ad-slot],html > iframe,div:has(> [prclck]),[prclck],a[href*=\"gotrackier\"],body > nav:not([id]):not([class]):not([style]) > a[style]:first-child:last-child,body > section:not([id]):not([class]):not([style]) > span:first-child:last-child > a[style],html > ins,.kln:has(> script),.adblock_title,.adblock_subtitle,div[id]:has(div[id] h4.adblock_title),div:has([data-izone]),script[src*=\"trotolhonor.com\"] + iframe,.custom-html-widget:has(script[src*=\"separatelysmackfibber\"]),#content a[href*=\"kit-food.com\"],*[pa-slot-container],*[id^=\"exo_slider\"],.exo-native-widget-outer-container,iframe[src*=\"a.magsrv.com\"],#theradios_content,script[src*=\"dummieseardrum\"] + iframe,.ts-im-container,.adxp-sticky,div[id*=\"ScriptRoot\"],#catfishAd,[id*=\"_pop-qqgo\"],div:has(> script[src*=\"tingisincused.com\"]),.ob-widget-items-container:has([data-adv-id]),div:has(> #close-ad),script[src*=\"ungreen\"] + iframe,body > div[id]:has(div div div div .adblock_title),.nxiyd,div[data-shb],.lm-adblock-notfic-container {position: fixed!important;display: none!important;opacity: 0!important;top: -99999px!important;left: -99999px!important;right: unset!important;bottom: unset!important;visibility: hidden!important;z-index: -1000!important;pointer-events: none!important;height: 0!important;width: 0!important;max-height: 0!important;min-height: 0!important;max-width: 0!important;min-width: 0!important;overflow: hidden!important;transform: translate(-99999px, -99999px) scale(0)!important;} .fixed div.relative:has(div > button svg.lucide-x):has(> canvas.absolute) {overflow: auto; max-height: 100vh;} body:has(div[id] h4.adblock_title) {overflow: unset !important;}","urls":["https://cdn.jsdelivr.net/npm/disable-devtool","https://asuracomic.net/api/ads","https://static.cloudflareinsights.com/beacon.min.js","https://manhuaplus.org/themes/liliana/css/ad.css"]}
1
+ {"hosts":["enrtx.com","boringegotistical.com","frs2c.com","rcdn-web.com","mks98.com","navyrecentuproot.com","faxro.com","nn125.com","dumpledfaints.cfd","itsmyphotos.com","techtrunch.com","juicyads.com","itsmyphotoalbum.com","micetrack-stronix.online","app.adjust.com","cleanhero.co","chaturbate.com","vpntoggle.app","2wgg.com","brightcloudvalley.com","abedworthlesscure.com","willingnessdrizzleleverage.com","orchestrabruisereason.com","autoimageco.com","trafficpowerhouse.com","f0113.com","corevibe-network.com","overturncogentconcealment.com","inexhaustiblenormcall.com","auntiesurfeatable.com","dysenteryanywhere.com","mobizento.com","cisaqauwin.com","brolackview.ink","rankjerryrounion.com","besetadmiredbates.com","royaldepotscrewdriver.com","tmaiads.com","churchilltopless.com","imkirh.com","offsetacrefalsify.com","mugaccomplish.com","dsungx.com","trafgordkat.ink","essencereferencetummy.com","nacterr.com","mobiryno.com","dsbcks.com","devimaro.com","refpa96041.com","dsapgq.com","truserfs.com","netguardst.com","slonroeoutumn.com","trafficboostnow.com","iccku.com","aviruvpnapp.com","v12ong.com","i-00.com","happyleafmotion.com","theajack.github.io","profitablecpmratenetwork.com","privbrsr.com","shopee.com.my","fizzyacerbitymellow.com","jugglingoverfedparalyze.com","dscenn.com","saltilycortege.qpon","topofferlinks.com","youhim.me","takklesoft.com","1trk.org","tart-excitement.pro","dsatrd.com","techsmartideas.com","devymera.com","stylish-airport.com","smartshowtr.com","aliexpress.com","shopee.vn","shop","top","pubfuture-ad.com","tsyndicate.com","bidgear.com","googlesyndication.com","rlcdn.com","rfihub.com","doubleclick.net","viglink.com","acscdn.com","netpub.media","radioonlinehd.net","pubadx.one","pemsrv.com","magsrv.com","pure-device-app.com","thejack.github.io","aqle3.com","flytechb.com","roledale.com","e-planning.net","360yield.com","creativecdn.com","cpmrevenuegate.com","id5-sync.com","33across.com","nicelybacked.com","app-lite.com","giftsacred.com","wugroansaghadry.com","dm2d.com","baltitilaite.com","topworkredbay.shop","typhonsdiscal.top","bassaqueued.top","hlnymphon.shop","vidiconmaskers.shop","hungrycedula.shop","ekamsply.com","bmndx.com","rtmark.net","stathome.org","outbrain.com","boltedacyetic.cfd","bekisspolars.click","tembeyeaned.cyou","kismetrosland.life","d3n7ct9nohphbs.cloudfront.net","stoolsocman.top","malthuscorno.shop","farcivinage.shop","fixatealaloi.top","footlogmerida.shop","attalidhatters.shop","ichthusthar.top","vingtunacroter.top","carbarnbonang.shop","duppedbawsunt.life","jaspersfamilia.cyou","outheelrelict.com","cinderycandor.com","coaphumewy.net","vntsm.io","ad-delivery.net","a-ads.com","adskeeper.com","goomaphy.com","t7cp4fldl.com","endowmentoverhangutmost.com","ccg90.com","vlitag.com","addthis.com","mreadercdn.com","drokpasewer.com","gorgeirido.com","adschill.com","upblowcorbed.top","seisorsverbile.top","dependsmoscow.com","hottedholster.com","pubfuture.com","xylidichiatus.shop","jzbvwqeowwwoz.top","yockingdey.shop","infolinks.com","prospectprefer.com","benchsuited.com","busyexit.com","realsrvcdn.com","adhub.digital","stoachdarts.com","godpvqnszo.com","zuhempih.com","prplad.com","openx.net","socdm.com","redcapsunlime.com","cebidsbessel.com","akalibalboas.com","objectsgteau.com","vdo.ai","imasdk.googleapis.com","noshelfrequired.com","weinsteinandmiller.com","walkeralacrityfavorite.com","topcpmcreativeformat.com","chaungourtee.com","tektosfolic.com","suffarilbf.com","earthenicings.com","trotolhonor.com","zqvee2re50mr.com","waisheph.com","groapeeque.com","genuinelyunfit.com","impedegrimy.com","umbretalen.com","guigebichir.website","divvyprorata.com","dummieseardrum.com","hbcdn.net","falcatayamalka.com","ribwortjulep.com","noritesfarrago.com","admatic.com.tr","ppcnt.pro","sowfootsolent.com","%20sowfootsolent.com%20","flarby.com","web0.eu","codensmilax.com","d28bcu8ltt2bxh.cloudfront.net","y8z5nv0slz06vj2k5vh6akv7dj2c8aj62zhj2v7zj8vp0zq7fj2gf4mv6zsb.me","xlviirdr.com","org.uk","funnelgloveaffable.com","wordsnought.com","fictionfittinglad.com","wrestcut.com","obediencechainednoun.com","scratchconsonant.com","pestholy.com","mv.netprotect","microsoftonline.com","securly.com","t-mobile.at","bihussfoob.net","doruffleton.com","tenmrwwk.com","fcoexcuf.com","yxextvgvbbhfuff.com","crwdcntrl.net","mcheaprjnve.com","btcijivtsvph.com","yssmiccrhxiru.com","brand-display.com","ads.linkedin.com","xwnutgihjjkadbu.com","affec.tv","coshafvl.com","ymajpuqag.com","prplads.com","crockerydestructivespoken.com","parzoom.com","lwonclbench.com","purpleads.io","abrhydona.com","taxismaned.top","viewyentreat.guru","foramscoypou.com","188.42.84.12","taiiwin.vin","licensekey2018.com","caribedkurukh.com","tzegilo.com","casibom.io","jubusvaleur.top","intimalsejoin.top","squeaksgridded.top","cussingversate.top","newcrystalcommunications.com","gypperywyling.com","wpadmngr.com","yandex.ru","fpyf8.com","can.re","flinttovaria.com","bitonclick.com","fuzzyvisuals.com","mimamsaslews.com","naupsithizeekee.com","lakeletbothria.com","flairadscpc.com","mbidadm.com","23.109.170.2","orsedebebeeru.com","shopboyreminds.com","shakhasewn.com","ad-m.asia","pubmatic.com","invstatic101.creativecdn.com","cinarra.com","analytics.yahoo.com","blismedia.com","w55c.net","antiadblocksystems.com","d3cod80thn7qnd.cloudfront.net","ndrrbpgmjpsng.com","uwolvsazk.com","chaseherbalpasty.com","adsco.re","lojvicwu.com","qqwtwpdvhoq.com","pushaffiliate.net","lavangataled.com","betteradsystem.com","d2kk0o3fr7ed01.cloudfront.net","abtfliping.top","eloawiphi.net","dantaradiohd.net","liadm.com","wylin.ai","visageagar.com","unslylysmug.cfd","murathernias.com","a-zzz.com","pumeloricing.com","sondeliseafolk.com","jatosbathkol.com","links.services.disqus.com","tempest.services.disqus.com","muthfourre.com","koaptouw.com","exinesriles.com","lowseelor.com","sporulekakis.com","upstandingstoriessuited.com","avalanchetremorunfilled.com","crowbarrinds.com","salutetutortwiddling.com","mxhnkn.pro","blurbreimbursetrombone.com","awwagqorqpty.com","clobberprocurertightwad.com","coosync.com","bncloudfl.com","bullionglidingscuttle.com","btoomlalk.com","x8.games","mplmncb.com","shakingtacklingunpeeled.com","bankingbloatedcaptive.com","xibet.com","divisiondrearilyunfiled.com","isolatedovercomepasted.com","9bet.net","chilihandshakewing.com","cupbearergrowllurch.com","campfirecroutondecorator.com","profitsfly.com","kulroakonsu.net","trypsinneutral.com","massifbramble.com","babistmucuses.com","urgingslaurae.com","greatmidship.com","oxbet.com","whoanebsos.net","lanky-bar.com","glizauvo.net","teksishe.net","dirtsower.cyou","spokanchap.com","viewdeos.com","d11enq2rymy0yl.cloudfront.net","aukveygibngnjg.com","xadsmart.com","bqpvduxtfhwsd.com","qjeirnapocqcy.com","zxomvphodwdpcs.com","murozwuddtow.com","msincsayqmji.com","recordedthereby.com","proftrafficcounter.com","sympathizecrewfrugality.com","capaciousdrewreligion.com","jobetartane.com","amon1.net","bulkconflictpeculiarities.com","zodiacdinner.com","peanutrefusesplit.com","ectypedechlog.com","dapcerevis.shop","captorbaryton.com","wilfreddrear.shop","cowpencinclis.com","arvigorothan.com","ccoyaballots.com","betowelumph.com","protrafficinspector.com","cassabahotcake.top","craxzapas.com","ovologysnoops.com","mysidaebetire.com","oaphoace.net","justinepulvino.qpon","h12-media.com","craniolgozzan.com","cuinageaquilid.com","beyliksyowler.com","tylulewe.com","ohgriforkvan.com","dinwhozi.com","stoopeddiscourse.com","laxativestuckunclog.com","earringsatisfiedsplice.com","childlessporcupinevaluables.com","footbathmockerpurse.com","janitorprecisiontrio.com","dodgyfactoidprecut.com","alvanhaybox.com","berthfrankly.com","appointeeivyspongy.com","flaxdescale.com","flatjeep.com","dtscout.com","scakuvap.com","occasionedcaneturner.com","highperformanceformat.com","aiharsoreersu.net","madurird.com","causoupushoutho.xyz","couphaithuph.net","dawac.com","bobapsoabauns.com","vooculok.com","jmeoyypc.xyz","unasonoric.com","corvoidhas.com","tripsisvellums.com","zoeacaring.com","radioonlinehd.s3.amazonaws.com","sparersetnean.shop","gekeebsirs.com","dental-human.com","pricklymine.com","pointlessplan.pro","coafeerapheepho.net","calculatingvoice.com","pointedpleasure.com","ellipticaltrack.com","visariomedia.com","d13k7prax1yi04.cloudfront.net","xcafcyxddc.com","pbljxppwurd.com","streamtheworld.com","rubiconproject.com","adtelligent.com","zemanta.com","adswizz.com","chambulwacs.com","onclckmn.com","wry-boss.com","1xbetm.info","runative-syndicate.com","vealedincite.com","a11ybar.com","optvz.com","afcdn.net","gloutanacard.com","gollarpulsus.com","ungreeninwrit.com","centricgaffkya.com","errandsracket.com","dipppyruiners.top","outoctillerytor.com","spacemancreativedom.net","ptougeegnep.net","ptichoolsougn.net","driverhugoverblown.com","hotbcoharu.cc","trck.house","diagramjawlineunhappy.com","hotbjumelo.today","partners-show.com","vaikijie.net","bossedmarlier.help","medullagrooved.com","slavirappels.com","wkvvzeqlaqooz.top","d3mzokty951c5w.cloudfront.net","displayvertising.com","kalingacurvant.com","warmupposaune.com","d3mr7y154d2qg5.cloudfront.net","ipxgpcjii.com","unfretarara.com","intellipopup.com","fotgjbrvuzw.com","boodybasalt.com","unluckasserta.com","popcash.net","bvtpk.com","sacwumsf.com","alfredatitres.com","jads.co","waust.at","e695de9aef.com","612fc22a02.com","e5ce73abf6.com","d980ffe9b6.com","ezodn.com","bluekai.com","go.ezodn.com","22hgc.com","ampproject.org","refreshmould.com","kettledroopingcontinuation.com","lhuojsddipcncs.com","wnkiamnb.com","defroststringbenignity.com","klpuqtvdxxqf.com","edhpczkm.com","caroakitab.com","abdalminhag.com","gerentstaperly.com","bobsleddomesticglandular.com","d3g5ovfngjw9bw.cloudfront.net","cdn4ads.com","cwggydrmj.xyz","loajawun.com","cyetwkoxmijucj.xyz","airingsjerky.com","horoutavitamin.click","lmcomments.com","stiffenromano.com","xylylicpeteca.com","toxinspalsied.com","metricswpsh.com","edcc0994fe.com","multstorage.com","ntvpforever.com","capndr.com","61d7a302a1.com","0491166852.com","7021678b65.6d1e5b5068.com","chnsrv.com","tapioni.com","amselragman.com","doesnscapha.com","uby9w6k4vjyf8ebinxq8zmk7wyimi81fyl.cfd","pueblossedilia.com","79iqviv5n83lzgy64.cfd","utysolomonaut.com","ukankingwithea.com","dh8azcl753e1e.cloudfront.net","d1pk6uu6wqrpce.cloudfront.net","peuru.com","rigelcabda.com","niterforeact.com","hizliresim.com","poppeanwivers.com","theetheks.com","mikratoyotas.com","woewornsequel.com","ueuee.com","dd133.com","renamereptiliantrance.com","bb2r.com","richads.com","becorsolaom.com","twinrdengine.com","mappersavarish.com","corylussunroof.com","68s8.com","ptumesukrerd.net","oursoonethair.net","xkqaqnuhoxlqnmb.com","globinspapaya.shop","jatobacutikin.com","strombugi.com","21wiz.com","embolicpenlop.com","mgid.com","sashingdermoid.com","ml314.com","bushsurprising.com","explorerfutile.com","deductgreedyheadroom.com","xfidfuxidr.in","detoxifylagoonsnugness.com","bundlemoviepumice.com","sacodnajroh.com","tzokruogxo.com","browsecoherentunrefined.com","cpylzuozp.com","mournersamoa.com","ossetbulimus.com","lawzyscapoid.com","x7i0.com","ads-twitter.com","connect.facebook.com","cdn.adjust.com","stupid-police.com","untimely-proof.pro","worrisome-sea.com","knownfeel.com","necessary-jury.com","starkknife.com","simplistictheory.pro","gentlefieldpattern.com","unnaturalcamera.pro","strong-training.com","grown-committee.com","expensiveincident.com","lone-horror.com","bewitched-display.pro","optimal-neat.pro","longtermeffective.com","hurtful-message.com","trafficbass.com","anysize.pro","3nbf4.com","gizokraijaw.net","forfrogadiertor.com","rebopsmurly.com","parcookgoofah.qpon","shalakobiarchy.com","mildhide.pro","eavailandpro.com","cland.fyi","d4bx2if8xmi89.cloudfront.net","nappyonsetstiffness.com","dcbbwymp1bhlf.cloudfront.net","gukahdbam.com","d3jzhqnvnvdy34.cloudfront.net","yougetwhatyoupayfor.net","boxypluckunrelated.com","pumaqmqix.com","coolishrocked.com","chubbyexemplaryhardiness.com","clammyendearedkeg.com","dgaf2ncy4dtan.cloudfront.net","epidermispushupvariable.com","tacitmsl.shop","overloadenjoy.com","hardenteiid.com","ymqhrliivzqq24if4r.cfd","weirdopt.com","preferencenail.com","professionaltrafficmonitor.com","torchfriendlypay.com","indelicatedepictunderage.com","skinnycrawlinglax.com","sourshaped.com","paupsoborofoow.net","rusinsawbill.com","sewdialogueconcealment.com","wainseustyle.com","monetiseup.tech","aidennagib.com","al5sm.com","succubmisship.com","crampleadspace.com","foldclankcelery.com","astronautlividlyreformer.com","trivial-final.com","pl28126626.effectivegatecpm.com","seedtag.com","lijit.com","tremorhub.com","fwmrm.net","pubmine.com","staticaly.com","emxdgt.com","smartclip.net","commonvivacious.com","hentaigold.net","mediumdirt.com","zebradiomate.com","nickeldefiancepriest.com","push-sdk.com","judicialimpatientgenerator.com","ornery-possible.com","sombernewspaper.com","folioleformism.com","effectivegatecpm.com","anotherantiadblockurl.theblank.net","nsd.ar","adingo.jp","clmbtech.com","mgcdn.xyz","imacdn.com","spooksmoop.qpon","gainsayacrasinconical.qpon","giriudog.com","damagedface.com","roughremove.com","sturdy-town.com","heartyquit.com","buttery-sick.com","hdwetwindle.com","glisteningtrouble.com","selfassured-celebration.com","vector26060.com","vntjfxxewlclre.com","media-analytic.com","kktc-vip139.com","nextclass.pro","extrovertedlecture.com","faenasplaidie.com","allicesoggier.com"],"css":".ad-topMobile,.ad,.ads-container,.ads,.adsbygalaksion,.adsbygoogle,.code-block,.display-banner,.radio-ad,#radio_content,#content *[class*=\"bg-ssp-\"],#adplus-anchor,#fixedban,#noktaplayercontainer,#p_6314647,#psdn-slot,#stickyplayervideoclose,#teaser1,#teaser3,*[class^=\"ad-\"],*[class^=\"ad_\"],*[class$=\"-ad\"],*[class$=\"_ad\"],*[class*=\"-ad-\"],*[class*=\"_ad_\"],*[class^=\"ads-\"],*[class^=\"ads_\"],*[class$=\"-ads\"]:not(.hide-ads),*[class$=\"_ads\"],*[class*=\"-ads-\"],*[class*=\"_ads_\"],*[data-adunit],*[data-google-query-id],*[id*=\"_ad_\"],*[id*=\"-ad-\"],*[id^=\"ad_\"],*[id^=\"ad-\"],*[id$=\"_ad\"],*[id$=\"-ad\"],*[id*=\"_ads_\"],*[id*=\"-ads-\"],*[id^=\"ads_\"],*[id^=\"ads-\"],*[id$=\"_ads\"],*[id$=\"-ads\"],*[id^=\"pf-\"],*[id^=\"sfw-banner-\"],*[id^=\"publift-\"],iframe[src*=\"adata\"],iframe[src*=\"ad.\"],iframe[src*=\"ads.\"],iframe[src*=\"/ad\"],iframe[src*=\"/A=\"],iframe[src*=\"/click\"],iframe[src*=\"?click\"],iframe[src*=\"?banner\"],iframe[src*=\"=click\"],iframe[src*=\"clickurl=\"],iframe[src*=\".atwola.\"],iframe[src*=\"spinbox.\"],iframe[src*=\"transfer.go\"],iframe[src*=\"adfarm\"],iframe[src*=\"adfarmadSpace\"],iframe[src*=\"adserver\"],iframe[src*=\"adjuggler\"],iframe[src*=\".banner\"],iframe[src*=\"bluestreak\"],iframe[src*=\"doubleclick\"],iframe[src*=\"/rd.\"],iframe[src*=\"/0AD\"],iframe[src*=\".falkaq.\"],iframe[src*=\"connextra.\"],iframe[src*=\"tracksponsor.\"],iframe[data-aa],script[src*=\"doubleclick\"] + div,script[src*=\"romanticwait\"] + div,.empower-ad,*[data-empower-id],#empowerplayercontainer,*[id^=\"bg-ssp-\"],.google-auto-placed,*[data-ad-format],*[data-adtrack-id],div:has(> iframe[src*=\"radioonline\"]),.rev-src,#Arpian-ads,iframe[id^=\"bg_\"],.adv,#vi-smartbanner,*[data-ad-slot],html > iframe,div:has(> [prclck]),[prclck],a[href*=\"gotrackier\"],body > nav:not([id]):not([class]):not([style]) > a[style]:first-child:last-child,body > section:not([id]):not([class]):not([style]) > span:first-child:last-child > a[style],html > ins,.kln:has(> script),.adblock_title,.adblock_subtitle,div[id]:has(div[id] h4.adblock_title),div:has([data-izone]),script[src*=\"trotolhonor.com\"] + iframe,.custom-html-widget:has(script[src*=\"separatelysmackfibber\"]),#content a[href*=\"kit-food.com\"],*[pa-slot-container],*[id^=\"exo_slider\"],.exo-native-widget-outer-container,iframe[src*=\"a.magsrv.com\"],#theradios_content,script[src*=\"dummieseardrum\"] + iframe,.ts-im-container,.adxp-sticky,div[id*=\"ScriptRoot\"],#catfishAd,[id*=\"_pop-qqgo\"],div:has(> script[src*=\"tingisincused.com\"]),.ob-widget-items-container:has([data-adv-id]),div:has(> #close-ad),script[src*=\"ungreen\"] + iframe,body > div[id]:has(div div div div .adblock_title),.nxiyd,div[data-shb],.lm-adblock-notfic-container {position: fixed!important;display: none!important;opacity: 0!important;top: -99999px!important;left: -99999px!important;right: unset!important;bottom: unset!important;visibility: hidden!important;z-index: -1000!important;pointer-events: none!important;height: 0!important;width: 0!important;max-height: 0!important;min-height: 0!important;max-width: 0!important;min-width: 0!important;overflow: hidden!important;transform: translate(-99999px, -99999px) scale(0)!important;} .fixed div.relative:has(div > button svg.lucide-x):has(> canvas.absolute) {overflow: auto; max-height: 100vh;} body:has(div[id] h4.adblock_title) {overflow: unset !important;}","urls":["https://cdn.jsdelivr.net/npm/disable-devtool","https://asuracomic.net/api/ads","https://static.cloudflareinsights.com/beacon.min.js","https://manhuaplus.org/themes/liliana/css/ad.css"]}
package/index.js CHANGED
@@ -1 +1 @@
1
- (function(W,k){typeof exports=="object"&&typeof module<"u"?k(exports):typeof define=="function"&&define.amd?define(["exports"],k):(W=typeof globalThis<"u"?globalThis:W||self,k(W._trackkun_={}))})(this,(function(W){"use strict";function k(a){let e=!1;return new Promise((t,r)=>{Promise.all(a.map(async n=>{const s=await n;!e&&s&&(e=!0,t(s))})).then(()=>{e||t(void 0)})})}const Ze=/(vol(ume)?|season)(\s*|-|\.)(\d+)/i,Xe=/^S([1-9])\s/i,et=/(ch(ap(t(er)?|\.)?|\.)?|#|episode\.?|capitolo\.?|capitulo\.?|bölüm\.?)(\s*|-)(\d+([-~_,.]\d+)?)/i,tt=/\d+([-~_,.]\d+)?/,at=/[-~_,]/;function rt(a){const e=a.match(Ze);if(e)return{volStr:e[0],volValueStr:e[4]};const t=a.match(Xe);return t?{volStr:t[0],volValueStr:t[1]}:{}}function E(a){if(!a)return;if(!isNaN(+a))return{chap:+a};const{volStr:e,volValueStr:t}=rt(a),r=e?a.replace(e,"").trim():a,n=r.match(et)?.[6]??r.match(tt)?.[0];if(!n)return;const s=+n.replace(at,".");if(isNaN(s))return;const i=e&&t&&!isNaN(+t)?+t:void 0;return{vol:i===void 0||i<=0?void 0:i,chap:s}}function nt(){return Math.random().toString(16).slice(2)}async function st({addListener:a,removeListener:e,transform:t,filter:r,handler:n,onTimeout:s,timeout:i,once:o}){return new Promise(c=>{a(p);const l=()=>o===!0&&e(p),u=i?setTimeout(()=>{l(),c(void 0),s?.()},i):void 0;async function p(g,...d){g=t?t(g):g,g!==void 0&&(!r||r(g,...d))&&(l(),c(g),n?.(g,...d),u&&clearTimeout(u))}})}async function it(a){return(await st({addListener:e=>window.addEventListener("message",e),removeListener:e=>window.removeEventListener("message",e),...a}))?.data}async function lt(a){const{receiverWindow:e,timeout:t,targetOrigin:r,event:n,args:s}=a,i={reqId:nt(),event:n,args:s};return(e||window)?.postMessage(i,r??"*"),(await it({filter:o=>o?.data?.resId===i.reqId,timeout:t??3e4,once:!0}))?.result}function P(a){return lt({event:"tk:fetchResult",args:{url:a},timeout:15e3})}function M(a,e){const t=a.map(l=>({...l,vol:l.vol===0?void 0:l.vol}));t.sort((l,u)=>l.vol===void 0||u.vol===void 0?u.chap-l.chap:u.vol-l.vol||u.chap-l.chap);const r={},n={};for(let l=t.length-1;l>=0;l--){const u=t[l],p=u.group??"";r[p]=(r[p]??0)+1;const g=u.lang??"";u.vol!==void 0?n[g]=u.vol:n[g]!==void 0&&(u.inferVol=n[g])}const s=[],i={},o=e?.preferGroup,c=l=>l.lang??"";for(const l of t){const u=c(l),p=i[u],g=s[p];if(!(g&&g.chap===l.chap&&(g.vol===l.vol||g.vol===void 0||l.vol===void 0))){i[u]=s.length,s.push(l);continue}if(!o){g.vol===void 0&&l.vol!=null&&(s[p]=l);continue}g.group!==o&&(l.group==o||g.group&&!l.group||r[l.group??""]>r[g.group??""])&&(s[p]=l)}return s}async function A(a,e,t){const r=await t(()=>{a=0});if(r!==void 0)return r;if(!(a<=0))return await new Promise(n=>{setTimeout(async()=>{const s=await A(a-1,e,t);n(s)},e)})}async function j(a,e,t=0){const r=e.root??document.documentElement,n=e.timeoutMs??1e4;return A(e.lazy===!0?n/50:0,50,()=>{const s=e.all===!0?Array.from(r.querySelectorAll(a)):r.querySelector(a)??void 0;return(e.all?!s?.length:!s)?void 0:s})}function Z(a){if(a instanceof HTMLOptionElement){const e=a.parentElement instanceof HTMLOptGroupElement?a.parentElement.parentElement:a.parentElement;if(!e||!(e instanceof HTMLSelectElement))return;const t=a.getAttribute("value")||"";if(e.value===t)return;e.value=t,e.dispatchEvent(new Event("change"));return}a instanceof HTMLAnchorElement&&a.addEventListener("click",e=>e.preventDefault(),{once:!0}),a.click(),a.dispatchEvent(new PointerEvent("pointerdown",{bubbles:!0,cancelable:!0,pointerType:"mouse",button:0})),a.dispatchEvent(new MouseEvent("mousedown",{bubbles:!0,cancelable:!0,view:window,button:0}))}function G(a){if(a)try{return JSON.parse(a)}catch{return}}const ce={text:pe,attr:pt,"attr-contain":ht,value:dt,row:ft,"bg-image":mt,json:wt},ot={pattern:vt,remove:yt,atob:bt};function h(a,e){if(a)return ue(a,e,ut)}function J(a,e){if(a)return ue(a,e,gt)}function ue(a,e,t){if(!a)return;const r=a.split("||").map(n=>n.trim()).filter(Boolean);for(const n of r){const s=ct(n);if(!s)continue;const i=t(e??document.documentElement,s);if(i)return i}}function ct(a){const[e,t,...r]=a.split("|");if(!t)return;const n=t?.startsWith("[")&&t.endsWith("]")?t.substring(1,t.length-1).split(","):[t];return{selector:e||void 0,extractors:n.map(X),transformers:r.map(X)}}function X(a){const e=a.indexOf(":"),t=e!==-1;return{fn:t?a.substring(0,e):a,param:t?a.substring(e+1):""}}function ut(a,e){if(!e.selector)return ge(a,e);const t=Rt(e.selector);for(const r of t){const n=Array.from(a.querySelectorAll(r));for(const s of n){const i=ge(s,e);if(i)return i}}}function gt(a,e){const t=e.selector?Array.from(a.querySelectorAll(e.selector)):[a],r=[];for(const n of t)for(const s of e.extractors){const i=ce[s.fn],o=i(n,s.param);if(o){r.push(ee(o,e.transformers));break}}if(r.length)return r}function ge(a,e){for(const t of e.extractors){const r=ce[t.fn],n=r(a,t.param);if(n)return ee(n,e.transformers)}}function ee(a,e){let t=a;for(const r of e){const n=ot[r.fn];n&&(t=n(t,r.param).trim())}return t}function pe(a){return Array.from(a.childNodes).filter(e=>e.nodeType===3).map(e=>N(e.textContent)).filter(Boolean).join(" ").trim()||N(a.textContent)}function pt(a,e){return N(a.getAttribute(e))}function ht(a,e){let t=a.getAttribute(e);if(!t){const r=a.getAttributeNames().find(n=>n.includes(e));r&&(t=a.getAttribute(r))}return N(t)}function dt(a){return a.value}function ft(a,e){if(!e)return;const t=N(a.textContent)?.toLowerCase(),r=e.toLowerCase();if(!(t!==r&&t!==`${r}:`))return N(a.nextElementSibling?.textContent??a.nextSibling?.textContent)}function mt(a){const e=getComputedStyle(a).backgroundImage;if(!(!e||!e.startsWith("url(")))return e.slice(5,-2)||void 0}function wt(a,e){const t=I(G(pe(a)),e);return typeof t=="number"?t+"":typeof t=="string"?N(t+""):void 0}function I(a,e){if(!a||!e)return;const t=e.indexOf("."),r=t!==-1,n=r?e.substring(0,t):e,s=r?e.substring(t+1):void 0;try{const i=a[n];return s?I(i,s):i}catch{return}}function N(a){if(a)return a?.replace(/(\n|\t)/g," ").trim()||void 0}function vt(a,e){if(e)try{return a.replace(new RegExp(e,"i"),"$1")}catch{}return a}function yt(a,e){if(e)try{return a.replaceAll(new RegExp(e,"gi"),"")}catch{}return a}function bt(a){try{return window.atob(a)}catch{return a}}function Rt(a){const e=[];let t="",r=!1;for(let s=0;s<a.length;s++){const i=a[s];if(i==="["?r=!0:i==="]"&&(r=!1),i===","&&!r){const o=t.trim();o.length>0&&e.push(o),t=""}else t+=i}const n=t.trim();return n.length>0&&e.push(n),e}var $t=(a=>(a[a.reading=1]="reading",a[a.paused=2]="paused",a[a.plan=3]="plan",a[a.completed=4]="completed",a[a.dropped=5]="dropped",a[a.deleted=6]="deleted",a))($t||{}),xt=(a=>(a[a.ok=1]="ok",a[a.hidden=2]="hidden",a[a.deleted=3]="deleted",a))(xt||{}),St=(a=>(a[a.aggregator=0]="aggregator",a[a.scanlator=1]="scanlator",a))(St||{}),Dt=(a=>(a[a.pending=0]="pending",a[a.completed=1]="completed",a[a.offline=2]="offline",a[a.incompat=3]="incompat",a))(Dt||{}),he=(a=>(a.id="id",a.name="name",a.slug="slug",a))(he||{}),V=(a=>(a.blank="about:blank",a.title="meta.title",a.reader="meta.reader",a))(V||{});function te(a=0){return new Promise(e=>setTimeout(e,a))}const It=/\d+[a-z]+\d+/i,Ct=/[a-z]+\d+[a-z]+/i,Pt=/^\d{5,}$/;function de(a){if(!a)return;const e=[];a.split(/[-_]/).forEach(r=>{const n=r.split(".").filter(s=>s&&!Ct.test(s)&&!It.test(s)&&!Pt.test(s)).join(".");n&&e.push(n)});const t=e.join(" ");return E(t)}async function ae(a,e=240){return new Promise(t=>{const r=new Image;r.crossOrigin="anonymous",r.onerror=()=>t(void 0),r.onload=()=>{const n=document.createElement("canvas"),s=n.getContext("2d"),i=Math.max(1,r.naturalWidth/e),o=r.naturalWidth/i,c=r.naturalHeight/i;n.width=o,n.height=c;const l=/iPad|iPhone|iPod/.test(navigator.userAgent);try{s.drawImage(r,0,0,o,c);const u=n.toDataURL(l?"image/jpg":"image/webp",l?.99:.8).split(",").slice(-1)[0];t(u)}catch{t(void 0)}},r.src=a})}async function Mt(a,e=240){const t=await Tt(a);if(t)return await new Promise(async r=>{const n=ae(t,e),s=setTimeout(()=>r(void 0),100),i=await n;clearTimeout(s),r(i)})}async function Tt(a){if(a.startsWith("blob:"))return a;try{const e=await fetch(a);if(e.status>=400)return;const t=await e.blob();return URL.createObjectURL(t)}catch{return}}function $(a,e){if(e==="")return a;if(!e)return;const t=e.split("||").map(r=>r.trim()).filter(Boolean);for(const r of t){const[n,...s]=r.split("|"),i=I(a,n);if(typeof i=="number"||i){if(typeof i!="string")return i;const o=i.replace(/(\n|\t)/g," ").trim();if(o){const c=ee(o,s.map(X));if(c)return c}}}}function q(a){if(a?.startsWith("window")){const e=a.indexOf(".");return e===-1?void 0:$(window,a.substring(e+1))}return G(a?h(a):document.querySelector("pre")?.textContent)}function S(a,e){if(typeof a=="number")return e?e(a):a}function R(a,e){if(typeof a=="string")return e?e(a):a}const jt=[{seconds:1,locales:{en:"sec",vi:"gi\xE2y",tr:"ikinci",es:"segunda"}},{seconds:60,locales:{en:"min",vi:"ph\xFAt",tr:"dakika"}},{seconds:3600,locales:{en:"hour",vi:"gi\u1EDD",tr:"saat",fr:"heure",it:"ora",es:"hora"}},{seconds:86400,locales:{en:"day",vi:"ng\xE0y",tr:"g\xFCn",fr:"jour",it:"giorno",es:"d\xEDa"}},{seconds:604800,locales:{en:"week",vi:"tu\u1EA7n",tr:"hafta",fr:"semaine",it:"settimana",es:"semana"}},{seconds:2592e3,locales:{en:"month",vi:"th\xE1ng",tr:"ay",fr:"mois",it:"mese",es:"mes"}},{seconds:31536e3,locales:{en:"year",vi:"n\u0103m",tr:"yil",fr:"an",it:"anno",es:"a\xF1o"}}],Lt=/^\d+$/;function fe(a,e){const t=a?.toLowerCase();if(!t)return;const r=Date.now();if(t.includes("now"))return r;if(t.includes("yesterday"))return r-864e5;if(Lt.test(t))return+t;const n=new Date(t);if(n instanceof Date){const l=n.valueOf();if(!isNaN(l))return n.getHours()===0&&n.getMinutes()===0?Math.min(r,l+432e5):l}const s=jt.find(l=>e&&l.locales[e]&&t.indexOf(l.locales[e])!==-1?!0:t.indexOf(l.locales.en)!==-1);if(!s)return;const i=t.split(" ").filter(Boolean),o=me(i)??(e==="en"?me(i,["a","an"]):void 0);if(!o)return;const c=r-o*s.seconds*1e3;return c>0?c:void 0}function me(a,e){for(let t=0;t<a.length;t++){const r=a[t];if(e?.includes(r))return 1;const n=+r;if(n)return n<0?void 0:n}}function Bt(a,e=location.origin){if(!a)return;const t=new URL(a.startsWith("//")?`${location.protocol}${a}`:a,location.origin+location.pathname).toString();return t.startsWith(e)?t.replace(e,""):t}function U(a,{titleSlug:e,titleId:t,lang:r}){if(!a)return"/";let n=a;return e&&(n=n.replace("{titleSlug}",e)),t&&(n=n.replace("{titleId}",t)),r&&(n=n.replace("{lang}",r)),n.endsWith("/")||(n+="/"),n.startsWith("/")||(n="/"+n),n}function re(a){if(!a)return;let e=a;e.startsWith("//")&&(e=`https:${e}`);try{return new URL(e)}catch{return}}function L(a){if(!(!a||typeof a!="string"))return a.includes("//")?re(a)?.pathname:a}function At(a,e){const t=[...e],r=[];let n=!1,s=0;const i=Math.min(a.length,100);for(let c=0;c<i;c++){if(s>=10/2){const d=10-r.length;if(d>0){const f=c+d<=a.length?a.slice(c,c+d):t.slice(0,d);r.push(...f)}break}const l=a[c],u=l.id!==void 0,p=t.findIndex(d=>u&&d.id===l.id||d.slug===l.slug||d.name==l.name),g=p===-1?void 0:t.splice(p,1)[0];!g||g.chapters[0]?.chap!==l.chapters[0]?.chap?(n=!0,r.push({...l,changed:!0})):(s++,r.push(l))}if(!n)return{hasMore:!1,rawReleases:[]};if(r.length<=10)return{hasMore:!!a[a.length-1]?.changed,rawReleases:r};const o=[];for(let c=0;c<r.length;c++){const l=r[c];(l.changed||c<10)&&o.push(l)}return{hasMore:e.length<2||e.length-t.length<2,rawReleases:o}}function Ut(a,e){const t={};return a.forEach(r=>{const n=r.chapters.reduce((s,i)=>{const o=i.lang||e||"";return s[o]||(s[o]=[]),s[o].push(i),s},{});Object.entries(n).forEach(([s,i])=>{const o=`${r.slug}:${s}`;t[o]?(t[o].chapters.push(...i),M(t[o].chapters)):t[o]={...r,lang:s===""?void 0:s,chapters:i}})}),Object.values(t)}function we(a,e){const t=a[0]===e?a.substring(1):a;return t[t.length-1]===e?t.substring(0,t.length-1):t}var x=(a=>(a.title="title",a.reader="reader",a.releases="releases",a.chapters="chapters",a.search="search",a))(x||{}),Ot=Object.defineProperty,Et=(a,e,t)=>e in a?Ot(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,T=(a,e,t)=>Et(a,typeof e!="symbol"?e+"":e,t);class K{constructor(e){T(this,"headless"),T(this,"siteId"),T(this,"spec"),T(this,"siteMeta"),T(this,"tags"),T(this,"context"),T(this,"methodsMap",{[x.title]:()=>this.getRawTitleData(),[x.reader]:()=>this.getRawReaderData(),[x.releases]:()=>this.getRawReleasesData(),[x.search]:()=>this.getRawSearchData(),[x.chapters]:()=>this.getRawChaptersData()}),T(this,"normalizedTagsMap"),this.siteId=e.siteId,this.spec=e.spec,this.siteMeta=e.siteMeta,this.tags=e.tags,this.context=e.context??{},this.headless=e.headless===!0}async getRawPageByType(e,t=!1){const r=await this.methodsMap[e](),n=!r&&(e===x.title||e===x.reader)&&await _t(this.spec);if(t&&!r&&!n)return;const s=location.origin+location.pathname;return{type:e,is404:n,specId:this.spec.id,siteName:this.getSiteName(e,r),favUrl:Wt(),htmlLang:kt(),url:s,data:r,spec:this.spec,context:this.context}}parseReaderUrl(e,t,r){const n=!this.siteId,s=t.includes("/");let i=e;if(s&&!i&&(i=this.siteMeta.readerBase),i.startsWith("/")||(i="/"+i),i.endsWith("/")||(i=i+"/"),!s)return n?{basePath:"",slug:`${i}${t}`}:{basePath:i,slug:t};const o=i.includes("{");let c=t;if(c[0]!=="/"&&(c.includes("/")||n&&!o))try{c=new URL(t,location.href).pathname}catch{}if(c.endsWith("/")&&(c=c.slice(0,-1)),o){const l=i.split("/").filter(Boolean),u=c.split("/").filter(Boolean);if(l.length<u.length){const p=u[l.indexOf("{lang}")]?.toLowerCase(),g=u[l.indexOf("{titleId}")],d=u[l.indexOf("{titleSlug}")];if(n)return{basePath:"",slug:c,lang:p,titleId:g,titleSlug:d};if(i=i.replace("{lang}",p).replace("{titleId}",g).replace("{titleSlug}",d),c.startsWith(i))return{basePath:i,slug:c.replace(i,""),lang:p,titleId:g,titleSlug:d}}}else if(!n&&c.startsWith(i))return{basePath:i,slug:c.replace(i,"")};return{basePath:"",slug:c}}parseTitleUrl(e){if(typeof e!="string")return{};const t=L(e);if(t===void 0)return{};if(this.siteMeta.single)return{slug:we(t,"/")};const r=t?.split("/").filter(Boolean);if(!r?.length)return{};const n=this.siteMeta.titleBase.split("/").filter(Boolean),s=n.indexOf("{slug}");return(s===-1?r.length-n.length>=1:r.length===n.length)?{id:r[n.indexOf("{id}")],slug:this.siteId?s===-1?r.slice(n.length).join("/"):r[s]:t}:{slug:t}}finalizeRawReleasesData(e){const t=this.spec.releases?.title?.lang?this.siteMeta.defaultLang:void 0,r=Ut(e.rawReleases,t);if(r.length)return this.context.oldRawReleases?At(r,this.context.oldRawReleases):{rawReleases:r,hasMore:!0}}getTagIdsFromNames(e){if(!e?.length)return;const t=this.normalizedTagsMap??(this.normalizedTagsMap=Nt(this.tags)),r=e.map(n=>t[ne(n)]).filter(Boolean);return r.length===0?void 0:Array.from(new Set(r)).sort((n,s)=>n-s)}getSiteName(e,t){if(t&&this.siteMeta.single){if(e===x.title)return t.name;if(e===x.reader)return t.title.name}const r=this.spec.name,n=(r&&h(r))??h('meta[property="og:site_name"]|attr:content');return n&&n.length>2?n:void 0}}T(K,"specId"),T(K,"siteId");function Nt(a){const e={};return a.forEach(({id:t,name:r,altNames:n})=>{e[ne(r)]=t,n&&n.forEach(s=>{e[ne(s)]=t})}),e}function ne(a){const e=a.toLowerCase().replaceAll(/[^a-z0-9\s]/gi,"").trim().replaceAll(/\s+/g," ");return e[e.length-1]==="s"?e.substring(0,e.length-1):e}async function _t(a){return zt()===404||a[404]&&await j(a[404],{lazy:!0,timeoutMs:5e3})?!0:document.title.toLowerCase().includes("not found")}function zt(){try{return window.performance.getEntries().find(a=>a.entryType==="navigation")?.responseStatus}catch{return}}function Wt(){return h('link[rel="icon"][sizes="32x32"],link[rel="icon"][sizes="192x192"],link[rel="apple-touch-icon"]|attr:href || link[rel="icon"]|attr:href')}function kt(){return h("html|attr:lang")||"en"}class v extends K{async getRawReleasesData(){const e=await this.getRawReleases();if(e?.length)return this.finalizeRawReleasesData({rawReleases:e})}async getRawReleases(){const e=this.spec?.releases?.title;if(!e)return;if(e.json){const o=this.getJsonRawReleases(R(e.json),e)?.filter(c=>c.chapters.length);return o?.length?o:void 0}const t=e.chapter,r=await j(e.sel,{lazy:!0,all:!0});if(!r?.length)return;const n=Date.now(),s=r.slice(0,100).map(o=>{const c=h(e.url,o),l=L(c),u=h(e.name,o),p=h(e.at,o);if(!l||!u)return;const g=fe(p,this.siteMeta.defaultLang);return{titleEl:o,id:h(e.id,o),path:l,name:u,lang:h(e.lang,o)?.toLowerCase(),at:g?Math.min(g,n):void 0}}).filter(Boolean);if(!s.length)return;const i=[];return await Promise.all(s.map(async o=>{const{path:c,titleEl:l,lang:u,at:p,...g}=o,{id:d,slug:f}=this.parseTitleUrl(c);if(!f)return;const w=g.id||d,y=await this.getChapters(t,{root:l,titleId:w,titleSlug:f,titleName:o?.name,lang:u})??[];y.length&&i.push({slug:f,chapters:u||p?y.map(m=>({...m,elIndex:void 0,lang:m.lang??u,ts:m.ts??p})):y,...g,id:w})})),i}getRawTitleData(){return this.getTitleData(this.spec.title)}async getTitleData(e){if(!e||!await this.isTitlePage(e))return;const{id:t,slug:r}=this.parseTitleUrl(location.pathname);if(this.siteMeta.single?r===void 0:!r)return;const n=t||h(e.id),s=e.chapter?.json?await this.queryJsonChapters(e.chapter,{titleSlug:r,titleId:n}):await this.getChapters(e.chapter,{lazy:e.chapter?.lazy??!0,titleId:n,titleSlug:r,titleName:h(e.name)}),i=h(e.name);if(!i)return;const o=await this.getValidImgSrc(e.img,i),c=o&&this.context.includeImgBytes?await Mt(o):void 0,l=this.getFirstChapterUrl(),u=e.firstBtn,p=J(e.tags)?.map(f=>f.split(",")).flat().map(f=>f.trim()).filter(Boolean),g=h(e.type),d=J(e.langs)?.map(f=>f.toLowerCase());return{id:n||h(e.id),url:location.origin+location.pathname,slug:r,name:i,langs:d?.length?d:e.langs&&this.siteMeta.defaultLang?[this.siteMeta.defaultLang]:void 0,tags:this.getTagIdsFromNames([...p??[],...g?[g]:[]]),chapters:s??[],hasMoreChapters:!s?.length&&!e.chapter?!0:e.hasMore?!!document.querySelector(e.hasMore):void 0,img:o,imgBytes:c,firstUrl:l,firstBtn:!l&&u&&document.querySelector(u)?u:void 0,trackers:this.getTrackersMap(e.trackers)}}getTrackersMap(e){if(!e)return;const t=h(e.mal),r=h(e.anl);if(!t&&!r)return;const n={};return t&&(n.mal=t.split("?")[0].split("#")[0].split("manga/").slice(-1)[0].split("/")[0]),r&&(n.anl=r.split("?")[0].split("#")[0].split("manga/").slice(-1)[0].split("/")[0]),n}getFirstChapterUrl(){const e=h(this.spec.title?.first);if(e){if(e.startsWith("http"))return e;try{return new URL(e,location.href).href}catch{return}}}getValidImgSrc(e,t){return A(33,30,()=>{const r=h(e)||h(`img[alt="${t.replaceAll('"','\\"')}"]|[attr:data-src,attr-contain:src]`);return!r||r.startsWith("data:")?void 0:document.querySelector(`img[srcset*="${r}"]`)?r.split(" ")[0]:r})}getRawReaderTitleData(e){const t=this.spec.reader?.title;if(!t)return;const r=t.sel?document.querySelector(t.sel)??void 0:void 0;if(t.sel&&!r)return;const n=h(t.name,r);if(!n)return;const s=Bt(h(t.img,r));if(e?.slug){let l=this.siteMeta.titleBase;if(e?.id&&(l=l.replace("{id}",e.id)),!l.includes("{"))return l=l.includes("{slug}")?l.replace("{slug}",e.slug):`${l}/${e.slug}`,this.siteMeta.trailing&&!l.endsWith("/")&&(l+="/"),{name:n,img:s,url:new URL(l,location.origin).href,slug:e.slug,id:e.id||h(t.id,r)}}const i=h(t.url,r),{slug:o,id:c}=this.parseTitleUrl(i);if(!(!n||!i||(this.siteMeta.single?o===void 0:!o)))return{name:n,img:s,url:new URL(i,location.origin).href,slug:o,id:c||h(t.id,r)||e?.id}}async getRawReaderData(){const{spec:e,siteMeta:t}=this;if(!e?.reader||!await this.isReaderPage(e.reader,!!e.generic))return;const r=e.reader.content;if(!(!r||await v.verifyImgsCotainer(r)))return;const n=this.parseReaderUrl(t.readerBase,location.pathname,location.href),{slug:s,basePath:i,lang:o}=n,c=this.getRawReaderTitleData({id:n.titleId,slug:n.titleSlug});if(!c)return;const l=h(e.reader.group),{id:u,slug:p}=c,g=e.reader?.chapter,d=!!this.context.disableLazyChapters,f=!!this.context.includeHiddenChapters,w=g?.json?await this.queryJsonChapters(g,{titleSlug:p,titleId:u,lang:o}):await this.getChapters(g,{titleId:u,titleSlug:p,titleName:c.name,lang:o,lazy:f||!d,includeHiddenChapters:f,timeoutMs:f?3e3:25e3,includeIndex:!0,basePath:i,preferGroup:l}),y=h(e.reader.label)?.toLowerCase().replace(c.name.toLowerCase(),"");if(!y)return;const{vol:m,chap:b=0}=E(y)||{},_=e.reader.prev?this.findAdjacentChapter({spec:e.reader.prev,basePath:i,titleUrl:c.url,titleName:c.name}):void 0,z=e.reader.next?this.findAdjacentChapter({spec:e.reader.next,basePath:i,titleUrl:c.url,titleName:c.name}):void 0,F=u??(()=>{const B=this.spec.reader?.title;if(!B?.id)return;const D=B.sel?document.querySelector(B.sel)??void 0:void 0;if(!(B.sel&&!D))return h(B.id,D)})();return this.finalizeRawReaderData({vol:m,chap:b,lang:o??h(e.reader.lang)?.toLowerCase()??(e.reader.lang?this.siteMeta.defaultLang:void 0),slug:s,basePath:i,group:l??h(e.reader.group),imgs:J(e.reader.imgs),title:{id:F,url:c.url,slug:p,name:c.name,langs:o?[o]:void 0,img:c.img,chapters:w??[],hasMoreChapters:!w?.length&&!f&&!!this.context.disableLazyChapters&&!!g?.label}},{prev:_,next:z})}async getRawChaptersData(){const e=this.siteMeta.chapters;if(e===V.blank)return;const t=e===V.reader,r=!e||e===V.title,n=t?(await this.getRawReaderData())?.title:r?await this.getRawTitleData():void 0,s=this.context.lang,i=await(async()=>{if(n?.chapters.length&&!n.hasMoreChapters)return n.chapters;const c=this.spec.chapters?.chapter;if(!c)return n?.hasMoreChapters?void 0:n?.chapters;const l=n?.slug??this.context.titleSlug,u=n?.id??this.context.rawId;return c.json?this.getJsonChapters(q(R(c.json)),{chapterSpec:c,basePath:U(this.siteMeta.readerBase,{titleSlug:l,titleId:u,lang:s})}):await this.getChapters(c,{titleId:u,titleSlug:l,titleName:n?.name,lazy:this.spec.chapters?.lazy,includeHiddenChapters:!0,lang:s})})();if(!i)return;const o=s?i.filter(c=>!c.lang||c.lang===s):i;return{chapters:o,title:n?{...n,chapters:[]}:await this.getTitleData(this.spec.chapters?.title),hasMore:!1,asc:!1,total:o.length}}async getRawSearchData(){const e=this.spec.search,t=this.context.lang;if(!e)return;const r=e.title;if(r.json){const l=this.getJsonRawReleases(R(r.json),r,t);return l?.length?{rawReleases:l}:void 0}e.delay?await te(e.delay):e.loading&&await te(500);const{chapter:n}=r,s=[],i=e.lazy?e.empty||e.loading?550:100:1;let o=0;const c=await A(i,50,()=>{const l=Array.from(document.querySelectorAll(r.sel));if(l.length||e.empty&&document.querySelector(e.empty)||e.loading&&!document.querySelector(e.loading)&&++o>=3)return l});if(c)return await Promise.all(c.map(async l=>{const u=h(r.url,l),p=L(u),g=h(r.name,l),{slug:d,id:f}=this.parseTitleUrl(p);if(!p||!g||!d)return;const w=h(r.lang,l);w&&t&&w!==t||s.push({id:f||h(r.id,l),slug:d,name:g,img:h(r.img??"img|[attr:data-src,attr-contain:src]",l),lang:w,chapters:await this.getChapters(n,{root:l,titleId:f,titleSlug:d,titleName:g})??[]})})),{rawReleases:s}}getJsonRawReleases(e,t,r){const n=q(e),s=$(n,t.sel);if(!s?.length||!Array.isArray(s))return;const i=[];return s.forEach(o=>{const c=R($(o,t.lang))?.toLowerCase();if(c&&r&&c!==r)return;const l=$(o,t.url),{id:u,slug:p}=S(l,m=>({id:void 0,slug:m+""}))??this.parseTitleUrl(L(l)),g=R($(o,t.name));if(!p||!g)return;const d=u||$(o,t.id),f=S(d,m=>m+"")??R(d),w=t.chapter?this.getJsonChapters(o,{chapterSpec:t.chapter,basePath:U(this.siteMeta.readerBase,{titleId:f,titleSlug:p,lang:c})}):void 0,y=R($(o,t.img),m=>{try{return new URL(m,location.origin).href}catch{return}});i.push({id:f,slug:p,name:g,lang:c,img:y,chapters:w??[]})}),i}getJsonChapters(e,{chapterSpec:t,basePath:r}){if(!e)return;const n=$(e,t.sel);if(!n)return;const s=Array.isArray(n)?n:[n];if(!s?.length)return;const i=[];return s.forEach(o=>{const c=$(o,t.label),l=S(c,m=>({vol:void 0,chap:m}))??E(R(c));if(!l)return;const u=$(o,t.url),p=R(u)??S(u,m=>m+""),g=p?this.parseChapterUrl(r,p):void 0,d=l.vol??$(o,t.vol),f=$(o,t.id),w=$(o,t.at),y=w?new Date(w).getTime():void 0;i.push({slug:g?.slug,vol:S(d)??R(d,m=>+m),chap:l.chap,id:R(f)??S(f,m=>m+""),lang:R($(o,t.lang))?.toLowerCase(),group:R($(o,t.group)),ts:y||void 0})}),i.length?M(i,{preferGroup:this.context.preferGroup}):void 0}async queryJsonChapters(e,t){const r=typeof e.json=="string"&&e.json.startsWith("http")?(await P(this.replaceDynamicParams(e.json,t)))?.value:q(R(e.json));return this.getJsonChapters(r,{chapterSpec:e,basePath:U(this.siteMeta.readerBase,t)})}replaceDynamicParams(e,t){let r=e;return t.titleSlug&&(r=r.replace("{titleSlug}",t.titleSlug)),t.titleId&&(r=r.replace("{titleId}",t.titleId)),t.lang&&(r=r.replace("{lang}",t.lang)),r}async getChapters(e,{root:t,titleId:r,titleSlug:n,titleName:s,lang:i,includeHiddenChapters:o=!1,lazy:c=!0,timeoutMs:l,includeIndex:u,basePath:p,preferGroup:g}){const d=e?.sel;if(!d||!e.label)return;const f=this.replaceDynamicParams(d,{titleSlug:n,titleId:r,lang:i});if(!f)return;let w;if(!(e.trigger&&(!o||(w=await j(e.trigger,{timeoutMs:5e3,lazy:!0}),!w))))return await A(c?l?l/10:33:1,300,async()=>{w&&(Z(w),await te(50));const y=Array.from((t??document.documentElement)?.querySelectorAll(f));if(!y.length)return;const m=(y??[]).map((C,H)=>({id:h(e.id,C),label:h(e.label,C)?.toLowerCase(),url:h(e.url,C),at:h(e.at,C),lang:h(e.lang,C),group:h(e.group,C),elIndex:H})),b=s?.toLowerCase(),_=b&&!!m[0]?.label?.startsWith(b),z=(e.dismiss?(t??document.body).querySelector(e.dismiss):void 0)??w;if(z&&Z(z),!y?.length)return[];const F=m.map(({label:C})=>{if(!C)return;const H=_?C?.replace(b,"").trim():C;return E(H)}),B=p??U(this.siteMeta.readerBase,{titleId:r,titleSlug:n,lang:i}),D=Date.now(),oe=[];if(F.forEach((C,H)=>{if(!C)return;const{id:mr,url:Qe,at:wr,lang:vr,group:yr,elIndex:br}=m[H],Ye=fe(wr,this.siteMeta.defaultLang),Q={...C,id:mr,lang:vr?.toLowerCase(),group:yr,ts:Ye?Math.min(D,Ye):void 0};u&&(Q.elIndex=br);const Y=Qe?this.parseChapterUrl(B,Qe):void 0;Y&&(Q.slug=Y.slug,Y.lang&&(Q.lang=Y.lang)),oe.push(Q)}),!!oe.length)return M(oe,{preferGroup:g??this.context.preferGroup})})}parseChapterUrl(e,t){if(t?.startsWith("#"))return;if(t?.startsWith("http")&&!t.includes(`//${location.hostname}/`))return{slug:t};const r=L(t);if(r)return this.parseReaderUrl(e,r,t)}async isTitlePage(e){return!(!e||(e.sel||e.lazy)&&!await j(e.sel??e.name?.split("|")?.[0],{lazy:!!e.lazy}))}async isReaderPage(e,t){const r=e?.sel;return t&&!r?!1:!r||!!await j(r,{lazy:!!e.lazy})}static async verifyImgsCotainer(e){const t=e.split(",").map(r=>r.trim()).filter(Boolean).map(r=>`${r} img, ${r} canvas`).join(",");return!!await j(t,{lazy:!0,all:!1})}findAdjacentChapter({spec:e,basePath:t,titleUrl:r,titleName:n}){if(typeof e=="string"){const l=this.getAdjacentChapterSlug({sel:e,titleUrl:r,basePath:t}),u=de(l);return u?{...u,slug:l}:void 0}const s=e.sel?document.querySelector(e.sel)??void 0:void 0;if(e.sel&&!s)return;const i=e.url?this.getAdjacentChapterSlug({root:s,sel:e.url,basePath:t,titleUrl:r}):void 0,o=h(e.label,s)?.toLowerCase().replace(n.toLowerCase(),""),c=E(o)||de(i);if(c)return i===void 0?c:{...c,slug:i}}getAdjacentChapterSlug(e){const t=h(e.sel,e.root);if(!t||t.startsWith("#")||t.startsWith("/#"))return;const r=L(t);if(r&&!(r===location.pathname||e.titleUrl===r||e.titleUrl===`${location.origin}${r}`))return this.parseReaderUrl(e.basePath,r,t).slug||void 0}finalizeRawReaderData(e,t={}){const{prev:r,next:n}=t,s=e.title.chapters;if(!s.length)return r||n?{...e,prev:r,next:n}:e;let i,o,c,l;for(let u=0;u<s.length&&!(i&&(!r||c)&&!n&&l);u++){const p=s[u];!i&&se(e,p)?(i=p,o=u):!c&&r&&se(r,p)?c=p:!l&&n&&se(n,p)&&(l=p)}return o!==void 0&&(c??(c=s[o+1]),l??(l=s[o-1])),c&&!c.slug&&r?.slug&&(c.slug=r.slug),l&&!l.slug&&n?.slug&&(l.slug=n.slug),i&&!i.slug&&(i.slug=e.slug),{...e,inferVol:i?.inferVol,prev:c,next:l}}}function se(a,e){return a.slug&&a.slug==e.slug||a.chap===e.chap&&(a.vol===e.vol||a.vol===void 0)}var qt=Object.defineProperty,Gt=(a,e,t)=>e in a?qt(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,Jt=(a,e,t)=>Gt(a,e+"",t);class ve extends v{async getRawReaderData(){const e=`https://${location.host}/api/`,[t,r]=await Promise.all([P(`${e}manga/info`),P(`${e}read/chapter`)]),n=t?.value,s=r?.value;if(!n||!s)return;const i=this.parseReaderUrl(this.siteMeta.readerBase,location.pathname,location.href);if(!i)return;const o=E(s.readChapter?.title);if(o)return this.finalizeRawReaderData({basePath:i.basePath,slug:i.slug,...o,imgs:s.readChapter.pages.map(c=>new URL(c.image,location.origin).href),title:{url:`${e}/manga/${n.id}`,slug:n.id,name:n.title,tags:this.getTagIdsFromNames([n.type].filter(Boolean)),chapters:M(n.chapters.map(c=>({slug:c.id,chap:c.number})),{preferGroup:this.context.preferGroup})}})}}Jt(ve,"specId","atsu");function Ft(a){return String(a).normalize("NFKD").replace(/[\u0300-\u036f]/g,"").trim().toLowerCase().replace(/[^a-z0-9 -]/g,"").replace(/\s+/g,"-").replace(/-+/g,"-")}var Ht=Object.defineProperty,Vt=(a,e,t)=>e in a?Ht(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,Kt=(a,e,t)=>Vt(a,e+"",t);class ye extends v{async getRawReleases(){const e=await super.getRawReleases();if(e?.length)return e.map(t=>({...t,slug:`${t.slug}-${Ft(t.name)}`}))}async getRawTitleData(){const e=await super.getRawTitleData();if(!e)return;const t=await P(`${location.origin}/api/v2/manga/${e.id}/chapters`);if(!t)return e;const r=this.parseChapters(t.value),n=!!S(I(t.value,"result.pagination.last_page"),s=>s>1);return{...e,chapters:r,hasMoreChapters:n}}async getRawChaptersData(){const e=await P(`${location.origin}/api/v2/manga/${this.context.rawId}/chapters`);if(!e)return;const t=e.value;if(!S(I(t,"result.pagination.last_page"),s=>s>1))return{chapters:M(this.parseChapters(t),{preferGroup:this.context.preferGroup})};const r=S(I(t,"result.pagination.total"),s=>Math.ceil(s/100))||0,n=(await Promise.all(Array.from({length:Math.max(0,r)},async(s,i)=>{try{const o=e.url.replace("limit=20&page=1",`limit=100&page=${i+1}`),c=await fetch(o);return this.parseChapters(await c.json())||[]}catch{return[]}}))).flat();return{chapters:M(n,{preferGroup:this.context.preferGroup})}}parseChapters(e){const t=[];return I(e,"result.items")?.forEach?.(r=>{const n=S(I(r,"chapter_id"),i=>i+""),s=S(I(r,"number"));!n||s===void 0||t.push({slug:n,chap:s,vol:S(I(r,"volume"))||void 0,lang:R(I(r,"language")),group:R(I(r,"scanlation_group.name")),ts:S(I(r,"created_at"))})}),t}}Kt(ye,"specId","comix");var Qt=Object.defineProperty,Yt=(a,e,t)=>e in a?Qt(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,Zt=(a,e,t)=>Yt(a,e+"",t);class be extends v{async getRawReaderData(){const e=await super.getRawReaderData();if(!e)return;const t=window.pages,r=t?.map(n=>n?.image).filter(Boolean);if(!(!Array.isArray(r)||!r.length))return{...e,imgs:r,isWebtoon:t.some(n=>n.height/n.width>2)}}}Zt(be,"specId","dynasty");var Xt=Object.defineProperty,ea=(a,e,t)=>e in a?Xt(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,ta=(a,e,t)=>ea(a,e+"",t);class Re extends v{async getRawTitleData(){const e=await super.getRawTitleData();if(e)return{...e,chapters:[{slug:"1",chap:0}]}}async getRawReaderData(){const e=await super.getRawReaderData();if(!e||!e.imgs?.length)return e;const t=e.imgs[0],r=t.lastIndexOf("/"),n=r===-1?"":t.substring(0,r+1),s=r===-1?t:t.substring(r+1),i=s.substring(s.lastIndexOf(".")),o=R(h(".total_pages|text"),l=>+l)||1,c=Array.from({length:o},(l,u)=>`${n}${u+1}${i}`);return{...e,slug:"1",chap:0,imgs:c,title:{...e.title,chapters:[{slug:"1",chap:0}]}}}}ta(Re,"specId","imhen");var aa=Object.defineProperty,ra=(a,e,t)=>e in a?aa(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,na=(a,e,t)=>ra(a,e+"",t);class $e extends v{async getRawReaderData(){const e=await super.getRawReaderData();if(!e)return;const t=this.spec.chapters?.chapter;if(!t)return e;const r=await P(`https://api.spacely.tech/manhwa/comixto/info/${e.title.slug}`);if(!r?.value)return e;const n=this.getJsonChapters(r.value,{chapterSpec:t,basePath:U(e.basePath,{titleSlug:e.title.slug})});return n?.length?this.finalizeRawReaderData({...e,title:{...e.title,chapters:n}}):e}}na($e,"specId","inkora");var sa=Object.defineProperty,ia=(a,e,t)=>e in a?sa(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,la=(a,e,t)=>ia(a,e+"",t);class xe extends v{async getRawTitleData(){const e=await super.getRawTitleData();if(!e)return;const t=this.spec.chapters?.chapter;if(t){const r=await P("https://yuzuki.kagane.org/api/v2/series/{id}");if(r){const n=this.getJsonChapters(r.value,{chapterSpec:t,basePath:U(this.siteMeta.readerBase,{titleSlug:e.slug})});if(n)return{...e,chapters:n}}}return{...e,hasMoreChapters:!0}}async getRawReaderData(){const e=await super.getRawReaderData();if(!e)return;const t=oa();return{...e,title:{...e.title,img:Se(e.title.slug),chapters:t}}}async getRawSearchData(){const e=await super.getRawSearchData();if(e)return{...e,rawReleases:e.rawReleases.map(t=>({...t,img:Se(t.slug)}))}}}la(xe,"specId","kagane");function Se(a){return`https://api.${location.host}/api/v1/series/${a}/thumbnail`}function oa(){const a=["initialChapters"],e=Array.from(document.querySelectorAll("script:not([src])"));for(let t=0;t<e.length;t++){const r=e[t].textContent;if(r)for(const n of a){const s=r.indexOf(n);if(s===-1)continue;const i=r.slice(s),o=G(i.slice(i.indexOf("[{"),i.indexOf('}],\\"cached_at')+2).replaceAll("\\",""));if(!o?.length||!Array.isArray(o))return[];try{const c=[];return o.map(l=>{const u=E(l.name);u&&c.push({...u,slug:l.id,ts:l.created?new Date(l.created).getTime():void 0})}),M(c)}catch{return[]}}}return[]}var ca=Object.defineProperty,ua=(a,e,t)=>e in a?ca(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,ga=(a,e,t)=>ua(a,e+"",t);class ie extends v{async getRawReleasesData(){const e=this.getNewSiteMeta(this.spec.releases?.title),t=await super.getRawReleasesData();if(t)return{...t,siteMeta:e}}async getRawTitleData(){if(!await this.isTitlePage(this.spec.title))return;const e=this.getNewSiteMeta(this.spec.title,`${location.origin}${location.pathname}`),t=await super.getRawTitleData();if(t)return{...t,siteMeta:e}}async getRawReaderData(){if(!await this.isReaderPage(this.spec.reader,this.spec.generic))return;const e=this.getNewSiteMeta(this.spec.reader?.title),t=await super.getRawReaderData();if(t)return{...t,siteMeta:e}}async getRawSearchData(){const e=this.getNewSiteMeta(this.spec.search?.title),t=await super.getRawSearchData();if(t)return{...t,siteMeta:e}}getNewSiteMeta(e,t){if(t??(t=pa(e)),!t)return;if(!this.siteId){const i={...this.siteMeta,releases:null,titleBase:"",readerBase:"",titleIdType:he.name,trailing:t.endsWith("/"),defaultLang:h("html|attr:lang")||"en"};return this.siteMeta=i,i}const r=this.extractBasePath(t),n=this.siteMeta;if(n.titleBase===r)return;const s={...n,titleBase:r,readerBase:n.readerBase.replace(n.titleBase,r)};return this.siteMeta=s,s}extractBasePath(e){const t=e.startsWith("/")?e:L(e);return we(t,"/").split("/").slice(0,-1).join("/")}}ga(ie,"specId","madara");function pa(a){if(!a)return;const e=a.sel?document.querySelector(a.sel)??void 0:void 0;return h(a.url,e)}var ha=Object.defineProperty,da=(a,e,t)=>e in a?ha(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,fa=(a,e,t)=>da(a,e+"",t);class De extends v{async getRawTitleData(){const e=await super.getRawTitleData();if(!e)return;const t=await Ie(this.context.preferGroup),r=new Set;return t.forEach(({lang:n})=>{n&&r.add(n)}),{...e,chapters:t,langs:r.size?Array.from(r):[this.siteMeta.defaultLang||"en"]}}async getRawReaderData(){const e=await super.getRawReaderData();if(!e)return;const t=await Ie(e.group||this.context.preferGroup),r=t[0]?.lang;return this.finalizeRawReaderData({...e,lang:r,title:{...e.title,chapters:t,langs:r?[r]:void 0}})}}fa(De,"specId","mangaball");async function Ie(a){const e=await A(100,50,()=>{try{return ALL_CHAPTERS.length?ALL_CHAPTERS:void 0}catch{return}});if(!e)return[];const t=[];return e.forEach(r=>{r.translations.forEach(n=>{const s=n.volume;t.push({chap:r.number_float,vol:s>0?s:void 0,slug:n.id,lang:n.language,group:n.group?.name,ts:new Date(n.date).getTime()})})}),M(t,{preferGroup:a})}var ma=Object.defineProperty,wa=(a,e,t)=>e in a?ma(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,va=(a,e,t)=>wa(a,e+"",t);const ya={a:.1,b:.2,c:.3,d:.4};class Ce extends v{parseTitleUrl(e){return{slug:L(e)?.split("/").filter(Boolean)[1]}}async getRawReleases(){const e=q()?.data;if(!e)return;const t=[];return e.forEach(({relationships:r,attributes:n,id:s})=>{const i=r.find(({type:p})=>p==="manga"),o=O(n.volume),c=O(n.chapter);if(c===void 0)return;const{title:l}=i.attributes,u=l.en??Object.values(l)[0];t.push({slug:i.id,name:u,chapters:[{slug:n.externalUrl||s,vol:o,chap:c,lang:n.translatedLanguage,ts:new Date(n.readableAt).valueOf()}]})}),t}async getRawTitleData(){const e=`https://api.${location.host}/manga/`,[t,r]=await Promise.all([P(`${e}{id}`),P(`${e}{id}/feed`)]);if(!t||!r)return;const n=r.value.data?.map?.(c=>{const{attributes:l,id:u}=c;if(typeof l!="object"||typeof u!="string"||!u)return;const{externalUrl:p,title:g,volume:d,chapter:f,translatedLanguage:w}=l;return{slug:p||u,label:g||void 0,vol:O(d),chap:O(f),lang:w||"en",ts:new Date(l.readableAt).valueOf()}}).filter(c=>c?.chap!=null)??[],{data:s}=t.value;if(!s)return;const i=Me({data:s,getTagIdsFromNames:c=>this.getTagIdsFromNames(c)});if(!i)return;const o=this.context.includeImgBytes&&i.img?await ae(i.img):void 0;return{...i,imgBytes:o,chapters:M(n,{preferGroup:this.context.preferGroup}),hasMoreChapters:(r.value.total||0)>(r.value.limit||0)}}async getRawReaderData(){const e="https://api.mangadex.org/",[t,r,n]=await Promise.all([P(`${e}chapter/{id}`),P(`${e}at-home/server/{id}`),P(`${e}manga/{id}/aggregate`)]);if(!t||!r||!n)return;const s=t.value.data,{volume:i,chapter:o,externalUrl:c,translatedLanguage:l}=s.attributes||{},{baseUrl:u,chapter:{data:p,dataSaver:g,hash:d}}=r.value,f=s.relationships?.find?.(D=>D.type==="manga");if(!f)return;const w=Me({data:f,getTagIdsFromNames:D=>this.getTagIdsFromNames(D)});if(!w||typeof n.value.volumes!="object")return;const y=Pe(n.value,{preferGroup:this.context.preferGroup})??[];(typeof o!="string"||o==="none")&&!y.length&&y.push({chap:0,slug:s.id});const m=y.findIndex(D=>D.slug===s.id),b=s.relationships?.find?.(D=>D.type==="scanlation_group"),_=u.endsWith("/")?u:u+"/",z=!!localStorage.getItem("md")?.includes?.('"dataSaver":true'),F=`${_}${z?"data-saver":"data"}/`,B=((z?g:p)??[]).map?.(D=>`${F}${d}/${D}`)??[];return{externalUrl:c,vol:O(i),inferVol:y[m]?.inferVol,chap:O(o)||0,imgs:B,lang:l,slug:s.id,prev:y[m+1],next:y[m-1],basePath:"/chapter/",group:b?.attributes?.name,groupUrl:b?.attributes?.website,isWebtoon:f?.attributes?.tags?.some(D=>D.attributes.name.en==="Long Strip"),title:{...w,chapters:y}}}async getRawChaptersData(){const e=q();if(!e)return;let t;try{t=Pe(e,{preferGroup:this.context.preferGroup})}catch{return}if(t)return{chapters:t,lang:this.context.lang??"en",asc:!1,hasMore:!1,total:t.length}}}va(Ce,"specId","mangadex");function O(a){if(typeof a!="string"||a==="none")return;const e=parseFloat(a);if(e!==e)return;const t=a[a.length-1];return e+(ya[t]??0)}function Pe(a,{preferGroup:e}){if(typeof a.volumes!="object")return;const t=Object.values(a.volumes).map(({volume:r,chapters:n})=>{const s=O(r);return Object.values(n).map(({id:i,chapter:o})=>{const c=O(o);if(c!==void 0)return{vol:s,chap:c,slug:i}})}).flat().filter(Boolean).reverse();return M(t,{preferGroup:e})}function Me({data:a,getTagIdsFromNames:e}){const{id:t,attributes:r,relationships:n}=a;if(!t||typeof t!="string"||typeof r!="object")return;const{title:s,availableTranslatedLanguages:i,altTitles:o,tags:c,contentRating:l}=r;if(typeof s!="object"||i&&!Array.isArray(i))return;const u=Object.values(s)[0];if(!u||typeof u!="string")return;const p=ba(),g=(i??[])?.map?.(b=>typeof b=="string"?b:void 0).filter(Boolean)??[],d=g.filter(b=>b&&(!p||p.includes(b))),f=o?.map?.(b=>{const[[,_]=[]]=Object.entries(b);return _}),w=n?.find?.(b=>b.type==="cover_art")?.attributes?.fileName,y=w?`https://mangadex.org/covers/${t}/${w}.256.jpg`:void 0,m=(c||[]).map(b=>b?.attributes?.name?.en).concat(l).filter(Boolean);return{url:`${location.origin}/title/${t}`,slug:t,name:u,altNames:f,langs:d.length>0?d:g.length>0?g:["en"],img:y,tags:e(m)}}function ba(){const a=localStorage.getItem("md");if(!a)return;const e=G(a);if(e)try{const t=e?.userPreferences?.filteredLanguages;return t?.length?t:void 0}catch{return}}var Ra=Object.defineProperty,$a=(a,e,t)=>e in a?Ra(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,xa=(a,e,t)=>$a(a,e+"",t);class Te extends v{async getRawReaderData(){if((await j(".current-viewtype",{lazy:!0,all:!1}))?.textContent?.trim().toLowerCase()!=="volume")return await super.getRawReaderData()}async getRawChaptersData(){const e=this.context.lang??"en",t=await j(`.tab-content[data-name="chapter"] a.dropdown-item[data-code="${e.toUpperCase()}"]`,{lazy:!0,all:!1});if(t)return Z(t),await j(`.tab-content[data-name="chapter"] li.item[data-number] a[href*="/${e}/"]`,{lazy:!0,all:!1}),await super.getRawChaptersData()}async getRawSearchData(){const e=await super.getRawSearchData();if(!e)return;const t=this.context.lang??"en";return{...e,rawReleases:e.rawReleases.map(r=>({...r,lang:r.lang??t}))}}}xa(Te,"specId","mangafire");var Sa=Object.defineProperty,Da=(a,e,t)=>e in a?Sa(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,Ia=(a,e,t)=>Da(a,e+"",t);class je extends v{async getRawReaderData(){const e=await super.getRawReaderData();return e&&{...e,imgs:await this.getImgs()}}parseReaderUrl(e,t,r){const{slug:n,basePath:s}=super.parseReaderUrl(e,t,r),i=n.split("/").filter(Boolean),o=i[i.length-1];return{basePath:s,slug:o.startsWith("pg-")?i.slice(0,-1).join("/"):n}}async getImgs(){const e=await A(100,20,()=>window.imgsrcs),t=window.CryptoJS,r=t.enc.Hex.parse("e11adc3949ba59abbe56e057f20f883e"),n={iv:t.enc.Hex.parse("1234567890abcdef1234567890abcdef"),padding:t.pad.ZeroPadding};return t.AES.decrypt(e,r,n).toString(t.enc.Utf8).split(",")}}Ia(je,"specId","mangago");var Ca=Object.defineProperty,Pa=(a,e,t)=>e in a?Ca(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,Ma=(a,e,t)=>Pa(a,e+"",t);class Le extends v{parseTitleUrl(e){return{slug:L(e)?.split("/").filter(Boolean)[1]}}}Ma(Le,"specId","mangapill");var Ta=Object.defineProperty,ja=(a,e,t)=>e in a?Ta(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,La=(a,e,t)=>ja(a,e+"",t);class Be extends v{async getRawTitleData(){const e=await super.getRawTitleData();return e&&{...e,chapters:e.chapters.map(t=>({...t,slug:t.slug?.split("/").filter(Boolean).slice(-1)[0]}))}}}La(Be,"specId","mangaplus");var Ba=Object.defineProperty,Aa=(a,e,t)=>e in a?Ba(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,Ua=(a,e,t)=>Aa(a,e+"",t);class Ae extends ie{async getRawReaderData(){const e=await super.getRawReaderData();if(e)return{...e,title:{...e.title,id:await this.getReaderTitleId()}}}async getReaderTitleId(){const e=await window.HISTORY?.getStored?.();if(!e||typeof e!="object")return;const t=Object.values(e).filter(Boolean);if(!t.length)return;t.sort((n,s)=>s.time-n.time);const r=t[0].manga_ID;return R(r)??S(r,n=>n+"")}}Ua(Ae,"specId","mangastream");var Oa=Object.defineProperty,Ea=(a,e,t)=>e in a?Oa(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,Na=(a,e,t)=>Ea(a,e+"",t);class Ue extends v{async getRawReaderData(){const e=await super.getRawReaderData();return!e||!e.title.chapters.length?e:{...e,prev:e.prev?{...e.prev,slug:le(e.title.slug,e.prev.slug)}:void 0,next:e.next?{...e.next,slug:le(e.title.slug,e.next.slug)}:void 0,title:{...e.title,chapters:e.title.chapters.map(t=>({...t,slug:le(e.title.slug,t.slug)}))}}}}Na(Ue,"specId","mangatime");function le(a,e){if(e)return`/manga/${a}/chapter-${e}`}var _a=Object.defineProperty,za=(a,e,t)=>e in a?_a(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,Wa=(a,e,t)=>za(a,e+"",t);class Oe extends v{async getRawReaderData(){const e=await super.getRawReaderData();if(e?.imgs?.length!==1)return e;e.slug.includes("//")&&(e.slug=Ee(e.slug).split("/").filter(Boolean)[3]);const t=S(document.querySelector("select.index-page,.page_select select")?.childElementCount,d=>d-1);if(!t||t<=1)return e;const[r]=e.imgs,n=r.split(/\d+\.[a-z]{3,5}$/i)?.[0];if(!n)return e;const s=(+(h(".page_select .select|text")||"1")||1)-1,i=r.replace(n,""),[o,c]=i.split("."),l=o.length,u=+o-s,p=u+t-1,g=[];for(let d=u;d<=p;d++)g.push(`${n}${(d+"").padStart(l,"0")}${c?`.${c}`:""}`);return{...e,imgs:g}}parseChapterUrl(e,t){return this.parseReaderUrl(e,Ee(t),t)}}Wa(Oe,"specId","mangatown");function Ee(a){return a.replace(location.origin,"").replace("//","/")}var ka=Object.defineProperty,qa=(a,e,t)=>e in a?ka(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,Ga=(a,e,t)=>qa(a,e+"",t);class Ne extends v{async getRawReaderData(){const e=await super.getRawReaderData();return e&&{...e,slug:e.slug.split("/").slice(0,-1).join("/")||e.slug.split("/")[0]}}}Ga(Ne,"specId","mangaworld");var Ja=Object.defineProperty,Fa=(a,e,t)=>e in a?Ja(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,Ha=(a,e,t)=>Fa(a,e+"",t);class _e extends v{async getRawTitleData(){const e=await super.getRawTitleData();if(e)return{...e,hasMoreChapters:e.chapters.length===50}}}Ha(_e,"specId","mgeko");var Va=Object.defineProperty,Ka=(a,e,t)=>e in a?Va(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,Qa=(a,e,t)=>Ka(a,e+"",t);class ze extends K{async getRawReleasesData(){}async getRawSearchData(){}async getRawTitleData(){const e=h("h1.title .pretty, h1.title|text"),t=h("#cover img|[attr:data-src,attr-contain:src]");if(e)return{name:e,slug:location.pathname.split("/").filter(Boolean).slice(-1)[0],url:location.origin+location.pathname,img:t,imgBytes:this.context.includeImgBytes&&t?await ae(t):void 0,chapters:[{slug:"1",chap:0}]}}async getRawReaderData(){const e=h("#image-container img|[attr:data-src,attr-contain:src]"),t=re(e);if(!t)return;const r=t.origin,n=this.parseReaderUrl(this.siteMeta.readerBase,location.pathname,location.href);if(n?.titleSlug)try{const s=await fetch(`${location.origin}/api/v2/galleries/${n.titleSlug}`);if(!s.ok)return;const i=await s.json();if(!i)return;const o=$(i,"title.pretty")||$(i,"title.english")||i?.title?.[Object.keys(i.title)[0]];if(!o)return;const c=R($(i,"cover.path"),u=>`https://t2.${location.hostname}${u.startsWith("/")?u:`/${u}`}`),l=i.pages.map(u=>{const p=u.path;return`${r}${p.startsWith("/")?p:`/${p}`}`});return{chap:0,slug:"1",basePath:`/g/${n.titleSlug}/`,imgs:l,title:{name:o,slug:n.titleSlug,url:`${location.origin}/g/${n.titleSlug}`,chapters:[{slug:"1",chap:0}],img:c}}}catch{return}}async getRawChaptersData(){const e=await this.getRawTitleData();if(!e)return;const{chapters:t,...r}=e;return{title:{...r,chapters:[]},chapters:t}}}Qa(ze,"specId","nhentai");var Ya=Object.defineProperty,Za=(a,e,t)=>e in a?Ya(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,Xa=(a,e,t)=>Za(a,e+"",t);class We extends v{async getRawChaptersData(){const e=await super.getRawChaptersData();if(!e||!e.chapters.length)return;const t=q()?.totalPages??1;if(t<=1||e.chapters.length<100)return e;const r=this.context.startAfter;if(r&&e.chapters[e.chapters.length-1].chap-1<=r.chap)return e;let n=[];try{n=(await Promise.all(Array.from({length:t-1},async(s,i)=>{const o=await fetch(location.href.replace("page=1",`page=${i+2}`));return o.ok?this.getJsonChapters(await o.json(),{chapterSpec:this.spec.chapters.chapter,basePath:U(this.siteMeta.readerBase,{titleSlug:this.context.titleSlug})})||[]:[]}))).flat()}catch{}return n?.length?{...e,chapters:M([...e.chapters,...n])}:e}}Xa(We,"specId","qi");var er=Object.defineProperty,tr=(a,e,t)=>e in a?er(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,ar=(a,e,t)=>tr(a,e+"",t);class ke extends v{async queryJsonChapters(e,t){const r=await super.queryJsonChapters(e,t);if(r)return r.map(n=>({...n,slug:n.slug?`ch-${+n.slug||n.chap}`:n.slug}))}}ar(ke,"specId","stone");var rr=Object.defineProperty,nr=(a,e,t)=>e in a?rr(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,sr=(a,e,t)=>nr(a,e+"",t);class qe extends v{async getRawTitleData(){const e=await super.getRawTitleData();if(!e)return;const t=J(".info-detail__row > .genre-btn,.info__right .stats__row:first-child|text")?.map(r=>[r,...r.split(" ")]).flat();return Ge({...e,tags:this.getTagIdsFromNames(t)??[]},".episode-header .episode-cnt")}async getRawReaderData(){const e=await super.getRawReaderData();if(!e)return;const t=`${location.origin}/series/${e.title.slug}/info`;return{...e,title:{...Ge({...e.title,url:t,tags:[]},".episode-list .js-ep-cnt"),hasMoreChapters:!1}}}async getRawChaptersData(){const{rawId:e,skip:t}=this.context,r=1e3,n=t?Math.floor(t/1e3)+1:1;try{const s=await fetch(`/series/${e}/episodes?page=${n}&sort=NEWEST&max_limit=${r}`);return ir(await s.json())}catch{return}}parseTitleUrl(e){if(!e)return{};const t=e.split("/").filter(Boolean);return{slug:t[1]??t[0]}}}sr(qe,"specId","tapas");function Ge(a,e){const t=lr(e)>20;return{...a,chapters:t?[]:a.chapters,hasMoreChapters:t}}function ir(a){const e=a?.data?.episodes;if(!Array.isArray(e))return;const t=e.map(n=>({chap:n.pending_scene??n.scene,slug:n.id+"",ts:new Date(n.publish_date)?.valueOf?.()||void 0})),r=a?.data?.pagination;return{chapters:t,total:r?.total??t.length,hasMore:!!r?.has_next}}function lr(a){return+(document.querySelector(a)?.textContent?.trim().split(" ")[0]||0)}var or=Object.defineProperty,cr=(a,e,t)=>e in a?or(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,ur=(a,e,t)=>cr(a,e+"",t);class Je extends v{async getRawTitleData(){const e=await super.getRawTitleData();if(!e||e?.id||this.siteId&&!e.hasMoreChapters&&e.chapters.length)return e;const t=await this.getTitleId(e.name,e.slug);if(t)return{...e,id:t}}async getRawChaptersData(){const{rawId:e}=this.context;if(!e)return await super.getRawChaptersData();const t=(()=>{const r=Array.from(document.querySelectorAll("script:not([src])"));for(let n=0;n<r.length;n++){const s=r[n].textContent;if(s?.includes('"user\\":'))return s?.match(/"user\\":\{\\"id\\":\\"([^"']+)\\"/)?.[1]}})();try{const r=await fetch(`https://api.${location.host}/api/chapters?postId=${e}&skip=0&take=900&order=desc${t?`&userid=${t}`:""}`);if(!r.ok)return;const n=await r.json(),s=this.getJsonChapters(n,{chapterSpec:{sel:"post.chapters",url:"slug",label:"number",at:"createdAt"},basePath:U(location.pathname,{titleSlug:this.context.titleSlug})});return s?{chapters:s}:void 0}catch{return}}async getTitleId(e,t){const r=`mp:id:${t}`,n=localStorage.getItem(r);if(n)return n==="_"?void 0:n;try{const s=await fetch(`https://api.${location.hostname}/api/query?page=1&perPage=10&searchTerm=${encodeURIComponent(e)}`);if(!s.ok)return;const i=await s.json(),o=e.toLowerCase(),c=i.posts.find(u=>u.postTitle.toLowerCase().trim()===o),l=S(c?.id,u=>u.toString());return localStorage.setItem(r,l??"_"),l}catch{return}}}ur(Je,"specId","vortex");var gr=Object.defineProperty,pr=(a,e,t)=>e in a?gr(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,hr=(a,e,t)=>pr(a,e+"",t);class Fe extends v{async getRawTitleData(){const e=new URLSearchParams(location.search),t=e.get("episode_no"),r=e.get("title_no");if(t||!r)return;const n=await super.getRawTitleData();if(!n)return;const s=location.hostname.startsWith("m."),i=location.pathname.split("/")[1];return{...n,slug:`${n.slug}?title_no=${r}`,id:r,langs:i?[i]:void 0,chapters:s?[]:n.chapters.map(o=>({...o,lang:i})),hasMoreChapters:s||(document.querySelector(".paginate")?.childElementCount??1)>1}}async getRawReaderData(){const e=new URLSearchParams(location.search),t=e.get("episode_no"),r=e.get("title_no"),n=t?+t:void 0;if(!t||!r||typeof n!="number"||isNaN(n))return;const s=document.title.split("|")[1]?.trim();if(!s)return;const i=location.pathname.split("/"),o=`${i.slice(0,4).join("/")}/list?title_no=${r}`,c=await this.getChapters({sel:"#sequence_scroll li.eg-flick-panel,#toolbar .episode_lst li[data-episode-no]",url:"a|attr:href",label:"|attr:data-episode-no || a|attr:href|pattern:.+episode_no=(\\d+).*"},{lazy:!1,titleId:r,titleSlug:o,titleName:s}),l=i[1];return{chap:n,lang:l,slug:`${location.pathname}?title_no=${r}&episode_no=${t}`,basePath:"",imgs:await this.getReaderImgs(),isWebtoon:!0,title:{id:r,url:o,slug:o,name:s,langs:[l],chapters:(c??[]).map(u=>({...u,lang:l})),hasMoreChapters:!1}}}async getReaderImgs(){const e=J("#_imageList img|[attr:data-url,attr:src]");return e?.length?e:await A(100,50,()=>window.__viewerState__?.scrollViewerParam?.imageList?.map(({url:t})=>t).filter(Boolean))}parseReaderUrl(e,t,r){if(!r)return{basePath:"",slug:t};if(r.startsWith("http://")||r.startsWith("https://")){const n=re(r);return{basePath:"",slug:n.pathname+n.search}}return{basePath:"",slug:r}}}hr(Fe,"specId","webtoon");const dr=[ve,ye,be,We,Re,$e,xe,ie,De,Ce,Te,je,Le,Be,Ae,_e,Ue,Oe,Ne,ze,ke,qe,Je,Fe];function He(a){const e=dr.find(t=>t.specId===a.spec.id)??v;return new e(a)}async function fr(a){const{spec:e,type:t}=a,r=a.siteMeta??e?.meta;if(e&&r){const n=t?[t]:Ve(r,e.generic);if(!n.length)return;const s=He({...a,spec:e,siteMeta:r});return await k(n.map(i=>s.getRawPageByType(i,n.length>1)))}return await k((a.genericSpecs??[]).map(n=>{if(!n.meta||!n.generic)return[];const s=t?[t]:Ve(n.meta,n.generic);if(!s.length)return[];const i=He({...a,spec:n,siteMeta:n.meta});return s.map(o=>i.getRawPageByType(o,!0))}).flat())}function Ve(a,e){if(location.pathname==="/"&&!a.single)return[];const{titleBase:t,readerBase:r}=a,n=location.pathname.split("/").filter(Boolean),s=Ke(n,r),i=Ke(n,t);if(s&&i)return[x.reader,x.title];const o=[];return!i&&(s!==!1||e)&&o.push(x.reader),!s&&(i!==!1||e)&&o.push(x.title),!o.length&&e?[x.reader,x.title]:o}function Ke(a,e){if(!e)return;const t=e.split("/").filter(Boolean),r=t.indexOf("{slug}"),n=r===t.length-1,s=!n&&r!==-1;if(n&&(t.pop(),!t.length))return;const i=a.length-t.length;if(s?i<0:i<=0)return!1;let o=!1;for(let c=0;c<t.length;c++){const l=t[c];if(l[0]!=="{"){if(l!==a[c])return!1;o=!0}}if(o&&i===(s?0:1))return!0}W.PageType=x,W.scrape=fr}));
1
+ (function(W,k){typeof exports=="object"&&typeof module<"u"?k(exports):typeof define=="function"&&define.amd?define(["exports"],k):(W=typeof globalThis<"u"?globalThis:W||self,k(W._trackkun_={}))})(this,(function(W){"use strict";function k(a){let e=!1;return new Promise((t,r)=>{Promise.all(a.map(async n=>{const s=await n;!e&&s&&(e=!0,t(s))})).then(()=>{e||t(void 0)})})}const at=/(vol(ume)?|season)(\s*|-|\.)(\d+)/i,rt=/^S([1-9])\s/i,nt=/(ch(ap(t(er)?|\.)?|\.)?|#|episode\.?|capitolo\.?|capitulo\.?|bölüm\.?)(\s*|-)(\d+([-~_,.]\d+)?)/i,st=/\d+([-~_,.]\d+)?/,it=/[-~_,]/;function lt(a){const e=a.match(at);if(e)return{volStr:e[0],volValueStr:e[4]};const t=a.match(rt);return t?{volStr:t[0],volValueStr:t[1]}:{}}function E(a){if(!a)return;if(!isNaN(+a))return{chap:+a};const{volStr:e,volValueStr:t}=lt(a),r=e?a.replace(e,"").trim():a,n=r.match(nt)?.[6]??r.match(st)?.[0];if(!n)return;const s=+n.replace(it,".");if(isNaN(s))return;const i=e&&t&&!isNaN(+t)?+t:void 0;return{vol:i===void 0||i<=0?void 0:i,chap:s}}function ot(){return Math.random().toString(16).slice(2)}async function ct({addListener:a,removeListener:e,transform:t,filter:r,handler:n,onTimeout:s,timeout:i,once:o}){return new Promise(c=>{a(p);const l=()=>o===!0&&e(p),u=i?setTimeout(()=>{l(),c(void 0),s?.()},i):void 0;async function p(g,...d){g=t?t(g):g,g!==void 0&&(!r||r(g,...d))&&(l(),c(g),n?.(g,...d),u&&clearTimeout(u))}})}async function ut(a){return(await ct({addListener:e=>window.addEventListener("message",e),removeListener:e=>window.removeEventListener("message",e),...a}))?.data}async function gt(a){const{receiverWindow:e,timeout:t,targetOrigin:r,event:n,args:s}=a,i={reqId:ot(),event:n,args:s};return(e||window)?.postMessage(i,r??"*"),(await ut({filter:o=>o?.data?.resId===i.reqId,timeout:t??3e4,once:!0}))?.result}function C(a){return gt({event:"tk:fetchResult",args:{url:a},timeout:15e3})}function M(a,e){const t=a.map(l=>({...l,vol:l.vol===0?void 0:l.vol}));t.sort((l,u)=>l.vol===void 0||u.vol===void 0?u.chap-l.chap:u.vol-l.vol||u.chap-l.chap);const r={},n={};for(let l=t.length-1;l>=0;l--){const u=t[l],p=u.group??"";r[p]=(r[p]??0)+1;const g=u.lang??"";u.vol!==void 0?n[g]=u.vol:n[g]!==void 0&&(u.inferVol=n[g])}const s=[],i={},o=e?.preferGroup,c=l=>l.lang??"";for(const l of t){const u=c(l),p=i[u],g=s[p];if(!(g&&g.chap===l.chap&&(g.vol===l.vol||g.vol===void 0||l.vol===void 0))){i[u]=s.length,s.push(l);continue}if(!o){g.vol===void 0&&l.vol!=null&&(s[p]=l);continue}g.group!==o&&(l.group==o||g.group&&!l.group||r[l.group??""]>r[g.group??""])&&(s[p]=l)}return s}async function T(a,e,t){const r=await t(()=>{a=0});if(r!==void 0)return r;if(!(a<=0))return await new Promise(n=>{setTimeout(async()=>{const s=await T(a-1,e,t);n(s)},e)})}async function L(a,e,t=0){const r=e.root??document.documentElement,n=e.timeoutMs??1e4;return T(e.lazy===!0?n/50:0,50,()=>{const s=e.all===!0?Array.from(r.querySelectorAll(a)):r.querySelector(a)??void 0;return(e.all?!s?.length:!s)?void 0:s})}function ee(a,e){if(a instanceof HTMLOptionElement){const t=a.parentElement instanceof HTMLOptGroupElement?a.parentElement.parentElement:a.parentElement;if(!t||!(t instanceof HTMLSelectElement))return;const r=a.getAttribute("value")||"";if(t.value===r)return;t.value=r,t.dispatchEvent(new Event("change"));return}a instanceof HTMLAnchorElement&&e?.preventDefault!==!1&&a.addEventListener("click",t=>t.preventDefault(),{once:!0}),a.click(),a.dispatchEvent(new PointerEvent("pointerdown",{bubbles:!0,cancelable:!0,pointerType:"mouse",button:0})),a.dispatchEvent(new MouseEvent("mousedown",{bubbles:!0,cancelable:!0,view:window,button:0}))}function G(a){if(a)try{return JSON.parse(a)}catch{return}}const pe={text:fe,attr:mt,"attr-contain":wt,value:vt,row:yt,"bg-image":bt,json:Rt},pt={pattern:$t,remove:xt,atob:St};function h(a,e){if(a)return he(a,e,dt)}function J(a,e){if(a)return he(a,e,ft)}function he(a,e,t){if(!a)return;const r=a.split("||").map(n=>n.trim()).filter(Boolean);for(const n of r){const s=ht(n);if(!s)continue;const i=t(e??document.documentElement,s);if(i)return i}}function ht(a){const[e,t,...r]=a.split("|");if(!t)return;const n=t?.startsWith("[")&&t.endsWith("]")?t.substring(1,t.length-1).split(","):[t];return{selector:e||void 0,extractors:n.map(te),transformers:r.map(te)}}function te(a){const e=a.indexOf(":"),t=e!==-1;return{fn:t?a.substring(0,e):a,param:t?a.substring(e+1):""}}function dt(a,e){if(!e.selector)return de(a,e);const t=Dt(e.selector);for(const r of t){const n=Array.from(a.querySelectorAll(r));for(const s of n){const i=de(s,e);if(i)return i}}}function ft(a,e){const t=e.selector?Array.from(a.querySelectorAll(e.selector)):[a],r=[];for(const n of t)for(const s of e.extractors){const i=pe[s.fn],o=i(n,s.param);if(o){r.push(ae(o,e.transformers));break}}if(r.length)return r}function de(a,e){for(const t of e.extractors){const r=pe[t.fn],n=r(a,t.param);if(n)return ae(n,e.transformers)}}function ae(a,e){let t=a;for(const r of e){const n=pt[r.fn];n&&(t=n(t,r.param).trim())}return t}function fe(a){return Array.from(a.childNodes).filter(e=>e.nodeType===3).map(e=>N(e.textContent)).filter(Boolean).join(" ").trim()||N(a.textContent)}function mt(a,e){return N(a.getAttribute(e))}function wt(a,e){let t=a.getAttribute(e);if(!t){const r=a.getAttributeNames().find(n=>n.includes(e));r&&(t=a.getAttribute(r))}return N(t)}function vt(a){return a.value}function yt(a,e){if(!e)return;const t=N(a.textContent)?.toLowerCase(),r=e.toLowerCase();if(!(t!==r&&t!==`${r}:`))return N(a.nextElementSibling?.textContent??a.nextSibling?.textContent)}function bt(a){const e=getComputedStyle(a).backgroundImage;if(!(!e||!e.startsWith("url(")))return e.slice(5,-2)||void 0}function Rt(a,e){const t=I(G(fe(a)),e);return typeof t=="number"?t+"":typeof t=="string"?N(t+""):void 0}function I(a,e){if(!a||!e)return;const t=e.indexOf("."),r=t!==-1,n=r?e.substring(0,t):e,s=r?e.substring(t+1):void 0;try{const i=a[n];return s?I(i,s):i}catch{return}}function N(a){if(a)return a?.replace(/(\n|\t)/g," ").trim()||void 0}function $t(a,e){if(e)try{return a.replace(new RegExp(e,"i"),"$1")}catch{}return a}function xt(a,e){if(e)try{return a.replaceAll(new RegExp(e,"gi"),"")}catch{}return a}function St(a){try{return window.atob(a)}catch{return a}}function Dt(a){const e=[];let t="",r=!1;for(let s=0;s<a.length;s++){const i=a[s];if(i==="["?r=!0:i==="]"&&(r=!1),i===","&&!r){const o=t.trim();o.length>0&&e.push(o),t=""}else t+=i}const n=t.trim();return n.length>0&&e.push(n),e}var It=(a=>(a[a.reading=1]="reading",a[a.paused=2]="paused",a[a.plan=3]="plan",a[a.completed=4]="completed",a[a.dropped=5]="dropped",a[a.deleted=6]="deleted",a))(It||{}),Pt=(a=>(a[a.ok=1]="ok",a[a.hidden=2]="hidden",a[a.deleted=3]="deleted",a))(Pt||{}),Ct=(a=>(a[a.aggregator=0]="aggregator",a[a.scanlator=1]="scanlator",a))(Ct||{}),Mt=(a=>(a[a.pending=0]="pending",a[a.completed=1]="completed",a[a.offline=2]="offline",a[a.incompat=3]="incompat",a))(Mt||{}),me=(a=>(a.id="id",a.name="name",a.slug="slug",a))(me||{}),V=(a=>(a.blank="about:blank",a.title="meta.title",a.reader="meta.reader",a))(V||{});function re(a=0){return new Promise(e=>setTimeout(e,a))}const Tt=/\d+[a-z]+\d+/i,jt=/[a-z]+\d+[a-z]+/i,Lt=/^\d{5,}$/;function we(a){if(!a)return;const e=[];a.split(/[-_]/).forEach(r=>{const n=r.split(".").filter(s=>s&&!jt.test(s)&&!Tt.test(s)&&!Lt.test(s)).join(".");n&&e.push(n)});const t=e.join(" ");return E(t)}async function ne(a,e=240){return new Promise(t=>{const r=new Image;r.crossOrigin="anonymous",r.onerror=()=>t(void 0),r.onload=()=>{const n=document.createElement("canvas"),s=n.getContext("2d"),i=Math.max(1,r.naturalWidth/e),o=r.naturalWidth/i,c=r.naturalHeight/i;n.width=o,n.height=c;const l=/iPad|iPhone|iPod/.test(navigator.userAgent);try{s.drawImage(r,0,0,o,c);const u=n.toDataURL(l?"image/jpg":"image/webp",l?.99:.8).split(",").slice(-1)[0];t(u)}catch{t(void 0)}},r.src=a})}async function Bt(a,e=240){const t=await At(a);if(t)return await new Promise(async r=>{const n=ne(t,e),s=setTimeout(()=>r(void 0),100),i=await n;clearTimeout(s),r(i)})}async function At(a){if(a.startsWith("blob:"))return a;try{const e=await fetch(a);if(e.status>=400)return;const t=await e.blob();return URL.createObjectURL(t)}catch{return}}function $(a,e){if(e==="")return a;if(!e)return;const t=e.split("||").map(r=>r.trim()).filter(Boolean);for(const r of t){const[n,...s]=r.split("|"),i=I(a,n);if(typeof i=="number"||i){if(typeof i!="string")return i;const o=i.replace(/(\n|\t)/g," ").trim();if(o){const c=ae(o,s.map(te));if(c)return c}}}}function q(a){if(a?.startsWith("window")){const e=a.indexOf(".");return e===-1?void 0:$(window,a.substring(e+1))}return G(a?h(a):document.querySelector("pre")?.textContent)}function S(a,e){if(typeof a=="number")return e?e(a):a}function R(a,e){if(typeof a=="string")return e?e(a):a}const Ot=[{seconds:1,locales:{en:"sec",vi:"gi\xE2y",tr:"ikinci",es:"segunda"}},{seconds:60,locales:{en:"min",vi:"ph\xFAt",tr:"dakika"}},{seconds:3600,locales:{en:"hour",vi:"gi\u1EDD",tr:"saat",fr:"heure",it:"ora",es:"hora"}},{seconds:86400,locales:{en:"day",vi:"ng\xE0y",tr:"g\xFCn",fr:"jour",it:"giorno",es:"d\xEDa"}},{seconds:604800,locales:{en:"week",vi:"tu\u1EA7n",tr:"hafta",fr:"semaine",it:"settimana",es:"semana"}},{seconds:2592e3,locales:{en:"month",vi:"th\xE1ng",tr:"ay",fr:"mois",it:"mese",es:"mes"}},{seconds:31536e3,locales:{en:"year",vi:"n\u0103m",tr:"yil",fr:"an",it:"anno",es:"a\xF1o"}}],Ut=/^\d+$/;function ve(a,e){const t=a?.toLowerCase();if(!t)return;const r=Date.now();if(t.includes("now"))return r;if(t.includes("yesterday"))return r-864e5;if(Ut.test(t))return+t;const n=new Date(t);if(n instanceof Date){const l=n.valueOf();if(!isNaN(l))return n.getHours()===0&&n.getMinutes()===0?Math.min(r,l+432e5):l}const s=Ot.find(l=>e&&l.locales[e]&&t.indexOf(l.locales[e])!==-1?!0:t.indexOf(l.locales.en)!==-1);if(!s)return;const i=t.split(" ").filter(Boolean),o=ye(i)??(e==="en"?ye(i,["a","an"]):void 0);if(!o)return;const c=r-o*s.seconds*1e3;return c>0?c:void 0}function ye(a,e){for(let t=0;t<a.length;t++){const r=a[t];if(e?.includes(r))return 1;const n=+r;if(n)return n<0?void 0:n}}function Et(a,e=location.origin){if(!a)return;const t=new URL(a.startsWith("//")?`${location.protocol}${a}`:a,location.origin+location.pathname).toString();return t.startsWith(e)?t.replace(e,""):t}function O(a,{titleSlug:e,titleId:t,lang:r}){if(!a)return"/";let n=a;return e&&(n=n.replace("{titleSlug}",e)),t&&(n=n.replace("{titleId}",t)),r&&(n=n.replace("{lang}",r)),n.endsWith("/")||(n+="/"),n.startsWith("/")||(n="/"+n),n}function se(a){if(!a)return;let e=a;e.startsWith("//")&&(e=`https:${e}`);try{return new URL(e)}catch{return}}function B(a){if(!(!a||typeof a!="string"))return a.includes("//")?se(a)?.pathname:a}function Nt(a,e){const t=[...e],r=[];let n=!1,s=0;const i=Math.min(a.length,100);for(let c=0;c<i;c++){if(s>=10/2){const d=10-r.length;if(d>0){const m=c+d<=a.length?a.slice(c,c+d):t.slice(0,d);r.push(...m)}break}const l=a[c],u=l.id!==void 0,p=t.findIndex(d=>u&&d.id===l.id||d.slug===l.slug||d.name==l.name),g=p===-1?void 0:t.splice(p,1)[0];!g||g.chapters[0]?.chap!==l.chapters[0]?.chap?(n=!0,r.push({...l,changed:!0})):(s++,r.push(l))}if(!n)return{hasMore:!1,rawReleases:[]};if(r.length<=10)return{hasMore:!!a[a.length-1]?.changed,rawReleases:r};const o=[];for(let c=0;c<r.length;c++){const l=r[c];(l.changed||c<10)&&o.push(l)}return{hasMore:e.length<2||e.length-t.length<2,rawReleases:o}}function _t(a,e){const t={};return a.forEach(r=>{const n=r.chapters.reduce((s,i)=>{const o=i.lang||e||"";return s[o]||(s[o]=[]),s[o].push(i),s},{});Object.entries(n).forEach(([s,i])=>{const o=`${r.slug}:${s}`;t[o]?(t[o].chapters.push(...i),M(t[o].chapters)):t[o]={...r,lang:s===""?void 0:s,chapters:i}})}),Object.values(t)}function be(a,e){const t=a[0]===e?a.substring(1):a;return t[t.length-1]===e?t.substring(0,t.length-1):t}var x=(a=>(a.title="title",a.reader="reader",a.releases="releases",a.chapters="chapters",a.search="search",a))(x||{}),zt=Object.defineProperty,Wt=(a,e,t)=>e in a?zt(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,j=(a,e,t)=>Wt(a,typeof e!="symbol"?e+"":e,t);class K{constructor(e){j(this,"headless"),j(this,"siteId"),j(this,"spec"),j(this,"siteMeta"),j(this,"tags"),j(this,"context"),j(this,"methodsMap",{[x.title]:()=>this.getRawTitleData(),[x.reader]:()=>this.getRawReaderData(),[x.releases]:()=>this.getRawReleasesData(),[x.search]:()=>this.getRawSearchData(),[x.chapters]:()=>this.getRawChaptersData()}),j(this,"normalizedTagsMap"),this.siteId=e.siteId,this.spec=e.spec,this.siteMeta=e.siteMeta,this.tags=e.tags,this.context=e.context??{},this.headless=e.headless===!0}async getRawPageByType(e,t=!1){const r=await this.methodsMap[e](),n=!r&&(e===x.title||e===x.reader)&&await qt(this.spec);if(t&&!r&&!n)return;const s=location.origin+location.pathname;return{type:e,is404:n,specId:this.spec.id,siteName:this.getSiteName(e,r),favUrl:Jt(),htmlLang:Ft(),url:s,data:r,spec:this.spec,context:this.context}}parseReaderUrl(e,t,r){const n=!this.siteId,s=t.includes("/");let i=e;if(s&&!i&&(i=this.siteMeta.readerBase),i.startsWith("/")||(i="/"+i),i.endsWith("/")||(i=i+"/"),!s)return n?{basePath:"",slug:`${i}${t}`}:{basePath:i,slug:t};const o=i.includes("{");let c=t;if(c[0]!=="/"&&(c.includes("/")||n&&!o))try{c=new URL(t,location.href).pathname}catch{}if(c.endsWith("/")&&(c=c.slice(0,-1)),o){const l=i.split("/").filter(Boolean),u=c.split("/").filter(Boolean);if(l.length<u.length){const p=u[l.indexOf("{lang}")]?.toLowerCase(),g=u[l.indexOf("{titleId}")],d=u[l.indexOf("{titleSlug}")];if(n)return{basePath:"",slug:c,lang:p,titleId:g,titleSlug:d};if(i=i.replace("{lang}",p).replace("{titleId}",g).replace("{titleSlug}",d),c.startsWith(i))return{basePath:i,slug:c.replace(i,""),lang:p,titleId:g,titleSlug:d}}}else if(!n&&c.startsWith(i))return{basePath:i,slug:c.replace(i,"")};return{basePath:"",slug:c}}parseTitleUrl(e){if(typeof e!="string")return{};const t=B(e);if(t===void 0)return{};if(this.siteMeta.single)return{slug:be(t,"/")};const r=t?.split("/").filter(Boolean);if(!r?.length)return{};const n=this.siteMeta.titleBase.split("/").filter(Boolean),s=n.indexOf("{slug}");return(s===-1?r.length-n.length>=1:r.length===n.length)?{id:r[n.indexOf("{id}")],slug:this.siteId?s===-1?r.slice(n.length).join("/"):r[s]:t}:{slug:t}}finalizeRawReleasesData(e){const t=this.spec.releases?.title?.lang?this.siteMeta.defaultLang:void 0,r=_t(e.rawReleases,t);if(r.length)return this.context.oldRawReleases?Nt(r,this.context.oldRawReleases):{rawReleases:r,hasMore:!0}}getTagIdsFromNames(e){if(!e?.length)return;const t=this.normalizedTagsMap??(this.normalizedTagsMap=kt(this.tags)),r=e.map(n=>t[ie(n)]).filter(Boolean);return r.length===0?void 0:Array.from(new Set(r)).sort((n,s)=>n-s)}getSiteName(e,t){if(t&&this.siteMeta.single){if(e===x.title)return t.name;if(e===x.reader)return t.title.name}const r=this.spec.name,n=(r&&h(r))??h('meta[property="og:site_name"]|attr:content');return n&&n.length>2?n:void 0}}j(K,"specId"),j(K,"siteId");function kt(a){const e={};return a.forEach(({id:t,name:r,altNames:n})=>{e[ie(r)]=t,n&&n.forEach(s=>{e[ie(s)]=t})}),e}function ie(a){const e=a.toLowerCase().replaceAll(/[^a-z0-9\s]/gi,"").trim().replaceAll(/\s+/g," ");return e[e.length-1]==="s"?e.substring(0,e.length-1):e}async function qt(a){return Gt()===404||a[404]&&await L(a[404],{lazy:!0,timeoutMs:5e3})?!0:document.title.toLowerCase().includes("not found")}function Gt(){try{return window.performance.getEntries().find(a=>a.entryType==="navigation")?.responseStatus}catch{return}}function Jt(){return h('link[rel="icon"][sizes="32x32"],link[rel="icon"][sizes="192x192"],link[rel="apple-touch-icon"]|attr:href || link[rel="icon"]|attr:href')}function Ft(){return h("html|attr:lang")||"en"}class y extends K{async getRawReleasesData(){const e=await this.getRawReleases();if(e?.length)return this.finalizeRawReleasesData({rawReleases:e})}async getRawReleases(){const e=this.spec?.releases?.title;if(!e)return;if(e.json){const o=this.getJsonRawReleases(R(e.json),e)?.filter(c=>c.chapters.length);return o?.length?o:void 0}const t=e.chapter,r=await L(e.sel,{lazy:!0,all:!0});if(!r?.length)return;const n=Date.now(),s=r.slice(0,100).map(o=>{const c=h(e.url,o),l=B(c),u=h(e.name,o),p=h(e.at,o);if(!l||!u)return;const g=ve(p,this.siteMeta.defaultLang);return{titleEl:o,id:h(e.id,o),path:l,name:u,lang:h(e.lang,o)?.toLowerCase(),at:g?Math.min(g,n):void 0}}).filter(Boolean);if(!s.length)return;const i=[];return await Promise.all(s.map(async o=>{const{path:c,titleEl:l,lang:u,at:p,...g}=o,{id:d,slug:m}=this.parseTitleUrl(c);if(!m)return;const f=g.id||d,v=await this.getChapters(t,{root:l,titleId:f,titleSlug:m,titleName:o?.name,lang:u})??[];v.length&&i.push({slug:m,chapters:u||p?v.map(w=>({...w,elIndex:void 0,lang:w.lang??u,ts:w.ts??p})):v,...g,id:f})})),i}getRawTitleData(){return this.getTitleData(this.spec.title)}async getTitleData(e){if(!e||!await this.isTitlePage(e))return;const{id:t,slug:r}=this.parseTitleUrl(location.pathname);if(this.siteMeta.single?r===void 0:!r)return;const n=t||h(e.id),s=e.chapter?.json?await this.queryJsonChapters(e.chapter,{titleSlug:r,titleId:n}):await this.getChapters(e.chapter,{lazy:e.chapter?.lazy??!0,titleId:n,titleSlug:r,titleName:h(e.name),includeHiddenChapters:this.context.includeHiddenChapters}),i=h(e.name);if(!i)return;const o=await this.getValidImgSrc(e.img,i),c=o&&this.context.includeImgBytes?await Bt(o):void 0,l=this.getFirstChapterUrl(),u=e.firstBtn,p=J(e.tags)?.map(f=>f.split(",")).flat().map(f=>f.trim()).filter(Boolean),g=h(e.type),d=J(e.langs)?.map(f=>f.toLowerCase()),m=e.hasMore??e.chapter?.allBtn;return{id:n||h(e.id),url:location.origin+location.pathname,slug:r,name:i,langs:d?.length?d:e.langs&&this.siteMeta.defaultLang?[this.siteMeta.defaultLang]:void 0,tags:this.getTagIdsFromNames([...p??[],...g?[g]:[]]),chapters:s??[],hasMoreChapters:!s?.length&&!e.chapter?!0:m?!!document.querySelector(m):void 0,img:o,imgBytes:c,firstUrl:l,firstBtn:!l&&u&&document.querySelector(u)?u:void 0,trackers:this.getTrackersMap(e.trackers)}}getTrackersMap(e){if(!e)return;const t=h(e.mal),r=h(e.anl);if(!t&&!r)return;const n={};return t&&(n.mal=t.split("?")[0].split("#")[0].split("manga/").slice(-1)[0].split("/")[0]),r&&(n.anl=r.split("?")[0].split("#")[0].split("manga/").slice(-1)[0].split("/")[0]),n}getFirstChapterUrl(){const e=h(this.spec.title?.first);if(e){if(e.startsWith("http"))return e;try{return new URL(e,location.href).href}catch{return}}}getValidImgSrc(e,t){return T(33,30,()=>{const r=h(e)||h(`img[alt="${t.replaceAll('"','\\"')}"]|[attr:data-src,attr-contain:src]`);return!r||r.startsWith("data:")?void 0:document.querySelector(`img[srcset*="${r}"]`)?r.split(" ")[0]:r})}getRawReaderTitleData(e){const t=this.spec.reader?.title;if(!t)return;const r=t.sel?document.querySelector(t.sel)??void 0:void 0;if(t.sel&&!r)return;const n=h(t.name,r);if(!n)return;const s=Et(h(t.img,r));if(e?.slug){let l=this.siteMeta.titleBase;if(e?.id&&(l=l.replace("{id}",e.id)),!l.includes("{"))return l=l.includes("{slug}")?l.replace("{slug}",e.slug):`${l}/${e.slug}`,this.siteMeta.trailing&&!l.endsWith("/")&&(l+="/"),{name:n,img:s,url:new URL(l,location.origin).href,slug:e.slug,id:e.id||h(t.id,r)}}const i=h(t.url,r),{slug:o,id:c}=this.parseTitleUrl(i);if(!(!n||!i||(this.siteMeta.single?o===void 0:!o)))return{name:n,img:s,url:new URL(i,location.origin).href,slug:o,id:c||h(t.id,r)||e?.id}}async getRawReaderData(){const{spec:e,siteMeta:t}=this;if(!e?.reader||!await this.isReaderPage(e.reader,!!e.generic))return;const r=e.reader.content;if(!(!r||await y.verifyImgsCotainer(r)))return;const n=this.parseReaderUrl(t.readerBase,location.pathname,location.href),{slug:s,basePath:i,lang:o}=n,c=this.getRawReaderTitleData({id:n.titleId,slug:n.titleSlug});if(!c)return;const l=h(e.reader.group),{id:u,slug:p}=c,g=e.reader?.chapter,d=!!this.context.disableLazyChapters,m=!!this.context.includeHiddenChapters,f=g?.json?await this.queryJsonChapters(g,{titleSlug:p,titleId:u,lang:o}):await this.getChapters(g,{titleId:u,titleSlug:p,titleName:c.name,lang:o,lazy:m||!d,includeHiddenChapters:m,timeoutMs:m?3e3:25e3,includeIndex:!0,basePath:i,preferGroup:l}),v=h(e.reader.label)?.toLowerCase().replace(c.name.toLowerCase(),"");if(!v)return;const{vol:w,chap:b=0}=E(v)||{},_=e.reader.prev?this.findAdjacentChapter({spec:e.reader.prev,basePath:i,titleUrl:c.url,titleName:c.name}):void 0,z=e.reader.next?this.findAdjacentChapter({spec:e.reader.next,basePath:i,titleUrl:c.url,titleName:c.name}):void 0,F=u??(()=>{const A=this.spec.reader?.title;if(!A?.id)return;const D=A.sel?document.querySelector(A.sel)??void 0:void 0;if(!(A.sel&&!D))return h(A.id,D)})();return this.finalizeRawReaderData({vol:w,chap:b,lang:o??h(e.reader.lang)?.toLowerCase()??(e.reader.lang?this.siteMeta.defaultLang:void 0),slug:s,basePath:i,group:l??h(e.reader.group),imgs:J(e.reader.imgs),title:{id:F,url:c.url,slug:p,name:c.name,langs:o?[o]:void 0,img:c.img,chapters:f??[],hasMoreChapters:!f?.length&&!m&&!!this.context.disableLazyChapters&&!!g?.label}},{prev:_,next:z})}async getRawChaptersData(){const e=this.siteMeta.chapters;if(e===V.blank)return;const t=e===V.reader,r=!e||e===V.title,n=t?(await this.getRawReaderData())?.title:r?await this.getRawTitleData():void 0,s=this.context.lang,i=await(async()=>{if(n?.chapters.length&&!n.hasMoreChapters)return n.chapters;const c=this.spec.chapters?.chapter;if(!c)return n?.hasMoreChapters?void 0:n?.chapters;const l=n?.slug??this.context.titleSlug,u=n?.id??this.context.rawId;return c.json?this.getJsonChapters(q(R(c.json)),{chapterSpec:c,basePath:O(this.siteMeta.readerBase,{titleSlug:l,titleId:u,lang:s})}):await this.getChapters(c,{titleId:u,titleSlug:l,titleName:n?.name,lazy:this.spec.chapters?.lazy,includeHiddenChapters:!0,lang:s})})();if(!i)return;const o=s?i.filter(c=>!c.lang||c.lang===s):i;return{chapters:o,title:n?{...n,chapters:[]}:await this.getTitleData(this.spec.chapters?.title),hasMore:!1,asc:!1,total:o.length}}async getRawSearchData(){const e=this.spec.search,t=this.context.lang;if(!e)return;const r=e.title;if(r.json){const l=this.getJsonRawReleases(R(r.json),r,t);return l?.length?{rawReleases:l}:void 0}e.delay?await re(e.delay):e.loading&&await re(500);const{chapter:n}=r,s=[],i=e.lazy?e.empty||e.loading?550:100:1;let o=0;const c=await T(i,50,()=>{const l=Array.from(document.querySelectorAll(r.sel));if(l.length||e.empty&&document.querySelector(e.empty)||e.loading&&!document.querySelector(e.loading)&&++o>=3)return l});if(c)return await Promise.all(c.map(async l=>{const u=h(r.url,l),p=B(u),g=h(r.name,l),{slug:d,id:m}=this.parseTitleUrl(p);if(!p||!g||!d)return;const f=h(r.lang,l);f&&t&&f!==t||s.push({id:m||h(r.id,l),slug:d,name:g,img:h(r.img??"img|[attr:data-src,attr-contain:src]",l),lang:f,chapters:await this.getChapters(n,{root:l,titleId:m,titleSlug:d,titleName:g})??[]})})),{rawReleases:s}}getJsonRawReleases(e,t,r){const n=q(e),s=$(n,t.sel);if(!s?.length||!Array.isArray(s))return;const i=[];return s.forEach(o=>{const c=R($(o,t.lang))?.toLowerCase();if(c&&r&&c!==r)return;const l=$(o,t.url),{id:u,slug:p}=S(l,w=>({id:void 0,slug:w+""}))??this.parseTitleUrl(B(l)),g=R($(o,t.name));if(!p||!g)return;const d=u||$(o,t.id),m=S(d,w=>w+"")??R(d),f=t.chapter?this.getJsonChapters(o,{chapterSpec:t.chapter,basePath:O(this.siteMeta.readerBase,{titleId:m,titleSlug:p,lang:c})}):void 0,v=R($(o,t.img),w=>{try{return new URL(w,location.origin).href}catch{return}});i.push({id:m,slug:p,name:g,lang:c,img:v,chapters:f??[]})}),i}getJsonChapters(e,{chapterSpec:t,basePath:r}){if(!e)return;const n=$(e,t.sel);if(!n)return;const s=Array.isArray(n)?n:[n];if(!s?.length)return;const i=[];return s.forEach(o=>{const c=$(o,t.label),l=S(c,w=>({vol:void 0,chap:w}))??E(R(c));if(!l)return;const u=$(o,t.url),p=R(u)??S(u,w=>w+""),g=p?this.parseChapterUrl(r,p):void 0,d=l.vol??$(o,t.vol),m=$(o,t.id),f=$(o,t.at),v=f?new Date(f).getTime():void 0;i.push({slug:g?.slug,vol:S(d)??R(d,w=>+w),chap:l.chap,id:R(m)??S(m,w=>w+""),lang:R($(o,t.lang))?.toLowerCase(),group:R($(o,t.group)),ts:v||void 0})}),i.length?M(i,{preferGroup:this.context.preferGroup}):void 0}async queryJsonChapters(e,t){const r=typeof e.json=="string"&&e.json.startsWith("http")?(await C(this.replaceDynamicParams(e.json,t)))?.value:q(R(e.json));return this.getJsonChapters(r,{chapterSpec:e,basePath:O(this.siteMeta.readerBase,t)})}replaceDynamicParams(e,t){let r=e;return t.titleSlug&&(r=r.replace("{titleSlug}",t.titleSlug)),t.titleId&&(r=r.replace("{titleId}",t.titleId)),t.lang&&(r=r.replace("{lang}",t.lang)),r}async getChapters(e,{root:t,titleId:r,titleSlug:n,titleName:s,lang:i,includeHiddenChapters:o=!1,lazy:c=!0,timeoutMs:l,includeIndex:u,basePath:p,preferGroup:g}){const d=e?.sel;if(!d||!e.label||e.trigger&&!o)return;const m=this.replaceDynamicParams(d,{titleSlug:n,titleId:r,lang:i});if(!m)return;let f;if(o){if(e.trigger){if(f=await L(e.trigger,{timeoutMs:5e3,lazy:!0}),!f)return}else if(e.allBtn){const v=e.allBtn;c?await T(100,100,()=>{const w=document.querySelector(v);return w?(f=w,!0):document.querySelector(d)||void 0}):f=document.querySelector(v)||void 0}}return await T(c?l?l/10:33:1,300,async()=>{f&&(ee(f),await re(50));const v=Array.from((t??document.documentElement)?.querySelectorAll(m));if(!v.length)return;const w=(v??[]).map((P,H)=>({id:h(e.id,P),label:h(e.label,P)?.toLowerCase(),url:h(e.url,P),at:h(e.at,P),lang:h(e.lang,P),group:h(e.group,P),elIndex:H})),b=s?.toLowerCase(),_=b&&!!w[0]?.label?.startsWith(b),z=(e.dismiss?(t??document.body).querySelector(e.dismiss):void 0)??f;if(z&&ee(z),!v?.length)return[];const F=w.map(({label:P})=>{if(!P)return;const H=_?P?.replace(b,"").trim():P;return E(H)}),A=p??O(this.siteMeta.readerBase,{titleId:r,titleSlug:n,lang:i}),D=Date.now(),ge=[];if(F.forEach((P,H)=>{if(!P)return;const{id:Sr,url:et,at:Dr,lang:Ir,group:Pr,elIndex:Cr}=w[H],tt=ve(Dr,this.siteMeta.defaultLang),Z={...P,id:Sr,lang:Ir?.toLowerCase(),group:Pr,ts:tt?Math.min(D,tt):void 0};u&&(Z.elIndex=Cr);const X=et?this.parseChapterUrl(A,et):void 0;X&&(Z.slug=X.slug,X.lang&&(Z.lang=X.lang)),ge.push(Z)}),!!ge.length)return M(ge,{preferGroup:g??this.context.preferGroup})})}parseChapterUrl(e,t){if(t?.startsWith("#"))return;if(t?.startsWith("http")&&!t.includes(`//${location.hostname}/`))return{slug:t};const r=B(t);if(r)return this.parseReaderUrl(e,r,t)}async isTitlePage(e){return!(!e||(e.sel||e.lazy)&&!await L(e.sel??e.name?.split("|")?.[0],{lazy:!!e.lazy}))}async isReaderPage(e,t){const r=e?.sel;return t&&!r?!1:!r||!!await L(r,{lazy:!!e.lazy})}static async verifyImgsCotainer(e){const t=e.split(",").map(r=>r.trim()).filter(Boolean).map(r=>`${r} img, ${r} canvas`).join(",");return!!await L(t,{lazy:!0,all:!1})}findAdjacentChapter({spec:e,basePath:t,titleUrl:r,titleName:n}){if(typeof e=="string"){const l=this.getAdjacentChapterSlug({sel:e,titleUrl:r,basePath:t}),u=we(l);return u?{...u,slug:l}:void 0}const s=e.sel?document.querySelector(e.sel)??void 0:void 0;if(e.sel&&!s)return;const i=e.url?this.getAdjacentChapterSlug({root:s,sel:e.url,basePath:t,titleUrl:r}):void 0,o=h(e.label,s)?.toLowerCase().replace(n.toLowerCase(),""),c=E(o)||we(i);if(c)return i===void 0?c:{...c,slug:i}}getAdjacentChapterSlug(e){const t=h(e.sel,e.root);if(!t||t.startsWith("#")||t.startsWith("/#"))return;const r=B(t);if(r&&!(r===location.pathname||e.titleUrl===r||e.titleUrl===`${location.origin}${r}`))return this.parseReaderUrl(e.basePath,r,t).slug||void 0}finalizeRawReaderData(e,t={}){const{prev:r,next:n}=t,s=e.title.chapters;if(!s.length)return r||n?{...e,prev:r,next:n}:e;let i,o,c,l;for(let u=0;u<s.length&&!(i&&(!r||c)&&!n&&l);u++){const p=s[u];!i&&le(e,p)?(i=p,o=u):!c&&r&&le(r,p)?c=p:!l&&n&&le(n,p)&&(l=p)}return o!==void 0&&(c??(c=s[o+1]),l??(l=s[o-1])),c&&!c.slug&&r?.slug&&(c.slug=r.slug),l&&!l.slug&&n?.slug&&(l.slug=n.slug),i&&!i.slug&&(i.slug=e.slug),{...e,inferVol:i?.inferVol,prev:c,next:l}}}function le(a,e){return a.slug&&a.slug==e.slug||a.chap===e.chap&&(a.vol===e.vol||a.vol===void 0)}var Ht=Object.defineProperty,Vt=(a,e,t)=>e in a?Ht(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,Kt=(a,e,t)=>Vt(a,e+"",t);class Re extends y{async getRawReaderData(){const e=`https://${location.host}/api/`,[t,r]=await Promise.all([C(`${e}manga/info`),C(`${e}read/chapter`)]),n=t?.value,s=r?.value;if(!n||!s)return;const i=this.parseReaderUrl(this.siteMeta.readerBase,location.pathname,location.href);if(!i)return;const o=E(s.readChapter?.title);if(o)return this.finalizeRawReaderData({basePath:i.basePath,slug:i.slug,...o,imgs:s.readChapter.pages.map(c=>new URL(c.image,location.origin).href),title:{url:`${e}/manga/${n.id}`,slug:n.id,name:n.title,tags:this.getTagIdsFromNames([n.type].filter(Boolean)),chapters:M(n.chapters.map(c=>({slug:c.id,chap:c.number})),{preferGroup:this.context.preferGroup})}})}}Kt(Re,"specId","atsu");function Qt(a){return String(a).normalize("NFKD").replace(/[\u0300-\u036f]/g,"").trim().toLowerCase().replace(/[^a-z0-9 -]/g,"").replace(/\s+/g,"-").replace(/-+/g,"-")}var Yt=Object.defineProperty,Zt=(a,e,t)=>e in a?Yt(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,Xt=(a,e,t)=>Zt(a,e+"",t);class $e extends y{async getRawReleases(){const e=await super.getRawReleases();if(e?.length)return e.map(t=>({...t,slug:`${t.slug}-${Qt(t.name)}`}))}async getRawTitleData(){const e=await super.getRawTitleData();if(!e)return;const t=await C(`${location.origin}/api/v2/manga/${e.id}/chapters`);if(!t)return e;const r=this.parseChapters(t.value),n=!!S(I(t.value,"result.pagination.last_page"),s=>s>1);return{...e,chapters:r,hasMoreChapters:n}}async getRawChaptersData(){const e=await C(`${location.origin}/api/v2/manga/${this.context.rawId}/chapters`);if(!e)return;const t=e.value;if(!S(I(t,"result.pagination.last_page"),s=>s>1))return{chapters:M(this.parseChapters(t),{preferGroup:this.context.preferGroup})};const r=S(I(t,"result.pagination.total"),s=>Math.ceil(s/100))||0,n=(await Promise.all(Array.from({length:Math.max(0,r)},async(s,i)=>{try{const o=e.url.replace("limit=20&page=1",`limit=100&page=${i+1}`),c=await fetch(o);return this.parseChapters(await c.json())||[]}catch{return[]}}))).flat();return{chapters:M(n,{preferGroup:this.context.preferGroup})}}parseChapters(e){const t=[];return I(e,"result.items")?.forEach?.(r=>{const n=S(I(r,"chapter_id"),i=>i+""),s=S(I(r,"number"));!n||s===void 0||t.push({slug:n,chap:s,vol:S(I(r,"volume"))||void 0,lang:R(I(r,"language")),group:R(I(r,"scanlation_group.name")),ts:S(I(r,"created_at"))})}),t}}Xt($e,"specId","comix");var ea=Object.defineProperty,ta=(a,e,t)=>e in a?ea(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,aa=(a,e,t)=>ta(a,e+"",t);class xe extends y{async getRawReaderData(){const e=await super.getRawReaderData();if(!e)return;const t=window.pages,r=t?.map(n=>n?.image).filter(Boolean);if(!(!Array.isArray(r)||!r.length))return{...e,imgs:r,isWebtoon:t.some(n=>n.height/n.width>2)}}}aa(xe,"specId","dynasty");var ra=Object.defineProperty,na=(a,e,t)=>e in a?ra(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,sa=(a,e,t)=>na(a,e+"",t);class Se extends y{async getRawTitleData(){const e=await super.getRawTitleData();if(e)return{...e,chapters:[{slug:"1",chap:0}]}}async getRawReaderData(){const e=await super.getRawReaderData();if(!e||!e.imgs?.length)return e;const t=e.imgs[0],r=t.lastIndexOf("/"),n=r===-1?"":t.substring(0,r+1),s=r===-1?t:t.substring(r+1),i=s.substring(s.lastIndexOf(".")),o=R(h(".total_pages|text"),l=>+l)||1,c=Array.from({length:o},(l,u)=>`${n}${u+1}${i}`);return{...e,slug:"1",chap:0,imgs:c,title:{...e.title,chapters:[{slug:"1",chap:0}]}}}}sa(Se,"specId","imhen");var ia=Object.defineProperty,la=(a,e,t)=>e in a?ia(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,oa=(a,e,t)=>la(a,e+"",t);class De extends y{async getRawReaderData(){const e=await super.getRawReaderData();if(!e)return;const t=this.spec.chapters?.chapter;if(!t)return e;const r=await C(`https://api.spacely.tech/manhwa/comixto/info/${e.title.slug}`);if(!r?.value)return e;const n=this.getJsonChapters(r.value,{chapterSpec:t,basePath:O(e.basePath,{titleSlug:e.title.slug})});return n?.length?this.finalizeRawReaderData({...e,title:{...e.title,chapters:n}}):e}}oa(De,"specId","inkora");var ca=Object.defineProperty,ua=(a,e,t)=>e in a?ca(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,ga=(a,e,t)=>ua(a,e+"",t);class Ie extends y{async getRawTitleData(){const e=await super.getRawTitleData();if(!e)return;const t=this.spec.chapters?.chapter;if(t){const r=await C("https://yuzuki.kagane.org/api/v2/series/{id}");if(r){const n=this.getJsonChapters(r.value,{chapterSpec:t,basePath:O(this.siteMeta.readerBase,{titleSlug:e.slug})});if(n)return{...e,chapters:n}}}return{...e,hasMoreChapters:!0}}async getRawReaderData(){const e=await super.getRawReaderData();if(!e)return;const t=pa();return{...e,title:{...e.title,img:Pe(e.title.slug),chapters:t}}}async getRawSearchData(){const e=await super.getRawSearchData();if(e)return{...e,rawReleases:e.rawReleases.map(t=>({...t,img:Pe(t.slug)}))}}}ga(Ie,"specId","kagane");function Pe(a){return`https://api.${location.host}/api/v1/series/${a}/thumbnail`}function pa(){const a=["initialChapters"],e=Array.from(document.querySelectorAll("script:not([src])"));for(let t=0;t<e.length;t++){const r=e[t].textContent;if(r)for(const n of a){const s=r.indexOf(n);if(s===-1)continue;const i=r.slice(s),o=G(i.slice(i.indexOf("[{"),i.indexOf('}],\\"cached_at')+2).replaceAll("\\",""));if(!o?.length||!Array.isArray(o))return[];try{const c=[];return o.map(l=>{const u=E(l.name);u&&c.push({...u,slug:l.id,ts:l.created?new Date(l.created).getTime():void 0})}),M(c)}catch{return[]}}}return[]}var ha=Object.defineProperty,da=(a,e,t)=>e in a?ha(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,fa=(a,e,t)=>da(a,e+"",t);class oe extends y{async getRawReleasesData(){const e=this.getNewSiteMeta(this.spec.releases?.title),t=await super.getRawReleasesData();if(t)return{...t,siteMeta:e}}async getRawTitleData(){if(!await this.isTitlePage(this.spec.title))return;const e=this.getNewSiteMeta(this.spec.title,`${location.origin}${location.pathname}`),t=await super.getRawTitleData();if(t)return{...t,siteMeta:e}}async getRawReaderData(){if(!await this.isReaderPage(this.spec.reader,this.spec.generic))return;const e=this.getNewSiteMeta(this.spec.reader?.title),t=await super.getRawReaderData();if(t)return{...t,siteMeta:e}}async getRawSearchData(){const e=this.getNewSiteMeta(this.spec.search?.title),t=await super.getRawSearchData();if(t)return{...t,siteMeta:e}}getNewSiteMeta(e,t){if(t??(t=ma(e)),!t)return;if(!this.siteId){const i={...this.siteMeta,releases:null,titleBase:"",readerBase:"",titleIdType:me.name,trailing:t.endsWith("/"),defaultLang:h("html|attr:lang")||"en"};return this.siteMeta=i,i}const r=this.extractBasePath(t),n=this.siteMeta;if(n.titleBase===r)return;const s={...n,titleBase:r,readerBase:n.readerBase.replace(n.titleBase,r)};return this.siteMeta=s,s}extractBasePath(e){const t=e.startsWith("/")?e:B(e);return be(t,"/").split("/").slice(0,-1).join("/")}}fa(oe,"specId","madara");function ma(a){if(!a)return;const e=a.sel?document.querySelector(a.sel)??void 0:void 0;return h(a.url,e)}var wa=Object.defineProperty,va=(a,e,t)=>e in a?wa(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,ya=(a,e,t)=>va(a,e+"",t);class Ce extends y{async getRawTitleData(){const e=await super.getRawTitleData();if(!e)return;const t=await Me(this.context.preferGroup),r=new Set;return t.forEach(({lang:n})=>{n&&r.add(n)}),{...e,chapters:t,langs:r.size?Array.from(r):[this.siteMeta.defaultLang||"en"]}}async getRawReaderData(){const e=await super.getRawReaderData();if(!e)return;const t=await Me(e.group||this.context.preferGroup),r=t[0]?.lang;return this.finalizeRawReaderData({...e,lang:r,title:{...e.title,chapters:t,langs:r?[r]:void 0}})}}ya(Ce,"specId","mangaball");async function Me(a){const e=await T(100,50,()=>{try{return ALL_CHAPTERS.length?ALL_CHAPTERS:void 0}catch{return}});if(!e)return[];const t=[];return e.forEach(r=>{r.translations.forEach(n=>{const s=n.volume;t.push({chap:r.number_float,vol:s>0?s:void 0,slug:n.id,lang:n.language,group:n.group?.name,ts:new Date(n.date).getTime()})})}),M(t,{preferGroup:a})}var ba=Object.defineProperty,Ra=(a,e,t)=>e in a?ba(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,$a=(a,e,t)=>Ra(a,e+"",t);const xa={a:.1,b:.2,c:.3,d:.4};class Te extends y{parseTitleUrl(e){return{slug:B(e)?.split("/").filter(Boolean)[1]}}async getRawReleases(){const e=q()?.data;if(!e)return;const t=[];return e.forEach(({relationships:r,attributes:n,id:s})=>{const i=r.find(({type:p})=>p==="manga"),o=U(n.volume),c=U(n.chapter);if(c===void 0)return;const{title:l}=i.attributes,u=l.en??Object.values(l)[0];t.push({slug:i.id,name:u,chapters:[{slug:n.externalUrl||s,vol:o,chap:c,lang:n.translatedLanguage,ts:new Date(n.readableAt).valueOf()}]})}),t}async getRawTitleData(){const e=`https://api.${location.host}/manga/`,[t,r]=await Promise.all([C(`${e}{id}`),C(`${e}{id}/feed`)]);if(!t||!r)return;const n=r.value.data?.map?.(c=>{const{attributes:l,id:u}=c;if(typeof l!="object"||typeof u!="string"||!u)return;const{externalUrl:p,title:g,volume:d,chapter:m,translatedLanguage:f}=l;return{slug:p||u,label:g||void 0,vol:U(d),chap:U(m),lang:f||"en",ts:new Date(l.readableAt).valueOf()}}).filter(c=>c?.chap!=null)??[],{data:s}=t.value;if(!s)return;const i=Le({data:s,getTagIdsFromNames:c=>this.getTagIdsFromNames(c)});if(!i)return;const o=this.context.includeImgBytes&&i.img?await ne(i.img):void 0;return{...i,imgBytes:o,chapters:M(n,{preferGroup:this.context.preferGroup}),hasMoreChapters:(r.value.total||0)>(r.value.limit||0)}}async getRawReaderData(){const e="https://api.mangadex.org/",[t,r,n]=await Promise.all([C(`${e}chapter/{id}`),C(`${e}at-home/server/{id}`),C(`${e}manga/{id}/aggregate`)]);if(!t||!r||!n)return;const s=t.value.data,{volume:i,chapter:o,externalUrl:c,translatedLanguage:l}=s.attributes||{},{baseUrl:u,chapter:{data:p,dataSaver:g,hash:d}}=r.value,m=s.relationships?.find?.(D=>D.type==="manga");if(!m)return;const f=Le({data:m,getTagIdsFromNames:D=>this.getTagIdsFromNames(D)});if(!f||typeof n.value.volumes!="object")return;const v=je(n.value,{preferGroup:this.context.preferGroup})??[];(typeof o!="string"||o==="none")&&!v.length&&v.push({chap:0,slug:s.id});const w=v.findIndex(D=>D.slug===s.id),b=s.relationships?.find?.(D=>D.type==="scanlation_group"),_=u.endsWith("/")?u:u+"/",z=!!localStorage.getItem("md")?.includes?.('"dataSaver":true'),F=`${_}${z?"data-saver":"data"}/`,A=((z?g:p)??[]).map?.(D=>`${F}${d}/${D}`)??[];return{externalUrl:c,vol:U(i),inferVol:v[w]?.inferVol,chap:U(o)||0,imgs:A,lang:l,slug:s.id,prev:v[w+1],next:v[w-1],basePath:"/chapter/",group:b?.attributes?.name,groupUrl:b?.attributes?.website,isWebtoon:m?.attributes?.tags?.some(D=>D.attributes.name.en==="Long Strip"),title:{...f,chapters:v}}}async getRawChaptersData(){const e=q();if(!e)return;let t;try{t=je(e,{preferGroup:this.context.preferGroup})}catch{return}if(t)return{chapters:t,lang:this.context.lang??"en",asc:!1,hasMore:!1,total:t.length}}}$a(Te,"specId","mangadex");function U(a){if(typeof a!="string"||a==="none")return;const e=parseFloat(a);if(e!==e)return;const t=a[a.length-1];return e+(xa[t]??0)}function je(a,{preferGroup:e}){if(typeof a.volumes!="object")return;const t=Object.values(a.volumes).map(({volume:r,chapters:n})=>{const s=U(r);return Object.values(n).map(({id:i,chapter:o})=>{const c=U(o);if(c!==void 0)return{vol:s,chap:c,slug:i}})}).flat().filter(Boolean).reverse();return M(t,{preferGroup:e})}function Le({data:a,getTagIdsFromNames:e}){const{id:t,attributes:r,relationships:n}=a;if(!t||typeof t!="string"||typeof r!="object")return;const{title:s,availableTranslatedLanguages:i,altTitles:o,tags:c,contentRating:l}=r;if(typeof s!="object"||i&&!Array.isArray(i))return;const u=Object.values(s)[0];if(!u||typeof u!="string")return;const p=Sa(),g=(i??[])?.map?.(b=>typeof b=="string"?b:void 0).filter(Boolean)??[],d=g.filter(b=>b&&(!p||p.includes(b))),m=o?.map?.(b=>{const[[,_]=[]]=Object.entries(b);return _}),f=n?.find?.(b=>b.type==="cover_art")?.attributes?.fileName,v=f?`https://mangadex.org/covers/${t}/${f}.256.jpg`:void 0,w=(c||[]).map(b=>b?.attributes?.name?.en).concat(l).filter(Boolean);return{url:`${location.origin}/title/${t}`,slug:t,name:u,altNames:m,langs:d.length>0?d:g.length>0?g:["en"],img:v,tags:e(w)}}function Sa(){const a=localStorage.getItem("md");if(!a)return;const e=G(a);if(e)try{const t=e?.userPreferences?.filteredLanguages;return t?.length?t:void 0}catch{return}}var Da=Object.defineProperty,Ia=(a,e,t)=>e in a?Da(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,Pa=(a,e,t)=>Ia(a,e+"",t);class Be extends y{async getRawReaderData(){if((await L(".current-viewtype",{lazy:!0,all:!1}))?.textContent?.trim().toLowerCase()!=="volume")return await super.getRawReaderData()}async getRawChaptersData(){const e=this.context.lang??"en",t=await L(`.tab-content[data-name="chapter"] a.dropdown-item[data-code="${e.toUpperCase()}"]`,{lazy:!0,all:!1});if(t)return ee(t),await L(`.tab-content[data-name="chapter"] li.item[data-number] a[href*="/${e}/"]`,{lazy:!0,all:!1}),await super.getRawChaptersData()}async getRawSearchData(){const e=await super.getRawSearchData();if(!e)return;const t=this.context.lang??"en";return{...e,rawReleases:e.rawReleases.map(r=>({...r,lang:r.lang??t}))}}}Pa(Be,"specId","mangafire");var Ca=Object.defineProperty,Ma=(a,e,t)=>e in a?Ca(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,Ta=(a,e,t)=>Ma(a,e+"",t);class Ae extends y{async getRawReaderData(){const e=await super.getRawReaderData();return e&&{...e,imgs:await this.getImgs()}}parseReaderUrl(e,t,r){const{slug:n,basePath:s}=super.parseReaderUrl(e,t,r),i=n.split("/").filter(Boolean),o=i[i.length-1];return{basePath:s,slug:o.startsWith("pg-")?i.slice(0,-1).join("/"):n}}async getImgs(){const e=await T(100,20,()=>window.imgsrcs),t=window.CryptoJS,r=t.enc.Hex.parse("e11adc3949ba59abbe56e057f20f883e"),n={iv:t.enc.Hex.parse("1234567890abcdef1234567890abcdef"),padding:t.pad.ZeroPadding};return t.AES.decrypt(e,r,n).toString(t.enc.Utf8).split(",")}}Ta(Ae,"specId","mangago");var ja=Object.defineProperty,La=(a,e,t)=>e in a?ja(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,Ba=(a,e,t)=>La(a,e+"",t);class Oe extends y{parseTitleUrl(e){return{slug:B(e)?.split("/").filter(Boolean)[1]}}}Ba(Oe,"specId","mangapill");var Aa=Object.defineProperty,Oa=(a,e,t)=>e in a?Aa(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,Ua=(a,e,t)=>Oa(a,e+"",t);class Ue extends y{async getRawTitleData(){const e=await super.getRawTitleData();return e&&{...e,chapters:e.chapters.map(t=>({...t,slug:t.slug?.split("/").filter(Boolean).slice(-1)[0]}))}}}Ua(Ue,"specId","mangaplus");var Ea=Object.defineProperty,Na=(a,e,t)=>e in a?Ea(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,_a=(a,e,t)=>Na(a,e+"",t);class Ee extends oe{async getRawReaderData(){const e=await super.getRawReaderData();if(e)return{...e,title:{...e.title,id:await this.getReaderTitleId()}}}async getReaderTitleId(){const e=await window.HISTORY?.getStored?.();if(!e||typeof e!="object")return;const t=Object.values(e).filter(Boolean);if(!t.length)return;t.sort((n,s)=>s.time-n.time);const r=t[0].manga_ID;return R(r)??S(r,n=>n+"")}}_a(Ee,"specId","mangastream");var za=Object.defineProperty,Wa=(a,e,t)=>e in a?za(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,ka=(a,e,t)=>Wa(a,e+"",t);class Ne extends y{async getRawReaderData(){const e=await super.getRawReaderData();return!e||!e.title.chapters.length?e:{...e,prev:e.prev?{...e.prev,slug:ce(e.title.slug,e.prev.slug)}:void 0,next:e.next?{...e.next,slug:ce(e.title.slug,e.next.slug)}:void 0,title:{...e.title,chapters:e.title.chapters.map(t=>({...t,slug:ce(e.title.slug,t.slug)}))}}}}ka(Ne,"specId","mangatime");function ce(a,e){if(e)return`/manga/${a}/chapter-${e}`}var qa=Object.defineProperty,Ga=(a,e,t)=>e in a?qa(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,Ja=(a,e,t)=>Ga(a,e+"",t);class _e extends y{async getRawReaderData(){const e=await super.getRawReaderData();if(e?.imgs?.length!==1)return e;e.slug.includes("//")&&(e.slug=ze(e.slug).split("/").filter(Boolean)[3]);const t=S(document.querySelector("select.index-page,.page_select select")?.childElementCount,d=>d-1);if(!t||t<=1)return e;const[r]=e.imgs,n=r.split(/\d+\.[a-z]{3,5}$/i)?.[0];if(!n)return e;const s=(+(h(".page_select .select|text")||"1")||1)-1,i=r.replace(n,""),[o,c]=i.split("."),l=o.length,u=+o-s,p=u+t-1,g=[];for(let d=u;d<=p;d++)g.push(`${n}${(d+"").padStart(l,"0")}${c?`.${c}`:""}`);return{...e,imgs:g}}parseChapterUrl(e,t){return this.parseReaderUrl(e,ze(t),t)}}Ja(_e,"specId","mangatown");function ze(a){return a.replace(location.origin,"").replace("//","/")}var Fa=Object.defineProperty,Ha=(a,e,t)=>e in a?Fa(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,Va=(a,e,t)=>Ha(a,e+"",t);class We extends y{async getRawReaderData(){const e=await super.getRawReaderData();return e&&{...e,slug:e.slug.split("/").slice(0,-1).join("/")||e.slug.split("/")[0]}}}Va(We,"specId","mangaworld");var Ka=Object.defineProperty,Qa=(a,e,t)=>e in a?Ka(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,Ya=(a,e,t)=>Qa(a,e+"",t);class ke extends y{async getRawTitleData(){const e=await super.getRawTitleData();if(e)return{...e,hasMoreChapters:e.chapters.length===50}}}Ya(ke,"specId","mgeko");var Za=Object.defineProperty,Xa=(a,e,t)=>e in a?Za(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,Q=(a,e,t)=>Xa(a,typeof e!="symbol"?e+"":e,t);class ue extends y{constructor(){super(...arguments),Q(this,"perPage",100),Q(this,"pageKey","page"),Q(this,"totalPageKey","totalPages")}async getRawChaptersData(){const e=await super.getRawChaptersData();if(!e||!e.chapters.length)return;const t=q()?.[this.totalPageKey]??1;if(t<=1||e.chapters.length<this.perPage)return e;const r=this.context.startAfter;if(r&&e.chapters[e.chapters.length-1].chap-1<=r.chap)return e;let n=[];try{n=(await Promise.all(Array.from({length:t-1},async(s,i)=>{const o=await fetch(location.href.replace(`${this.pageKey}=1`,`${this.pageKey}=${i+2}`));return o.ok?this.getJsonChapters(await o.json(),{chapterSpec:this.spec.chapters.chapter,basePath:O(this.siteMeta.readerBase,{titleSlug:this.context.titleSlug})})||[]:[]}))).flat()}catch{}return n?.length?{...e,chapters:M([...e.chapters,...n])}:e}}Q(ue,"specId","qi");var er=Object.defineProperty,tr=(a,e,t)=>e in a?er(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,Y=(a,e,t)=>tr(a,typeof e!="symbol"?e+"":e,t);class qe extends ue{constructor(){super(...arguments),Y(this,"perPage",50),Y(this,"pageKey","paged"),Y(this,"totalPageKey","total_pages")}}Y(qe,"specId","mgread");var ar=Object.defineProperty,rr=(a,e,t)=>e in a?ar(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,nr=(a,e,t)=>rr(a,e+"",t);class Ge extends y{async getRawReaderData(){const e=await T(200,50,()=>{const s=window.mangaReader;return s?.scanData&&s?.mangaData?s:void 0});if(!e)return;const{scanData:t,mangaData:r}=e,n=`/${this.siteMeta.readerBase}/`;return this.finalizeRawReaderData({basePath:n,chap:t.chapterNum,slug:t.slug,imgs:t.pages,title:{name:t.chapterTitle,slug:t.manga,url:`${location.origin}/${this.siteMeta.titleBase}/${t.manga}`,chapters:this.getJsonChapters(r,{basePath:n,chapterSpec:{sel:"chapters",label:"num",url:"slug"}})??[]}})}}nr(Ge,"specId","moins");var sr=Object.defineProperty,ir=(a,e,t)=>e in a?sr(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,lr=(a,e,t)=>ir(a,e+"",t);class Je extends K{async getRawReleasesData(){}async getRawSearchData(){}async getRawTitleData(){const e=h("h1.title .pretty, h1.title|text"),t=h("#cover img|[attr:data-src,attr-contain:src]");if(e)return{name:e,slug:location.pathname.split("/").filter(Boolean).slice(-1)[0],url:location.origin+location.pathname,img:t,imgBytes:this.context.includeImgBytes&&t?await ne(t):void 0,chapters:[{slug:"1",chap:0}]}}async getRawReaderData(){const e=h("#image-container img|[attr:data-src,attr-contain:src]"),t=se(e);if(!t)return;const r=t.origin,n=this.parseReaderUrl(this.siteMeta.readerBase,location.pathname,location.href);if(n?.titleSlug)try{const s=await fetch(`${location.origin}/api/v2/galleries/${n.titleSlug}`);if(!s.ok)return;const i=await s.json();if(!i)return;const o=$(i,"title.pretty")||$(i,"title.english")||i?.title?.[Object.keys(i.title)[0]];if(!o)return;const c=R($(i,"cover.path"),u=>`https://t2.${location.hostname}${u.startsWith("/")?u:`/${u}`}`),l=i.pages.map(u=>{const p=u.path;return`${r}${p.startsWith("/")?p:`/${p}`}`});return{chap:0,slug:"1",basePath:`/g/${n.titleSlug}/`,imgs:l,title:{name:o,slug:n.titleSlug,url:`${location.origin}/g/${n.titleSlug}`,chapters:[{slug:"1",chap:0}],img:c}}}catch{return}}async getRawChaptersData(){const e=await this.getRawTitleData();if(!e)return;const{chapters:t,...r}=e;return{title:{...r,chapters:[]},chapters:t}}}lr(Je,"specId","nhentai");var or=Object.defineProperty,cr=(a,e,t)=>e in a?or(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,ur=(a,e,t)=>cr(a,e+"",t);class Fe extends y{async queryJsonChapters(e,t){const r=await super.queryJsonChapters(e,t);if(r)return r.map(n=>({...n,slug:n.slug?`ch-${+n.slug||n.chap}`:n.slug}))}}ur(Fe,"specId","stone");var gr=Object.defineProperty,pr=(a,e,t)=>e in a?gr(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,hr=(a,e,t)=>pr(a,e+"",t);class He extends y{async getRawTitleData(){const e=await super.getRawTitleData();if(!e)return;const t=J(".info-detail__row > .genre-btn,.info__right .stats__row:first-child|text")?.map(r=>[r,...r.split(" ")]).flat();return Ve({...e,tags:this.getTagIdsFromNames(t)??[]},".episode-header .episode-cnt")}async getRawReaderData(){const e=await super.getRawReaderData();if(!e)return;const t=`${location.origin}/series/${e.title.slug}/info`;return{...e,title:{...Ve({...e.title,url:t,tags:[]},".episode-list .js-ep-cnt"),hasMoreChapters:!1}}}async getRawChaptersData(){const{rawId:e,skip:t}=this.context,r=1e3,n=t?Math.floor(t/1e3)+1:1;try{const s=await fetch(`/series/${e}/episodes?page=${n}&sort=NEWEST&max_limit=${r}`);return dr(await s.json())}catch{return}}parseTitleUrl(e){if(!e)return{};const t=e.split("/").filter(Boolean);return{slug:t[1]??t[0]}}}hr(He,"specId","tapas");function Ve(a,e){const t=fr(e)>20;return{...a,chapters:t?[]:a.chapters,hasMoreChapters:t}}function dr(a){const e=a?.data?.episodes;if(!Array.isArray(e))return;const t=e.map(n=>({chap:n.pending_scene??n.scene,slug:n.id+"",ts:new Date(n.publish_date)?.valueOf?.()||void 0})),r=a?.data?.pagination;return{chapters:t,total:r?.total??t.length,hasMore:!!r?.has_next}}function fr(a){return+(document.querySelector(a)?.textContent?.trim().split(" ")[0]||0)}var mr=Object.defineProperty,wr=(a,e,t)=>e in a?mr(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,vr=(a,e,t)=>wr(a,e+"",t);class Ke extends y{async getRawTitleData(){const e=await super.getRawTitleData();if(!e||e?.id||this.siteId&&!e.hasMoreChapters&&e.chapters.length)return e;const t=await this.getTitleId(e.name,e.slug);if(t)return{...e,id:t}}async getRawChaptersData(){const{rawId:e}=this.context;if(!e)return await super.getRawChaptersData();const t=(()=>{const r=Array.from(document.querySelectorAll("script:not([src])"));for(let n=0;n<r.length;n++){const s=r[n].textContent;if(s?.includes('"user\\":'))return s?.match(/"user\\":\{\\"id\\":\\"([^"']+)\\"/)?.[1]}})();try{const r=await fetch(`https://api.${location.host}/api/chapters?postId=${e}&skip=0&take=900&order=desc${t?`&userid=${t}`:""}`);if(!r.ok)return;const n=await r.json(),s=this.getJsonChapters(n,{chapterSpec:{sel:"post.chapters",url:"slug",label:"number",at:"createdAt"},basePath:O(location.pathname,{titleSlug:this.context.titleSlug})});return s?{chapters:s}:void 0}catch{return}}async getTitleId(e,t){const r=`mp:id:${t}`,n=localStorage.getItem(r);if(n)return n==="_"?void 0:n;try{const s=await fetch(`https://api.${location.hostname}/api/query?page=1&perPage=10&searchTerm=${encodeURIComponent(e)}`);if(!s.ok)return;const i=await s.json(),o=e.toLowerCase(),c=i.posts.find(u=>u.postTitle.toLowerCase().trim()===o),l=S(c?.id,u=>u.toString());return localStorage.setItem(r,l??"_"),l}catch{return}}}vr(Ke,"specId","vortex");var yr=Object.defineProperty,br=(a,e,t)=>e in a?yr(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,Rr=(a,e,t)=>br(a,e+"",t);class Qe extends y{async getRawTitleData(){const e=new URLSearchParams(location.search),t=e.get("episode_no"),r=e.get("title_no");if(t||!r)return;const n=await super.getRawTitleData();if(!n)return;const s=location.hostname.startsWith("m."),i=location.pathname.split("/")[1];return{...n,slug:`${n.slug}?title_no=${r}`,id:r,langs:i?[i]:void 0,chapters:s?[]:n.chapters.map(o=>({...o,lang:i})),hasMoreChapters:s||(document.querySelector(".paginate")?.childElementCount??1)>1}}async getRawReaderData(){const e=new URLSearchParams(location.search),t=e.get("episode_no"),r=e.get("title_no"),n=t?+t:void 0;if(!t||!r||typeof n!="number"||isNaN(n))return;const s=document.title.split("|")[1]?.trim();if(!s)return;const i=location.pathname.split("/"),o=`${i.slice(0,4).join("/")}/list?title_no=${r}`,c=await this.getChapters({sel:"#sequence_scroll li.eg-flick-panel,#toolbar .episode_lst li[data-episode-no]",url:"a|attr:href",label:"|attr:data-episode-no || a|attr:href|pattern:.+episode_no=(\\d+).*"},{lazy:!1,titleId:r,titleSlug:o,titleName:s}),l=i[1];return{chap:n,lang:l,slug:`${location.pathname}?title_no=${r}&episode_no=${t}`,basePath:"",imgs:await this.getReaderImgs(),isWebtoon:!0,title:{id:r,url:o,slug:o,name:s,langs:[l],chapters:(c??[]).map(u=>({...u,lang:l})),hasMoreChapters:!1}}}async getReaderImgs(){const e=J("#_imageList img|[attr:data-url,attr:src]");return e?.length?e:await T(100,50,()=>window.__viewerState__?.scrollViewerParam?.imageList?.map(({url:t})=>t).filter(Boolean))}parseReaderUrl(e,t,r){if(!r)return{basePath:"",slug:t};if(r.startsWith("http://")||r.startsWith("https://")){const n=se(r);return{basePath:"",slug:n.pathname+n.search}}return{basePath:"",slug:r}}}Rr(Qe,"specId","webtoon");const $r=[Re,$e,xe,Se,De,Ie,oe,Ce,Te,Be,Ae,Oe,Ue,Ee,ke,Ne,_e,We,qe,Ge,Je,ue,Fe,He,Ke,Qe];function Ye(a){const e=$r.find(t=>t.specId===a.spec.id)??y;return new e(a)}async function xr(a){const{spec:e,type:t}=a,r=a.siteMeta??e?.meta;if(e&&r){const n=t?[t]:Ze(r,e.generic);if(!n.length)return;const s=Ye({...a,spec:e,siteMeta:r});return await k(n.map(i=>s.getRawPageByType(i,n.length>1)))}return await k((a.genericSpecs??[]).map(n=>{if(!n.meta||!n.generic)return[];const s=t?[t]:Ze(n.meta,n.generic);if(!s.length)return[];const i=Ye({...a,spec:n,siteMeta:n.meta});return s.map(o=>i.getRawPageByType(o,!0))}).flat())}function Ze(a,e){if(location.pathname==="/"&&!a.single)return[];const{titleBase:t,readerBase:r}=a,n=location.pathname.split("/").filter(Boolean),s=Xe(n,r),i=Xe(n,t);if(s&&i)return[x.reader,x.title];const o=[];return!i&&(s!==!1||e)&&o.push(x.reader),!s&&(i!==!1||e)&&o.push(x.title),!o.length&&e?[x.reader,x.title]:o}function Xe(a,e){if(!e)return;const t=e.split("/").filter(Boolean),r=t.indexOf("{slug}"),n=r===t.length-1,s=!n&&r!==-1;if(n&&(t.pop(),!t.length))return;const i=a.length-t.length;if(s?i<0:i<=0)return!1;let o=!1;for(let c=0;c<t.length;c++){const l=t[c];if(l[0]!=="{"){if(l!==a[c])return!1;o=!0}}if(o&&i===(s?0:1))return!0}W.PageType=x,W.scrape=xr}));
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "trackkun-dom",
3
3
  "author": "endyquang",
4
- "version": "2.24.2",
4
+ "version": "2.25.0",
5
5
  "license": "UNLICENSED",
6
6
  "description": "MP DOM parser & configurations",
7
7
  "main": "index.js",
package/specs.json CHANGED
@@ -1 +1 @@
1
- [{"404":"[data-text=\"404\"]","id":"asura2","releases":{"title":{"sel":"a[href*=\"/comics/\"]:has(img) + div","name":"a|text","url":"a|attr:href","chapter":{"sel":"a + div a","url":"|attr:href","label":"span|text","at":"time|text"}}},"title":{"name":"body:not(:has([data-text=\"404\"])) h1|text","img":"#desktop-cover-container img|attr-contain:src","tags":"a[href*=\"/browse?genres=\"]|text","chapter":{"lazy":false,"sel":"[opts*=\"ChapterListReact\"] a","url":"|attr:href","label":"span|text","at":".text-right span|text"}},"reader":{"title":{"sel":"script[type=\"application/ld+json\"]","url":"|json:itemListElement.2.item","name":"|json:itemListElement.2.name"},"label":"script[type=\"application/ld+json\"]|json:itemListElement.3.name","content":"div:has(> [data-page])","imgDivs":"[data-page], [data-page] ~ div","prev":"a:has([d=\"M15 19l-7-7 7-7\"])|attr:href","next":"a:has(svg:not(.rotate-180) [d=\"M9 5l7 7-7 7\"])|attr:href","chapter":{"json":"astro-island|attr:props","sel":"chapterList.1","url":"1.number.1","label":"1.number.1","at":"1.created_at.1"}},"search":{"title":{"sel":"a[href*=\"/comics/\"]:has(img)","url":"|attr:href","name":"img|attr:alt"}}},{"404":"#content > .wrapper > .notf img, body:empty","id":"mangastream","generic":true,"name":"meta[itemprop=\"name\"]|attr:content","meta":{"releases":"","titleBase":"series","readerBase":"","searchBase":"?s=","idBase":"?p=","titleIdType":"id","defaultLang":"en","trailing":true},"releases":{"title":{"sel":".listupd .utao .uta, .bixbox .bs.styletere","id":"a.series[rel]|attr:rel","name":"h4, .info .tt, .tt a, .series > h3|text","url":"a|attr:href","chapter":{"sel":".luf ul li, .chapter-list > a, .chfiv > li","label":"a .fivchap, a, .epxs|text","url":"a|attr:href || |attr:href","at":"a .fivtime, a + span, .epxdate, .newchtimeluffy|text"}}},"title":{"sel":"#chapterlist > ul","id":".bookmark[data-id]|attr:data-id || #rating-form input[name=\"bs_table_id\"]|attr:value","name":"h1.entry-title|text","img":".thumb img|attr-contain:src","type":".imptdt a[href*=\"type=\"]|text || .imptdt:first-of-type i|text","tags":".postbody .mgen > a|text","chapter":{"sel":"#chapterlist > ul > li","url":"a|attr:href","label":".chapternum|text","at":".chapterdate|text"}},"reader":{"sel":"#readerarea","content":"body","id":".ctop option:checked|attr:data-id","label":"h1.entry-title|text","title":{"sel":".headpost .allc a, [itemprop=\"itemListElement\"] [content=\"2\"] ~ a","name":"|text","url":"|attr:href"},"prev":"a.ch-prev-btn:not(.disabled)|attr:href","next":"a.ch-next-btn:not(.disabled)|attr:href","chapter":{"sel":".ctop #chapter option:not([disabled]):not([value=\"\"])","id":"|attr:data-id","label":"|text","url":"|attr:value"}},"search":{"title":{"sel":".listupd .bsx","name":".bigor .tt|text","url":"a|attr:href","img":"img|attr-contain:src"}}},{"404":".error-404.not-found","id":"madara","generic":true,"name":"meta[property=\"og:site_name\"]|attr:content || a.logo|attr:title","meta":{"releases":"","titleBase":"manga","readerBase":"manga/{titleSlug}","idBase":"?p=","searchBase":"?post_type=wp-manga&s=","defaultLang":"en","titleIdType":"id","trailing":true},"releases":{"title":{"sel":".page-listing-item .page-item-detail, .lastest-content .page-item-detail","id":"[data-post-id]|attr:data-post-id","name":"h3 a, .item-summary h3|text","url":"a|attr:href","chapter":{"sel":".chapter-item","label":".chapter a|text","url":".chapter a|attr:href","at":".c-new-tag|attr:title || .post-on|text"}}},"title":{"sel":"body.manga-page","id":"#manga-chapters-holder|attr:data-id || .rating-post-id|attr:value || [data-action=\"bookmark\"]|attr:data-post","name":"h1|text","img":".summary_image .img-responsive, .summary_image img, .series-img img|[attr:data-src,attr-contain:src]","tags":"a[rel=\"tag\"][href*=\"genre\"],a[rel=\"tag\"][href*=\"tag\"],.genres-content|text","type":".post-content_item .summary-heading|row:type","chapter":{"sel":"li.wp-manga-chapter, .chapter-ul > li","url":"a|attr:href","label":"a, .chapter-title-date > p|text","at":".c-new-tag|attr:title || .chapter-release-date i|text"}},"reader":{"sel":".entry-content .read-container","content":"body","label":".breadcrumb li.active|text","title":{"sel":".breadcrumb li:nth-last-of-type(2) a","id":"#manga-reading-nav-head|attr:data-id","name":"|text","url":"|attr:href"},"prev":"a.btn.prev_page|attr:href","next":"a.btn.next_page|attr:href","chapter":{"sel":"#manga-reading-nav-head select.single-chapter-select > option:not([disabled])","label":"|text","url":"|attr:data-redirect"}},"search":{"title":{"sel":".c-tabs-item__content","name":"h3 a|text","url":"a|attr:href","chapter":{"sel":".tab-meta","label":".chapter a|text","url":".chapter a|attr:href","at":".c-new-tag|attr:title || .post-on|text"}}}},{"id":"single01","generic":true,"meta":{"releases":null,"titleBase":"","readerBase":"chapter","defaultLang":"en","titleIdType":"name","trailing":true,"searchable":false,"noTags":true,"single":true},"title":{"sel":".main-content .chapters","name":"meta[property=\"og:site_name\"]|attr:content","img":"img.cover-image|attr-contain:src","chapter":{"sel":".chapters > a","url":"|attr:href","label":"p.t|text","at":".chapter-date|text"}},"reader":{"lazy":true,"sel":".chapter-selector option:checked","label":".chapter-selector option:checked|text","title":{"name":"meta[property=\"og:site_name\"]|attr:content","url":"a[title=\"Home\"]|attr:href"},"content":".images","chapter":{"sel":".chapter-nav:has(~.images) .chapter-selector option","url":"|attr:value","label":"|text"}}},{"id":"single02","generic":true,"meta":{"releases":null,"titleBase":"","readerBase":"manga","titleIdType":"name","trailing":true,"searchable":false,"noTags":true,"single":true},"title":{"sel":"body:has(#masthead):has(#primary #main #Chapters_List)","name":"#primary #main article header.entry-header > h1|text","img":"figure img|attr-contain:src","chapter":{"sel":"#Chapters_List a","url":"|attr:href","label":"|text"}},"reader":{"sel":"body:has(#masthead):has(.trail-items)","label":"h1|text","title":{"url":"#site-title a|attr:href","name":"#site-title a|text|remove:manga\\sonline$"},"content":".entry-content","prev":".nav-previous a|attr:href","next":".nav-next a|attr:href"}},{"id":"single03","generic":true,"meta":{"releases":null,"titleBase":"","readerBase":"manga","titleIdType":"name","trailing":true,"searchable":false,"single":true},"title":{"sel":"body:has(.nnc-nav):has(#manga-info-right):has(#chapters-list-holder)","name":".info-desc h1|text|remove:manga\\sonline","img":".manga-thumb|attr-contain:src","tags":".genre-list > span|text","chapter":{"sel":"#chapters-list-holder > a","url":"|attr:href","label":".chapter-name|text","at":".chapter-date|text"}},"reader":{"sel":".mangosm-manga-nav","label":".mangosm-manga-nav-select option:checked|text","title":{"url":"#comic-breadcrumbs .item-home a|attr:href","name":"h1.entry-title|text|remove:,.+$"},"content":".entry-content","chapter":{"sel":".mangosm-manga-nav-select option","label":"|text","url":"|attr:value"}}},{"id":"single04","generic":true,"meta":{"releases":null,"titleBase":"","readerBase":"manga","titleIdType":"name","trailing":true,"searchable":false,"single":true},"title":{"sel":".all-chapters","name":"h1|text|remove:manga\\sonline$","img":".home-hero|bg-image","chapter":{"sel":".all-chapters li a","url":"|attr:href","label":"|text"}},"reader":{"sel":".chapter-images","title":{"name":"h1|text|remove:manga$","url":"a|attr:href"},"label":".home-hero-bc li:last-child|text","content":".chapter-images","imgs":".chapterImg|attr-contain:src","chapter":{"sel":".manga-chapter #chapterSelect option","url":"|attr:value","label":"|text"}}},{"id":"single05","generic":true,"meta":{"releases":null,"titleBase":"","readerBase":"manga","titleIdType":"name","trailing":true,"searchable":false,"single":true},"title":{"sel":".profile-manga","name":"h1|text","img":".cover_managa img|attr-contain:src","tags":"a[href*=\"manga-genre\"]|text","chapter":{"sel":".main-chapter a:has(div)","url":"|attr:href","label":"div div:first-child|text"}},"reader":{"sel":"body:has(h1#chapter-heading):has(.reading-content):has(.about_section)","title":{"url":".breadcrumb li a|attr:href","name":"[property=\"og:site_name\"]|attr:content"},"label":".single-chapter-select option:checked|text","content":".reading-content","imgs":".image-container img|attr-contain:src","chapter":{"sel":".header .single-chapter-select option","url":"|attr:data-redirect","label":"|text"}}},{"id":"single06","generic":true,"meta":{"releases":null,"titleBase":"","readerBase":"chapters","chapters":"chapters","titleIdType":"name","trailing":false,"searchable":false,"single":true,"noTags":true},"title":{"sel":"#chapter-sort-select","name":"nav a[href=\"/\"] span|text","tags":".bg-surface-secondary.rounded-full|text","hasMore":"button + div + button:not([disabled])","first":"main a[href*=\"/chapters/\"]|attr:href","chapter":{"sel":".grid a[href*=\"/chapters/\"]","url":"|attr:href","label":"div[aria-hidden]|text"}},"reader":{"sel":"main nav a[href=\"/chapters/\"]","title":{"name":"nav a[href=\"/\"] span|text","url":"nav a[href=\"/\"]|attr:href","img":"meta[property=\"og:image\"]|attr:content"},"label":"nav li:last-child span:last-child|text","content":"main","prev":"a[title=\"Previous Chapter\"]|attr:href","next":"a[title=\"Next Chapter\"]|attr:href"},"chapters":{"chapter":{"sel":"main .lg\\:hidden a","url":"|attr:href","label":"|text|remove:^.+/chapters/"}}},{"404":".elapi > a[href*=\"/search?q=\"]","id":"mangahub","releases":{"title":{"sel":".list-group-item .media","name":"h4.media-heading a|text","url":".media-heading a|attr:href","at":".media-heading .small|text","chapter":{"sel":".media-body > a","label":"|text","url":"|attr:href"}}},"title":{"sel":"#chapters-tab .tab-content","name":"#mangadetail h1|text","img":"#mangadetail img.manga-thumb|attr-contain:src","tags":"#mangadetail a.genre-label|text","chapter":{"sel":"#chapters-tab li.list-group-item","label":"a > span:first-child > span:first-child|text","url":"a:not([title])|attr:href || a:not([rel])|attr:href || a|attr:href","at":"small|text"}},"reader":{"content":"#mangareader .container-fluid, #mangareader","label":"h3|text","prev":".chapter-pager .previous a[href*=\"/chapter/\"]|attr:href","next":".chapter-pager .next a[href*=\"/chapter/\"]|attr:href","title":{"sel":"h3 a","name":"|text","url":"|attr:href"},"chapter":{"sel":".pager-dropdown .dropdown-menu > li > a","label":"|text","url":"|attr:href"}},"search":{"title":{"sel":".media-manga","name":"h4 a|text","url":"h4 a|attr:href","img":"img|attr-contain:src","chapter":{"sel":".media-body","label":"a[href*=\"/chapter/\"]|text","url":"a[href*=\"/chapter/\"]|attr:href"}}}},{"id":"mangadex","search":{"lazy":true,"loading":"[indeterminate] svg","title":{"sel":"a.manga-card-dense","url":"|attr:href","name":"a.title span|text","img":".cover img|attr-contain:src"}}},{"404":"#error > .attention","id":"mangago","releases":{"title":{"sel":"ul#search_list > li > div","name":"a.thm-effect|attr:title","url":"a.thm-effect|attr:href","chapter":{"sel":"a.chico","label":"|text","url":"|attr:href"}}},"title":{"name":".w-title h1|text","img":".article .cover img,#information img|attr-contain:src","tags":".manga_right a[href*=\"/genre/\"],.manga_info ul.uk-list a[href*=\"/genre/\"]|text","chapter":{"sel":"#chapter_table tbody tr, table.uk-table tbody tr","label":"h4 a b, a.chico b|text || a.chico|text","url":"h4 a, a.chico|attr:href","at":"td:last-child|text"}},"reader":{"content":"body","label":"#navi h3 span:last-child,#series + a.chapter|text","title":{"sel":"#navi a#series,#reader-nav .nav li:first-child a","name":"|text","url":"|attr:href"},"chapter":{"sel":".pagebar.top ul.dropdown-menu.chapter > li > a,#series ~ ul.chapter li a","label":"|text","url":"|attr:href"}},"search":{"title":{"sel":"#search_list > li .box","name":"a.thm-effect|attr:title","url":"a.thm-effect|attr:href","chapter":{"sel":"a.chico","label":"|text","url":"|attr:href"}}}},{"id":"tapas","title":{"id":".button--subscribe|attr:data-tiara-event-meta-series-id","name":".info .title|text","img":".thumb img|attr:src","first":".episode-list__item a|attr:href","chapter":{"sel":".episode-list .episode-list__item > a","url":"|attr:data-id","label":"|attr:data-scene-number"}},"reader":{"content":".viewer__body","id":"div[id^=\"episode-\"][data-ep-id]|attr:data-ep-id","label":"div[id^=\"episode-\"][data-ep-scene]|attr:data-ep-scene","prev":"div[data-prev-id]:not([data-prev-id=\"-1\"])|attr:data-prev-id","next":"div[data-next-id]:not([data-next-id=\"-1\"])|attr:data-next-id","title":{"id":".subscribe-btn|attr:data-id","url":".subscribe-btn|attr:data-id","name":".series-info .title|text","img":".series-info .thumb img|attr:src"},"chapter":{"sel":".episode-list .list-body > li[data-id]","url":"|attr:data-id","label":".info__label|text"}},"search":{"title":{"sel":".search-item-wrap","url":"a|attr:href","name":"img|attr:alt|remove:#\\.*\\?#","img":"img|attr-contain:src"}}},{"id":"mangafire","releases":{"title":{"sel":".unit > .inner","id":"a[data-tip]|attr:data-tip|remove:\\?.+","name":".info a|text","url":"a|attr:href","chapter":{"sel":"ul.content li a","label":"span:first-child|text","url":"|attr:href","at":"span:last-child"}}},"title":{"id":".bookmark[data-id]|attr:data-id","name":".info h1[itemprop=\"name\"]|text","img":".poster img|attr-contain:src","tags":"#info-rating a[href*=\"/genre/\"]|text","langs":".tab-content[data-name=\"chapter\"] a.dropdown-item[data-code]|attr:data-code","chapter":{"sel":".tab-content[data-name=\"chapter\"] li.item[data-number]","url":"a|attr:href","label":"|attr:data-number","at":"a span:last-child|text"}},"reader":{"content":"#page-wrapper","imgDivs":".page","lstrip":".setting-tab.page-layout [data-value=\"longstrip\"].active","lstripBtn":".setting-tab.page-layout [data-value=\"longstrip\"]","label":"#number-panel ul li a[href*=\"/read/\"][data-number].active|attr:data-number","title":{"sel":"#ctrl-menu .head a","id":"body|attr:data-id","url":"|attr:href","name":"|text"},"chapter":{"sel":"#number-panel ul li a[href*=\"/read/\"][data-number]","label":"|attr:data-number","url":"|attr:href"}},"search":{"title":{"sel":".unit","id":"a[data-tip]|attr:data-tip|remove:\\?.+","url":"a|attr:href","name":".info a|text","img":"a img|attr-contain:src","chapter":{"sel":".unit .content[data-name=\"chap\"] a","url":"|attr:href","label":"span|text","at":"span:last-child"}}}},{"id":"webtoon","title":{"name":"h1.subj,.detail_info > p.subj,.info > h3.subj,.subject|text","img":"meta[property=\"og:image\"]|attr:content","tags":".info > h2.genre,.detail_info > p.genre,.info > p.genre,.tag_box .tag|text","first":"a#_btnEpisode,a._readEpisodeBtn|attr:href","chapter":{"sel":"li._episodeItem","label":"|attr:data-episode-no","url":"a|attr:href","at":".date|text"}}},{"404":"#notfound .notfound-404","id":"mgeko","releases":{"title":{"sel":"#latest-updates .novel-list.chapters > li > a","url":"|attr:href","name":"|attr:title","chapter":{"sel":"div:has(.chapter-title)","label":".chapter-title|text","at":".novel-stats span:first-child|text"}}},"title":{"name":".cover img|attr:alt","img":".cover img|[attr:data-src,attr-contain:src]","tags":".categories .property-item|text","first":"a#readchapterbtn|attr:href","chapter":{"sel":".chapter-list > li a","url":"|attr:href","label":".chapter-title,.chapter-number|text","at":"time|attr:datetime || .chapter-stats|text"}},"reader":{"imgs":"center:has(> #chapter-reader) img|attr-contain:src","label":".chapter-header .titles h2|text","next":"center .nextchap:not(.isDisabled)|attr:href","prev":"center .prevchap:not(.isDisabled)|attr:href","title":{"sel":".chapter-header .titles h1 a","name":"|text","url":"|attr:href"},"chapter":{"sel":"center center #cars option","label":"|text","url":"|attr:value"}},"chapters":{"chapter":{"sel":".chapter-list > li a","url":"|attr:href","label":".chapter-title,.chapter-number|text","at":"time|attr:datetime || .chapter-stats|text"}},"search":{"title":{"sel":".novel-item","url":"a|attr:href","name":"h4|text","img":"img|[attr:data-src,attr-contain:src]","chapter":{"sel":".novel-stats","label":"strong|text"}}}},{"404":"#main > .error-404","id":"mangack","releases":{"title":{"sel":".latestmanga .Latest_chapter_update","url":"a|attr:href","name":".latest-title a|text","chapter":{"sel":"tr:last-child center","label":"a|text","url":"a|attr:href","at":".chapter-date|text"}}},"title":{"id":"input[name=\"follow_manga\"]|attr:value","name":"h1.entry-title|text","img":".manga-cover-wrap img|attr:src","tags":".infobox a[href*=\"/genres/\"]|text","type":".infobox a[href*=\"/comic-type/\"]|text","chapter":{"sel":".chapterslist > li","url":"a|attr:href","label":"a|text","at":".entry-date|text"}},"reader":{"content":".post-content","label":".entry-title|text","title":{"sel":".latest-title a","name":"|text","url":"|attr:href"},"prev":".prev-post a|attr:href","next":".next-post a|attr:href"},"search":{"title":{"sel":".Latest_chapter_update","url":"a|attr:href","img":"img|attr-contain:src","name":"h4 a|text"}}},{"id":"katana","releases":{"title":{"sel":"#book_list > .item","id":"|attr:data-id","url":"a|attr:href","name":"a|text","chapter":{"sel":".chapter a","url":"|attr:href","label":"|text"}}},"title":{"id":".bookmark_bt[data-id]|attr:data-id","name":".info h1|text","img":".cover img|attr:src","tags":".info .genres a|text","chapter":{"sel":".chapters tbody > tr","url":"a|attr:href","label":"a|text","at":".update_time|text"}},"reader":{"content":"#imgs","label":"select[name=\"chapter_select\"] option:checked|text","prev":".nav_button.prev:not([disabled])|attr:href","next":".nav_button.next:not([disabled])|attr:href","title":{"sel":"#breadcrumb_wrap li:nth-child(2) a","id":".bookmark_chapter_bt[data-id]|attr:data-id","name":"span|text","url":"|attr:href"},"chapter":{"sel":".nav_chapters_wrap:first-child select[name=\"chapter_select\"] option","url":"|attr:value","label":"|text"}},"search":{"title":{"sel":"#book_list .item","url":"a|attr:href","img":"img|attr-contain:src","name":"h3 a|text","chapter":{"sel":"div:has(> div > .chapter)","url":"a|attr:href","label":"a|text","at":".update_time|text"}}}},{"id":"truyenqq","releases":{"title":{"sel":"#list_new > li","name":".book_name h3 a|text","url":".book_name h3 a|attr:href","id":".book_name h3 a|attr:href|remove:.+-","chapter":{"sel":".last_chapter a","label":"|text","url":"|attr:href"}}},"title":{"id":".btn-subscribe|attr:data-id","name":".book_info h1|text","img":".book_avatar img|attr-contain:src","tags":".book_info li a[href*=\"/the-loai/\"]|text","chapter":{"sel":".works-chapter-list .works-chapter-item","label":".name-chap a|text","url":".name-chap a|attr:href","at":".time-chap|text"}},"reader":{"content":".chapter_content","label":"ol.breadcrumb > li:last-of-type a span|text","prev":".chapter_control a.prev|attr:href","next":".chapter_control a.next|attr:href","title":{"sel":"ol.breadcrumb > li:nth-of-type(2) a","id":".btn-subscribe|attr:data-id","name":"span|text","url":"|attr:href"},"chapter":{"trigger":".chapter_list","sel":"#popup_content .chapter-list > a, .chapter_list > option","label":"|text","url":"|attr:href || |attr:value"}},"search":{"title":{"sel":".list_grid > li","name":"h3 a|text","url":"h3 a|attr:href","img":"img|attr-contain:src","chapter":{"sel":".last_chapter a","url":"|attr:href","label":"|text"}}}},{"id":"uzay","releases":{"title":{"sel":"section[aria-label=\"new series\"] ~ section .header + div > div","url":"a|attr:href","name":"h2|text","chapter":{"sel":"a.mobile-list-item","url":"|attr:href","label":"h3 span:first-child b|text","at":"h3 span:nth-child(2)|text"}}},"title":{"name":".content-details > h1|text","img":".content-info > img|attr:src","tags":".content-details a[href*=\"?categories=\"]|text","chapter":{"sel":".list-episode > a","url":"|attr:href","label":"h3 b|text","at":"span:last-child|text"}},"reader":{"content":".manga-episode-card","label":".header h1 + h2|text","prev":"[aria-label=\"episode-navbar\"] div:not(last-child) > a[href]|attr:href","next":"[aria-label=\"episode-navbar\"] div:last-child > a[href]|attr:href","title":{"sel":".header h1:has(> a) a","url":"|attr:href","name":"|text"}}},{"id":"mangaworld","releases":{"title":{"sel":".comics-grid > .entry","name":".manga-title|text","url":"a|attr:href","chapter":{"sel":"div:has(> .xanh)","label":"a|text","url":"a|attr:href","at":"i|text"}}},"title":{"name":"h1.name|text","img":".thumb img|attr:src","tags":".meta-data a[href*=\"?genre=\"]|text","type":".meta-data a[href*=\"?type=\"]|text","chapter":{"sel":".chapters-wrapper .chapter > a","url":"|attr:href","label":"span|text","at":"i|text"}},"reader":{"content":"#page","label":"h1|text","lstrip":"select.mode option[value=\"LIST\"]:checked","lstripBtn":"select.mode option[value=\"LIST\"]","title":{"sel":"a[href*=\"/manga/\"]","name":"|text|remove:Ritorna\\sa","url":"|attr:href"},"chapter":{"sel":"#controls-1 select.chapter option","label":"|text","url":"|value"}},"search":{"title":{"sel":".comics-grid .entry","url":"a|attr:href","img":"img|attr-contain:src","name":".manga-title|text"}}},{"id":"leercapitulo","releases":{"title":{"sel":".media.mainpage-manga","url":"a|attr:href","name":"h4.manga-newest|text","chapter":{"sel":".hotup-list > span a","url":"|attr:href","label":"|text"}}},"title":{"name":"h1.title-manga|text","img":".cover-detail img|attr:src","tags":".description-update a[href*=\"/genre/\"]|text","chapter":{"sel":".chapter-list a.xanh","url":"|attr:href","label":"|text"}},"reader":{"content":".comic_wraCon","label":"h2.chapter-title:first-child|text","prev":"a.pre,a.LeftArrow|attr:href","next":"a.next,a.RightArrow|attr:href","lstrip":"select.loadImgType option[value=\"1\"]:checked","lstripBtn":"select.loadImgType option[value=\"1\"]","title":{"sel":"h2.chapter-title:nth-of-type(2) a","url":"|attr:href","name":"|text"},"chapter":{"sel":"h1 + .row select[rel=\"chap-select\"] option","url":"|attr:value","label":"|text"}}},{"id":"mangaplus","releases":{"title":{"sel":"[class*=\"UpdatedTitle-module_titleWrapper_\"]","url":"a|attr:href","name":"[class*=\"UpdatedTitle-module_titleName_\"]|text","chapter":{"sel":"[class*=\"UpdatedTitle-module_chapterTitle_\"]","label":"|text"}}},"title":{"lazy":true,"sel":"h1[class*=\"TitleDetailHeader-module_title_\"]","name":"h1[class*=\"TitleDetailHeader-module_title_\"]|text","img":"img[class*=\"TitleDetailHeader-module_coverImage_\"]|attr:src","chapter":{"sel":"[class*=\"ChapterListItem-module_chapterListItem_\"]","url":"a[class*=\"ChapterListItem-module_commentContainer_\"]|attr:href","label":"[class*=\"ChapterListItem-module_name_\"]|text","at":"[class*=\"ChapterListItem-module_date_\"]|text"}},"reader":{"content":"[class*=\"Viewer-module_viewerContainer_\"]","label":"[class*=\"Navigation-module_chapterTitle_\"]|text","lstrip":"input#mode-vertical:checked","lstripBtn":"input#mode-vertical","title":{"sel":"a:has(> [class*=\"Navigation-module_title_\"])","url":"|attr:href","name":"h1|text"},"chapter":{"sel":"ul > li[class*=\"SideMenu-module_chapter_\"]","label":"|text"}},"search":{"lazy":true,"empty":"p[class*=\"nothingMatched\"]","title":{"sel":"a[class^=\"AllTitle\"]","url":"|attr:href","name":"p|text","img":"img|[attr:data-src,attr-contain:src]"}}},{"id":"flame","releases":{"title":{"sel":"[class*=\"SeriesCard_chapterCardContainer__\"]","url":"a|attr:href","name":".mantine-Stack-root a|text","chapter":{"sel":"a:has(> [class*=\"SeriesCard_chapterPillWrapper__\"])","url":"|attr:href","label":"p:first-child|text","at":"p:not(:first-child)|text"}}},"title":{"name":"main h1|text","img":"img[alt=\"Cover\"]|attr:src","tags":"a[href*=\"/genre/\"] span|text","type":"p[class*=\"SeriesPage_infoField__\"]|row:type","first":".mantine-Paper-root p + a[href*=\"/series/\"]|attr:href","chapter":{"sel":"a[class*=\"ChapterCard_chapterWrapper__\"]","url":"|attr:href","label":"p:first-child|text","at":"p:not(:first-child)|text"}},"reader":{"content":"body","label":"p[class*=\"TopChapterNavbar_chapter_title__\"]|text","prevBtn":"button:has(.bi-arrow-left)","nextBtn":"button:has(.bi-arrow-right)","title":{"sel":"[class*=\"TopChapterNavbar_inner__\"]","name":"[class*=\"TopChapterNavbar_series_title__\"]|text","url":"a|attr:href"},"chapter":{"trigger":"button:has(.bi-card-list)","dismiss":".mantine-Modal-overlay, .mantine-CloseButton-root","sel":"[class*=\"ChapterCard_chapterWrapper__\"]","url":"|attr:href","label":"p:first-child|text","at":"p:not(:first-child)|text"}}},{"id":"vortex","generic":true,"meta":{"releases":null,"titleBase":"series","readerBase":"series/{titleSlug}","searchBase":"series?searchTerm=","titleIdType":"slug","defaultLang":"en","trailing":false,"noTags":true},"releases":{"title":{"sel":"div:has(> a):has(.lucide-star):not(:has(img))","url":"a|attr:href","name":"a|text","chapter":{"sel":"div a","url":"|attr:href","label":"span|text","at":"time|attr:datetime"}}},"title":{"sel":"[itemtype=\"http://schema.org/CreativeWorkSeries\"]","name":"h1[itemprop=\"name\"]|text","img":"[itemprop=\"image\"] img|attr:src","type":"h1:has(> svg)|row:type","first":"a[href*=\"/series/\"]:has(button)|attr:href","hasMore":"[opts*=\"SeriesChaptersPanelIsland\"] button .lucide-chevron-down","chapter":{"lazy":false,"sel":"a[href*=\"/series/{titleSlug}/\"]:has(img)","url":"|attr:href","label":"h3, div span|text","at":"time|attr:datetime || span + div:last-child div, h3 + div span|text"}},"reader":{"sel":"a:has(img):has([itemprop=\"dateCreated\"])","content":"section:has(.image-container),main,body","label":"button:has(.lucide-chevron-down)|text","prev":"[aria-label=\"Prev\"], [aria-label=\"Anterior\"]|attr:href","next":"[aria-label=\"Next\"], [aria-label=\"Siguiente\"]|attr:href","prevBtn":"[aria-label=\"Prev\"], [aria-label=\"Anterior\"]","nextBtn":"[aria-label=\"Next\"], [aria-label=\"Siguiente\"]","title":{"sel":"a[href*=\"/series\"]:has(img)","name":"p|text || div:has(~ time)|text|remove:\\sChapter.+","url":"|attr:href"},"chapter":{"trigger":"button:has(.lucide-chevron-down)","sel":"[data-radix-popper-content-wrapper] [role=\"option\"], [data-radix-scroll-area-viewport] button, button:has(.lucide-chevron-down) ~ .absolute div button","label":"div div span|text || span:last-child|text || |text"}},"search":{"lazy":true,"loading":"button > .animate-spin","title":{"sel":"div:has(> div > a[href*=\"/series/\"])","url":"a|attr:href","name":"a h1|text","img":"a img|attr-contain:src","chapter":{"sel":"a:has(time)","url":"|attr:href","label":"p|text","at":"time|attr:datetime"}}}},{"id":"weebcentral","releases":{"title":{"sel":"[x-data*=\"sub_feed_shown\"] section article","url":"a:first-child|attr:href","name":"div:not(:has(span)) div|text","chapter":{"sel":"a:not(:first-child)","url":"|attr:href","label":"div:not(:first-child) span|text","at":"time|attr:datetime"}}},"title":{"name":"h1|text","img":"picture img|attr:src","tags":"li a[href*=\"?included_tag=\"]|text","type":"li a[href*=\"?included_type=\"]|text","hasMore":"#chapter-list a","first":"[x-data]:has(> a[href*=\"chapters/\"]):last-child a|attr:href"},"reader":{"content":"[hx-include*=\"reading_style\"]","imgs":"[hx-include*=\"reading_style\"] img|attr-contain:src","label":"[hx-target=\"#chapter-select-body\"] span|text","lstripBtn":"input[value=\"long_strip\"]","lstrip":"input[value=\"long_strip\"]:checked","prevBtn":"button[\\@click=\"prevPage()\"]","nextBtn":"button[\\@click=\"nextPage()\"]","title":{"sel":"#nav-top a[href*=\"/series/\"]","url":"|attr:href","name":"span|text"},"chapter":{"trigger":"button[hx-target=\"#chapter-select-body\"]"}},"chapters":{"chapter":{"sel":"a[href*=\"/chapters/\"]","url":"|attr:href","label":"span span|text","at":"time|attr:datetime"}},"search":{"lazy":true,"empty":"main [role=\"alert\"]","title":{"sel":"article:has(a img)","url":"a|attr:href","name":"a:not(:has(img))|text","img":"a img|attr-contain:src"}}},{"id":"lua","releases":{"title":{"sel":"div:has(> div > a[href*=\"/series/\"]):has(a > h5)","url":"a|attr:href","name":"h5|text","chapter":{"sel":"a + div a","url":"|attr:href","label":"span:first-child|text","at":"span:not(:first-child)|text"}}},"title":{"name":"h1|text","img":"main div > img[src]|attr-contain:src","hasMore":"[aria-current=\"page\"]","chapter":{"sel":"a[href*=\"/series/\"]:has(> li)","url":"|attr:href","label":"div > span:first-child|text","at":"div > span:not(:first-child)|text"}},"reader":{"label":"h1|text","prev":"a[href*=\"/series/\"]:has(> button [data-icon=\"chevron-left\"])|attr:href","next":"a[href*=\"/series/\"]:has(> button [data-icon=\"chevron-right\"])|attr:href","content":"body","title":{"sel":"nav:has(h1)","name":"h2|text","url":"a:has(svg[data-icon=\"house\"])|attr:href"},"chapter":{"trigger":"button:has(> [data-icon=\"list\"])","sel":"#headlessui-portal-root ul a[href*=\"/series/\"]:has(> li)","url":"|attr:href","label":"span:first-child|text","at":"span:not(first-child)|text"}},"chapters":{"chapter":{"json":true,"sel":"","label":"chapter_name","url":"chapter_slug","at":"created_at"}}},{"id":"mangabuddy","releases":{"title":{"sel":".main-container .book-item .meta","name":"h3 a|text","url":"h3 a|attr:href","chapter":{"sel":".chap-item","label":"h4 a|text","url":"h4 a|attr:href","at":".updated-date span|text"}}},"title":{"sel":"#chapter-list","name":"h1|text","img":".img-cover img|attr-contain:src","tags":".detail a[href*=\"/genres/\"]|text","chapter":{"sel":"#chapter-list > li > a","url":"|attr:href","label":".chapter-title|text","at":".chapter-update|text"}},"reader":{"label":"#breadcrumbs-container .breadcrumbs-item:last-child|text","title":{"sel":"#breadcrumbs-container .breadcrumbs-item:nth-child(2) a","url":"|attr:href","name":"span|text"},"content":"#chapter-images","imgDivs":".chapter-image","prev":"a#btn-prev|attr:href","next":"a#btn-next|attr:href","chapter":{"trigger":"#load-chapters","sel":".chapter-select option","url":"|attr:value","label":"|text"}}},{"id":"rolia","releases":{"title":{"sel":"#manga-grid .group","url":"a|attr:href","name":"a|attr:title","chapter":{"sel":"a ~ div:has(a)","url":"a|attr:href","label":"a|text","at":"span|text"}}},"title":{"id":"[data-manga-id]|attr:data-manga-id","name":"h1|text","img":"img[alt*=\"Cover background\"]|attr-contain:src","tags":"a[href*=\"/tag/\"]|text","first":"a#start-reading-btn|attr:href"},"reader":{"title":{"url":"a[href*=\"/manga/\"][title]|attr:href","name":"a[href*=\"/manga/\"][title]|attr:title","id":"[data-manga-id]|attr:data-manga-id"},"label":"#chapter-select option:checked|text","content":"#chapter-images-container","imgs":".comic-image-container img|attr:data-src","chapter":{"sel":"#chapter-select option","label":"|text","url":"|attr:value"}},"search":{"title":{"sel":"a[href*=\"/manga/\"]","url":"|attr:href","name":"h3|text"}}},{"id":"lelscanfr","releases":{"title":{"sel":"div:has(> #card-real)","url":"a|attr:href","name":"h2|text","chapter":{"sel":"#card-real + div div:has(a)","label":"b|text","url":"a|attr:href","at":"a + span|text"}}},"title":{"name":"main h2|text","img":"main img[alt]|attr-contain:src","tags":"main a[href*=\"genre=\"]|text","type":"a[href*=\"type=\"]|text","hasMore":"ul.pagination","chapter":{"sel":"#chapters-list > a","url":"|attr:href","label":"div:first-child > span|text","at":"div:nth-child(2) > span"}},"reader":{"label":"h2|text","title":{"sel":"h3 a","url":"|attr:href","name":"|text"},"content":"#chapter-container, main","lstrip":"#reading-types option[value=\"long\"]:checked","lstripBtn":"#reading-types option[value=\"long\"]","prev":"div:has(#chapter-select) + div a:first-child[href*=\"/manga/\"]|attr:href","next":"div:has(#chapter-select) + div a:last-child[href*=\"/manga/\"]|attr:href","chapter":{"sel":"div:has(~ #chapter-container) #chapter-select option","label":"|text","url":"|text"}}},{"id":"phoenix","releases":{"title":{"sel":".main__latest-releases-card","url":"a|attr:href","name":"h3 text","chapter":{"sel":"a.main__latest-releases-card-chapter","url":"|attr:href","label":".main__latest-releases-card-chapter-number|text","at":".main__latest-releases-card-chapter-date|text"}}},"title":{"name":"h1|text","img":"img.project__cover|attr-contain:src","chapter":{"sel":"a.project__chapter","url":"|attr:href","label":".project__chapter-title|text","at":".project__chapter-date|text"}},"reader":{"label":".chapter__nav-chapter-title-number|text","title":{"sel":"a.chapter__nav-chapter","url":"|attr:href","name":".chapter__nav-title|text"},"content":".chapter-images__container","prev":"a.chapter__previous|attr:href","next":"a.chapter__next|attr:href","chapter":{"trigger":".chapter-images__controls-chapter","sel":".chapter-list .chapter_item a","url":"|attr:href","label":"|text"}}},{"id":"manhwaz","title":{"name":".post-title h1|text","img":".summary_image img[alt]|attr-contain:src","tags":".genres-content a[rel=\"tag\"]|text","chapter":{"sel":".wp-manga-chapter","label":"a|text","url":"a|attr:href","at":".chapter-release-date i|text"}},"reader":{"label":".breadcrumb .active|text","title":{"sel":".breadcrumb li:has(+ .active) a","url":"|attr:href","name":"|text"},"content":"#chapter_content, .reading-content","prev":".nav-previous a|attr:href","next":".nav-next a|attr:href","chapter":{"sel":"#manga-reading-nav-head .single-chapter-select option","url":"|attr:value","label":"|text"}},"search":{"title":{"sel":".page-item-detail","url":"a|attr:href","name":"h3 a|text","img":"img|attr-contain:src","chapter":{"sel":".chapter-item ","url":"a|attr:href","label":"a|text","at":".post-on|text"}}}},{"id":"dynasty","title":{"name":"h2.tag-title b|text","img":".cover img|attr-contain:src","tags":".tag-tags a.label|text","chapter":{"sel":".chapter-list dd:has(> a.name)","url":"a|attr:href","label":"a|text","at":"small|text"}},"reader":{"label":"h3#chapter-title b|text","title":{"sel":"h3#chapter-title a","url":"|attr:href","name":"|text"},"content":"#image","prev":"a#prev_link|attr:href","next":"a#next_link|attr:href"},"search":{"title":{"sel":".chapter-list a.name","url":"|attr:href","name":"|text"}}},{"id":"fmteam","releases":{"title":{"sel":".item:has(h5 a)","name":"h5 a|text","url":"h5 a|attr:href","chapter":{"sel":"a[href*=\"/read/\"]","label":"|text","url":"|attr:href"}}},"title":{"lazy":true,"sel":"#comic","name":"#comic .card-header|text","img":"#comic .card-body .thumbnail-full img|attr-contain:src","type":"#comic .card-body div:has(> label)|row:format","tags":"#comic .card-body div:has(> label)|row:genres","chapter":{"sel":"div:has(> div > .chapter a[href*=\"/read/\"])","label":"a[href*=\"/read/\"]|text","url":"a[href*=\"/read/\"]|attr:href","at":"div:last-child[title]|attr:title"}},"reader":{"title":{"sel":"#reader-controls-title a","name":"|text","url":"|attr:href"},"label":"select[name=\"jump-chapter\"] option:checked|text","content":"#reader-images","imgDivs":"#reader-images [data-page]","lstrip":".active > [data-value=\"long-strip\"]","lstripBtn":"[data-value=\"long-strip\"]","prev":"#chapter-link-left[href*=\"/read\"]|attr:href","next":"#chapter-link-right[href*=\"/read\"]|attr:href","chapter":{"sel":"select[name=\"jump-chapter\"] option","label":"|text","url":"|attr:value"}}},{"id":"readallcomics","title":{"name":"h1 b|text","img":".description-archive img|attr-contain:src","tags":"h1 ~ div p strong|text","chapter":{"sel":".list-story li a","url":"|attr:href","label":"|text"}},"reader":{"sel":"center > p:has(> img)","label":"h3 strong|text","title":{"sel":".pinbin-category a","name":"|text","url":"|attr:href"},"content":"center > p:has(> img)","imgs":"center > p > img|[attr:data-jh-lazy-img,attr-contain:src]","chapter":{"sel":"center:has(> p > img) ~ div center select option","label":"|text","url":"|attr:value"}}},{"id":"philia","releases":{"title":{"sel":"main .unit","name":"a.c-title|text","url":"a.c-title|attr:href","chapter":{"sel":"li a","url":"|attr:href","label":".ch-num|text","at":".ch-date|text"}}},"title":{"name":"h1.serie-title|text","img":"img.cover|attr-contain:src","type":".stat-label|row:type","chapter":{"sel":".chapter-group a","url":"|attr:href","label":"zebi|text","at":".time|text"}},"reader":{"label":".current-type-number|text","title":{"sel":"a.manga-title","url":"|attr:href","name":"|text"},"content":"#ch-images","chapter":{"sel":".chapter-list ul .item","url":"|attr:data-chapter","label":"a|text"}},"search":{"title":{"sel":".unit","url":"a|attr:href","name":".c-title|name","img":"img|attr-contain:src","chapter":{"sel":".content > li a","url":"|attr:href","label":".ch-num|text","at":"ch-date|text"}}}},{"id":"batcave","releases":{"title":{"sel":"li.latest","name":"a.latest__title|text","url":"a.latest__title|attr:href","chapter":{"sel":".latest__chapter a","url":"|attr:href","label":"|text"}}},"title":{"name":"#dle-content h1|text","img":"#dle-content .img-wide img|attr-contain:src","id":"[data-ratig-layer-id]|attr:data-ratig-layer-id","chapter":{"sel":".cl__item","label":".cl__item-num|text","url":"a|attr:href","at":".cl__item-date|text"}},"reader":{"label":".chapter__selector-trigger__title|text","title":{"sel":"a.header__post-link","url":"|attr:href","name":".header__post-title|text"},"content":".reader-view","chapter":{"trigger":".chapter__selector-trigger","sel":".chapters__list a","url":"|attr:href","label":"|text"},"prev":".chapter__selector a:has(.fa-angle-left)[href*=\"/reader/\"]|attr:href","next":".chapter__selector a:has(.fa-angle-right)[href*=\"/reader/\"]|attr:href"}},{"id":"tcb","title":{"name":"h1|text","img":"main img|attr-contain:src","chapter":{"sel":"main a[href*=\"/chapters/\"]","url":"|attr:href","label":"div|text"}},"reader":{"label":"h1|text|remove:.+-","title":{"name":"h1|text|remove:-.+","url":"main a[href*=\"/mangas/\"]|attr:href"},"prev":"a[href*=\"/chapters/\"]:has(+ a[href*=\"/mangas/\"])|attr:href","next":"a[href*=\"/mangas/\"] + a[href*=\"/chapters/\"]|attr:href","content":"main"}},{"id":"mangapill","releases":{"title":{"sel":"div:has(> a[href*=\"/chapters/\"]):has(div > a[href*=\"/manga/\"])","name":"a[href*=\"/manga/\"]|text","url":"a[href*=\"/manga/\"]|attr:href","chapter":{"sel":"div:has(> a[href*=\"/chapters/\"])","url":"a[href*=\"/chapters/\"]|attr:href","label":"a[href*=\"/chapters/\"]|text","at":"time-ago|attr:datetime"}}},"title":{"name":"h1|text","img":"header ~ div img|attr:data-src","tags":"a[href*=\"?genre=\"]|text","chapter":{"sel":"#chapters a[href*=\"/chapters/\"]","url":"|attr:href","label":"|text"}},"reader":{"label":"h1#top|text","title":{"sel":"#js-chapter-selector-modal div:has(> a[href*=\"/manga/\"])","name":"#chapter-selector-modal-title|text","url":"a|attr:href"},"content":"div:has(> chapter-page)","imgs":"chapter-page picture img|attr-contain:src","prev":"a[data-hotkey=\"ArrowLeft\"]|attr:href","next":"a[data-hotkey=\"ArrowRight\"]|attr:href","chapter":{"trigger":"button[data-micromodal-trigger=\"js-chapter-selector-modal\"]","dismiss":"#js-chapter-selector-modal button[data-micromodal-close]","sel":"#js-chapter-selector-modal a[href*=\"/chapters/\"]","url":"|attr:href","label":"|text"}},"search":{"title":{"sel":"div:has(> a img)","url":"a|attr:href","name":"a:not(:has(img)) div|text","img":"a img|[attr:data-src,attr-contain:src]"}}},{"id":"mangataro","releases":{"title":{"sel":"#manga-grid > div:has(a + div a[href*=\"/read/\"])","name":"a|attr:title","url":"a|attr:href","chapter":{"sel":"div:has(> a[href*=\"/read/\"])","url":"a|attr:href","label":"a|text","at":"span:last-child|text"}}},"title":{"name":"h1|text","img":".manga-page-wrapper img|attr-contain:src","tags":".manga-page-wrapper a[href*=\"/tag/\"]|text","type":"h1 + p + div + div > span|text","first":"a#start-reading-btn|attr:href"},"reader":{"title":{"sel":"a[href*=\"/manga/\"]","url":"|attr:href","name":"span|text"},"label":"select#chapter-select option:checked|text","content":".reader","imgs":".comic-image-container img|[attr:data-src,attr-contain:src]","chapter":{"sel":"select#chapter-select option","url":"|attr:value","label":"|text"}},"search":{"title":{"sel":".group a[href*=\"manga\"]","url":"|attr:href","name":"img|attr:alt"}}},{"id":"demonic","releases":{"title":{"sel":".updates-element-info","name":"h2 a|text","url":"a|attr:href","chapter":{"sel":".chap-date","url":"a|attr:href","label":"a|text","at":"div:last-child a|text"}}},"title":{"name":"h1.big-fat-titles|text","img":"#manga-page img[alt]|attr-contain:src","chapter":{"sel":"#chapters-list li > a","url":"|attr:href","label":"|text","at":"span|text"}},"reader":{"sel":".chapter-info h1 a","title":{"sel":".chapter-info h1 a","url":"|attr:href","name":"|text"},"label":"h2|text","content":"body","imgs":"img.imgholder:not([data-tried]):not([src*=\"/free_ads\"])|attr-contain:src","chapter":{"sel":"h2 + .chapters-nav select option","label":"|text","url":"|attr:value"}}},{"id":"atsu","title":{"lazy":true,"sel":"h1","name":"h1|text","img":".poster|attr-contain:src","tags":"a[href*=\"/explore?genres=\"]|text","first":"a[href*=\"/read/\"]:has([data-icon=\"book-open\"])|attr:href","trackers":{"anl":"a[href*=\"anilist.co\"]|attr:href|pattern:.*/(\\d+)$","mal":"a[href*=\"myanimelist.net\"]|attr:href|pattern:.*/(\\d+)$"},"hasMore":"button:has(+ div > a[href*=\"/read/\"])","chapter":{"sel":"div:has(> a[href*=\"/read/\"]):has(div.truncate):has(~ button), div:not(:has(> button)) > div:has(> a[href*=\"/read/\"]):has(div.truncate)","url":"a|attr:href","label":"div.truncate:first-child|text","at":"div.truncate + div:last-child|text"}},"chapters":{"chapter":{"json":true,"sel":"chapters","label":"number","url":"id"}},"search":{"lazy":true,"empty":"div > h1","title":{"sel":"a[href*=\"/manga/\"]","url":"|attr:href","name":"p|text","img":"img|attr-contain:src"}}},{"id":"kali","title":{"name":".name h1|text","img":".img-cover img|[attr:data-src,attr-contain:src]","tags":".meta a[href*=\"/genres/\"]|text","chapter":{"sel":"#chapter-list li > a","url":"|attr:href","label":".chapter-title|text","at":".chapter-update|text"}},"reader":{"lazy":true,"sel":".chapter-image","title":{"sel":".breadcrumbs-item a[href*=\"/manga/\"]","url":"|attr:href","name":"span|text"},"label":".breadcrumbs-item:last-child span|text","imgDivs":".chapter-image","prev":"#btn-prev|attr:href","next":"#btn-next|attr:href","chapter":{"trigger":"#load-chapters","sel":".chapter-select option","label":"|text","url":"|attr:value"}},"search":{"title":{"sel":".book-detailed-item","img":"img|[attr:data-src,attr-contain:src]","name":"h3 a|text","url":"h3 a|attr:href","chapter":{"sel":".thumb","label":".latest-chapter|text"}}}},{"id":"mangafreak","releases":{"title":{"sel":".latest_item","url":"a|attr:href","name":"a.name|text","chapter":{"sel":".chapter_box a","url":"|attr:href","label":"|text"}}},"title":{"name":"h1|text","img":".manga_series_image img|attr-contain:src","tags":".series_sub_genre_list > a|text","chapter":{"sel":".manga_series_list tbody tr","url":"a|attr:href","label":"a|text","at":"td:last-child|text"}},"reader":{"title":{"sel":"h1.title a","url":"|attr:href","name":"|text"},"label":"h1|text","imgs":".read_image img|attr-contain:src","chapter":{"sel":".chapter_list select option","label":"|text","url":"|attr:value"}},"search":{"title":{"sel":".manga_search_item","name":"h3 a|text","url":"a|attr:href","img":"img|attr-contain:src"}}},{"id":"readcomiconline","title":{"name":".barContent .bigChar|text","img":"#rightside img, .main img|attr-contain:src","chapter":{"sel":".listing tbody tr:has(a)","label":"a|text","url":"a|attr:href","at":"td:last-child|text"}},"reader":{"title":{"sel":"#navsubbar a","url":"|attr:href","name":"|text|pattern:Comic (.+) information"},"label":".selectEpisode option:checked|text","lstrip":"#selectReadType option[value=\"1\"]:checked","lstripBtn":"#selectReadType option[value=\"1\"]","content":"#divImage","chapter":{"sel":".selectEpisode option","url":"|attr:value","label":"|text"}}},{"id":"valir","generic":true,"meta":{"releases":"latest","titleBase":"series","readerBase":"chapter","searchBase":"series/?q=","titleIdType":"slug","defaultLang":"en","noTags":true,"trailing":true},"releases":{"title":{"sel":".latest-poster","name":"a h3|text","url":"a|attr:href","chapter":{"sel":"a[href*=\"/chapter/\"]","url":"|attr:href","label":"span div|text","at":"span:last-child|text"}}},"title":{"sel":".bg-\\[image\\:--photoURL\\]","name":"h1|text","img":".bg-\\[image\\:--photoURL\\]|bg-image","chapter":{"sel":"#chapters > a","url":"|attr:href","label":"span span|text","at":"span + div div|text"}},"reader":{"sel":"#chapter_header a[href*=\"/series/\"]","title":{"sel":"#chapter_header a[href*=\"/series/\"]","url":"|attr:href","name":"|text"},"label":"#chapter_header span:has(a[href*=\"/series/\"])|text","content":"#pages","chapter":{"sel":"#chapters > a","url":"|attr:href","label":"span span|text","at":"span + div div|text"}},"search":{"lazy":true,"delay":500,"empty":"#no_results_page","title":{"sel":"#searched_series_page > button:not(.hidden)","name":"a h3|text","url":"a|attr:href","img":"div[style*=\"background-image\"]|bg-image"}}},{"id":"rithar","releases":{"title":{"sel":".latest-poster","name":"a h3|text","url":"a|attr:href","chapter":{"sel":"a[href*=\"/read/\"]","url":"|attr:href","label":"span div|text","at":"span:last-child|text"}}},"title":{"name":"h1|text","img":"main div[style*=\"background-image\"]|bg-image","chapter":{"sel":"#chapters > a","url":"|attr:href","label":"span span|text","at":"div:has(> span) + div div|text"}},"reader":{"title":{"sel":"header a[href*=\"/series/\"]","url":"|attr:href","name":"|text"},"label":"header a[href*=\"/series/\"] + span|text","lstrip":"[x-ref=\"webtoonContainer\"]","lstripBtn":"div:has(> img[src*=\"up-down\"])","imgDivs":"[id*=\"webtoon-page-\"]","chapter":{"sel":"#chapters > a","url":"|attr:href","label":"span span|text","at":"span + div div|text"}},"search":{"title":{"sel":"#main-content button:has(a[href*=\"/series/\"])","name":"a h3|text","url":"a|attr:href","img":"div[style*=\"background-image\"]|bg-image"}}},{"id":"rawkuma","releases":{"title":{"sel":"#search-results > div","url":"a|attr:href","name":"h1|text","chapter":{"sel":"div > a:has(time)","url":"|attr:href","label":"p|text","at":"time|attr:datetime"}}},"title":{"name":"h1[itemprop=\"name\"]|text","img":"[itemprop=\"image\"] img|attr-contain:src","tags":"a[href*=\"/genre/\"] span|text","type":"h4|row:type","first":"button a[href*=\"/manga/\"]|attr:href"},"reader":{"title":{"name":"a[href*=\"/manga/\"] img[alt]|attr:alt","url":"a[href*=\"/manga/\"]|text"},"label":"div:has(> time) div|text","imgs":"section[data-image-data] > img|attr-contain:src","prev":"a[href*=\"/manga/\"]:has([data-lucide=\"chevron-left\"])|attr:href","next":"a[href*=\"/manga/\"]:has([data-lucide=\"chevron-right\"])|attr:href","chapter":{"trigger":"button[pop-content=\"#chapter-lists-head\"]","sel":"#chapter-lists-head li > a","url":"|attr:href","label":"|text"}}},{"id":"mangaberri","releases":{"title":{"sel":".manga-horizontal-item","url":"a|attr:href","name":"a|attr:title","chapter":{"sel":"a.episode","url":"|attr:href","label":"span|text"}}},"title":{"sel":".chapters-container","name":"h1|text","img":"img.comic-img|attr-contain:src","tags":".comic-attrs a[href*=\"genre=\"]|text","chapter":{"sel":".chapters-container > a","url":"|attr:href","label":"span|text"}},"reader":{"title":{"sel":".breadcrumb-container a:nth-of-type(2)","url":"|attr:href","name":"|attr:title"},"label":".breadcrumb-container a:nth-of-type(3)|attr:title","imgs":".reading-container img|attr-contain:src","chapter":{"sel":"#top_chapter_selection option","url":"|attr:value","label":"|text"}},"search":{"title":{"sel":".manga-item","img":"img|attr-contain:src","name":"a|attr:title","url":"a|attr:href","chapter":{"sel":"a:last-of-type","url":"|attr:href","label":"|text"}}}},{"id":"kagane","title":{"lazy":true,"sel":"h1","name":"h1|text","tags":"a[href*=\"search?genres=\"] span|text","firstBtn":"button:has(.lucide-play)"},"reader":{"title":{"name":"title|text|remove:-.+","url":"a[href*=\"/series/\"]|attr:href"},"label":"title|text|remove:.+-","content":".reader-pages-content","imgDivs":"[data-page]","prevBtn":"a:has(.lucide-arrow-left)","nextBtn":"a:has(.lucide-arrow-right)"},"chapters":{"chapter":{"json":true,"sel":"series_books","url":"book_id","label":"chapter_no","vol":"volume_no","at":"created_at","group":"groups.0.title"}},"search":{"lazy":true,"title":{"sel":"[data-series-item]","name":"h3|text","url":"a|attr:href"}}},{"id":"mangaball","title":{"name":"h6|text","img":"#featuredComicsCarousel img[alt]|attr-contain:src","tags":"[data-tag-id]|text"},"reader":{"title":{"name":"header h6|text","url":"[type=\"application/ld+json\"]|text|remove:^[\\s\\S]*?\"url\":\\s*\"|remove:\"[\\s\\S]*$"},"label":"#chapterTitle|text","content":"#mangaPages","imgs":"#mangaPages img|[attr:data-src,attr-contain:src]","group":"#translationGroup span|text"},"search":{"lazy":true,"loading":"button .spinner-border","title":{"sel":".chapter-card","name":"a|text","url":"a|attr:href","chapter":{"sel":".chapter-list > div","url":"a|attr:href","label":"a|text","at":"div:has(> i.fa-clock)|text"}}}},{"id":"mangatr","title":{"sel":"#tab1 .info-body h1","name":"#tab1 .info-body h1|text","img":".thumbnail|attr:src","tags":".manga-meta-card a[href*=\"tur=\"]|text","first":"#results a:has(+ .chapter-container)|attr:href","hasMore":"[data-page=\"2\"]","chapter":{"sel":".chapter-item","label":"a|text","url":"a|attr:href","at":".stats|text"}},"reader":{"sel":".chapter-content","title":{"sel":"a.navbar-brand","url":"|attr:href","name":"|text"},"label":".navbar-form option:checked|text","group":".chapter-content a.label|text","content":"#chapter-images","chapter":{"sel":".navbar-form option","url":"|attr:value","label":"|text"}}},{"id":"denizi","title":{"name":".panel-heading,h2|text","img":".single-managa .boxed img, h2 ~ div img|attr-contain:src","tags":"a[href*=\"/category/\"]|text","chapter":{"sel":".chapters > li","label":"a|text","url":"a|attr:href","at":".date-chapter-title-rtl|text"}},"reader":{"title":{"sel":".nav:has(#chapter-list) a","url":"|attr:href","name":"|text"},"label":"h1 b|text","content":"#all","imgs":"#all img|[attr:data-src,attr-contain:src]","chapter":{"sel":"#chapter-list li a","url":"|attr:href","label":"|text"}}},{"id":"mangabox","releases":{"title":{"sel":".itemupdate","name":"h3 a|text","url":"a|attr:href","chapter":{"sel":"ul > li:not(:first-child)","label":"a|text","url":"a|attr:href","at":"i|text"}}},"title":{"name":"h1|text","img":".manga-info-pic img|attr-contain:src","tags":".manga-info-text a[href*=\"/genre/\"]|text","chapter":{"sel":".chapter-list > .row","label":"a|text","url":"a|attr:href","at":"span:last-child|attr:title"}},"reader":{"title":{"sel":".breadcrumb a[href*=\"/manga/\"]","url":"|attr:href","name":"span|text"},"label":".breadcrumb > p > span:last-child span|text","imgs":".container-chapter-reader img|attr-contain:src","chapter":{"sel":".navi-change-chapter option","label":"|text","url":"|attr:data-url"}},"search":{"title":{"sel":".story_item","url":"a|attr:href","name":".story_name a|text","img":"img|attr-contain:src","chapter":{"sel":".story_chapter","url":"a|attr:href","label":"a|text"}}}},{"id":"merlin","title":{"name":"h1#manga-title,h1|text","img":".story-cover img|attr-contain:src","tags":"#genre-tags a[href*=\"/tur/\"]|text","hasMore":"a[href*=\"/page/2/\"]","first":".story-cover-wrap + div a|attr:href","chapter":{"sel":".chapter-item a","url":"|attr:href","label":"h3|text"}},"reader":{"title":{"sel":"#breadcrumb-manga","url":"|attr:href","name":"|text"},"label":"[aria-current=\"page\"]|text","prev":"a:has(> [uk-pagination-previous])|attr:href","next":"a:has(> [uk-pagination-next])|attr:href","imgs":"#chapter-content img|attr-contain:src","chapter":{"trigger":"#chapter-toggle","sel":"#chapter-dropdown li a","url":"|attr:href","label":"|text"}}},{"id":"temple","title":{"name":"main h1|text","img":"main img[alt]|attr-contain:src","tags":"h1 + div div:last-child > p + div:last-child p|text","chapter":{"sel":"a:has(h1):has(img):has(span)","url":"|attr:href","label":"h1|text","at":"div span:last-child|text"}},"reader":{"title":{"sel":"main h1 + a","url":"|attr:href","name":"|text"},"label":"main h1|text","imgDivs":"main [data-index]","prev":"main a:has(svg):first-child|attr:href","next":"main a:has(svg):last-child|attr:href","chapter":{"trigger":"button[aria-label=\"Chapters List\"]","sel":"[role=\"dialog\"] a[href*=\"/comic/\"]","url":"|attr:href","label":"h1|text","at":"h1 + span|text"}}},{"404":".error-page","id":"comix","releases":{"title":{"json":true,"sel":"result.items","id":"hash_id","url":"hash_id","name":"title","chapter":{"sel":"","label":"latest_chapter","at":"chapter_updated_at"}}},"title":{"id":"#syncData|json:manga_id","name":"h1|text || #syncData|json:name","img":".poster img|attr:src","tags":"a[href*=\"?genres=\"]|text","firstBtn":".read-btn","hasMore":".page-link[href=\"#2\"]","chapter":{"sel":".chap-list > li","url":"a|attr:href","label":"a b|text","at":"span:last-of-type|text","group":"a:last-child|text"},"trackers":{"mal":"a:has([alt=\"mal\"])|attr:href","anl":"a:has([alt=\"al\"])|attr:href"}},"reader":{"lazy":true,"sel":".read-viewer .page","title":{"id":"#syncData|json:manga_id","url":"a.back-btn|attr:href || #syncData|json:name","name":"a.back-btn|text || #syncData|json:name"},"label":".readbar-ctrl .dropdown-menu .dropdown-item.active|text || #syncData|json:number || title|text","group":".readbar-bottom .dropdown .value|text|remove:^no\\sgroup","imgDivs":".read-viewer .page","lstrip":".read-viewer.longsrtip,.read-viewer.longstrip","lstripBtn":".read-st-toggle;#page-layout-setting button:has([href*=\"longstrip\"])","prev":"#syncData|json:prev_chapter_url","next":"#syncData|json:next_chapter_url","chapter":{"sel":".readbar-ctrl .dropdown-menu .dropdown-item","label":"|text"}},"search":{"lazy":true,"loading":".section-loading","title":{"sel":".comic > .item","url":"a.title|attr:href","name":"a.title|text"}}},{"id":"manhuaplus","releases":{"title":{"sel":"#home-tab-update > div ","url":"a|attr:href","name":"img|attr:alt","chapter":{"sel":"div + a","url":"|attr:href","label":"|text"}}},"title":{"name":"h1|text","img":"main img|attr-contain:src","tags":"main article a[href*=\"/genres/\"]|text","chapter":{"sel":"#myUL > li","url":"a|attr:href","label":"a|text","at":"time|attr:datetime"}},"reader":{"title":{"sel":"h1 a","url":"|attr:href","name":"|text"},"label":"h1|text","content":"#chapterContent:not(:has(img[src*=\"loading.gif\"]))","imgs":"#chapterContent img:not([src*=\"loading.gif\"])|attr:src","prev":"a.prevBtn|attr:href","next":"a.nextBtn|attr:href","chapter":{"sel":"#top-control select option","url":"|attr:value","label":"|text"}},"search":{"title":{"sel":"div:has(> div + a[href*=\"/manga/\"])","url":"a|attr:href","name":"a|attr:title","chapter":{"sel":"div + a","url":"|attr:href","label":"|text"}}}},{"id":"projectsuki","releases":{"title":{"sel":".content .item","url":"a|attr:href","name":".details a|text","chapter":{"sel":"a[href*=\"/read/\"]","url":"|attr:href","label":"|text"}}},"title":{"name":"h2|text","img":".img-thumbnail|attr-contain:src","tags":"a[href*=\"/genre/\"]|text","chapter":{"sel":"tbody tr","url":"a|attr:href","label":"a|text","at":"td:last-child span|attr:title"}},"reader":{"title":{"sel":"main a:has(.fa-home)","url":"|attr:href","name":"|attr:title"},"label":"#chapter-select option:checked|text","content":".strip-reader:has(img:not(:first-child))","imgs":".strip-reader img|attr:src","chapter":{"sel":"#chapter-select option","url":"|attr:value","label":"|text"}},"search":{"title":{"sel":".content > div:has(a)","url":"a|attr:href","name":"h4 a|text"}}},{"id":"mangatown","releases":{"title":{"sel":".manga_pic_list > li, .post-list > li","name":".title a, .title|text","url":"a|attr:href","chapter":{"sel":".new_chapter a, a.read-btn","url":"|attr:href","label":"|text"}}},"title":{"name":"h1.title-top,.title|text","img":".detail_info > img, .manga-detail-top img|attr-contain:src","tags":".detail_info ul li|row:genre(s) || a[href*=\"/directory/\"]|text","type":".detail_info ul li|row:type","chapter":{"sel":".chapter_list > li, .detail-ch-list > li","url":"a|attr:href","label":"a|attr:name || a|text","at":".time|text"}},"reader":{"title":{"url":".title h2 a, .title a:last-child|attr:href","name":".sharebtn a|attr:st_title || .title a:last-child|text|remove:manga$"},"label":"#top_chapter_list option:checked, .title a|text","imgs":"#viewer img:not(.reader-main-img)|attr-contain:src","chapter":{"sel":"#top_chapter_list option","url":"|attr:value","label":"|text"}},"search":{"title":{"sel":".manga_pic_list > li, .post-list > li","url":"a|attr:href","name":"a|attr:title || a|attr:rel"}}},{"id":"mangatime","title":{"name":".anime__details__title h3|text","img":".anime__details__pic|bg-image","tags":".anime__details__widget li:last-child|text","chapter":{"sel":"a:has(> .detail-main-list-main)","url":"|attr:href","label":".title3|text","at":".title2|text"}},"reader":{"label":".breadcrumb__links span:last-child|text","title":{"sel":".breadcrumb__links a:last-of-type","url":"|attr:href","name":"|text"},"content":"#chapter-pages","chapter":{"sel":"#chapter-dropdown option","url":"|attr:value","label":"|text"}}},{"id":"imhen","title":{"name":"h1|text","img":".gallery_first img[alt]|[attr:data-src,attr-contain:src]"},"reader":{"label":".current|text","title":{"name":"#gimg|attr:alt|remove:page\\s\\d+.*$","url":"a.return_btn|attr:href"},"imgs":"#gimg|attr-contain:src"}},{"id":"manhwaread","title":{"name":"main h1|text","tags":"main a[href*=\"/tag/\"] span|text","chapter":{"sel":"#chaptersList > a","url":"|attr:href","label":".chapter-item__name|text","at":".chapter-item__date|text"}},"reader":{"title":{"sel":"#readingNavTop h2 a","url":"|attr:href","name":"|text"},"label":"h1|text","content":"#imagesList","chapter":{"sel":"#chaptersList > a","url":"|attr:href","label":"|text"}},"search":{"title":{"sel":".manga-item","name":"h3 a|text","url":"a|attr:href","chapter":{"sel":"a.chapter-item","url":"|attr:href","label":".chapter-name|text","at":".chapter-timestamp|text"}}}},{"id":"softkomik","releases":{"title":{"sel":".item-komik:has(.item-desc)","url":"a|attr:href","name":".item-title a|text","chapter":{"sel":".list-chapter a","url":"|attr:href","label":"span|text"}}},"title":{"lazy":true,"sel":".chapter-list a","name":"h1:has(+h2)|text","tags":".genre-des a|text","chapter":{"sel":".chapter-list a","url":"|attr:href","label":"|text"}},"reader":{"title":{"sel":"a:has(.fa-book)","url":"|attr:href","name":"p|text"},"label":".bt-show .item-chevron a:not([href])|text","content":".container-img:has(> img)","imgs":".container-img > img|attr:src","prev":"a:has(.fa-chevron-left)|attr:href","next":"a:has(.fa-chevron-right)|attr:href"},"search":{"title":{"sel":".item-komik","name":".item-title a|text","url":"a|attr:href","img":"img:has(~ noscript)|bg-image","chapter":{"sel":".list-chapter a","url":"|attr:href","label":"span|text"}}}},{"id":"eva","releases":{"title":{"sel":".lux-masonry-grid .lux-card","url":"a|attr:href","name":"h3 a |text","chapter":{"sel":".lux-chapters a","url":"|attr:href","label":".ch-text|text","at":".ch-time|text"}}},"title":{"name":"h1|text","img":".poster-box img|attr-contain:src","tags":"a.gen-tag|text","chapter":{"sel":"#chapterlist li","url":"a|attr:href","label":"|attr:data-num","at":".chapterdate|text"}},"reader":{"sel":"#readerArea","title":{"url":".reader-nav-link[title=\"Series\"]|attr:href","name":".manga-name|text"},"label":"h1.chapter-name|text","imgs":".page-wrapper img|attr-contain:src","chapter":{"sel":".dropdown-list a","url":"|attr:href","label":"span|text"}},"search":{"title":{"sel":".manga-card-v","name":"h3 a |text","img":"img|attr-contain:src","url":"a|attr:href","chapter":{"sel":"a:has(> .v-time)","url":"|attr:href","label":"span|text","at":".v-time|text"}}}},{"id":"mada","releases":{"title":{"sel":".postbody .legend-inner","url":"a|attr:href","name":"h3 a|text","chapter":{"sel":".legend-chapters a","url":"|attr:href","label":".ch-txt|text","at":".ch-time|text"}}},"title":{"name":"h1|text","tags":"a.lh-genre-tag|text","chapter":{"sel":"#chapters-list-container a","url":"|attr:href","label":".ch-num|text","at":".ch-date|text"}},"reader":{"title":{"sel":".reader-title-group","name":".reader-manga-title|text","url":"a|attr:href"},"label":".reader-chapter-badge|text","chapter":{"sel":".chapter-modal a","url":"|attr:href","label":"|text"},"content":"#readerarea","imgs":"#readerarea img|attr-contain:src"},"search":{"title":{"sel":".legend-inner","name":"h3 a|text","url":"a|attr:href","chapter":{"sel":".legend-chapters a","url":"|attr:href","label":".ch-txt|text","at":".ch-time|text"}}}},{"id":"otakuangel","title":{"name":"h1|text","img":"main img|attr:src","tags":"a[href*=\"?kategori=\"]|text","chapter":{"sel":"a[href*=\"/{titleSlug}/\"]","url":"|attr:href","label":"h3|text"}},"reader":{"title":{"sel":"a:has(h1)","url":"|attr:href","name":"h1|text"},"label":"h2|text","lstrip":"option[value=\"long-strip\"]:checked","lstripBtn":"option[value=\"long-strip\"]","content":"div:has(> .image-container)","imgDivs":".image-container","chapter":{"sel":"h2 + select option","url":"|text","label":"|text"}},"search":{"title":{"sel":"main [role=\"button\"]:has(a)","url":"a|attr:href","name":"a|text","chapter":{"sel":"a ~ div a","url":"|attr:href","label":"|text"}}}},{"id":"dflow","title":{"name":"h1|text","tags":"h1 ~ div strong + div > span|text","chapter":{"sel":"div:has(> a[href*=\"/ReadChapter/\"])","url":"a|attr:href","label":"h5|text","at":"p:has(> .fa-calendar)|text|remove:\\d+\\sviews$"}},"reader":{"title":{"sel":"h2 a","url":"|attr:href","name":"|text"},"label":"h2 + p|text","content":"#readerContainer","imgs":"#readerContainer img|attr-contain:src","chapter":{"sel":"select option[value*=\"/ReadChapter/\"]","url":"|attr:value","label":"|text"}},"search":{"title":{"sel":".manga-card","url":"a|attr:href","name":"h5|text"}}},{"id":"inkora","title":{"name":"h1|text","chapter":{"sel":"a[href*=\"/read/\"]","url":"|attr:href","label":"p|text","at":"p + div p|text"}},"reader":{"lazy":true,"sel":"button:has(.lucide-arrow-left) + a span:first-child:not(:empty)","title":{"sel":"button:has(.lucide-arrow-left) + a","url":"|attr:href","name":"span:first-child|text"},"label":"button:has(.lucide-arrow-left) + a span:last-child|text","imgs":"img[alt*=\"Page\"]|attr-contain:src","prevBtn":"button:has(.lucide-chevron-left):not([disabled])","nextBtn":"button:has(.lucide-chevron-right):not([disabled])","chapter":{"trigger":"button:has(.lucide-menu)","sel":".fixed a[href*=\"/read/\"]","url":"|attr:href","label":"span|text"}},"chapters":{"chapter":{"json":true,"sel":"chapters","url":"id","label":"chapterNumber","at":"releaseDate"}},"search":{"lazy":true,"loading":".lucide-loader-circle","title":{"sel":"a[href*=\"/manhwa/\"]","url":"|attr:href","name":"h3|text","chapter":{"sel":"span:has(> .lucide-book-open)","label":"|text"}}}},{"id":"moins","title":{"lazy":true,"sel":"#cta-first-container a","name":"h1|text","img":"#manga-cover|attr:src","chapter":{"sel":"a.chapter-item","url":"|attr:href","label":".ch-num|text","at":".ch-date|text"}},"reader":{"title":{"sel":".breadcrumb-reader a[href*=\"/manga/\"]","url":"|attr:href","name":"|text"},"label":"#current-chapter-label|text","content":"#image","lstrip":"#vertical","lstripBtn":"span:has(> #fa-vert)","chapter":{"json":"https://mangamoins.com/api/v1/manga.php","sel":"chapters","url":"folder","label":"num","at":"time"}}},{"id":"stone","title":{"name":"main h1|text","tags":"a[href*=\"?genre=\"]|text","chapter":{"json":"https://stonescape.xyz/api/series/{titleId}/chapters","sel":"chapters","label":"chapterNumber","url":"chapterNumber","at":"createdAt"}},"reader":{"title":{"sel":"header a[href*=\"/series/\"]","url":"|attr:href","name":"span|text"},"label":"button.s-select-trigger span|text","content":".s-reader__pages","imgDivs":".s-page-image","chapter":{"json":"https://stonescape.xyz/api/series/by-slug/{titleSlug}/chapters","sel":"chapters","label":"chapterNumber","url":"chapterNumber","at":"createdAt"}},"search":{"lazy":true,"loading":".s-skeleton","title":{"sel":"a[href*=\"/series/\"]","url":"|attr:href","name":"h3|text"}}},{"id":"rinko","releases":{"title":{"sel":".comic-card__body","url":"a|attr:href","name":"a|text","chapter":{"sel":"a.chapter-item","url":"|attr:href","label":"label|text","at":"span|text"}}},"title":{"name":"h1|text","img":".comic-cover img|attr-contain:src","tags":".genre|text","chapter":{"sel":".chapter a","url":"|attr:href","label":".chapter-number|text","at":".chapter-date|text"}},"reader":{"title":{"sel":".chapter-breadcrumb a[href*=\"/comic/\"]","url":"|attr:href","name":"|text"},"label":".breadcrumb-current|text","prev":{"sel":"a.prev","url":"|attr:href","label":".nav-chapter-name"},"next":{"sel":"a.next","url":"|attr:href","label":".nav-chapter-name"},"content":".images-flow"},"search":{"title":{"sel":".ac-card","url":"a|attr:href","name":".ac-title|text"}}},{"404":"div:has(.lucide-file-question-mark) + h1","id":"valir2","releases":{"title":{"sel":"[role=\"gridcell\"]","url":"a|attr:href","name":"h3|text","chapter":{"sel":"div:first-child > a[href*=\"/chapter/\"]","url":"|attr:href","label":"div:first-child span|text","at":"div:not(:first-child) span"}}},"title":{"sel":"h1","lazy":true,"name":"h1|text","tags":"a[href*=\"?tag=\"] span|text","first":"a[href*=\"/chapter/\"]:has(button)|attr:href","hasMore":"a[href*=\"page=2\"]:has(button)","chapter":{"lazy":false,"sel":"[role=\"tabpanel\"]:not(:has(a[href*=\"page=2\"])) a[href*=\"/chapter/\"]","url":"|attr:href","label":"div span|text","at":"span:has(.lucide-clock) span|text"}},"reader":{"sel":"h1","lazy":true,"title":{"name":"h1|text","url":"a:has(~ div h1)|attr:href"},"label":"h1 ~ p|text","imgDivs":":not([data-page]) > [data-page]","content":"main","prevBtn":"main ~ div button:has(.lucide-chevron-left)","nextBtn":"main ~ div button:has(.lucide-chevron-right)","chapter":{"trigger":"button:has(.lucide-book-open) ~ button:has(.lucide-menu)","sel":"[data-radix-scroll-area-viewport] a","url":"|attr:href","label":"p|text"}},"search":{"lazy":true,"empty":"div[data-state=\"active\"]:not(:has(a)):not(:empty)","title":{"sel":"div[data-state=\"active\"] a:has(img)","url":"|attr:href","name":"h3|text"}}},{"404":"img[src$=\"404.png\"]","id":"silentquill","releases":{"title":{"sel":"#content-all .bigor","url":"a|attr:href","name":".tt a|text","chapter":{"sel":".chfiv a","url":"|attr:href","label":".fivchap|text","at":".fivtime|text"}}},"title":{"sel":".seriestere","name":"h1|text","img":"img[itemprop=\"image\"]|attr-contain:src","hasMore":".kdt8-load-more","first":"a.kdt8-btn-first|attr:href","chapter":{"sel":"a.kdt8-ch-item","url":"|attr:href","label":".kdt8-ch-num|text","at":".kdt8-ch-date|text"}},"reader":{"sel":".readercontent","title":{"sel":"a.back-series","url":"|attr:href","name":"|attr:title"},"label":".ch-num|text","content":"#readerarea","imgs":".ts-main-image|[attr:data-src,attr-contain:src]","lstrip":"#readingmode option[value=\"full\"]:checked","lstripBtn":"#readingmode option[value=\"full\"]","chapter":{"sel":"#reader-topbar select#chapter option:not([disabled])","url":"|attr:value","label":"|text"}},"search":{"title":{"sel":".listupd .bsx","name":".bigor .tt|text","url":"a|attr:href"}}},{"id":"qi","releases":{"title":{"sel":"[aria-label=\"Latest Updates\"] article","url":"a|attr:href","name":".item-title|text","chapter":{"sel":"a.chapter-row","url":"|attr:href","label":".chapter-num|text","at":".chapter-time|text"}}},"title":{"name":"h1|text","tags":".genre-tag|text","hasMore":".page-btn[aria-label=\"Page 2\"]","first":".cover-actions a|attr:href","chapter":{"sel":".cl-list a","url":"|attr:href","label":".cl-num|text","at":".cl-date|text"}},"reader":{"title":{"sel":"a.r-back","url":"|attr:href","name":"|attr:aria-label"},"label":"nav [aria-current=\"page\"]|text","content":".r-strip","prevBtn":"nav button[aria-label=\"Previous chapter\"]","nextBtn":"nav button[aria-label=\"Next chapter\"]"},"chapters":{"chapter":{"json":true,"sel":"data","url":"slug","label":"number","at":"createdAt"}},"search":{"title":{"sel":"a.bc","url":"|attr:href","name":"|attr:aria-label"}}},{"id":"hades","releases":{"title":{"sel":".manga-card-container","url":"a|attr:href","name":"h4|text","chapter":{"sel":"a.ch-item","url":"|attr:href","label":".ch-name|text","at":".ch-date|text"}}},"title":{"name":"h1|text","img":".info-poster img|attr-contain:src","tags":".genre-list a|text","chapter":{"sel":"#chapterlist a","url":"|attr:href","label":".chapternum|text","at":".chapterdate|text"}},"reader":{"sel":"#readerarea","title":{"sel":"a.back-to-series","url":"|attr:href","name":"|text"},"label":"select#chapter option:checked|text","content":"#readerarea","lstrip":"#readingmode option[value=\"full\"]:checked","lstripBtn":"#readingmode option[value=\"full\"]","chapter":{"sel":".reader-nav.ctop select#chapter option:not([disabled])","url":"|attr:value","label":"|text"}},"search":{"title":{"sel":".manga-card-container","url":"a|attr:href","name":"h4|text"}}},{"id":"shadowi","releases":{"title":{"sel":"div:has(> img):has(h3)","url":"a[href*=\"/series/\"]|attr:href","name":"h3|text","chapter":{"sel":"div","url":"a[href*=\"/read/\"]|attr:href","label":"h4|text"}}},"title":{"name":"h1|text","img":"a[href*=\"/thumbnails\"] img|attr-contain:src","tags":"h1 ~ div [data-slot=\"badge\"]|text","hasMore":"button:not([disabled]) .lucide-chevron-right","firstBtn":"button:has(.lucide-play)","chapter":{"sel":".chapters-card a","url":"|attr:href","label":"h4|text","at":"h4 ~ div span:nth-child(5)|text"},"trackers":{"anl":"a[href*=\"anilist.co\"]|attr:href","mal":"a[href*=\"myanimelist.net\"]|attr:href"}},"reader":{"title":{"sel":"header a[href*=\"/series/\"]","url":"|attr:href","name":"|text"},"label":"button[role=\"combobox\"] span|text","content":".chapter-reader-continuous-wrap","imgs":".chapter-reader-image-cell|attr-contain:src","prev":"a:has(+ button[role=\"combobox\"])|attr:href","next":"button[role=\"combobox\"] + a|attr:href","chapter":{"trigger":"button[role=\"combobox\"]","sel":"[role=\"option\"]","label":"[id] span|text"}},"search":{"lazy":true,"empty":"ul[role=\"list\"]:empty","title":{"sel":"main ul li:has(h2)","url":"a|attr:href","name":"h2|text"}}}]
1
+ [{"404":"[data-text=\"404\"]","id":"asura2","releases":{"title":{"sel":"a[href*=\"/comics/\"]:has(img) + div","name":"a|text","url":"a|attr:href","chapter":{"sel":"a + div a","url":"|attr:href","label":"span|text","at":"time|text"}}},"title":{"name":"body:not(:has([data-text=\"404\"])) h1|text","img":"#desktop-cover-container img|attr-contain:src","tags":"a[href*=\"/browse?genres=\"]|text","chapter":{"lazy":false,"sel":"[opts*=\"ChapterListReact\"] a","url":"|attr:href","label":"span|text","at":".text-right span|text"}},"reader":{"title":{"sel":"script[type=\"application/ld+json\"]","url":"|json:itemListElement.2.item","name":"|json:itemListElement.2.name"},"label":"script[type=\"application/ld+json\"]|json:itemListElement.3.name","content":"div:has(> [data-page])","imgDivs":"[data-page], [data-page] ~ div","prev":"a:has([d=\"M15 19l-7-7 7-7\"])|attr:href","next":"a:has(svg:not(.rotate-180) [d=\"M9 5l7 7-7 7\"])|attr:href","chapter":{"json":"astro-island|attr:props","sel":"chapterList.1","url":"1.number.1","label":"1.number.1","at":"1.created_at.1"}},"search":{"title":{"sel":"a[href*=\"/comics/\"]:has(img)","url":"|attr:href","name":"img|attr:alt"}}},{"404":"#content > .wrapper > .notf img, body:empty","id":"mangastream","generic":true,"name":"meta[itemprop=\"name\"]|attr:content","meta":{"releases":"","titleBase":"series","readerBase":"","searchBase":"?s=","idBase":"?p=","titleIdType":"id","defaultLang":"en","trailing":true},"releases":{"title":{"sel":".listupd .utao .uta, .bixbox .bs.styletere","id":"a.series[rel]|attr:rel","name":"h4, .info .tt, .tt a, .series > h3|text","url":"a|attr:href","chapter":{"sel":".luf ul li, .chapter-list > a, .chfiv > li","label":"a .fivchap, a, .epxs|text","url":"a|attr:href || |attr:href","at":"a .fivtime, a + span, .epxdate, .newchtimeluffy|text"}}},"title":{"sel":"#chapterlist > ul","id":".bookmark[data-id]|attr:data-id || #rating-form input[name=\"bs_table_id\"]|attr:value","name":"h1.entry-title|text","img":".thumb img|attr-contain:src","type":".imptdt a[href*=\"type=\"]|text || .imptdt:first-of-type i|text","tags":".postbody .mgen > a|text","chapter":{"sel":"#chapterlist > ul > li","url":"a|attr:href","label":".chapternum|text","at":".chapterdate|text"}},"reader":{"sel":"#readerarea","content":"body","id":".ctop option:checked|attr:data-id","label":"h1.entry-title|text","title":{"sel":".headpost .allc a, [itemprop=\"itemListElement\"] [content=\"2\"] ~ a","name":"|text","url":"|attr:href"},"prev":"a.ch-prev-btn:not(.disabled)|attr:href","next":"a.ch-next-btn:not(.disabled)|attr:href","chapter":{"sel":".ctop #chapter option:not([disabled]):not([value=\"\"])","id":"|attr:data-id","label":"|text","url":"|attr:value"}},"search":{"title":{"sel":".listupd .bsx","name":".bigor .tt|text","url":"a|attr:href","img":"img|attr-contain:src"}}},{"404":".error-404.not-found","id":"madara","generic":true,"name":"meta[property=\"og:site_name\"]|attr:content || a.logo|attr:title","meta":{"releases":"","titleBase":"manga","readerBase":"manga/{titleSlug}","idBase":"?p=","searchBase":"?post_type=wp-manga&s=","defaultLang":"en","titleIdType":"id","trailing":true},"releases":{"title":{"sel":".page-listing-item .page-item-detail, .lastest-content .page-item-detail","id":"[data-post-id]|attr:data-post-id","name":"h3 a, .item-summary h3|text","url":"a|attr:href","chapter":{"sel":".chapter-item","label":".chapter a|text","url":".chapter a|attr:href","at":".c-new-tag|attr:title || .post-on|text"}}},"title":{"sel":"body.manga-page","id":"#manga-chapters-holder|attr:data-id || .rating-post-id|attr:value || [data-action=\"bookmark\"]|attr:data-post","name":"h1|text","img":".summary_image .img-responsive, .summary_image img, .series-img img|[attr:data-src,attr-contain:src]","tags":"a[rel=\"tag\"][href*=\"genre\"],a[rel=\"tag\"][href*=\"tag\"],.genres-content|text","type":".post-content_item .summary-heading|row:type","chapter":{"sel":"li.wp-manga-chapter, .chapter-ul > li","url":"a|attr:href","label":"a, .chapter-title-date > p|text","at":".c-new-tag|attr:title || .chapter-release-date i|text"}},"reader":{"sel":".entry-content .read-container","content":"body","label":".breadcrumb li.active|text","title":{"sel":".breadcrumb li:nth-last-of-type(2) a","id":"#manga-reading-nav-head|attr:data-id","name":"|text","url":"|attr:href"},"prev":"a.btn.prev_page|attr:href","next":"a.btn.next_page|attr:href","chapter":{"sel":"#manga-reading-nav-head select.single-chapter-select > option:not([disabled])","label":"|text","url":"|attr:data-redirect"}},"search":{"title":{"sel":".c-tabs-item__content","name":"h3 a|text","url":"a|attr:href","chapter":{"sel":".tab-meta","label":".chapter a|text","url":".chapter a|attr:href","at":".c-new-tag|attr:title || .post-on|text"}}}},{"id":"single01","generic":true,"meta":{"releases":null,"titleBase":"","readerBase":"chapter","defaultLang":"en","titleIdType":"name","trailing":true,"searchable":false,"noTags":true,"single":true},"title":{"sel":".main-content .chapters","name":"meta[property=\"og:site_name\"]|attr:content","img":"img.cover-image|attr-contain:src","chapter":{"sel":".chapters > a","url":"|attr:href","label":"p.t|text","at":".chapter-date|text"}},"reader":{"lazy":true,"sel":".chapter-selector option:checked","label":".chapter-selector option:checked|text","title":{"name":"meta[property=\"og:site_name\"]|attr:content","url":"a[title=\"Home\"]|attr:href"},"content":".images","chapter":{"sel":".chapter-nav:has(~.images) .chapter-selector option","url":"|attr:value","label":"|text"}}},{"id":"single02","generic":true,"meta":{"releases":null,"titleBase":"","readerBase":"manga","titleIdType":"name","trailing":true,"searchable":false,"noTags":true,"single":true},"title":{"sel":"body:has(#masthead):has(#primary #main #Chapters_List)","name":"#primary #main article header.entry-header > h1|text","img":"figure img|attr-contain:src","chapter":{"sel":"#Chapters_List a","url":"|attr:href","label":"|text"}},"reader":{"sel":"body:has(#masthead):has(.trail-items)","label":"h1|text","title":{"url":"#site-title a|attr:href","name":"#site-title a|text|remove:manga\\sonline$"},"content":".entry-content","prev":".nav-previous a,.wp-next-post-navi-pre a|attr:href","next":".nav-next a,.wp-next-post-navi-next a|attr:href"}},{"id":"single03","generic":true,"meta":{"releases":null,"titleBase":"","readerBase":"manga","titleIdType":"name","trailing":true,"searchable":false,"single":true},"title":{"sel":"body:has(.nnc-nav):has(#manga-info-right):has(#chapters-list-holder)","name":".info-desc h1|text|remove:manga\\sonline","img":".manga-thumb|attr-contain:src","tags":".genre-list > span|text","chapter":{"sel":"#chapters-list-holder > a","url":"|attr:href","label":".chapter-name|text","at":".chapter-date|text"}},"reader":{"sel":".mangosm-manga-nav","label":".mangosm-manga-nav-select option:checked|text","title":{"url":"#comic-breadcrumbs .item-home a|attr:href","name":"h1.entry-title|text|remove:,.+$"},"content":".entry-content","chapter":{"sel":".mangosm-manga-nav-select option","label":"|text","url":"|attr:value"}}},{"id":"single04","generic":true,"meta":{"releases":null,"titleBase":"","readerBase":"manga","titleIdType":"name","trailing":true,"searchable":false,"single":true},"title":{"sel":".all-chapters","name":"h1|text|remove:manga\\sonline$","img":".home-hero|bg-image","chapter":{"sel":".all-chapters li a","url":"|attr:href","label":"|text"}},"reader":{"sel":".chapter-images","title":{"name":"h1|text|remove:manga$","url":"a|attr:href"},"label":".home-hero-bc li:last-child|text","content":".chapter-images","imgs":".chapterImg|attr-contain:src","chapter":{"sel":".manga-chapter #chapterSelect option","url":"|attr:value","label":"|text"}}},{"id":"single05","generic":true,"meta":{"releases":null,"titleBase":"","readerBase":"manga","titleIdType":"name","trailing":true,"searchable":false,"single":true},"title":{"sel":".profile-manga","name":"h1|text","img":".cover_managa img|attr-contain:src","tags":"a[href*=\"manga-genre\"]|text","chapter":{"sel":".main-chapter a:has(div)","url":"|attr:href","label":"div div:first-child|text"}},"reader":{"sel":"body:has(h1#chapter-heading):has(.reading-content):has(.about_section)","title":{"url":".breadcrumb li a|attr:href","name":"[property=\"og:site_name\"]|attr:content"},"label":".single-chapter-select option:checked|text","content":".reading-content","imgs":".image-container img|attr-contain:src","chapter":{"sel":".header .single-chapter-select option","url":"|attr:data-redirect","label":"|text"}}},{"id":"single06","generic":true,"meta":{"releases":null,"titleBase":"","readerBase":"chapters","chapters":"chapters","titleIdType":"name","trailing":false,"searchable":false,"single":true,"noTags":true},"title":{"sel":"#chapter-sort-select","name":"nav a[href=\"/\"] span|text","tags":".bg-surface-secondary.rounded-full|text","hasMore":"button + div + button:not([disabled])","first":"main a[href*=\"/chapters/\"]|attr:href","chapter":{"sel":".grid a[href*=\"/chapters/\"]","url":"|attr:href","label":"div[aria-hidden]|text"}},"reader":{"sel":"main nav a[href=\"/chapters/\"]","title":{"name":"nav a[href=\"/\"] span|text","url":"nav a[href=\"/\"]|attr:href","img":"meta[property=\"og:image\"]|attr:content"},"label":"nav li:last-child span:last-child|text","content":"main","prev":"a[title=\"Previous Chapter\"]|attr:href","next":"a[title=\"Next Chapter\"]|attr:href"},"chapters":{"chapter":{"sel":"main .lg\\:hidden a","url":"|attr:href","label":"|text|remove:^.+/chapters/"}}},{"404":".elapi > a[href*=\"/search?q=\"]","id":"mangahub","releases":{"title":{"sel":".list-group-item .media","name":"h4.media-heading a|text","url":".media-heading a|attr:href","at":".media-heading .small|text","chapter":{"sel":".media-body > a","label":"|text","url":"|attr:href"}}},"title":{"sel":"#chapters-tab .tab-content","name":"#mangadetail h1|text","img":"#mangadetail img.manga-thumb|attr-contain:src","tags":"#mangadetail a.genre-label|text","chapter":{"sel":"#chapters-tab li.list-group-item","label":"a > span:first-child > span:first-child|text","url":"a:not([title])|attr:href || a:not([rel])|attr:href || a|attr:href","at":"small|text"}},"reader":{"content":"#mangareader .container-fluid, #mangareader","label":"h3|text","prev":".chapter-pager .previous a[href*=\"/chapter/\"]|attr:href","next":".chapter-pager .next a[href*=\"/chapter/\"]|attr:href","title":{"sel":"h3 a","name":"|text","url":"|attr:href"},"chapter":{"sel":".pager-dropdown .dropdown-menu > li > a","label":"|text","url":"|attr:href"}},"search":{"title":{"sel":".media-manga","name":"h4 a|text","url":"h4 a|attr:href","img":"img|attr-contain:src","chapter":{"sel":".media-body","label":"a[href*=\"/chapter/\"]|text","url":"a[href*=\"/chapter/\"]|attr:href"}}}},{"id":"mangadex","search":{"lazy":true,"loading":"[indeterminate] svg","title":{"sel":"a.manga-card-dense","url":"|attr:href","name":"a.title span|text","img":".cover img|attr-contain:src"}}},{"404":"#error > .attention","id":"mangago","releases":{"title":{"sel":"ul#search_list > li > div","name":"a.thm-effect|attr:title","url":"a.thm-effect|attr:href","chapter":{"sel":"a.chico","label":"|text","url":"|attr:href"}}},"title":{"name":".w-title h1|text","img":".article .cover img,#information img|attr-contain:src","tags":".manga_right a[href*=\"/genre/\"],.manga_info ul.uk-list a[href*=\"/genre/\"]|text","chapter":{"sel":"#chapter_table tbody tr, table.uk-table tbody tr","label":"h4 a b, a.chico b|text || a.chico|text","url":"h4 a, a.chico|attr:href","at":"td:last-child|text"}},"reader":{"content":"body","label":"#navi h3 span:last-child,#series + a.chapter|text","title":{"sel":"#navi a#series,#reader-nav .nav li:first-child a","name":"|text","url":"|attr:href"},"chapter":{"sel":".pagebar.top ul.dropdown-menu.chapter > li > a,#series ~ ul.chapter li a","label":"|text","url":"|attr:href"}},"search":{"title":{"sel":"#search_list > li .box","name":"a.thm-effect|attr:title","url":"a.thm-effect|attr:href","chapter":{"sel":"a.chico","label":"|text","url":"|attr:href"}}}},{"id":"tapas","title":{"id":".button--subscribe|attr:data-tiara-event-meta-series-id","name":".info .title|text","img":".thumb img|attr:src","first":".episode-list__item a|attr:href","chapter":{"sel":".episode-list .episode-list__item > a","url":"|attr:data-id","label":"|attr:data-scene-number"}},"reader":{"content":".viewer__body","id":"div[id^=\"episode-\"][data-ep-id]|attr:data-ep-id","label":"div[id^=\"episode-\"][data-ep-scene]|attr:data-ep-scene","prev":"div[data-prev-id]:not([data-prev-id=\"-1\"])|attr:data-prev-id","next":"div[data-next-id]:not([data-next-id=\"-1\"])|attr:data-next-id","title":{"id":".subscribe-btn|attr:data-id","url":".subscribe-btn|attr:data-id","name":".series-info .title|text","img":".series-info .thumb img|attr:src"},"chapter":{"sel":".episode-list .list-body > li[data-id]","url":"|attr:data-id","label":".info__label|text"}},"search":{"title":{"sel":".search-item-wrap","url":"a|attr:href","name":"img|attr:alt|remove:#\\.*\\?#","img":"img|attr-contain:src"}}},{"id":"mangafire","releases":{"title":{"sel":".unit > .inner","id":"a[data-tip]|attr:data-tip|remove:\\?.+","name":".info a|text","url":"a|attr:href","chapter":{"sel":"ul.content li a","label":"span:first-child|text","url":"|attr:href","at":"span:last-child"}}},"title":{"id":".bookmark[data-id]|attr:data-id","name":".info h1[itemprop=\"name\"]|text","img":".poster img|attr-contain:src","tags":"#info-rating a[href*=\"/genre/\"]|text","langs":".tab-content[data-name=\"chapter\"] a.dropdown-item[data-code]|attr:data-code","chapter":{"sel":".tab-content[data-name=\"chapter\"] li.item[data-number]","url":"a|attr:href","label":"|attr:data-number","at":"a span:last-child|text"}},"reader":{"content":"#page-wrapper","imgDivs":".page","lstrip":".setting-tab.page-layout [data-value=\"longstrip\"].active","lstripBtn":".setting-tab.page-layout [data-value=\"longstrip\"]","label":"#number-panel ul li a[href*=\"/read/\"][data-number].active|attr:data-number","title":{"sel":"#ctrl-menu .head a","id":"body|attr:data-id","url":"|attr:href","name":"|text"},"chapter":{"sel":"#number-panel ul li a[href*=\"/read/\"][data-number]","label":"|attr:data-number","url":"|attr:href"}},"search":{"title":{"sel":".unit","id":"a[data-tip]|attr:data-tip|remove:\\?.+","url":"a|attr:href","name":".info a|text","img":"a img|attr-contain:src","chapter":{"sel":".unit .content[data-name=\"chap\"] a","url":"|attr:href","label":"span|text","at":"span:last-child"}}}},{"id":"webtoon","title":{"name":"h1.subj,.detail_info > p.subj,.info > h3.subj,.subject|text","img":"meta[property=\"og:image\"]|attr:content","tags":".info > h2.genre,.detail_info > p.genre,.info > p.genre,.tag_box .tag|text","first":"a#_btnEpisode,a._readEpisodeBtn|attr:href","chapter":{"sel":"li._episodeItem","label":"|attr:data-episode-no","url":"a|attr:href","at":".date|text"}}},{"404":"#notfound .notfound-404","id":"mgeko","releases":{"title":{"sel":"#latest-updates .novel-list.chapters > li > a","url":"|attr:href","name":"|attr:title","chapter":{"sel":"div:has(.chapter-title)","label":".chapter-title|text","at":".novel-stats span:first-child|text"}}},"title":{"name":".cover img|attr:alt","img":".cover img|[attr:data-src,attr-contain:src]","tags":".categories .property-item|text","first":"a#readchapterbtn|attr:href","chapter":{"sel":".chapter-list > li a","url":"|attr:href","label":".chapter-title,.chapter-number|text","at":"time|attr:datetime || .chapter-stats|text"}},"reader":{"imgs":"center:has(> #chapter-reader) img|attr-contain:src","label":".chapter-header .titles h2|text","next":"center .nextchap:not(.isDisabled)|attr:href","prev":"center .prevchap:not(.isDisabled)|attr:href","title":{"sel":".chapter-header .titles h1 a","name":"|text","url":"|attr:href"},"chapter":{"sel":"center center #cars option","label":"|text","url":"|attr:value"}},"chapters":{"chapter":{"sel":".chapter-list > li a","url":"|attr:href","label":".chapter-title,.chapter-number|text","at":"time|attr:datetime || .chapter-stats|text"}},"search":{"title":{"sel":".novel-item","url":"a|attr:href","name":"h4|text","img":"img|[attr:data-src,attr-contain:src]","chapter":{"sel":".novel-stats","label":"strong|text"}}}},{"404":"#main > .error-404","id":"mangack","releases":{"title":{"sel":".latestmanga .Latest_chapter_update","url":"a|attr:href","name":".latest-title a|text","chapter":{"sel":"tr:last-child center","label":"a|text","url":"a|attr:href","at":".chapter-date|text"}}},"title":{"id":"input[name=\"follow_manga\"]|attr:value","name":"h1.entry-title|text","img":".manga-cover-wrap img|attr:src","tags":".infobox a[href*=\"/genres/\"]|text","type":".infobox a[href*=\"/comic-type/\"]|text","chapter":{"sel":".chapterslist > li","url":"a|attr:href","label":"a|text","at":".entry-date|text"}},"reader":{"content":".post-content","label":".entry-title|text","title":{"sel":".latest-title a","name":"|text","url":"|attr:href"},"prev":".prev-post a|attr:href","next":".next-post a|attr:href"},"search":{"title":{"sel":".Latest_chapter_update","url":"a|attr:href","img":"img|attr-contain:src","name":"h4 a|text"}}},{"id":"katana","releases":{"title":{"sel":"#book_list > .item","id":"|attr:data-id","url":"a|attr:href","name":"a|text","chapter":{"sel":".chapter a","url":"|attr:href","label":"|text"}}},"title":{"id":".bookmark_bt[data-id]|attr:data-id","name":".info h1|text","img":".cover img|attr:src","tags":".info .genres a|text","chapter":{"sel":".chapters tbody > tr","url":"a|attr:href","label":"a|text","at":".update_time|text"}},"reader":{"content":"#imgs","label":"select[name=\"chapter_select\"] option:checked|text","prev":".nav_button.prev:not([disabled])|attr:href","next":".nav_button.next:not([disabled])|attr:href","title":{"sel":"#breadcrumb_wrap li:nth-child(2) a","id":".bookmark_chapter_bt[data-id]|attr:data-id","name":"span|text","url":"|attr:href"},"chapter":{"sel":".nav_chapters_wrap:first-child select[name=\"chapter_select\"] option","url":"|attr:value","label":"|text"}},"search":{"title":{"sel":"#book_list .item","url":"a|attr:href","img":"img|attr-contain:src","name":"h3 a|text","chapter":{"sel":"div:has(> div > .chapter)","url":"a|attr:href","label":"a|text","at":".update_time|text"}}}},{"id":"truyenqq","releases":{"title":{"sel":"#list_new > li","name":".book_name h3 a|text","url":".book_name h3 a|attr:href","id":".book_name h3 a|attr:href|remove:.+-","chapter":{"sel":".last_chapter a","label":"|text","url":"|attr:href"}}},"title":{"id":".btn-subscribe|attr:data-id","name":".book_info h1|text","img":".book_avatar img|attr-contain:src","tags":".book_info li a[href*=\"/the-loai/\"]|text","chapter":{"sel":".works-chapter-list .works-chapter-item","label":".name-chap a|text","url":".name-chap a|attr:href","at":".time-chap|text"}},"reader":{"content":".chapter_content","label":"ol.breadcrumb > li:last-of-type a span|text","prev":".chapter_control a.prev|attr:href","next":".chapter_control a.next|attr:href","title":{"sel":"ol.breadcrumb > li:nth-of-type(2) a","id":".btn-subscribe|attr:data-id","name":"span|text","url":"|attr:href"},"chapter":{"trigger":".chapter_list","sel":"#popup_content .chapter-list > a, .chapter_list > option","label":"|text","url":"|attr:href || |attr:value"}},"search":{"title":{"sel":".list_grid > li","name":"h3 a|text","url":"h3 a|attr:href","img":"img|attr-contain:src","chapter":{"sel":".last_chapter a","url":"|attr:href","label":"|text"}}}},{"id":"uzay","releases":{"title":{"sel":"section[aria-label=\"new series\"] ~ section .header + div > div","url":"a|attr:href","name":"h2|text","chapter":{"sel":"a.mobile-list-item","url":"|attr:href","label":"h3 span:first-child b|text","at":"h3 span:nth-child(2)|text"}}},"title":{"name":".content-details > h1|text","img":".content-info > img|attr:src","tags":".content-details a[href*=\"?categories=\"]|text","chapter":{"sel":".list-episode > a","url":"|attr:href","label":"h3 b|text","at":"span:last-child|text"}},"reader":{"content":".manga-episode-card","label":".header h1 + h2|text","prev":"[aria-label=\"episode-navbar\"] div:not(last-child) > a[href]|attr:href","next":"[aria-label=\"episode-navbar\"] div:last-child > a[href]|attr:href","title":{"sel":".header h1:has(> a) a","url":"|attr:href","name":"|text"}}},{"id":"mangaworld","releases":{"title":{"sel":".comics-grid > .entry","name":".manga-title|text","url":"a|attr:href","chapter":{"sel":"div:has(> .xanh)","label":"a|text","url":"a|attr:href","at":"i|text"}}},"title":{"name":"h1.name|text","img":".thumb img|attr:src","tags":".meta-data a[href*=\"?genre=\"]|text","type":".meta-data a[href*=\"?type=\"]|text","chapter":{"sel":".chapters-wrapper .chapter > a","url":"|attr:href","label":"span|text","at":"i|text"}},"reader":{"content":"#page","label":"h1|text","lstrip":"select.mode option[value=\"LIST\"]:checked","lstripBtn":"select.mode option[value=\"LIST\"]","title":{"sel":"a[href*=\"/manga/\"]","name":"|text|remove:Ritorna\\sa","url":"|attr:href"},"chapter":{"sel":"#controls-1 select.chapter option","label":"|text","url":"|value"}},"search":{"title":{"sel":".comics-grid .entry","url":"a|attr:href","img":"img|attr-contain:src","name":".manga-title|text"}}},{"id":"leercapitulo","releases":{"title":{"sel":".media.mainpage-manga","url":"a|attr:href","name":"h4.manga-newest|text","chapter":{"sel":".hotup-list > span a","url":"|attr:href","label":"|text"}}},"title":{"name":"h1.title-manga|text","img":".cover-detail img|attr:src","tags":".description-update a[href*=\"/genre/\"]|text","chapter":{"sel":".chapter-list a.xanh","url":"|attr:href","label":"|text"}},"reader":{"content":".comic_wraCon","label":"h2.chapter-title:first-child|text","prev":"a.pre,a.LeftArrow|attr:href","next":"a.next,a.RightArrow|attr:href","lstrip":"select.loadImgType option[value=\"1\"]:checked","lstripBtn":"select.loadImgType option[value=\"1\"]","title":{"sel":"h2.chapter-title:nth-of-type(2) a","url":"|attr:href","name":"|text"},"chapter":{"sel":"h1 + .row select[rel=\"chap-select\"] option","url":"|attr:value","label":"|text"}}},{"id":"mangaplus","releases":{"title":{"sel":"[class*=\"UpdatedTitle-module_titleWrapper_\"]","url":"a|attr:href","name":"[class*=\"UpdatedTitle-module_titleName_\"]|text","chapter":{"sel":"[class*=\"UpdatedTitle-module_chapterTitle_\"]","label":"|text"}}},"title":{"lazy":true,"sel":"h1[class*=\"TitleDetailHeader-module_title_\"]","name":"h1[class*=\"TitleDetailHeader-module_title_\"]|text","img":"img[class*=\"TitleDetailHeader-module_coverImage_\"]|attr:src","chapter":{"sel":"[class*=\"ChapterListItem-module_chapterListItem_\"]","url":"a[class*=\"ChapterListItem-module_commentContainer_\"]|attr:href","label":"[class*=\"ChapterListItem-module_name_\"]|text","at":"[class*=\"ChapterListItem-module_date_\"]|text"}},"reader":{"content":"[class*=\"Viewer-module_viewerContainer_\"]","label":"[class*=\"Navigation-module_chapterTitle_\"]|text","lstrip":"input#mode-vertical:checked","lstripBtn":"input#mode-vertical","title":{"sel":"a:has(> [class*=\"Navigation-module_title_\"])","url":"|attr:href","name":"h1|text"},"chapter":{"sel":"ul > li[class*=\"SideMenu-module_chapter_\"]","label":"|text"}},"search":{"lazy":true,"empty":"p[class*=\"nothingMatched\"]","title":{"sel":"a[class^=\"AllTitle\"]","url":"|attr:href","name":"p|text","img":"img|[attr:data-src,attr-contain:src]"}}},{"id":"flame","releases":{"title":{"sel":"[class*=\"SeriesCard_chapterCardContainer__\"]","url":"a|attr:href","name":".mantine-Stack-root a|text","chapter":{"sel":"a:has(> [class*=\"SeriesCard_chapterPillWrapper__\"])","url":"|attr:href","label":"p:first-child|text","at":"p:not(:first-child)|text"}}},"title":{"name":"main h1|text","img":"img[alt=\"Cover\"]|attr:src","tags":"a[href*=\"/genre/\"] span|text","type":"p[class*=\"SeriesPage_infoField__\"]|row:type","first":".mantine-Paper-root p + a[href*=\"/series/\"]|attr:href","chapter":{"sel":"a[class*=\"ChapterCard_chapterWrapper__\"]","url":"|attr:href","label":"p:first-child|text","at":"p:not(:first-child)|text"}},"reader":{"content":"body","label":"p[class*=\"TopChapterNavbar_chapter_title__\"]|text","prevBtn":"button:has(.bi-arrow-left)","nextBtn":"button:has(.bi-arrow-right)","title":{"sel":"[class*=\"TopChapterNavbar_inner__\"]","name":"[class*=\"TopChapterNavbar_series_title__\"]|text","url":"a|attr:href"},"chapter":{"trigger":"button:has(.bi-card-list)","dismiss":".mantine-Modal-overlay, .mantine-CloseButton-root","sel":"[class*=\"ChapterCard_chapterWrapper__\"]","url":"|attr:href","label":"p:first-child|text","at":"p:not(:first-child)|text"}}},{"id":"vortex","generic":true,"meta":{"releases":null,"titleBase":"series","readerBase":"series/{titleSlug}","searchBase":"series?searchTerm=","titleIdType":"slug","defaultLang":"en","trailing":false,"noTags":true},"releases":{"title":{"sel":"div:has(> a):has(.lucide-star):not(:has(img))","url":"a|attr:href","name":"a|text","chapter":{"sel":"div a","url":"|attr:href","label":"span|text","at":"time|attr:datetime"}}},"title":{"sel":"[itemtype=\"http://schema.org/CreativeWorkSeries\"]","name":"h1[itemprop=\"name\"]|text","img":"[itemprop=\"image\"] img|attr:src","type":"h1:has(> svg)|row:type","first":"a[href*=\"/series/\"]:has(button)|attr:href","hasMore":"[opts*=\"SeriesChaptersPanelIsland\"] button .lucide-chevron-down","chapter":{"lazy":false,"sel":"a[href*=\"/series/{titleSlug}/\"]:has(img)","url":"|attr:href","label":"h3, div span|text","at":"time|attr:datetime || span + div:last-child div, h3 + div span|text"}},"reader":{"sel":"a:has(img):has([itemprop=\"dateCreated\"])","content":"section:has(.image-container),main,body","label":"h1[itemprop=\"headline\"],button:has(.lucide-chevron-down)|text","prev":"[aria-label=\"Prev\"], [aria-label=\"Anterior\"]|attr:href","next":"[aria-label=\"Next\"], [aria-label=\"Siguiente\"]|attr:href","prevBtn":"[aria-label=\"Prev\"], [aria-label=\"Anterior\"]","nextBtn":"[aria-label=\"Next\"], [aria-label=\"Siguiente\"]","title":{"sel":"a[href*=\"/series\"]:has(img)","name":"p|text || div:has(~ time)|text|remove:\\sChapter.+","url":"|attr:href"},"chapter":{"trigger":"button:has(.lucide-chevron-down)","sel":"[data-radix-popper-content-wrapper] [role=\"option\"], [data-radix-scroll-area-viewport] button, button:has(.lucide-chevron-down) ~ .absolute div button","label":"div div span|text || span:last-child|text || |text"}},"search":{"lazy":true,"loading":"button > .animate-spin","title":{"sel":"div:has(> div > a[href*=\"/series/\"])","url":"a|attr:href","name":"a h1|text","img":"a img|attr-contain:src","chapter":{"sel":"a:has(time)","url":"|attr:href","label":"p|text","at":"time|attr:datetime"}}}},{"id":"weebcentral","releases":{"title":{"sel":"[x-data*=\"sub_feed_shown\"] section article","url":"a:first-child|attr:href","name":"div:not(:has(span)) div|text","chapter":{"sel":"a:not(:first-child)","url":"|attr:href","label":"div:not(:first-child) span|text","at":"time|attr:datetime"}}},"title":{"name":"h1|text","img":"picture img|attr:src","tags":"li a[href*=\"?included_tag=\"]|text","type":"li a[href*=\"?included_type=\"]|text","hasMore":"#chapter-list a","first":"[x-data]:has(> a[href*=\"chapters/\"]):last-child a|attr:href"},"reader":{"content":"[hx-include*=\"reading_style\"]","imgs":"[hx-include*=\"reading_style\"] img|attr-contain:src","label":"[hx-target=\"#chapter-select-body\"] span|text","lstripBtn":"input[value=\"long_strip\"]","lstrip":"input[value=\"long_strip\"]:checked","prevBtn":"button[\\@click=\"prevPage()\"]","nextBtn":"button[\\@click=\"nextPage()\"]","title":{"sel":"#nav-top a[href*=\"/series/\"]","url":"|attr:href","name":"span|text"},"chapter":{"trigger":"button[hx-target=\"#chapter-select-body\"]"}},"chapters":{"chapter":{"sel":"a[href*=\"/chapters/\"]","url":"|attr:href","label":"span span|text","at":"time|attr:datetime"}},"search":{"lazy":true,"empty":"main [role=\"alert\"]","title":{"sel":"article:has(a img)","url":"a|attr:href","name":"a:not(:has(img))|text","img":"a img|attr-contain:src"}}},{"id":"lua","releases":{"title":{"sel":"div:has(> div > a[href*=\"/series/\"]):has(a > h5)","url":"a|attr:href","name":"h5|text","chapter":{"sel":"a + div a","url":"|attr:href","label":"span:first-child|text","at":"span:not(:first-child)|text"}}},"title":{"name":"h1|text","img":"main div > img[src]|attr-contain:src","hasMore":"[aria-current=\"page\"]","chapter":{"sel":"a[href*=\"/series/\"]:has(> li)","url":"|attr:href","label":"div > span:first-child|text","at":"div > span:not(:first-child)|text"}},"reader":{"label":"h1|text","prev":"a[href*=\"/series/\"]:has(> button [data-icon=\"chevron-left\"])|attr:href","next":"a[href*=\"/series/\"]:has(> button [data-icon=\"chevron-right\"])|attr:href","content":"body","title":{"sel":"nav:has(h1)","name":"h2|text","url":"a:has(svg[data-icon=\"house\"])|attr:href"},"chapter":{"trigger":"button:has(> [data-icon=\"list\"])","sel":"#headlessui-portal-root ul a[href*=\"/series/\"]:has(> li)","url":"|attr:href","label":"span:first-child|text","at":"span:not(first-child)|text"}},"chapters":{"chapter":{"json":true,"sel":"","label":"chapter_name","url":"chapter_slug","at":"created_at"}}},{"id":"mangabuddy","releases":{"title":{"sel":".main-container .book-item .meta","name":"h3 a|text","url":"h3 a|attr:href","chapter":{"sel":".chap-item","label":"h4 a|text","url":"h4 a|attr:href","at":".updated-date span|text"}}},"title":{"sel":"#chapter-list","name":"h1|text","img":".img-cover img|attr-contain:src","tags":".detail a[href*=\"/genres/\"]|text","chapter":{"sel":"#chapter-list > li > a","url":"|attr:href","label":".chapter-title|text","at":".chapter-update|text"}},"reader":{"label":"#breadcrumbs-container .breadcrumbs-item:last-child|text","title":{"sel":"#breadcrumbs-container .breadcrumbs-item:nth-child(2) a","url":"|attr:href","name":"span|text"},"content":"#chapter-images","imgDivs":".chapter-image","prev":"a#btn-prev|attr:href","next":"a#btn-next|attr:href","chapter":{"trigger":"#load-chapters","sel":".chapter-select option","url":"|attr:value","label":"|text"}}},{"id":"rolia","releases":{"title":{"sel":"#manga-grid .group","url":"a|attr:href","name":"a|attr:title","chapter":{"sel":"a ~ div:has(a)","url":"a|attr:href","label":"a|text","at":"span|text"}}},"title":{"id":"[data-manga-id]|attr:data-manga-id","name":"h1|text","img":"img[alt*=\"Cover background\"]|attr-contain:src","tags":"a[href*=\"/tag/\"]|text","first":"a#start-reading-btn|attr:href"},"reader":{"title":{"url":"a[href*=\"/manga/\"][title]|attr:href","name":"a[href*=\"/manga/\"][title]|attr:title","id":"[data-manga-id]|attr:data-manga-id"},"label":"#chapter-select option:checked|text","content":"#chapter-images-container","imgs":".comic-image-container img|attr:data-src","chapter":{"sel":"#chapter-select option","label":"|text","url":"|attr:value"}},"search":{"title":{"sel":"a[href*=\"/manga/\"]","url":"|attr:href","name":"h3|text"}}},{"id":"lelscanfr","releases":{"title":{"sel":"div:has(> #card-real)","url":"a|attr:href","name":"h2|text","chapter":{"sel":"#card-real + div div:has(a)","label":"b|text","url":"a|attr:href","at":"a + span|text"}}},"title":{"name":"main h2|text","img":"main img[alt]|attr-contain:src","tags":"main a[href*=\"genre=\"]|text","type":"a[href*=\"type=\"]|text","hasMore":"ul.pagination","chapter":{"sel":"#chapters-list > a","url":"|attr:href","label":"div:first-child > span|text","at":"div:nth-child(2) > span"}},"reader":{"label":"h2|text","title":{"sel":"h3 a","url":"|attr:href","name":"|text"},"content":"#chapter-container, main","lstrip":"#reading-types option[value=\"long\"]:checked","lstripBtn":"#reading-types option[value=\"long\"]","prev":"div:has(#chapter-select) + div a:first-child[href*=\"/manga/\"]|attr:href","next":"div:has(#chapter-select) + div a:last-child[href*=\"/manga/\"]|attr:href","chapter":{"sel":"div:has(~ #chapter-container) #chapter-select option","label":"|text","url":"|text"}}},{"id":"phoenix","releases":{"title":{"sel":".main__latest-releases-card","url":"a|attr:href","name":"h3 text","chapter":{"sel":"a.main__latest-releases-card-chapter","url":"|attr:href","label":".main__latest-releases-card-chapter-number|text","at":".main__latest-releases-card-chapter-date|text"}}},"title":{"name":"h1|text","img":"img.project__cover|attr-contain:src","chapter":{"sel":"a.project__chapter","url":"|attr:href","label":".project__chapter-title|text","at":".project__chapter-date|text"}},"reader":{"label":".chapter__nav-chapter-title-number|text","title":{"sel":"a.chapter__nav-chapter","url":"|attr:href","name":".chapter__nav-title|text"},"content":".chapter-images__container","prev":"a.chapter__previous|attr:href","next":"a.chapter__next|attr:href","chapter":{"trigger":".chapter-images__controls-chapter","sel":".chapter-list .chapter_item a","url":"|attr:href","label":"|text"}}},{"id":"manhwaz","title":{"name":".post-title h1|text","img":".summary_image img[alt]|attr-contain:src","tags":".genres-content a[rel=\"tag\"]|text","chapter":{"sel":".wp-manga-chapter","label":"a|text","url":"a|attr:href","at":".chapter-release-date i|text"}},"reader":{"label":".breadcrumb .active|text","title":{"sel":".breadcrumb li:has(+ .active) a","url":"|attr:href","name":"|text"},"content":"#chapter_content, .reading-content","prev":".nav-previous a|attr:href","next":".nav-next a|attr:href","chapter":{"sel":"#manga-reading-nav-head .single-chapter-select option","url":"|attr:value","label":"|text"}},"search":{"title":{"sel":".page-item-detail","url":"a|attr:href","name":"h3 a|text","img":"img|attr-contain:src","chapter":{"sel":".chapter-item ","url":"a|attr:href","label":"a|text","at":".post-on|text"}}}},{"id":"dynasty","title":{"name":"h2.tag-title b|text","img":".cover img|attr-contain:src","tags":".tag-tags a.label|text","chapter":{"sel":".chapter-list dd:has(> a.name)","url":"a|attr:href","label":"a|text","at":"small|text"}},"reader":{"label":"h3#chapter-title b|text","title":{"sel":"h3#chapter-title a","url":"|attr:href","name":"|text"},"content":"#image","prev":"a#prev_link|attr:href","next":"a#next_link|attr:href"},"search":{"title":{"sel":".chapter-list a.name","url":"|attr:href","name":"|text"}}},{"id":"fmteam","releases":{"title":{"sel":".item:has(h5 a)","name":"h5 a|text","url":"h5 a|attr:href","chapter":{"sel":"a[href*=\"/read/\"]","label":"|text","url":"|attr:href"}}},"title":{"lazy":true,"sel":"#comic","name":"#comic .card-header|text","img":"#comic .card-body .thumbnail-full img|attr-contain:src","type":"#comic .card-body div:has(> label)|row:format","tags":"#comic .card-body div:has(> label)|row:genres","chapter":{"sel":"div:has(> div > .chapter a[href*=\"/read/\"])","label":"a[href*=\"/read/\"]|text","url":"a[href*=\"/read/\"]|attr:href","at":"div:last-child[title]|attr:title"}},"reader":{"title":{"sel":"#reader-controls-title a","name":"|text","url":"|attr:href"},"label":"select[name=\"jump-chapter\"] option:checked|text","content":"#reader-images","imgDivs":"#reader-images [data-page]","lstrip":".active > [data-value=\"long-strip\"]","lstripBtn":"[data-value=\"long-strip\"]","prev":"#chapter-link-left[href*=\"/read\"]|attr:href","next":"#chapter-link-right[href*=\"/read\"]|attr:href","chapter":{"sel":"select[name=\"jump-chapter\"] option","label":"|text","url":"|attr:value"}}},{"id":"readallcomics","title":{"name":"h1 b|text","img":".description-archive img|attr-contain:src","tags":"h1 ~ div p strong|text","chapter":{"sel":".list-story li a","url":"|attr:href","label":"|text"}},"reader":{"sel":"center > p:has(> img)","label":"h3 strong|text","title":{"sel":".pinbin-category a","name":"|text","url":"|attr:href"},"content":"center > p:has(> img)","imgs":"center > p > img|[attr:data-jh-lazy-img,attr-contain:src]","chapter":{"sel":"center:has(> p > img) ~ div center select option","label":"|text","url":"|attr:value"}}},{"id":"philia","releases":{"title":{"sel":"main .unit","name":"a.c-title|text","url":"a.c-title|attr:href","chapter":{"sel":"li a","url":"|attr:href","label":".ch-num|text","at":".ch-date|text"}}},"title":{"name":"h1.serie-title|text","img":"img.cover|attr-contain:src","type":".stat-label|row:type","chapter":{"sel":".chapter-group a","url":"|attr:href","label":"zebi|text","at":".time|text"}},"reader":{"label":".current-type-number|text","title":{"sel":"a.manga-title","url":"|attr:href","name":"|text"},"content":"#ch-images","chapter":{"sel":".chapter-list ul .item","url":"|attr:data-chapter","label":"a|text"}},"search":{"title":{"sel":".unit","url":"a|attr:href","name":".c-title|name","img":"img|attr-contain:src","chapter":{"sel":".content > li a","url":"|attr:href","label":".ch-num|text","at":"ch-date|text"}}}},{"id":"batcave","releases":{"title":{"sel":"li.latest","name":"a.latest__title|text","url":"a.latest__title|attr:href","chapter":{"sel":".latest__chapter a","url":"|attr:href","label":"|text"}}},"title":{"name":"#dle-content h1|text","img":"#dle-content .img-wide img|attr-contain:src","id":"[data-ratig-layer-id]|attr:data-ratig-layer-id","chapter":{"sel":".cl__item","label":".cl__item-num|text","url":"a|attr:href","at":".cl__item-date|text"}},"reader":{"label":".chapter__selector-trigger__title|text","title":{"sel":"a.header__post-link","url":"|attr:href","name":".header__post-title|text"},"content":".reader-view","chapter":{"trigger":".chapter__selector-trigger","sel":".chapters__list a","url":"|attr:href","label":"|text"},"prev":".chapter__selector a:has(.fa-angle-left)[href*=\"/reader/\"]|attr:href","next":".chapter__selector a:has(.fa-angle-right)[href*=\"/reader/\"]|attr:href"}},{"id":"tcb","title":{"name":"h1|text","img":"main img|attr-contain:src","chapter":{"sel":"main a[href*=\"/chapters/\"]","url":"|attr:href","label":"div|text"}},"reader":{"label":"h1|text|remove:.+-","title":{"name":"h1|text|remove:-.+","url":"main a[href*=\"/mangas/\"]|attr:href"},"prev":"a[href*=\"/chapters/\"]:has(+ a[href*=\"/mangas/\"])|attr:href","next":"a[href*=\"/mangas/\"] + a[href*=\"/chapters/\"]|attr:href","content":"main"}},{"id":"mangapill","releases":{"title":{"sel":"div:has(> a[href*=\"/chapters/\"]):has(div > a[href*=\"/manga/\"])","name":"a[href*=\"/manga/\"]|text","url":"a[href*=\"/manga/\"]|attr:href","chapter":{"sel":"div:has(> a[href*=\"/chapters/\"])","url":"a[href*=\"/chapters/\"]|attr:href","label":"a[href*=\"/chapters/\"]|text","at":"time-ago|attr:datetime"}}},"title":{"name":"h1|text","img":"header ~ div img|attr:data-src","tags":"a[href*=\"?genre=\"]|text","chapter":{"sel":"#chapters a[href*=\"/chapters/\"]","url":"|attr:href","label":"|text"}},"reader":{"label":"h1#top|text","title":{"sel":"#js-chapter-selector-modal div:has(> a[href*=\"/manga/\"])","name":"#chapter-selector-modal-title|text","url":"a|attr:href"},"content":"div:has(> chapter-page)","imgs":"chapter-page picture img|attr-contain:src","prev":"a[data-hotkey=\"ArrowLeft\"]|attr:href","next":"a[data-hotkey=\"ArrowRight\"]|attr:href","chapter":{"trigger":"button[data-micromodal-trigger=\"js-chapter-selector-modal\"]","dismiss":"#js-chapter-selector-modal button[data-micromodal-close]","sel":"#js-chapter-selector-modal a[href*=\"/chapters/\"]","url":"|attr:href","label":"|text"}},"search":{"title":{"sel":"div:has(> a img)","url":"a|attr:href","name":"a:not(:has(img)) div|text","img":"a img|[attr:data-src,attr-contain:src]"}}},{"id":"mangataro","releases":{"title":{"sel":"#manga-grid > div:has(a + div a[href*=\"/read/\"])","name":"a|attr:title","url":"a|attr:href","chapter":{"sel":"div:has(> a[href*=\"/read/\"])","url":"a|attr:href","label":"a|text","at":"span:last-child|text"}}},"title":{"name":"h1|text","img":".manga-page-wrapper img|attr-contain:src","tags":".manga-page-wrapper a[href*=\"/tag/\"]|text","type":"h1 + p + div + div > span|text","first":"a#start-reading-btn|attr:href"},"reader":{"title":{"sel":"a[href*=\"/manga/\"]","url":"|attr:href","name":"span|text"},"label":"select#chapter-select option:checked|text","content":".reader","imgs":".comic-image-container img|[attr:data-src,attr-contain:src]","chapter":{"sel":"select#chapter-select option","url":"|attr:value","label":"|text"}},"search":{"title":{"sel":".group a[href*=\"manga\"]","url":"|attr:href","name":"img|attr:alt"}}},{"id":"demonic","releases":{"title":{"sel":".updates-element-info","name":"h2 a|text","url":"a|attr:href","chapter":{"sel":".chap-date","url":"a|attr:href","label":"a|text","at":"div:last-child a|text"}}},"title":{"name":"h1.big-fat-titles|text","img":"#manga-page img[alt]|attr-contain:src","chapter":{"sel":"#chapters-list li > a","url":"|attr:href","label":"|text","at":"span|text"}},"reader":{"sel":".chapter-info h1 a","title":{"sel":".chapter-info h1 a","url":"|attr:href","name":"|text"},"label":"h2|text","content":"body","imgs":"img.imgholder:not([data-tried]):not([src*=\"/free_ads\"])|attr-contain:src","chapter":{"sel":"h2 + .chapters-nav select option","label":"|text","url":"|attr:value"}}},{"id":"atsu","title":{"lazy":true,"sel":"h1","name":"h1|text","img":".poster|attr-contain:src","tags":"a[href*=\"/explore?genres=\"]|text","first":"a[href*=\"/read/\"]:has([data-icon=\"book-open\"])|attr:href","trackers":{"anl":"a[href*=\"anilist.co\"]|attr:href|pattern:.*/(\\d+)$","mal":"a[href*=\"myanimelist.net\"]|attr:href|pattern:.*/(\\d+)$"},"hasMore":"button:has(+ div > a[href*=\"/read/\"])","chapter":{"sel":"div:has(> a[href*=\"/read/\"]):has(div.truncate):has(~ button), div:not(:has(> button)) > div:has(> a[href*=\"/read/\"]):has(div.truncate)","url":"a|attr:href","label":"div.truncate:first-child|text","at":"div.truncate + div:last-child|text"}},"chapters":{"chapter":{"json":true,"sel":"chapters","label":"number","url":"id"}},"search":{"lazy":true,"empty":"div > h1","title":{"sel":"a[href*=\"/manga/\"]","url":"|attr:href","name":"p|text","img":"img|attr-contain:src"}}},{"id":"kali","title":{"name":".name h1|text","img":".img-cover img|[attr:data-src,attr-contain:src]","tags":".meta a[href*=\"/genres/\"]|text","chapter":{"sel":"#chapter-list li > a","url":"|attr:href","label":".chapter-title|text","at":".chapter-update|text"}},"reader":{"lazy":true,"sel":".chapter-image","title":{"sel":".breadcrumbs-item a[href*=\"/manga/\"]","url":"|attr:href","name":"span|text"},"label":".breadcrumbs-item:last-child span|text","imgDivs":".chapter-image","prev":"#btn-prev|attr:href","next":"#btn-next|attr:href","chapter":{"trigger":"#load-chapters","sel":".chapter-select option","label":"|text","url":"|attr:value"}},"search":{"title":{"sel":".book-detailed-item","img":"img|[attr:data-src,attr-contain:src]","name":"h3 a|text","url":"h3 a|attr:href","chapter":{"sel":".thumb","label":".latest-chapter|text"}}}},{"id":"mangafreak","releases":{"title":{"sel":".latest_item","url":"a|attr:href","name":"a.name|text","chapter":{"sel":".chapter_box a","url":"|attr:href","label":"|text"}}},"title":{"name":"h1|text","img":".manga_series_image img|attr-contain:src","tags":".series_sub_genre_list > a|text","chapter":{"sel":".manga_series_list tbody tr","url":"a|attr:href","label":"a|text","at":"td:last-child|text"}},"reader":{"title":{"sel":"h1.title a","url":"|attr:href","name":"|text"},"label":"h1|text","imgs":".read_image img|attr-contain:src","chapter":{"sel":".chapter_list select option","label":"|text","url":"|attr:value"}},"search":{"title":{"sel":".manga_search_item","name":"h3 a|text","url":"a|attr:href","img":"img|attr-contain:src"}}},{"id":"readcomiconline","title":{"name":".barContent .bigChar|text","img":"#rightside img, .main img|attr-contain:src","chapter":{"sel":".listing tbody tr:has(a)","label":"a|text","url":"a|attr:href","at":"td:last-child|text"}},"reader":{"title":{"sel":"#navsubbar a","url":"|attr:href","name":"|text|pattern:Comic (.+) information"},"label":".selectEpisode option:checked|text","lstrip":"#selectReadType option[value=\"1\"]:checked","lstripBtn":"#selectReadType option[value=\"1\"]","content":"#divImage","chapter":{"sel":".selectEpisode option","url":"|attr:value","label":"|text"}}},{"id":"valir","generic":true,"meta":{"releases":"latest","titleBase":"series","readerBase":"chapter","searchBase":"series/?q=","titleIdType":"slug","defaultLang":"en","noTags":true,"trailing":true},"releases":{"title":{"sel":".latest-poster","name":"a h3|text","url":"a|attr:href","chapter":{"sel":"a[href*=\"/chapter/\"]","url":"|attr:href","label":"span div|text","at":"span:last-child|text"}}},"title":{"sel":".bg-\\[image\\:--photoURL\\]","name":"h1|text","img":".bg-\\[image\\:--photoURL\\]|bg-image","chapter":{"sel":"#chapters > a","url":"|attr:href","label":"span span|text","at":"span + div div|text"}},"reader":{"sel":"#chapter_header a[href*=\"/series/\"]","title":{"sel":"#chapter_header a[href*=\"/series/\"]","url":"|attr:href","name":"|text"},"label":"#chapter_header span:has(a[href*=\"/series/\"])|text","content":"#pages","chapter":{"sel":"#chapters > a","url":"|attr:href","label":"span span|text","at":"span + div div|text"}},"search":{"lazy":true,"delay":500,"empty":"#no_results_page","title":{"sel":"#searched_series_page > button:not(.hidden)","name":"a h3|text","url":"a|attr:href","img":"div[style*=\"background-image\"]|bg-image"}}},{"id":"rithar","releases":{"title":{"sel":".latest-poster","name":"a h3|text","url":"a|attr:href","chapter":{"sel":"a[href*=\"/read/\"]","url":"|attr:href","label":"span div|text","at":"span:last-child|text"}}},"title":{"name":"h1|text","img":"main div[style*=\"background-image\"]|bg-image","chapter":{"sel":"#chapters > a","url":"|attr:href","label":"span span|text","at":"div:has(> span) + div div|text"}},"reader":{"title":{"sel":"header a[href*=\"/series/\"]","url":"|attr:href","name":"|text"},"label":"header a[href*=\"/series/\"] + span|text","lstrip":"[x-ref=\"webtoonContainer\"]","lstripBtn":"div:has(> img[src*=\"up-down\"])","imgDivs":"[id*=\"webtoon-page-\"]","chapter":{"sel":"#chapters > a","url":"|attr:href","label":"span span|text","at":"span + div div|text"}},"search":{"title":{"sel":"#main-content button:has(a[href*=\"/series/\"])","name":"a h3|text","url":"a|attr:href","img":"div[style*=\"background-image\"]|bg-image"}}},{"id":"rawkuma","releases":{"title":{"sel":"#search-results > div","url":"a|attr:href","name":"h1|text","chapter":{"sel":"div > a:has(time)","url":"|attr:href","label":"p|text","at":"time|attr:datetime"}}},"title":{"name":"h1[itemprop=\"name\"]|text","img":"[itemprop=\"image\"] img|attr-contain:src","tags":"a[href*=\"/genre/\"] span|text","type":"h4|row:type","first":"button a[href*=\"/manga/\"]|attr:href"},"reader":{"title":{"name":"a[href*=\"/manga/\"] img[alt]|attr:alt","url":"a[href*=\"/manga/\"]|text"},"label":"div:has(> time) div|text","imgs":"section[data-image-data] > img|attr-contain:src","prev":"a[href*=\"/manga/\"]:has([data-lucide=\"chevron-left\"])|attr:href","next":"a[href*=\"/manga/\"]:has([data-lucide=\"chevron-right\"])|attr:href","chapter":{"trigger":"button[pop-content=\"#chapter-lists-head\"]","sel":"#chapter-lists-head li > a","url":"|attr:href","label":"|text"}}},{"id":"mangaberri","releases":{"title":{"sel":".manga-horizontal-item","url":"a|attr:href","name":"a|attr:title","chapter":{"sel":"a.episode","url":"|attr:href","label":"span|text"}}},"title":{"sel":".chapters-container","name":"h1|text","img":"img.comic-img|attr-contain:src","tags":".comic-attrs a[href*=\"genre=\"]|text","chapter":{"sel":".chapters-container > a","url":"|attr:href","label":"span|text"}},"reader":{"title":{"sel":".breadcrumb-container a:nth-of-type(2)","url":"|attr:href","name":"|attr:title"},"label":".breadcrumb-container a:nth-of-type(3)|attr:title","content":".reading-container","imgs":".reading-container img|attr-contain:src","chapter":{"sel":"#top_chapter_selection option","url":"|attr:value","label":"|text"}},"search":{"title":{"sel":".manga-item","img":"img|attr-contain:src","name":"a|attr:title","url":"a|attr:href","chapter":{"sel":"a:last-of-type","url":"|attr:href","label":"|text"}}}},{"id":"kagane","title":{"lazy":true,"sel":"h1","name":"h1|text","tags":"a[href*=\"search?genres=\"] span|text","firstBtn":"button:has(.lucide-play)"},"reader":{"title":{"name":"title|text|remove:-.+","url":"a[href*=\"/series/\"]|attr:href"},"label":"title|text|remove:.+-","content":".reader-pages-content","imgDivs":"[data-page]","prevBtn":"a:has(.lucide-arrow-left)","nextBtn":"a:has(.lucide-arrow-right)"},"chapters":{"chapter":{"json":true,"sel":"series_books","url":"book_id","label":"chapter_no","vol":"volume_no","at":"created_at","group":"groups.0.title"}},"search":{"lazy":true,"title":{"sel":"[data-series-item]","name":"h3|text","url":"a|attr:href"}}},{"id":"mangaball","title":{"name":"h6|text","img":"#featuredComicsCarousel img[alt]|attr-contain:src","tags":"[data-tag-id]|text"},"reader":{"title":{"name":"header h6|text","url":"[type=\"application/ld+json\"]|text|remove:^[\\s\\S]*?\"url\":\\s*\"|remove:\"[\\s\\S]*$"},"label":"#chapterTitle|text","content":"#mangaPages","imgs":"#mangaPages img|[attr:data-src,attr-contain:src]","group":"#translationGroup span|text"},"search":{"lazy":true,"loading":"button .spinner-border","title":{"sel":".chapter-card","name":"a|text","url":"a|attr:href","chapter":{"sel":".chapter-list > div","url":"a|attr:href","label":"a|text","at":"div:has(> i.fa-clock)|text"}}}},{"id":"mangatr","title":{"sel":"#tab1 .info-body h1","name":"#tab1 .info-body h1|text","img":".thumbnail|attr:src","tags":".manga-meta-card a[href*=\"tur=\"]|text","first":"#results a:has(+ .chapter-container)|attr:href","hasMore":"[data-page=\"2\"]","chapter":{"sel":".chapter-item","label":"a|text","url":"a|attr:href","at":".stats|text"}},"reader":{"sel":".chapter-content","title":{"sel":"a.navbar-brand","url":"|attr:href","name":"|text"},"label":".navbar-form option:checked|text","group":".chapter-content a.label|text","content":"#chapter-images","chapter":{"sel":".navbar-form option","url":"|attr:value","label":"|text"}}},{"id":"denizi","title":{"name":".panel-heading,h2|text","img":".single-managa .boxed img, h2 ~ div img|attr-contain:src","tags":"a[href*=\"/category/\"]|text","chapter":{"sel":".chapters > li","label":"a|text","url":"a|attr:href","at":".date-chapter-title-rtl|text"}},"reader":{"title":{"sel":".nav:has(#chapter-list) a","url":"|attr:href","name":"|text"},"label":"h1 b|text","content":"#all","imgs":"#all img|[attr:data-src,attr-contain:src]","chapter":{"sel":"#chapter-list li a","url":"|attr:href","label":"|text"}}},{"id":"mangabox","releases":{"title":{"sel":".itemupdate","name":"h3 a|text","url":"a|attr:href","chapter":{"sel":"ul > li:not(:first-child)","label":"a|text","url":"a|attr:href","at":"i|text"}}},"title":{"name":"h1|text","img":".manga-info-pic img|attr-contain:src","tags":".manga-info-text a[href*=\"/genre/\"]|text","chapter":{"sel":".chapter-list > .row","label":"a|text","url":"a|attr:href","at":"span:last-child|attr:title"}},"reader":{"title":{"sel":".breadcrumb a[href*=\"/manga/\"]","url":"|attr:href","name":"span|text"},"label":".breadcrumb > p > span:last-child span|text","imgs":".container-chapter-reader img|attr-contain:src","chapter":{"sel":".navi-change-chapter option","label":"|text","url":"|attr:data-url"}},"search":{"title":{"sel":".story_item","url":"a|attr:href","name":".story_name a|text","img":"img|attr-contain:src","chapter":{"sel":".story_chapter","url":"a|attr:href","label":"a|text"}}}},{"id":"merlin","title":{"name":"h1#manga-title,h1|text","img":".story-cover img|attr-contain:src","tags":"#genre-tags a[href*=\"/tur/\"]|text","hasMore":"a[href*=\"/page/2/\"]","first":".story-cover-wrap + div a|attr:href","chapter":{"sel":".chapter-item a","url":"|attr:href","label":"h3|text"}},"reader":{"title":{"sel":"#breadcrumb-manga","url":"|attr:href","name":"|text"},"label":"[aria-current=\"page\"]|text","prev":"a:has(> [uk-pagination-previous])|attr:href","next":"a:has(> [uk-pagination-next])|attr:href","imgs":"#chapter-content img|attr-contain:src","chapter":{"trigger":"#chapter-toggle","sel":"#chapter-dropdown li a","url":"|attr:href","label":"|text"}}},{"id":"temple","title":{"name":"main h1|text","img":"main img[alt]|attr-contain:src","tags":"h1 + div div:last-child > p + div:last-child p|text","chapter":{"sel":"a:has(h1):has(img):has(span)","url":"|attr:href","label":"h1|text","at":"div span:last-child|text"}},"reader":{"title":{"sel":"main h1 + a","url":"|attr:href","name":"|text"},"label":"main h1|text","imgDivs":"main [data-index]","prev":"main a:has(svg):first-child|attr:href","next":"main a:has(svg):last-child|attr:href","chapter":{"trigger":"button[aria-label=\"Chapters List\"]","sel":"[role=\"dialog\"] a[href*=\"/comic/\"]","url":"|attr:href","label":"h1|text","at":"h1 + span|text"}}},{"404":".error-page","id":"comix","releases":{"title":{"json":true,"sel":"result.items","id":"hash_id","url":"hash_id","name":"title","chapter":{"sel":"","label":"latest_chapter","at":"chapter_updated_at"}}},"title":{"id":"#syncData|json:manga_id","name":"h1|text || #syncData|json:name","img":".poster img|attr:src","tags":"a[href*=\"?genres=\"]|text","firstBtn":".read-btn","hasMore":".page-link[href=\"#2\"]","chapter":{"sel":".chap-list > li","url":"a|attr:href","label":"a b|text","at":"span:last-of-type|text","group":"a:last-child|text"},"trackers":{"mal":"a:has([alt=\"mal\"])|attr:href","anl":"a:has([alt=\"al\"])|attr:href"}},"reader":{"lazy":true,"sel":".read-viewer .page","title":{"id":"#syncData|json:manga_id","url":"a.back-btn|attr:href || #syncData|json:name","name":"a.back-btn|text || #syncData|json:name"},"label":".readbar-ctrl .dropdown-menu .dropdown-item.active|text || #syncData|json:number || title|text","group":".readbar-bottom .dropdown .value|text|remove:^no\\sgroup","imgDivs":".read-viewer .page","lstrip":".read-viewer.longsrtip,.read-viewer.longstrip","lstripBtn":".read-st-toggle;#page-layout-setting button:has([href*=\"longstrip\"])","prev":"#syncData|json:prev_chapter_url","next":"#syncData|json:next_chapter_url","chapter":{"sel":".readbar-ctrl .dropdown-menu .dropdown-item","label":"|text"}},"search":{"lazy":true,"loading":".section-loading","title":{"sel":".comic > .item","url":"a.title|attr:href","name":"a.title|text"}}},{"id":"manhuaplus","releases":{"title":{"sel":"#home-tab-update > div ","url":"a|attr:href","name":"img|attr:alt","chapter":{"sel":"div + a","url":"|attr:href","label":"|text"}}},"title":{"name":"h1|text","img":"main img|attr-contain:src","tags":"main article a[href*=\"/genres/\"]|text","chapter":{"sel":"#myUL > li","url":"a|attr:href","label":"a|text","at":"time|attr:datetime"}},"reader":{"title":{"sel":"h1 a","url":"|attr:href","name":"|text"},"label":"h1|text","content":"#chapterContent:not(:has(img[src*=\"loading.gif\"]))","imgs":"#chapterContent img:not([src*=\"loading.gif\"])|attr:src","prev":"a.prevBtn|attr:href","next":"a.nextBtn|attr:href","chapter":{"sel":"#top-control select option","url":"|attr:value","label":"|text"}},"search":{"title":{"sel":"div:has(> div + a[href*=\"/manga/\"])","url":"a|attr:href","name":"a|attr:title","chapter":{"sel":"div + a","url":"|attr:href","label":"|text"}}}},{"id":"projectsuki","releases":{"title":{"sel":".content .item","url":"a|attr:href","name":".details a|text","chapter":{"sel":"a[href*=\"/read/\"]","url":"|attr:href","label":"|text"}}},"title":{"name":"h2|text","img":".img-thumbnail|attr-contain:src","tags":"a[href*=\"/genre/\"]|text","chapter":{"sel":"tbody tr","url":"a|attr:href","label":"a|text","at":"td:last-child span|attr:title"}},"reader":{"title":{"sel":"main a:has(.fa-home)","url":"|attr:href","name":"|attr:title"},"label":"#chapter-select option:checked|text","content":".strip-reader","chapter":{"sel":"#chapter-select option","url":"|attr:value","label":"|text"}},"search":{"title":{"sel":".content > div:has(a)","url":"a|attr:href","name":"h4 a|text"}}},{"id":"mangatown","releases":{"title":{"sel":".manga_pic_list > li, .post-list > li","name":".title a, .title|text","url":"a|attr:href","chapter":{"sel":".new_chapter a, a.read-btn","url":"|attr:href","label":"|text"}}},"title":{"name":"h1.title-top,.title|text","img":".detail_info > img, .manga-detail-top img|attr-contain:src","tags":".detail_info ul li|row:genre(s) || a[href*=\"/directory/\"]|text","type":".detail_info ul li|row:type","chapter":{"sel":".chapter_list > li, .detail-ch-list > li","url":"a|attr:href","label":"a|attr:name || a|text","at":".time|text"}},"reader":{"title":{"url":".title h2 a, .title a:last-child|attr:href","name":".sharebtn a|attr:st_title || .title a:last-child|text|remove:manga$"},"label":"#top_chapter_list option:checked, .title a|text","imgs":"#viewer img:not(.reader-main-img)|attr-contain:src","chapter":{"sel":"#top_chapter_list option","url":"|attr:value","label":"|text"}},"search":{"title":{"sel":".manga_pic_list > li, .post-list > li","url":"a|attr:href","name":"a|attr:title || a|attr:rel"}}},{"id":"mangatime","title":{"name":".anime__details__title h3|text","img":".anime__details__pic|bg-image","tags":".anime__details__widget li:last-child|text","chapter":{"sel":"a:has(> .detail-main-list-main)","url":"|attr:href","label":".title3|text","at":".title2|text"}},"reader":{"label":".breadcrumb__links span:last-child|text","title":{"sel":".breadcrumb__links a:last-of-type","url":"|attr:href","name":"|text"},"content":"#chapter-pages","chapter":{"sel":"#chapter-dropdown option","url":"|attr:value","label":"|text"}}},{"id":"imhen","title":{"name":"h1|text","img":".gallery_first img[alt]|[attr:data-src,attr-contain:src]"},"reader":{"label":".current|text","title":{"name":"#gimg|attr:alt|remove:page\\s\\d+.*$","url":"a.return_btn|attr:href"},"imgs":"#gimg|attr-contain:src"}},{"id":"manhwaread","title":{"name":"main h1|text","tags":"main a[href*=\"/tag/\"] span|text","chapter":{"sel":"#chaptersList > a","url":"|attr:href","label":".chapter-item__name|text","at":".chapter-item__date|text"}},"reader":{"title":{"sel":"#readingNavTop h2 a","url":"|attr:href","name":"|text"},"label":"h1|text","content":"#imagesList","chapter":{"sel":"#chaptersList > a","url":"|attr:href","label":"|text"}},"search":{"title":{"sel":".manga-item","name":"h3 a|text","url":"a|attr:href","chapter":{"sel":"a.chapter-item","url":"|attr:href","label":".chapter-name|text","at":".chapter-timestamp|text"}}}},{"id":"softkomik","releases":{"title":{"sel":".item-komik:has(.item-desc)","url":"a|attr:href","name":".item-title a|text","chapter":{"sel":".list-chapter a","url":"|attr:href","label":"span|text"}}},"title":{"lazy":true,"sel":".chapter-list a","name":"h1:has(+h2)|text","tags":".genre-des a|text","chapter":{"sel":".chapter-list a","url":"|attr:href","label":"|text"}},"reader":{"title":{"sel":"a:has(.fa-book)","url":"|attr:href","name":"p|text"},"label":".bt-show .item-chevron a:not([href])|text","content":".container-img:has(> img)","imgs":".container-img > img|attr:src","prev":"a:has(.fa-chevron-left)|attr:href","next":"a:has(.fa-chevron-right)|attr:href"},"search":{"title":{"sel":".item-komik","name":".item-title a|text","url":"a|attr:href","img":"img:has(~ noscript)|bg-image","chapter":{"sel":".list-chapter a","url":"|attr:href","label":"span|text"}}}},{"id":"eva","releases":{"title":{"sel":".lux-masonry-grid .lux-card","url":"a|attr:href","name":"h3 a |text","chapter":{"sel":".lux-chapters a","url":"|attr:href","label":".ch-text|text","at":".ch-time|text"}}},"title":{"name":"h1|text","img":".poster-box img|attr-contain:src","tags":"a.gen-tag|text","chapter":{"sel":"#chapterlist li","url":"a|attr:href","label":"|attr:data-num","at":".chapterdate|text"}},"reader":{"sel":"#readerArea","title":{"url":".reader-nav-link[title=\"Series\"]|attr:href","name":".manga-name|text"},"label":"h1.chapter-name|text","imgs":".page-wrapper img|attr-contain:src","chapter":{"sel":".dropdown-list a","url":"|attr:href","label":"span|text"}},"search":{"title":{"sel":".manga-card-v","name":"h3 a |text","img":"img|attr-contain:src","url":"a|attr:href","chapter":{"sel":"a:has(> .v-time)","url":"|attr:href","label":"span|text","at":".v-time|text"}}}},{"id":"mada","releases":{"title":{"sel":".postbody .legend-inner","url":"a|attr:href","name":"h3 a|text","chapter":{"sel":".legend-chapters a","url":"|attr:href","label":".ch-txt|text","at":".ch-time|text"}}},"title":{"name":"h1|text","tags":"a.lh-genre-tag|text","chapter":{"sel":"#chapters-list-container a","url":"|attr:href","label":".ch-num|text","at":".ch-date|text"}},"reader":{"title":{"sel":".reader-title-group","name":".reader-manga-title|text","url":"a|attr:href"},"label":".reader-chapter-badge|text","chapter":{"sel":".chapter-modal a","url":"|attr:href","label":"|text"},"content":"#readerarea","imgs":"#readerarea img|attr-contain:src"},"search":{"title":{"sel":".legend-inner","name":"h3 a|text","url":"a|attr:href","chapter":{"sel":".legend-chapters a","url":"|attr:href","label":".ch-txt|text","at":".ch-time|text"}}}},{"id":"otakuangel","title":{"name":"h1|text","img":"main img|attr:src","tags":"a[href*=\"?kategori=\"]|text","chapter":{"sel":"a[href*=\"/{titleSlug}/\"]","url":"|attr:href","label":"h3|text"}},"reader":{"title":{"sel":"a:has(h1)","url":"|attr:href","name":"h1|text"},"label":"h2|text","lstrip":"option[value=\"long-strip\"]:checked","lstripBtn":"option[value=\"long-strip\"]","content":"div:has(> .image-container)","imgDivs":".image-container","chapter":{"sel":"h2 + select option","url":"|text","label":"|text"}},"search":{"title":{"sel":"main [role=\"button\"]:has(a)","url":"a|attr:href","name":"a|text","chapter":{"sel":"a ~ div a","url":"|attr:href","label":"|text"}}}},{"id":"dflow","title":{"name":"h1|text","tags":"h1 ~ div strong + div > span|text","chapter":{"sel":"div:has(> a[href*=\"/ReadChapter/\"])","url":"a|attr:href","label":"h5|text","at":"p:has(> .fa-calendar)|text|remove:\\d+\\sviews$"}},"reader":{"title":{"sel":"h2 a","url":"|attr:href","name":"|text"},"label":"h2 + p|text","content":"#readerContainer","imgs":"#readerContainer img|attr-contain:src","chapter":{"sel":"select option[value*=\"/ReadChapter/\"]","url":"|attr:value","label":"|text"}},"search":{"title":{"sel":".manga-card","url":"a|attr:href","name":"h5|text"}}},{"id":"inkora","title":{"name":"h1|text","chapter":{"sel":"a[href*=\"/read/\"]","url":"|attr:href","label":"p|text","at":"p + div p|text"}},"reader":{"lazy":true,"sel":"button:has(.lucide-arrow-left) + a span:first-child:not(:empty)","title":{"sel":"button:has(.lucide-arrow-left) + a","url":"|attr:href","name":"span:first-child|text"},"label":"button:has(.lucide-arrow-left) + a span:last-child|text","imgs":"img[alt*=\"Page\"]|attr-contain:src","prevBtn":"button:has(.lucide-chevron-left):not([disabled])","nextBtn":"button:has(.lucide-chevron-right):not([disabled])","chapter":{"trigger":"button:has(.lucide-menu)","sel":".fixed a[href*=\"/read/\"]","url":"|attr:href","label":"span|text"}},"chapters":{"chapter":{"json":true,"sel":"chapters","url":"id","label":"chapterNumber","at":"releaseDate"}},"search":{"lazy":true,"loading":".lucide-loader-circle","title":{"sel":"a[href*=\"/manhwa/\"]","url":"|attr:href","name":"h3|text","chapter":{"sel":"span:has(> .lucide-book-open)","label":"|text"}}}},{"id":"moins","title":{"lazy":true,"sel":"#cta-first-container a","name":"h1|text","img":"#manga-cover|attr:src","chapter":{"sel":"a.manga-detail__chapter","url":"|attr:href","label":".manga-detail__chapter-num|text","at":"manga-detail__chapter-right span|text"}}},{"id":"stone","title":{"name":"main h1|text","tags":"a[href*=\"?genre=\"]|text","chapter":{"json":"https://stonescape.xyz/api/series/{titleId}/chapters","sel":"chapters","label":"chapterNumber","url":"chapterNumber","at":"createdAt"}},"reader":{"title":{"sel":"header a[href*=\"/series/\"]","url":"|attr:href","name":"span|text"},"label":"button.s-select-trigger span|text","content":".s-reader__pages","imgDivs":".s-page-image","chapter":{"json":"https://stonescape.xyz/api/series/by-slug/{titleSlug}/chapters","sel":"chapters","label":"chapterNumber","url":"chapterNumber","at":"createdAt"}},"search":{"lazy":true,"loading":".s-skeleton","title":{"sel":"a[href*=\"/series/\"]","url":"|attr:href","name":"h3|text"}}},{"id":"rinko","releases":{"title":{"sel":".comic-card__body","url":"a|attr:href","name":"a|text","chapter":{"sel":"a.chapter-item","url":"|attr:href","label":"label|text","at":"span|text"}}},"title":{"name":"h1|text","img":".comic-cover img|attr-contain:src","tags":".genre|text","chapter":{"sel":".chapter a","url":"|attr:href","label":".chapter-number|text","at":".chapter-date|text"}},"reader":{"title":{"sel":".chapter-breadcrumb a[href*=\"/comic/\"]","url":"|attr:href","name":"|text"},"label":".breadcrumb-current|text","prev":{"sel":"a.prev","url":"|attr:href","label":".nav-chapter-name"},"next":{"sel":"a.next","url":"|attr:href","label":".nav-chapter-name"},"content":".images-flow"},"search":{"title":{"sel":".ac-card","url":"a|attr:href","name":".ac-title|text"}}},{"404":"div:has(.lucide-file-question-mark) + h1","id":"valir2","releases":{"title":{"sel":"[role=\"gridcell\"]","url":"a|attr:href","name":"h3|text","chapter":{"sel":"div:first-child > a[href*=\"/chapter/\"]","url":"|attr:href","label":"div:first-child span|text","at":"div:not(:first-child) span"}}},"title":{"sel":"h1","lazy":true,"name":"h1|text","tags":"a[href*=\"?tag=\"] span|text","first":"a[href*=\"/chapter/\"]:has(button)|attr:href","hasMore":"a[href*=\"page=2\"]:has(button)","chapter":{"lazy":false,"sel":"[role=\"tabpanel\"]:not(:has(a[href*=\"page=2\"])) a[href*=\"/chapter/\"]","url":"|attr:href","label":"div span|text","at":"span:has(.lucide-clock) span|text"}},"reader":{"sel":"h1","lazy":true,"title":{"name":"h1|text","url":"a:has(~ div h1)|attr:href"},"label":"h1 ~ p|text","imgDivs":":not([data-page]) > [data-page]","content":"main","prevBtn":"main ~ div button:has(.lucide-chevron-left)","nextBtn":"main ~ div button:has(.lucide-chevron-right)","chapter":{"trigger":"button:has(.lucide-book-open) ~ button:has(.lucide-menu)","sel":"[data-radix-scroll-area-viewport] a","url":"|attr:href","label":"p|text"}},"search":{"lazy":true,"empty":"div[data-state=\"active\"]:not(:has(a)):not(:empty)","title":{"sel":"div[data-state=\"active\"] a:has(img)","url":"|attr:href","name":"h3|text"}}},{"404":"img[src$=\"404.png\"]","id":"silentquill","releases":{"title":{"sel":"#content-all .bigor","url":"a|attr:href","name":".tt a|text","chapter":{"sel":".chfiv a","url":"|attr:href","label":".fivchap|text","at":".fivtime|text"}}},"title":{"sel":".seriestere","name":"h1|text","img":"img[itemprop=\"image\"]|attr-contain:src","hasMore":".kdt8-load-more","first":"a.kdt8-btn-first|attr:href","chapter":{"sel":"a.kdt8-ch-item","url":"|attr:href","label":".kdt8-ch-num|text","at":".kdt8-ch-date|text"}},"reader":{"sel":".readercontent","title":{"sel":"a.back-series","url":"|attr:href","name":"|attr:title"},"label":".ch-num|text","content":"#readerarea","imgs":".ts-main-image|[attr:data-src,attr-contain:src]","lstrip":"#readingmode option[value=\"full\"]:checked","lstripBtn":"#readingmode option[value=\"full\"]","chapter":{"sel":"#reader-topbar select#chapter option:not([disabled])","url":"|attr:value","label":"|text"}},"search":{"title":{"sel":".listupd .bsx","name":".bigor .tt|text","url":"a|attr:href"}}},{"id":"qi","releases":{"title":{"sel":"[aria-label=\"Latest Updates\"] article","url":"a|attr:href","name":".item-title|text","chapter":{"sel":"a.chapter-row","url":"|attr:href","label":".chapter-num|text","at":".chapter-time|text"}}},"title":{"name":"h1|text","tags":".genre-tag|text","hasMore":".page-btn[aria-label=\"Page 2\"]","first":".cover-actions a|attr:href","chapter":{"sel":".cl-list a","url":"|attr:href","label":".cl-num|text","at":".cl-date|text"}},"reader":{"title":{"sel":"a.r-back","url":"|attr:href","name":"|attr:aria-label"},"label":"nav [aria-current=\"page\"]|text","content":".r-strip","prevBtn":"nav button[aria-label=\"Previous chapter\"]","nextBtn":"nav button[aria-label=\"Next chapter\"]"},"chapters":{"chapter":{"json":true,"sel":"data","url":"slug","label":"number","at":"createdAt"}},"search":{"title":{"sel":"a.bc","url":"|attr:href","name":"|attr:aria-label"}}},{"id":"hades","releases":{"title":{"sel":".manga-card-container","url":"a|attr:href","name":"h4|text","chapter":{"sel":"a.ch-item","url":"|attr:href","label":".ch-name|text","at":".ch-date|text"}}},"title":{"name":"h1|text","img":".info-poster img|attr-contain:src","tags":".genre-list a|text","chapter":{"sel":"#chapterlist a","url":"|attr:href","label":".chapternum|text","at":".chapterdate|text"}},"reader":{"sel":"#readerarea","title":{"sel":"a.back-to-series","url":"|attr:href","name":"|text"},"label":"select#chapter option:checked|text","content":"#readerarea","lstrip":"#readingmode option[value=\"full\"]:checked","lstripBtn":"#readingmode option[value=\"full\"]","chapter":{"sel":".reader-nav.ctop select#chapter option:not([disabled])","url":"|attr:value","label":"|text"}},"search":{"title":{"sel":".manga-card-container","url":"a|attr:href","name":"h4|text"}}},{"id":"shadowi","releases":{"title":{"sel":"div:has(> img):has(h3)","url":"a[href*=\"/series/\"]|attr:href","name":"h3|text","chapter":{"sel":"div","url":"a[href*=\"/read/\"]|attr:href","label":"h4|text"}}},"title":{"name":"h1|text","img":"a[href*=\"/thumbnails\"] img|attr-contain:src","tags":"h1 ~ div [data-slot=\"badge\"]|text","hasMore":"button:not([disabled]) .lucide-chevron-right","firstBtn":"button:has(.lucide-play)","chapter":{"sel":".chapters-card a","url":"|attr:href","label":"h4|text","at":"h4 ~ div span:nth-child(5)|text"},"trackers":{"anl":"a[href*=\"anilist.co\"]|attr:href","mal":"a[href*=\"myanimelist.net\"]|attr:href"}},"reader":{"title":{"sel":"header a[href*=\"/series/\"]","url":"|attr:href","name":"|text"},"label":"button[role=\"combobox\"] span|text","content":".chapter-reader-continuous-wrap","imgs":".chapter-reader-image-cell|attr-contain:src","prev":"a:has(+ button[role=\"combobox\"])|attr:href","next":"button[role=\"combobox\"] + a|attr:href","chapter":{"trigger":"button[role=\"combobox\"]","sel":"[role=\"option\"]","label":"[id] span|text"}},"search":{"lazy":true,"empty":"ul[role=\"list\"]:empty","title":{"sel":"main ul li:has(h2)","url":"a|attr:href","name":"h2|text"}}},{"id":"nika","title":{"name":"h1|text","tags":"a[href*=\"tag=\"]|text","type":"div:has(+ .lucide-book-marked) span:last-child|text","first":"a:has(.lucide-book-open)|attr:href","hasMore":"button[disabled] + button + button + button:last-child:not([disabled])","chapter":{"sel":"a[href*=\"/read/\"]:has(.lucide-eye)","url":"|attr:href","label":"h3|text","at":"div:last-child span:nth-child(3)|text"}},"reader":{"content":"div:has(> [data-page-index])","label":".lucide-book-open ~ span|text","title":{"sel":"a[href*=\"/series/\"]","url":"|attr:href","name":"|text"},"prev":{"sel":"a:has(.lucide-skip-back)","url":"|attr:href","label":"|text"},"next":{"sel":"a:has(.lucide-skip-forward)","url":"|attr:href","label":"|text"},"chapter":{"trigger":"button:has(.lucide-list)","sel":".fixed a[href*=\"/read/\"]:has(.lucide-calendar)","url":"|attr:href","label":"span|text","at":".lucide-calendar + span|text"}}},{"id":"manga18","releases":{"title":{"sel":".recoment_box .story_item","url":"a|attr:href","name":".mg_name a|text","chapter":{"sel":".mg_chapter .item","url":"a|attr:href","label":".chapter_count a|text","at":".chapter_time span|text"}}},"title":{"name":"h1|text","img":".detail_avatar img|attr-contain:src","tags":".detail_infomation a[href*=\"/manga-list/\"]|text","chapter":{"sel":".chapter_box .item","url":"a.chapter_num|attr:href","label":"a.chapter_num|text","at":".chapter_info|text"}},"reader":{"title":{"sel":".breadcrumb li:nth-child(2) a","url":"|attr:href","name":"|text"},"label":".chapter_name span|text","content":"#chapter_boxImages","chapter":{"sel":"select#slcChapter option","label":"|text","url":"|attr:value"}},"search":{"title":{"sel":".story_item","name":"mg_name a|text","url":"a|attr:href","chapter":{"sel":".mg_chapter .item","url":"a|attr:href","label":".chapter_count a|text","at":".chapter_time span|text"}}}},{"id":"mangolibreria","title":{"name":"h1|text","tags":"a[href*=\"genres=\"]|text","chapter":{"allBtn":"div:has(> a[href*=\"/chapters/\"]) + div button:has(.lucide-arrow-down)","sel":"a[href*=\"/chapters/\"]","url":"|attr:href","label":"span|text","at":"svg + span|text"}},"reader":{"title":{"sel":"a:has(h1)","url":"|attr:href","name":"|text"},"label":"a:has(h1) ~ div span|text","content":"main","prevBtn":"a:has(.lucide-arrow-left)","nextBtn":"a:has(.lucide-arrow-right)"},"search":{"title":{"sel":"div:has(> a[href*=\"/comics/\"] img)","name":"h3|text","img":"img|[attr:data-src,attr-contain:src]","url":"a|attr:href","chapter":{"sel":"a[href*=\"/chapters/\"]","url":"|attr:href","label":"span|text","at":".lucide-clock + span|text"}}}},{"id":"mangalivre","title":{"name":".manga-title|text","img":".manga-cover img|attr-contain:src","tags":".manga-tag|text","chapter":{"sel":".chapter-item","url":"a|attr:href","label":".chapter-number|text","at":".chapter-date|text"}},"reader":{"title":{"sel":".manga-title a","url":"|attr:href","name":"|text"},"label":".manga-title|text","content":".chapter-images","imgs":"img.chapter-image|attr-contain:src","chapter":{"sel":".chapter-dropdown-content > a","url":"|attr:href","label":"|text"}},"search":{"title":{"sel":".manga-card-image","url":"a|attr:href","name":"h3|text"}}},{"id":"leituramanga","title":{"name":"h1|text","tags":"h1 ~ div a[href*=\"/genre/\"] span|text","first":"a[href*=\"/chapter/\"]|attr:href","hasMore":".absolute button","chapter":{"sel":"div:has(> div > a):has(.lucide-calendar)","url":"a|attr:href","label":"a span|text","at":"span:has(.lucide-calendar)|text"}},"reader":{"title":{"sel":"#breadcrumb a[href*=\"/manga/\"]","url":"|attr:href","name":"|text"},"label":"#breadcrumb li:last-child span|text","content":"#chapter-image-list","prev":"a:has(.lucide-chevron-left)|attr:href","next":"a:has(.lucide-chevron-right)|attr:href","chapter":{"json":"https://api.leituramanga.net/api/chapter/get-by-manga-id","sel":"data.data","label":"chapterNumber","url":"chapterNumber","at":"releaseDate"}},"search":{"lazy":true,"empty":"#search-content-id > div:empty","title":{"sel":"#search-content-id div:has(> a img)","url":"a|attr:href","name":"a|attr:title"}}},{"id":"mgread","title":{"name":"h1|text","id":"#follow-btn|attr:data-id","img":".story-cover img|attr-contain:src","tags":"#genre-tags a|text","hasMore":"a[href*=\"/page/2/\"]","first":"#view-comic a.uk-button|attr:href","chapter":{"sel":".chapter-item a","url":"|attr:href","label":"h3|text","at":"time|attr:datetime"}},"reader":{"title":{"id":"#chapter-toggle|attr:data-id","url":"a#breadcrumb-manga|attr:href","name":"a#breadcrumb-manga|text"},"label":"[aria-current=\"page\"]|text","content":"#chapter-content","imgs":"#chapter-content img|[attr:data-original-src,attr-contain:src]","prev":"a#prev-link|attr:href","next":"a#next-link|attr:href"},"chapters":{"chapter":{"json":true,"sel":"items","url":"slug","label":"number","at":"created_at"}},"search":{"title":{"sel":"article","url":"a|attr:href","name":"img|attr:alt"}}},{"id":"manhwaweb","title":{"lazy":true,"sel":"div:has(> a[href*=\"/leer/\"])","name":"h2|text","tags":"a[href*=\"genders=\"]|text","first":"a[href*=\"/leer/\"]|attr:href","chapter":{"lazy":false,"allBtn":"button.ver_todo:not(.hidden)","sel":"div:has(a):has(~ button.ver_todo.hidden)","url":"a|attr:href","label":"div|text","at":"img + span|text"}},"reader":{"lazy":true,"sel":"a[href*=\"/manhwa/\"]","title":{"name":"header ~ div div.text-center:has(+ div > span)|text","url":"a[href*=\"/manhwa/\"]|attr:href"},"label":"header ~ div div.text-center + div > span|text","content":"body","prevBtn":"a[href*=\"/leer/\"]:has(+ a[href*=\"/manhwa/\"])","nextBtn":"a[href*=\"/manhwa/\"] + a[href*=\"/leer/\"]"},"search":{"lazy":true,"loading":"img[alt=\"Random Image\"]","title":{"sel":"a[href*=\"/manhwa/\"]","url":"|attr:href","name":"p|text"}}}]
package/stripper.js CHANGED
@@ -1 +1 @@
1
- (function(s,l){typeof exports=="object"&&typeof module<"u"?l(exports):typeof define=="function"&&define.amd?define(["exports"],l):(s=typeof globalThis<"u"?globalThis:s||self,l(s.$mpStripper={}))})(this,(function(s){"use strict";var l=Object.defineProperty,L=(t,e,n)=>e in t?l(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,M=(t,e,n)=>L(t,e+"",n);class m{constructor(){M(this,"elsPool",new Map)}check(e){if(!e||e===document.body)return!0;const n=this.elsPool.get(e);if(n!==void 0)return n;const r=getComputedStyle(e);if(!(r.display!=="none"&&+(r.opacity??"1")>.1))return this.elsPool.set(e,!1),!1;const o=this.check(e.parentElement);return this.elsPool.set(e,o),o}}function h(t,e){let n=[e??document.documentElement];const r=t.split("->");for(let o=0;o<r.length;o++){const i=r[o];n=n.map(a=>Array.from((a.shadowRoot??a).querySelectorAll(i))).flat()}return n}function w(t=0){return new Promise(e=>setTimeout(e,t))}async function f(t,e,n){const r=await n(()=>{t=0});if(r!==void 0)return r;if(!(t<=0))return await new Promise(o=>{setTimeout(async()=>{const i=await f(t-1,e,n);o(i)},e)})}async function T(t,e,n=0){const r=e.root??document.documentElement,o=e.timeoutMs;return f(o/50,50,()=>{const i=e.all===!0?Array.from(r.querySelectorAll(t)):r.querySelector(t)??void 0;return(e.all?!i?.length:!i)?void 0:i})}function u(t){const e=t.getBoundingClientRect();return H(e)}function H({width:t,height:e}){return t>=75&&e>=50&&(t>=200||e>=200)}async function P(t,e){const n=await C(t,e);return y(n?.parentElement??t)}async function C(t,e){if(e?.imgDivs)return await T(e.imgDivs,{timeoutMs:15e3});const n=Array.from(t.querySelectorAll(e?.imgs?.split("|")[0]??"img,canvas"));if(!n.length)return;const r=new m;return n.find(o=>r.check(o)&&(u(o)||o instanceof HTMLImageElement&&(!o.width||!o.height)))}function y(t){return t===document.documentElement||t.scrollHeight-t.clientHeight>=10&&window.getComputedStyle(t).overflow!=="visible"?t:y(t.parentElement)}function q(t){if(t instanceof HTMLOptionElement){const e=t.parentElement instanceof HTMLOptGroupElement?t.parentElement.parentElement:t.parentElement;if(!e||!(e instanceof HTMLSelectElement))return;const n=t.getAttribute("value")||"";if(e.value===n)return;e.value=n,e.dispatchEvent(new Event("change"));return}t instanceof HTMLAnchorElement&&t.addEventListener("click",e=>e.preventDefault(),{once:!0}),t.click(),t.dispatchEvent(new PointerEvent("pointerdown",{bubbles:!0,cancelable:!0,pointerType:"mouse",button:0})),t.dispatchEvent(new MouseEvent("mousedown",{bubbles:!0,cancelable:!0,view:window,button:0}))}async function I(t){const e=await R(t),n=t?.content;return n?await f(e?30:10,100,()=>{for(const r of n.split(",")){const o=document.querySelector(r);if(o)return o}})??document.body:document.body}async function R(t){const{lstrip:e,lstripBtn:n}=t||{};if(!e||!n||document.querySelector(e))return!1;const r=n.split(";");for(const o of r)if(!await k(o.trim()))return!1;return!0}async function k(t){const e=await f(50,30,()=>document.querySelector(t));return e?(q(e),await w(),!0):!1}function D(t){return p(t)}async function p(t,e=0,n=0){const r=await I(t);$(r);const o=await P(r,t);await j(o,{stepMs:100,durationMs:1e4});const i=new m,a=t?.imgDivs?W(r,t.imgDivs,i):v(r,i),c=a===void 0;if(c&&n===50){if(!t?.imgDivs&&b(r,i))return r;throw new Error("EMPTY")}return a!==!1?(await w(500),await p(t,0,c?n+1:0),r):e>=1?r:await p(t,e+1)}function $(t){const e=Array.from(t.querySelectorAll('img[loading="lazy"]'));for(const n of e)n.setAttribute("loading","eager");E(t,"data-src"),E(t,"data-url")}function E(t,e){const n=Array.from(t.querySelectorAll(`img[${e}]`));for(const r of n){const o=r.getAttribute(e)?.split(" ")[0];o&&r.src!==o&&(r.src=o)}}function W(t,e,n){const r=h(e,t);if(r.length)return r.some(o=>b(o,n)?!1:v(o,n)!==!1)}function v(t,e){const n=Array.from(t.querySelectorAll("img"));let r=!1;for(const o of n){if(!e.check(o))continue;const i=u(o);if(r=r||i,!o.complete&&(i||!o.width||!o.height))return!0}return r?!1:void 0}function b(t,e){return Array.from(t.querySelectorAll("canvas")).some(n=>e.check(n)&&u(n))}async function j(t,{stepMs:e,durationMs:n}){await U(t,n,e)}async function U(t,e,n){t.style.setProperty("scroll-behavior","auto");let r=e;for(;r>0&&t.scrollTop+t.clientHeight+200<t.scrollHeight;){const o=t.scrollHeight-t.scrollTop-t.clientHeight;t.scrollTop+=o/(r/n),r-=n,await w(n)}}async function O(t,e){const n=e?.imgDivs;return n?await x(t,n):await z(t,e)}async function x(t,e){const n=h(e,t),r=[],o=new m;for(const i of n){const a=Array.from(i.querySelectorAll("img,canvas"));for(const c of a)o.check(c)&&u(c)&&r.push(c)}return r}function z(t,e){const n=[],r={},o=new m;return t.querySelectorAll(e?.imgs?.split("|")[0]??"img,canvas").forEach(async i=>{if(!(!o.check(i)||!u(i))){if(i instanceof HTMLImageElement){const a=r[i.src];if(a!==void 0&&a!==-1){n.splice(a,1);return}r[i.src]=n.length}n.push(i)}}),n}async function B(t){return t instanceof HTMLCanvasElement?t.toDataURL("image/jpeg",1):await G(t)}async function G(t){if(!t.src.startsWith("blob:")||await V(t))return t.src;const e=document.createElement("canvas"),n=e.getContext("2d"),r=t.naturalWidth,o=t.naturalHeight;return e.width=r,e.height=o,n?.drawImage(t,0,0,r,o),e.toDataURL("image/jpeg",1)}function V(t){return new Promise(e=>{const n=new Image;n.onload=()=>e(!0),n.onerror=()=>e(!1),n.src=t.src})}function _(t,{isWeb:e}){const n=!e&&navigator.userAgent.toLowerCase().includes("android"),r=!e&&!n;return Promise.all(t.map(async({src:o,el:i})=>{let a,c;const g=o.startsWith("data:");if(n){const S=o.startsWith("blob:");!S&&!g&&(c=await d(o,i)),a=S?await Q(o):o}else e?g?a=o:(c=await d(o,i,!0),a=J(c,r)):g?(a=await F(o),c=await d(a)):(a=o,c=await d(o,i));return{src:a,el:c}}))}function d(t,e,n){if(e&&e instanceof HTMLImageElement&&!n)return Array.from(e.attributes).forEach(o=>{o.name!=="src"&&e.removeAttribute(o.name)}),e;const r=(o=1)=>new Promise((i,a)=>{const c=document.createElement("img");n&&(c.crossOrigin="anonymous"),c.onload=()=>i(c),c.onerror=()=>{o<2?r(o+1).then(i).catch(a):a(new Error("RESOLVE_IMG_ERR"))},c.src=t});return r()}async function F(t){const e=await(await fetch(t)).blob();return URL.createObjectURL(e)}async function Q(t){const e=await fetch(t);return await Y(await e.blob())}function Y(t){return new Promise((e,n)=>{const r=new FileReader;r.onloadend=()=>e(r.result),r.onerror=n,r.readAsDataURL(t)})}function J(t,e){const n=document.createElement("canvas"),r=n.getContext("2d"),o=t.naturalWidth,i=t.naturalHeight;if(n.width=o,n.height=i,r.drawImage(t,0,0,o,i),!e){const a=n.toDataURL("image/webp");if(a!=="data:,")return a}return n.toDataURL("image/jpeg")}async function K({title:t,imgs:e}){document.open(),document.close(),document.documentElement.style.setProperty("background","black"),document.title=t;const n=document.createElement("meta");n.setAttribute("name","viewport"),n.setAttribute("content","width=device-width, initial-scale=1, user-scalable=0"),document.head.appendChild(n);const r=document.createElement("div");r.style.setProperty("display","none");const o=document.createElement("code");o.innerText=e.map(({src:i})=>i).join(" "),r.appendChild(o),document.body.appendChild(r),e.forEach(({el:i})=>i&&document.body.appendChild(i))}async function N({spec:t,raw:e}){const n=await A({spec:t,raw:e});return await K({title:e.title.name,imgs:n}),{...e,prev:void 0,imgs:void 0,title:{...e.title,chapters:[]}}}async function A({spec:t,raw:e,isWeb:n}){const r=e.imgs?.length?e.imgs.map(o=>({src:o})):await X(t.reader);if(!r.length)throw new Error("Empty");return await _(r,{isWeb:n})}async function X(t){const e=await D(t),n=await O(e,t);return await Promise.all(n.map(async r=>({src:await B(r),el:r})))}s.loadImages=A,s.strip=N}));
1
+ (function(s,l){typeof exports=="object"&&typeof module<"u"?l(exports):typeof define=="function"&&define.amd?define(["exports"],l):(s=typeof globalThis<"u"?globalThis:s||self,l(s.$mpStripper={}))})(this,(function(s){"use strict";var l=Object.defineProperty,L=(t,e,n)=>e in t?l(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,M=(t,e,n)=>L(t,e+"",n);class m{constructor(){M(this,"elsPool",new Map)}check(e){if(!e||e===document.body)return!0;const n=this.elsPool.get(e);if(n!==void 0)return n;const r=getComputedStyle(e);if(!(r.display!=="none"&&+(r.opacity??"1")>.1))return this.elsPool.set(e,!1),!1;const o=this.check(e.parentElement);return this.elsPool.set(e,o),o}}function h(t,e){let n=[e??document.documentElement];const r=t.split("->");for(let o=0;o<r.length;o++){const a=r[o];n=n.map(i=>Array.from((i.shadowRoot??i).querySelectorAll(a))).flat()}return n}function w(t=0){return new Promise(e=>setTimeout(e,t))}async function f(t,e,n){const r=await n(()=>{t=0});if(r!==void 0)return r;if(!(t<=0))return await new Promise(o=>{setTimeout(async()=>{const a=await f(t-1,e,n);o(a)},e)})}async function T(t,e,n=0){const r=e.root??document.documentElement,o=e.timeoutMs;return f(o/50,50,()=>{const a=e.all===!0?Array.from(r.querySelectorAll(t)):r.querySelector(t)??void 0;return(e.all?!a?.length:!a)?void 0:a})}function u(t){const e=t.getBoundingClientRect();return H(e)}function H({width:t,height:e}){return t>=75&&e>=50&&(t>=200||e>=200)}async function P(t,e){const n=await C(t,e);return y(n?.parentElement??t)}async function C(t,e){if(e?.imgDivs)return await T(e.imgDivs,{timeoutMs:15e3});const n=Array.from(t.querySelectorAll(e?.imgs?.split("|")[0]??"img,canvas"));if(!n.length)return;const r=new m;return n.find(o=>r.check(o)&&(u(o)||o instanceof HTMLImageElement&&(!o.width||!o.height)))}function y(t){return t===document.documentElement||t.scrollHeight-t.clientHeight>=10&&window.getComputedStyle(t).overflow!=="visible"?t:y(t.parentElement)}function q(t,e){if(t instanceof HTMLOptionElement){const n=t.parentElement instanceof HTMLOptGroupElement?t.parentElement.parentElement:t.parentElement;if(!n||!(n instanceof HTMLSelectElement))return;const r=t.getAttribute("value")||"";if(n.value===r)return;n.value=r,n.dispatchEvent(new Event("change"));return}t instanceof HTMLAnchorElement&&e?.preventDefault!==!1&&t.addEventListener("click",n=>n.preventDefault(),{once:!0}),t.click(),t.dispatchEvent(new PointerEvent("pointerdown",{bubbles:!0,cancelable:!0,pointerType:"mouse",button:0})),t.dispatchEvent(new MouseEvent("mousedown",{bubbles:!0,cancelable:!0,view:window,button:0}))}async function D(t){const e=await I(t),n=t?.content;return n?await f(e?30:10,100,()=>{for(const r of n.split(",")){const o=document.querySelector(r);if(o)return o}})??document.body:document.body}async function I(t){const{lstrip:e,lstripBtn:n}=t||{};if(!e||!n||document.querySelector(e))return!1;const r=n.split(";");for(const o of r)if(!await R(o.trim()))return!1;return!0}async function R(t){const e=await f(50,30,()=>document.querySelector(t));return e?(q(e),await w(),!0):!1}function k(t){return p(t)}async function p(t,e=0,n=0){const r=await D(t);$(r);const o=await P(r,t);await j(o,{stepMs:100,durationMs:1e4});const a=new m,i=t?.imgDivs?W(r,t.imgDivs,a):E(r,a),c=i===void 0;if(c&&n===50){if(!t?.imgDivs&&b(r,a))return r;throw new Error("EMPTY")}return i!==!1?(await w(500),await p(t,0,c?n+1:0),r):e>=1?r:await p(t,e+1)}function $(t){const e=Array.from(t.querySelectorAll('img[loading="lazy"]'));for(const n of e)n.setAttribute("loading","eager");v(t,"data-src"),v(t,"data-url")}function v(t,e){const n=Array.from(t.querySelectorAll(`img[${e}]`));for(const r of n){const o=r.getAttribute(e)?.split(" ")[0];o&&r.src!==o&&(r.src=o)}}function W(t,e,n){const r=h(e,t);if(r.length)return r.some(o=>b(o,n)?!1:E(o,n)!==!1)}function E(t,e){const n=Array.from(t.querySelectorAll("img"));let r=!1;for(const o of n){if(!e.check(o))continue;const a=u(o);if(r=r||a,!o.complete&&(a||!o.width||!o.height))return!0}return r?!1:void 0}function b(t,e){return Array.from(t.querySelectorAll("canvas")).some(n=>e.check(n)&&u(n))}async function j(t,{stepMs:e,durationMs:n}){await U(t,n,e)}async function U(t,e,n){t.style.setProperty("scroll-behavior","auto");let r=e;for(;r>0&&t.scrollTop+t.clientHeight+200<t.scrollHeight;){const o=t.scrollHeight-t.scrollTop-t.clientHeight;t.scrollTop+=o/(r/n),r-=n,await w(n)}}async function O(t,e){const n=e?.imgDivs;return n?await x(t,n):await z(t,e)}async function x(t,e){const n=h(e,t),r=[],o=new m;for(const a of n){const i=Array.from(a.querySelectorAll("img,canvas"));for(const c of i)o.check(c)&&u(c)&&r.push(c)}return r}function z(t,e){const n=[],r={},o=new m;return t.querySelectorAll(e?.imgs?.split("|")[0]??"img,canvas").forEach(async a=>{if(!(!o.check(a)||!u(a))){if(a instanceof HTMLImageElement){const i=r[a.src];if(i!==void 0&&i!==-1){n.splice(i,1);return}r[a.src]=n.length}n.push(a)}}),n}async function B(t){return t instanceof HTMLCanvasElement?t.toDataURL("image/jpeg",1):await G(t)}async function G(t){if(!t.src.startsWith("blob:")||await V(t))return t.src;const e=document.createElement("canvas"),n=e.getContext("2d"),r=t.naturalWidth,o=t.naturalHeight;return e.width=r,e.height=o,n?.drawImage(t,0,0,r,o),e.toDataURL("image/jpeg",1)}function V(t){return new Promise(e=>{const n=new Image;n.onload=()=>e(!0),n.onerror=()=>e(!1),n.src=t.src})}function _(t,{isWeb:e}){const n=!e&&navigator.userAgent.toLowerCase().includes("android"),r=!e&&!n;return Promise.all(t.map(async({src:o,el:a})=>{let i,c;const g=o.startsWith("data:");if(n){const S=o.startsWith("blob:");!S&&!g&&(c=await d(o,a)),i=S?await Q(o):o}else e?g?i=o:(c=await d(o,a,!0),i=J(c,r)):g?(i=await F(o),c=await d(i)):(i=o,c=await d(o,a));return{src:i,el:c}}))}function d(t,e,n){if(e&&e instanceof HTMLImageElement&&!n)return Array.from(e.attributes).forEach(o=>{o.name!=="src"&&e.removeAttribute(o.name)}),e;const r=(o=1)=>new Promise((a,i)=>{const c=document.createElement("img");n&&(c.crossOrigin="anonymous"),c.onload=()=>a(c),c.onerror=()=>{o<2?r(o+1).then(a).catch(i):i(new Error("RESOLVE_IMG_ERR"))},c.src=t});return r()}async function F(t){const e=await(await fetch(t)).blob();return URL.createObjectURL(e)}async function Q(t){const e=await fetch(t);return await Y(await e.blob())}function Y(t){return new Promise((e,n)=>{const r=new FileReader;r.onloadend=()=>e(r.result),r.onerror=n,r.readAsDataURL(t)})}function J(t,e){const n=document.createElement("canvas"),r=n.getContext("2d"),o=t.naturalWidth,a=t.naturalHeight;if(n.width=o,n.height=a,r.drawImage(t,0,0,o,a),!e){const i=n.toDataURL("image/webp");if(i!=="data:,")return i}return n.toDataURL("image/jpeg")}async function K({title:t,imgs:e}){document.open(),document.close(),document.documentElement.style.setProperty("background","black"),document.title=t;const n=document.createElement("meta");n.setAttribute("name","viewport"),n.setAttribute("content","width=device-width, initial-scale=1, user-scalable=0"),document.head.appendChild(n);const r=document.createElement("div");r.style.setProperty("display","none");const o=document.createElement("code");o.innerText=e.map(({src:a})=>a).join(" "),r.appendChild(o),document.body.appendChild(r),e.forEach(({el:a})=>a&&document.body.appendChild(a))}async function N({spec:t,raw:e}){const n=await A({spec:t,raw:e});return await K({title:e.title.name,imgs:n}),{...e,prev:void 0,imgs:void 0,title:{...e.title,chapters:[]}}}async function A({spec:t,raw:e,isWeb:n}){const r=e.imgs?.length?e.imgs.map(o=>({src:o})):await X(t.reader);if(!r.length)throw new Error("Empty");return await _(r,{isWeb:n})}async function X(t){const e=await k(t),n=await O(e,t);return await Promise.all(n.map(async r=>({src:await B(r),el:r})))}s.loadImages=A,s.strip=N}));