package Ġcom . github . age of war . k telegram Ċ Ċ import Ġkotlinx . serialization . Deserialization Strategy Ċ import Ġkotlinx . serialization . Required Ċ import Ġkotlinx . serialization . Serial Name Ċ import Ġkotlinx . serialization . Serializable Ċ import Ġkotlinx . serialization . json . Json Content Pol ymorphic Serializer Ċ import Ġkotlinx . serialization . json . Json Element Ċ import Ġkotlinx . serialization . json . JsonObject Ċ import Ġkotlinx . serialization . json . jsonObject Ċ Ċ @ Serializable ( Reply Markup . Serializer :: class ) Ċ sealed Ġclass ĠReply Markup Ġ{ ĊĠĠĠ Ġobject ĠSerializer Ġ: ĠJson Content Pol ymorphic Serializer < Reply Markup >( Reply Markup :: class ) Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġselect Deserializer ( element : ĠJson Element ): ĠDeserial ization Strategy < out ĠReply Markup > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġjson Ġ= Ġelement . jsonObject ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" inline _ keyboard " Ġin Ġjson Ġ-> ĠInline Keyboard . serializer () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" force _ reply " Ġin Ġjson Ġ-> ĠForce Reply . serializer () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" keyboard " Ġin Ġjson Ġ-> ĠKeyboard . serializer () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" remove _ keyboard " Ġin Ġjson Ġ-> ĠKeyboard Remove . serializer () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĠUnknown Reply Markup . serializer () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Serializable Ċ data Ġclass ĠInline Keyboard ( ĊĠĠĠ Ġ@ Serial Name (" inline _ keyboard ") Ġval Ġkeyboard : ĠArray < Array < out ĠButton >> Ċ ) Ġ: ĠReply Markup () Ġ{ ĊĠĠĠ Ġconstructor ( button : ĠButton ) Ġ: Ġthis ( array Of ( array Of ( button ))) ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġrow ( var arg Ġrow : ĠButton ) Ġ= ĠInline Keyboard ( array Of ( row )) ĊĠĠĠĠĠĠĠ Ġfun Ġcolumn ( var arg Ġcolumn : ĠButton ): ĠInline Keyboard Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠInline Keyboard ( Array ( column . size ) Ġ{ ĠarrayOf ( column [ it ]) Ġ}) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġequals ( other : ĠAny ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( other Ġ! is ĠInline Keyboard ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġreturn Ġkeyboard . content Deep Equals ( other . keyboard ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠhashCode (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġkeyboard . content Deep HashCode () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġkeyboard . content Deep ToString () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Serializable ( Button . Serializer :: class ) ĊĠĠĠ Ġsealed Ġclass ĠButton Ġ{ ĊĠĠĠĠĠĠĠ Ġabstract Ġval Ġtext : ĠString ĊĊĠĠĠĠĠĠĠ Ġ@ Serializable ĊĠĠĠĠĠĠĠ Ġdata Ġclass ĠUrl ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġval Ġtext : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġurl : ĠString ĊĠĠĠĠĠĠĠ Ġ) Ġ: ĠButton () ĊĊĠĠĠĠĠĠĠ Ġ@ Serializable ĊĠĠĠĠĠĠĠ Ġdata Ġclass ĠCallback Data ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġval Ġtext : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" callback _ data ") Ġval Ġcallback Data : ĠString ĊĠĠĠĠĠĠĠ Ġ) Ġ: ĠButton () ĊĊĠĠĠĠĠĠĠ Ġ@ Serializable ĊĠĠĠĠĠĠĠ Ġdata Ġclass ĠSwitch Inline Query ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġval Ġtext : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" switch _ inline _ query ") Ġval Ġquery : ĠString ĊĠĠĠĠĠĠĠ Ġ) Ġ: ĠButton () ĊĊĠĠĠĠĠĠĠ Ġ@ Serializable ĊĠĠĠĠĠĠĠ Ġdata Ġclass ĠSwitch Inline Query Current Chat ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġval Ġtext : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" switch _ inline _ query _ current _ chat ") Ġval Ġquery : ĠString ĊĠĠĠĠĠĠĠ Ġ) Ġ: ĠButton () ĊĊĠĠĠĠĠĠĠ Ġ@ Serializable ĊĠĠĠĠĠĠĠ Ġdata Ġclass ĠGame ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġval Ġtext : ĠString ĊĠĠĠĠĠĠĠ Ġ) Ġ: ĠButton () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Required ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" callback _ game ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġcallback Game Ġ= ĠJsonObject ( empty Map ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Serializable ĊĠĠĠĠĠĠĠ Ġdata Ġclass ĠLogin ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġval Ġtext : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" login _ url ") Ġval Ġlogin Url : ĠLogin Url ĊĠĠĠĠĠĠĠ Ġ) Ġ: ĠButton () ĊĊĠĠĠĠĠĠĠ Ġ@ Serializable ĊĠĠĠĠĠĠĠ Ġdata Ġclass ĠPay ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġval Ġtext : ĠString ĊĠĠĠĠĠĠĠ Ġ) Ġ: ĠButton () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Required ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġpay Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Serializable ĊĠĠĠĠĠĠĠ Ġdata Ġclass ĠUnknown ( override Ġval Ġtext : ĠString ) Ġ: ĠButton () ĊĊĠĠĠĠĠĠĠ Ġobject ĠSerializer Ġ: ĠJson Content Pol ymorphic Serializer < Button >( Button :: class ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġselect Deserializer ( element : ĠJson Element ): ĠDeserial ization Strategy < out ĠButton > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġjson Ġ= Ġelement . jsonObject ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" url " Ġin Ġjson Ġ-> ĠUrl . serializer () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" callback _ data " Ġin Ġjson Ġ-> ĠCallback Data . serializer () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" switch _ inline _ query " Ġin Ġjson Ġ-> ĠSwitch Inline Query . serializer () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" switch _ inline _ query _ current _ chat " Ġin Ġjson Ġ-> ĠSwitch Inline Query Current Chat . serializer () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" callback _ game " Ġin Ġjson Ġ-> ĠGame . serializer () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" login _ url " Ġin Ġjson Ġ-> ĠLogin . serializer () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" pay " Ġin Ġjson Ġ-> ĠPay . serializer () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĠUnknown . serializer () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Serializable Ċ data Ġclass ĠKeyboard ( ĊĠĠĠ Ġval Ġkeyboard : ĠArray < Array < out ĠButton >>, ĊĠĠĠ Ġ@ Serial Name (" input _ field _ placeholder ") Ġval Ġinput Field Placeholder : ĠString ? Ġ= Ġnull , ĊĠĠĠ Ġ@ Serial Name (" resize _ keyboard ") Ġval Ġresize : ĠBoolean Ġ= Ġfalse , ĊĠĠĠ Ġ@ Serial Name (" one _ time _ keyboard ") Ġval Ġone Time : ĠBoolean Ġ= Ġfalse , ĊĠĠĠ Ġ@ Serial Name (" select ive ") Ġval Ġselect ive : ĠBoolean Ġ= Ġfalse , Ċ ) Ġ: ĠReply Markup () Ġ{ ĊĠĠĠ Ġconstructor ( button : ĠButton ) Ġ: Ġthis ( array Of ( array Of ( button ))) ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġrow ( var arg Ġrow : ĠButton ) Ġ= ĠKeyboard ( array Of ( row )) ĊĠĠĠĠĠĠĠ Ġfun Ġcolumn ( var arg Ġcolumn : ĠButton ): ĠKeyboard Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠKeyboard ( Array ( column . size ) Ġ{ ĠarrayOf ( column [ it ]) Ġ}) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġequals ( other : ĠAny ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( other Ġ! is ĠInline Keyboard ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġreturn Ġkeyboard . content Deep Equals ( other . keyboard ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠhashCode (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġkeyboard . content Deep HashCode () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġkeyboard . content Deep ToString () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Serializable ( Button . Serializer :: class ) ĊĠĠĠ Ġsealed Ġclass ĠButton Ġ{ ĊĠĠĠĠĠĠĠ Ġabstract Ġval Ġtext : ĠString ĊĊĠĠĠĠĠĠĠ Ġ@ Serializable ĊĠĠĠĠĠĠĠ Ġdata Ġclass ĠText ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġval Ġtext : ĠString , ĊĠĠĠĠĠĠĠ Ġ) Ġ: ĠButton () ĊĊĠĠĠĠĠĠĠ Ġ@ Serializable ĊĠĠĠĠĠĠĠ Ġdata Ġclass ĠRequest Contact ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġval Ġtext : ĠString ĊĠĠĠĠĠĠĠ Ġ) Ġ: ĠButton () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Required ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" request _ contact ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġrequest Contact Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Serializable ĊĠĠĠĠĠĠĠ Ġdata Ġclass ĠRequest Location ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġval Ġtext : ĠString ĊĠĠĠĠĠĠĠ Ġ) Ġ: ĠButton () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Required ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" request _ location ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġrequest Location Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Serializable ĊĠĠĠĠĠĠĠ Ġdata Ġclass ĠRequest Poll ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġval Ġtext : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" request _ poll ") Ġval Ġpoll Type : ĠPoll Type ĊĠĠĠĠĠĠĠ Ġ) Ġ: ĠButton () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serializable ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdata Ġclass ĠPoll Type ( val Ġtype : ĠString ? Ġ= Ġnull ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġobject ĠSerializer Ġ: ĠJson Content Pol ymorphic Serializer < Button >( Button :: class ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġselect Deserializer ( element : ĠJson Element ): ĠDeserial ization Strategy < out ĠButton > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġjson Ġ= Ġelement . jsonObject ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" request _ contact " Ġin Ġjson Ġ-> ĠRequest Contact . serializer () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" request _ location " Ġin Ġjson Ġ-> ĠRequest Location . serializer () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" request _ poll " Ġin Ġjson Ġ-> ĠRequest Poll . serializer () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĠText . serializer () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Serializable Ċ data Ġclass ĠKeyboard Remove ( val Ġselect ive : ĠBoolean Ġ= Ġfalse ) Ġ: ĠReply Markup () Ġ{ ĊĠĠĠ Ġ@ Required ĊĠĠĠ Ġ@ Serial Name (" remove _ keyboard ") ĊĠĠĠ Ġprivate Ġval Ġremove Keyboard Ġ= Ġtrue Ċ } Ċ Ċ @ Serializable Ċ data Ġclass ĠForce Reply ( ĊĠĠĠ Ġ@ Serial Name (" input _ field _ placeholder ") Ġval Ġinput Field Placeholder : ĠString ? Ġ= Ġnull , ĊĠĠĠ Ġval Ġselect ive : ĠBoolean Ġ= Ġfalse Ċ ) Ġ: ĠReply Markup () Ġ{ ĊĠĠĠ Ġ@ Required ĊĠĠĠ Ġ@ Serial Name (" force _ reply ") ĊĠĠĠ Ġprivate Ġval Ġforce Reply Ġ= Ġtrue Ċ } Ċ Ċ @ Serializable Ċ object ĠUnknown Reply Markup Ġ: ĠReply Markup () Ċ