package Ġtol iner . discord . sir itor i . plugin Ċ Ċ import Ġcom . github . kit tin un f . result . Result Ċ import Ġtol iner . discord . sir itor i . S ir itor i Logger Ċ Ċ class ĠS ir itor i Core Plugin Ġ: ĠIS ir itor i Checker Plugin Ġ{ ĊĠĠĠ Ġoverride Ġval Ġname : ĠString ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġ" core " ĊĠĠĠ Ġprivate Ġval Ġregex Ġ= Ġ""" [\ p { Is Han }\ p { Is H ir ag ana }\ p { Is K ata k ana } ãĥ¼ ï½ ° ï ¾ Ł ï ¾ ŀ ]+ """. to Regex () ĊĠĠĠ Ġprivate Ġval Ġlower Case Ġ= Ġ" ãĤ ¡ ãĤ£ ãĤ ¥ ãĤ§ ãĤ © ãĥ µ ã ĩ ° ãĥ ¶ ã ĩ ± ã ĩ ² ãĥĥ ã ĩ ³ ã ĩ ´ ã ĩ µ ã ĩ ¶ ã ĩ · ã ĩ · ã ĩ ¸ ã ĩ ¹ ã ĩ º ãĥ£ ãĥ¥ ãĥ§ ã ĩ » ã ĩ ¼ ã ĩ ½ ã ĩ ¾ ã ĩ ¿ ãĥ ® " ĊĊĠĠĠ Ġoverride Ġfun Ġcheck ( word : ĠS ir itor i Word ): ĠResult < S ir itor i Word , ĠS ir itor i Illegal Word Exception > Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(! regex . matches ( word . word )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠResult . error ( S ir itor i Illegal Word Exception (" æĹ¥æľ¬ èªŀ ( ãģ ² ãĤī ãģĮ ãģª ãĥ» ãģĭ ãģŁ ãģĭ ãģª ãĥ» æ¼ ¢ åŃĹ ãĥ» ãĥ¼ ) ãģ® ãģ¿ ãģĮ ä½¿çĶ¨ åı¯èĥ½ ãģ§ãģĻ ãĢĤ ")) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( S ir itor i Logger . contains ( word . word )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠResult . error ( S ir itor i Illegal Word Exception (" ãģĿãģ® åįĺ èªŀ ãģ¯ ãģĻ ãģ§ ãģ« ä½¿ ãĤı ãĤĮ ãģ¦ãģĦãģ¾ãģĻ ãĢĤ ")) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġy omi Ġ= Ġword . analyze Result . reading Form . let Ġ{ Ġif Ġ( it . isEmpty ()) Ġword . analyze Result . normalized Form Ġelse Ġit Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġlast Ġ= ĠS ir itor i Logger . getLast Y omi () ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( last . isNull OrEmpty () Ġ|| Ġjudge ( last , Ġy omi )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠResult . of Ġ{ Ġword Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠResult . error ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠS ir itor i Illegal Word Exception ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" åįĺ èªŀ \" ${ word . word }\" ãģ® èªŃãģ¿ \" $ y omi \" ãģ® æľĢ åĪĿ ãģ® æĸĩåŃĹ \' ${ y omi . last () }\ ' ãģ¯ ãĢģ çĽ´ åīį ãģ® åįĺ èªŀ \" ${ S ir itor i Logger . getLast ()?. word }\" ãģ® èªŃãģ¿ \" $ last \" ãģ® æľĢ å¾Į ãģ® æĸĩåŃĹ \' ${ last . last () }\ ' ãģ¨ ä¸Ģèĩ´ ãģĹãģ¾ ãģĽãĤĵ ãĢĤ " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġjudge ( last : ĠString , Ġcurrent : ĠString ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( lower Case . contains ( last . last ())) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcut Ġ= Ġlast . take Last While Ġ{ Ġlower Case . contains ( it ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠ Ġcut Ġ== Ġcurrent . take ( cut . length ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlast . last () Ġ== Ġcurrent . first () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġload Config ( black board : ĠMap < String , ĠString >) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Do ĠNothing ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġsave Config ( black board : ĠMutable Map < String , ĠString >) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠDo ĠNothing ĊĠĠĠ Ġ} Ċ } Ċ