c{)      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                        ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~              !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~              !"#$%&'(Safe)*)*)*SafeNoneUNoneU  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVV~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWQP  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~NoneNone C None(>+,-./01234567 +,-./01234567None!"(34579>CILNU)(*None" "  None                    NoneJ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`aF !"#$%&'()*+,-./0123456789:;<=>BCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`J456789:;<=A>@/0123?'()*+,-. !"#$%&NMLKJIHGFEDCBTSRQPOWVU`_^]\[ZYaX( !"#$%&'()*+,-./01234 56789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`a None bcdefghijk bcdefghij gbcdefjihkbcdefghijk Nonelmnopqrstuvwxyz{|}~lmnopqrstuvwxyz{|}~lmnopqrstuvwx~}|{zyl mnopqrstuvwxyz{|}~None  NoneNone   NoneU\     W     \     /     NoneN !"#$%&'()*+,-./0 !"#$%&)*+,-./ !"#$%&('-,+*)/.0  !"#$%&'()*+,-./0None123456789:;<=> 123456789:;<45678123;:9<>=123456789:;<=>None!"U1?@ABCDEFGHIJKLMNOPQRSTUV89:;<=>?@ABCDEFGHIJKLMNOW?@ABCDEFGHIJKLMNOPQRSTUVW?@ABCDEFGHIJKLMNOPQRSTUVW?@ABCDEFGHIJKLMNOPQRSTUV89:;<=>?@ABCDEFGHIJKLMNOWNone!"NUXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~XYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~bcdefghijklmnopqrstuvwxyz{|}~a]^_`XYZ[\LXYZ[\]^_`abAcdefghijklmnopqrstuvwxyz{|}~ None  None3579IN  None 8Configuration options needed to connect to the Slack API API Token for Bot                None  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~     !"#$%&'()*+,-./0123456789:;<=>BCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`bcdefghijlmnopqrstuvwxyz{|}~      !"#$%&)*+,-./123456789:;<?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~None 34579CIN Information about the connection=Information about the session at the start of the connectionUser defined state#A copy of the initial configurationWebsockets connectionUnique message counter  !"#$  !"#$ ! "#$  !"#$None%(Send a message to the specified channel.MIf the message is longer than 4000 bytes then the connection will be closed.'ASend a ping packet to the server The server will respond with a pong b.PQRSTUVWXYZ%[&'\%&'%&'PQRSTUVWXYZ%[&'\None !"(3>LNU(Run a I. The supplied bot will respond to all events sent by the Slack RTM API.+Be warned that this function will throw an ]+ if the connection to the Slack API fails.(^_  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~     !"#$%&'()*+,-./0123456789:;<=>BCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`bcdefghijlmnopqrstuvwxyz{|}~      !"#$%&)*+,-./123456789:;<?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~     ( ( (^_` !""#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~        ! " # $ % & ' ( ) * + , - - . / 0 1 2 3 4 5 6 7 8 9 : ; ; < = > ? @ A B B C D E F F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s s t u v w x y z { | | } ~                             !"#$%&'()*+,-./012345677899:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ,               !"#$%&'()*+,-./01234i56789:;<=>?@ABCDEFGHIJKLLMNOPQQRSTUVWXYZ[\A4IKhuElt0J8p17QYpq4N0Web.Slack.Types.BaseWeb.Slack.Types.PresenceWeb.Slack.Types.PreferencesWeb.Slack.Types.ErrorWeb.Slack.Types.TimeWeb.Slack.Types.IdWeb.Slack.Types.TeamPreferencesWeb.Slack.Types.TeamWeb.Slack.Types.SelfWeb.Slack.Types.ChannelOptWeb.Slack.Types.UserWeb.Slack.Types.TopicWeb.Slack.Types.ChannelWeb.Slack.Types.GroupWeb.Slack.Types.IMWeb.Slack.Types.CommentWeb.Slack.Types.FileWeb.Slack.Types.ItemWeb.Slack.Types.BotWeb.Slack.Types.Event.SubtypeWeb.Slack.Types.EventWeb.Slack.Types.SessionWeb.Slack.ConfigWeb.Slack.StateWeb.Slack.Message Web.SlackWeb.Slack.UtilsWeb.Slack.TypesURLPresenceAwayActive$fFromJSONPresence Preferences_prefHighlightWords_prefUserColors_prefColorNamesInList_prefGrowlsEnabled _prefTimezone_prefPushDmAlert_prefPushMentionAlert_prefPushEverything_prefPushIdleWait_prefPushSound_prefPushLoudChannels_prefPushLoudChannelsSet_prefEmailAlerts_prefEmailAlertsSleepUntil_prefEmailMisc_prefEmailWeekly_prefWelcomeMessageHidden_prefAllChannelsLoud_prefLoudChannels_prefNeverChannels_prefLoudChannelsSet_prefShowMemberPresence_prefSearchSort_prefExpandInlineImgs_prefExpandSnippets_prefPostsFormattingGuide_prefSeenWelcome2_prefSeenSsbPrompt_prefSearchOnlyMyChannels_prefEmojiMode_prefHasInvited_prefHasUploaded_prefHasCreatedChannel_prefSearchExcludeChannels_prefMessagesTheme_prefWebappSpellcheck_prefNoJoinedOverlays_prefNoCreatedOverlays_prefDropboxEnabled_prefSeenDomainInviteReminder_prefSeenMemberInviteReminder_prefMuteSounds_prefArrowHistory_prefTabUiReturnSelects_prefObeyInlineImgLimit_prefNewMsgSnd_prefCollapsible_prefCollapsibleByClick_prefRequireAt_prefExpandNonMediaAttachments_prefShowTyping_prefPagekeysHandled_prefLastSnippetType_prefDisplayRealNamesOverride _prefTime24_prefEnterIsSpecialInTbt_prefGraphicEmoticons_prefConvertEmoticons_prefAutoplayChatSounds _prefSsEmojis_prefSidebarBehavior_prefMarkMsgsReadImmediately_prefStartScrollAtOldest_prefSnippetEditorWrapLongLines_prefLsDisabled_prefSidebarTheme_prefSidebarThemeCustomValues_prefFKeySearch_prefKKeyOmnibox_prefSpeakGrowls_prefMacSpeakVoice_prefMacSpeakSpeed$_prefPushAtChannelSuppressedChannels_prefPromptedForEmailDisabling_prefFullTextExtracts_prefNoTextInNotifications_prefMutedChannels_prefPrivacyPolicySeen_prefSearchExcludeBots$fFromJSONPreferencesprefAllChannelsLoudprefArrowHistoryprefAutoplayChatSoundsprefCollapsibleprefCollapsibleByClickprefColorNamesInListprefConvertEmoticonsprefDisplayRealNamesOverrideprefDropboxEnabledprefEmailAlertsprefEmailAlertsSleepUntil prefEmailMiscprefEmailWeekly prefEmojiModeprefEnterIsSpecialInTbtprefExpandInlineImgsprefExpandNonMediaAttachmentsprefExpandSnippetsprefFKeySearchprefFullTextExtractsprefGraphicEmoticonsprefGrowlsEnabledprefHasCreatedChannelprefHasInvitedprefHasUploadedprefHighlightWordsprefKKeyOmniboxprefLastSnippetTypeprefLoudChannelsprefLoudChannelsSetprefLsDisabledprefMacSpeakSpeedprefMacSpeakVoiceprefMarkMsgsReadImmediatelyprefMessagesThemeprefMuteSoundsprefMutedChannelsprefNeverChannels prefNewMsgSndprefNoCreatedOverlaysprefNoJoinedOverlaysprefNoTextInNotificationsprefObeyInlineImgLimitprefPagekeysHandledprefPostsFormattingGuideprefPrivacyPolicySeenprefPromptedForEmailDisabling#prefPushAtChannelSuppressedChannelsprefPushDmAlertprefPushEverythingprefPushIdleWaitprefPushLoudChannelsprefPushLoudChannelsSetprefPushMentionAlert prefPushSound prefRequireAtprefSearchExcludeBotsprefSearchExcludeChannelsprefSearchOnlyMyChannelsprefSearchSortprefSeenDomainInviteReminderprefSeenMemberInviteReminderprefSeenSsbPromptprefSeenWelcome2prefShowMemberPresenceprefShowTypingprefSidebarBehaviorprefSidebarThemeprefSidebarThemeCustomValuesprefSnippetEditorWrapLongLinesprefSpeakGrowls prefSsEmojisprefStartScrollAtOldestprefTabUiReturnSelects prefTime24 prefTimezoneprefUserColorsprefWebappSpellcheckprefWelcomeMessageHidden SlackError$fFromJSONSlackErrorSlackTimeStamp _slackTime _timestampUidTime_getTime slackTime timestampUidgetTime$fFromJSONTime$fFromJSONSlackTimeStampTeamIdIMIdGroupId CommentIdFileId ChannelIdBotIdUserIdIdgetIdTeamPreferences_teamDefaultChannels_teamMsgEditWindowMins_teamAllowMessageDeletion_teamHideReferers_teamDisplayRealNames_teamWhoCanAtEveryone_teamWhoCanAtChannel_teamWhoCanCreateChannels_teamWhoCanArchiveChannels_teamWhoCanCreateGroups_teamWhoCanPostGeneral_teamWhoCanKickChannels_teamWhoCanKickGroups_teamRetentionType_teamRetentionDuration_teamGroupRetentionType_teamGroupRetentionDuration_teamDmRetentionType_teamDmRetentionDuration$fFromJSONTeamPreferencesteamAllowMessageDeletionteamDefaultChannelsteamDisplayRealNamesteamDmRetentionDurationteamDmRetentionTypeteamGroupRetentionDurationteamGroupRetentionTypeteamHideReferersteamMsgEditWindowMinsteamRetentionDurationteamRetentionTypeteamWhoCanArchiveChannelsteamWhoCanAtChannelteamWhoCanAtEveryoneteamWhoCanCreateChannelsteamWhoCanCreateGroupsteamWhoCanKickChannelsteamWhoCanKickGroupsteamWhoCanPostGeneral TeamIcons _teamIcon34 _teamIcon44 _teamIcon68 _teamIcon88 _teamIcon102 _teamIcon132_teamIconDefaultTeam_teamId _teamName_teamEmailDomain _teamDomain_teamPreferences _teamIcons_teamOverStorageLimit teamDomainteamEmailDomain teamIconsteamIdteamNameteamOverStorageLimitteamPreferences teamIcon102 teamIcon132 teamIcon34 teamIcon44 teamIcon68 teamIcon88teamIconDefault$fFromJSONTeamIcons$fFromJSONTeamSelf _selfUserId _selfName_selfPreferences _selfCreated_selfManualPresence selfCreatedselfManualPresenceselfNameselfPreferences selfUserId$fFromJSONSelf ChannelOptProfile_profileFirstName_profileLastName_profileRealName_profileRealNameNormalized _profileTitle _progileEmail _profileSkype _profilePhone_profileImage24_profileImage32_profileImage48_profileImage72_profileImage192 Permissions_isAdmin_isOwner_isPrimaryOwner _isRestricted_isUltraRestricted_isBotTimezone _timezoneDesc_timezoneLabel_timezoneOffsetUser_userId _userName _userDeleted _userColor _userProfile_userPermission _userHasFiles _userTimezonedefaultTimezone$fFromJSONTimezone$fFromJSONPermissions$fFromJSONUserprofileFirstNameprofileImage192profileImage24profileImage32profileImage48profileImage72profileLastName profilePhoneprofileRealNameprofileRealNameNormalized profileSkype profileTitle progileEmailisAdminisBotisOwnerisPrimaryOwner isRestrictedisUltraRestricted timezoneDesc timezoneLabeltimezoneOffsetUsername userColor userDeleted userHasFilesuserIduserNameuserPermission userProfile userTimezone$fFromJSONProfileTopic _topicValue _topicCreator _topicLastSetPurpose topicCreator topicLastSet topicValue$fFromJSONTopicChannel _channelId _channelName_channelCreated_channelCreator_channelIsArchived_channelIsGeneral_channelMembers _channelTopic_channelPurpose_channelIsMember _channelOptchannelCreatedchannelCreator channelIdchannelIsArchivedchannelIsGeneralchannelIsMemberchannelMembers channelName channelOptchannelPurpose channelTopicdefaultToFalse$fFromJSONChannelGroup_groupId _groupName _groupCreated _groupCreator_groupIsArchived _groupIsOpen _groupMembers _groupTopic _groupPurpose _groupOpt _groupIsGroup groupCreated groupCreatorgroupIdgroupIsArchived groupIsGroup groupIsOpen groupMembers groupNamegroupOpt groupPurpose groupTopic$fFromJSONGroupIM_imId_imUser _imCreated _imIsOpen_imIsIm_imOpt imCreatedimIdimIsImimIsOpenimOptimUser $fFromJSONIMComment _commentId_commentTimestamp _commentUser_commentCommentcommentComment commentIdcommentTimestamp commentUser$fFromJSONComment Thumbnail_w64_w80_w360_w360gif_width_heightFileUrl_private_privateDownloadPreview _previewText_previewHighlight_lines _linesMoreModeHostedExternalSnippetPostFile_fileId_fileTimestamp _fileName _fileTitle _fileMime _filetype_filePrettyType _fileUser _fileMode _fileEditable_fileIsExternal_fileExternalType _fileSize_fileUrl _fileThumbs_filePermalink _fileEditLink _filePreview _filePublic_filePublicShared _fileChannels _fileGroups_fileInitialComment _fileStars _fileComments$fFromJSONPreview$fFromJSONThumbnail$fFromJSONFileUrl$fFromJSONFile fileChannels fileComments fileEditLink fileEditablefileExternalType fileGroupsfileIdfileInitialCommentfileIsExternalfileMimefileModefileName filePermalinkfilePrettyType filePreview filePublicfilePublicSharedfileSize fileStars fileThumbs fileTimestamp fileTitlefileUrlfileUserfiletypeprivateprivateDownloadheightw360w360gifw64w80widthlines linesMorepreviewHighlight previewText$fFromJSONModeEdited _editedUser _editTimestap MessageUpdate_messageUpdateUser_messageUpdateText_messageUpdateTime_messageUpdateEdited_messagePermalinkItem MessageItemFileItemFileCommentItem ChannelItemIMItem GroupItem$fFromJSONMessageUpdate$fFromJSONItemmessagePermalinkmessageUpdateEditedmessageUpdateTextmessageUpdateTimemessageUpdateUser editTimestap editedUser$fFromJSONEditedBotIcons_botIconImage48Bot_botId_botName _botIconsbotIconsbotIdbotNamebotIconImage48 $fFromJSONBot$fFromJSONBotIconsSubtype SBotMessage SMeMessageSMessageChanged SChannelJoinSMessageDeleted SChannelLeave SChannelTopicSChannelPurpose SChannelNameSChannelArchiveSChannelUnarchive SGroupJoin SGroupLeave SGroupTopic SGroupPurpose SGroupName SGroupArchiveSGroupUnarchive SFileShare SFileComment SFileMention SPinnedItem SUnpinnedItemsubtypeChannelRenameInfo_channelRenameId_channelRenameName_channelRenameCreated Submitter UserComment BotCommentSystemPrefEventHelloMessage HiddenMessage ChannelMarkedChannelCreated ChannelJoined ChannelLeftChannelDeleted ChannelRenameChannelArchiveChannelUnarchiveChannelHistoryChanged ImCreatedImOpenImCloseImMarkedImHistoryChanged GroupJoined GroupLeft GroupOpen GroupClose GroupArchiveGroupUnarchive GroupRename GroupMarkedGroupHistoryChanged FileCreated FileShared FileUnshared FilePublic FilePrivate FileChange FileDeletedFileCommentAddedFileCommentEditedFileCommentDeletedPresenceChangeManualPresenceChange PrefChange UserChangeTeamJoin ReactionAddedReactionRemoved StarAdded StarRemoved EmojiChangedCommandsChangedTeamPrefChangeTeamRenameEventTeamDomainChangeEmailDomainChange BotChangedBotAddedAccountsChanged UserTypingMessageResponse MessageError StatusChangePong ReconnectUrlTeamMigrationStartedPinAdded PinRemovedNoEvent UnknownEventDomain parseType$fFromJSONEventchannelRenameCreatedchannelRenameIdchannelRenameName$fFromJSONChannelRenameInfo_Hello_Message_HiddenMessage_ChannelMarked_ChannelCreated_ChannelJoined _ChannelLeft_ChannelDeleted_ChannelRename_ChannelArchive_ChannelUnarchive_ChannelHistoryChanged _ImCreated_ImOpen_ImClose _ImMarked_ImHistoryChanged _GroupJoined _GroupLeft _GroupOpen _GroupClose _GroupArchive_GroupUnarchive _GroupRename _GroupMarked_GroupHistoryChanged _FileCreated _FileShared _FileUnshared _FilePublic _FilePrivate _FileChange _FileDeleted_FileCommentAdded_FileCommentEdited_FileCommentDeleted_PresenceChange_ManualPresenceChange _PrefChange _UserChange _TeamJoin_ReactionAdded_ReactionRemoved _StarAdded _StarRemoved _EmojiChanged_CommandsChanged_TeamPrefChange_TeamRenameEvent_TeamDomainChange_EmailDomainChange _BotChanged _BotAdded_AccountsChanged _UserTyping_MessageResponse _MessageError _StatusChange_Pong _ReconnectUrl_TeamMigrationStarted _PinAdded _PinRemoved_NoEvent _UnknownEvent_channelOptLastRead_channelOptUnreadCount_channelOptLatestchannelOptLastReadchannelOptLatestchannelOptUnreadCount$fFromJSONChannelOpt SlackSession _slackSelf _slackTeam _slackUsers_slackLatestEventTs_slackChannels _slackGroups _slackIms _slackBots_slackCacheVersion$fFromJSONSlackSession slackBotsslackCacheVersion slackChannels slackGroupsslackImsslackLatestEventTs slackSelf slackTeam slackUsers SlackConfig_slackApiToken slackApiToken SlackState_meta_session _userState_configMetainfoMeta_metaConnection _msgCounterSlackBotSlackrunSlack$fShowMetainfoconfigmetasession userStatemetaConnection msgCounterslackLogcounter connection sendMessagemakePingPacketpingrunBottoSnaketoCamel_getId FieldTypeTUserTBotTChannelTFileTCommentTGroupTIMTTeam $fFromJSONId $fToJSONId _SBotMessage _SMeMessage_SMessageChanged _SChannelJoin_SMessageDeleted_SChannelLeave_SChannelTopic_SChannelPurpose _SChannelName_SChannelArchive_SChannelUnarchive _SGroupJoin _SGroupLeave _SGroupTopic_SGroupPurpose _SGroupName_SGroupArchive_SGroupUnarchive _SFileShare _SFileComment _SFileMention _SPinnedItem_SUnpinnedItemMessagePayload messageId messageTypemessageChannel messageText PingPayloadpingIdpingType pingTimestamp$fToJSONMessagePayload$fToJSONPingPayloadbaseGHC.IO.ExceptionIOErrormkBotbotLoop