@ file : Suppress (" Blocking Method In Non Blocking Context ") Ċ Ċ package Ġnet . cjs ah . console Ċ Ċ import Ġio . ktor . util . c io . write Channel Ċ import Ġio . ktor . utils . io . write Fully Ċ import Ġio . ktor . utils . io . close Ċ import Ġkotlinx . coroutines . Dispatch ers Ċ import Ġkotlinx . coroutines . sync . Mutex Ċ import Ġkotlinx . coroutines . sync . with Lock Ċ import Ġkotlinx . coroutines . with Context Ċ import Ġnet . mam oe . mir ai . Bot Ċ import Ġnet . mam oe . mir ai . utils . Login Solver Ċ import Ġorg . apache . logging . log 4 j . Log Manager Ċ import Ġjava . io . File Ċ Ċ class ĠSolver Ġ: ĠLogin Solver () Ġ{ ĊĠĠĠ Ġprivate Ġval Ġlogger Ġ= ĠLog Manager . getLogger (" çĻ» éĻĨ ") ĊĠĠĠ Ġprivate Ġval Ġlogin Solver Lock Ġ= ĠMutex () ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġon Solve Pic Captcha ( bot : ĠBot , Ġdata : ĠByteArray ): ĠString ? Ġ= Ġlogin Solver Lock . with Lock Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Suppress (" Blocking Method In Non Blocking Context ") ĊĠĠĠĠĠĠĠ Ġval Ġtemp File : ĠFile Ġ= ĠFile . create TempFile (" tmp ", Ġ". png "). apply Ġ{ Ġdelete On Exit () Ġ} ĊĠĠĠĠĠĠĠ Ġwith Context ( Dispatch ers . IO ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtemp File . createNew File () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlogger . info (" éľĢè¦ģ åĽ¾çīĩ éªĮè¯ģçłģ çĻ»å½ķ , Ġ éªĮè¯ģçłģ ä¸º Ġ 4 Ġ åŃĹ æ¯į ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtemp File . write Channel (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwrite Fully ( data ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclose () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlogger . info (" è¯· æŁ¥çľĭ æĸĩä»¶ Ġ${ temp File . absolute Path }") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlogger . warn (" éªĮè¯ģçłģ æĸĩä»¶ ä¿ĿåŃĺ å¤±è´¥ ", Ġe ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġlogger . info (" è¯·è¾ĵåħ¥ Ġ 4 Ġ ä½į åŃĹ æ¯į éªĮè¯ģçłģ . Ġ èĭ¥ è¦ģ æĽ´ æį¢ éªĮè¯ģçłģ , Ġ è¯· çĽ´æİ¥ åĽŀ è½¦ ") ĊĠĠĠĠĠĠĠ Ġval Ġcontext Ġ: ĠString Ġ= Ġread Line () !! ĊĠĠĠĠĠĠĠ Ġreturn Ġcontext . replace ("\ n ", Ġ""). take Unless Ġ{ Ġit . length Ġ!= Ġ 4 Ġ|| Ġit . isEmpty () Ġ}. also Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlogger . info (" æŃ£åľ¨ æıĲäº¤ Ġ$ it ...") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġon Solve Slider Captcha ( bot : ĠBot , Ġurl : ĠString ): ĠString ? Ġ{ ĊĠĠĠĠĠĠĠ Ġlogger . info (" éľĢè¦ģ æ»ĳ åĬ¨ éªĮè¯ģçłģ , Ġ è¯· åľ¨ ä»»æĦı æµıè§ĪåĻ¨ ä¸Ń æīĵå¼Ģ ä»¥ä¸ĭ éĵ¾æİ¥ å¹¶ å®ĮæĪĲ éªĮè¯ģçłģ , Ġ çĦ¶åĲİ è¯· æĮī åĽŀ è½¦ ") ĊĠĠĠĠĠĠĠ Ġlogger . info (" éĵ¾æİ¥ : Ġ$ url " Ġ) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġread Line (). also Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlogger . info (" æŃ£åľ¨ æıĲäº¤ ä¸Ń ...") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġon Solve Unsafe Device Login Verify ( bot : ĠBot , Ġurl : ĠString ): ĠString ? Ġ{ ĊĠĠĠĠĠĠĠ Ġlogger . info (" å½ĵåīį çĻ»å½ķ çİ¯å¢ĥ ä¸į å®īåħ¨ ï¼Į æľįåĬ¡åĻ¨ è¦ģæ±Ĥ è´¦æĪ· è®¤ è¯ģ ãĢĤ è¯· åľ¨ ä»»æĦı æµıè§ĪåĻ¨ æīĵå¼Ģ Ġ$ url Ġ å¹¶ å®ĮæĪĲ éªĮè¯ģ åĲİ è¾ĵåħ¥ ä»»æĦı åŃĹç¬¦ ãĢĤ ") ĊĠĠĠĠĠĠĠ Ġreturn Ġread Line (). also Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlogger . info (" æŃ£åľ¨ æıĲäº¤ ä¸Ń ...") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} Ċ } Ċ