;3S      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~Safe:Decodes a SSB Ed25519 public key, which is base64 encoded.4Formats a SSB public key as a base64 encoded string.NoneSSA value accompanied with the hash of the ByteString that it was deserialized from./Decodes a SHA256 hash, which is base64 encoded.*Formats a hash as a base64 encoded string.        None A link to a blob.A link to a message. A link to a feed.#Class of types that are links.(#A link to a message, feed, or blob.*sigil that starts the link, eg '@'+&thing being linked to (base64 encoded),;hash or key algorithm of thing being linked to, eg "sha256"-IParses a Link eg "@LA9HYf5rnUJFHHTklKXLLRyrEytayjbFZRo76Aj/qKs=.ed25519".Formats a Link.! !"#$%&'()*+,-./0123456789: !"#$%&'()*+,-.()*+,-. !"#$%&' !"#$%&'()*+,-./0123456789:None5: KeVote-messages signal approval about someone or something. Votes can be on users, messages, or blobs.P=Contact-messages determine who you are following or blocking.\About-messages set attributes about someone or something. They can be used to set a name or picture for users, files, or messages. However, they're most commonly published about users.a6A generic reference to other feeds, entities, or blobsddA post is a text-based message, for a public or private audience. It can be a reply to other posts.l!A message with encrypted content.ntParsing a Message AnyContent allows parsing the message envelope, regardless of the type of content in the message.|mParses a JSON formatted message, and accompanies it with the hash that was originally used for the message.}For best efficiency when the type of a message is not known, first parse to a Message AnyContent, and then use this function with  or : to try to further parse that to different message types. For example:  Just somemsg = decode b :: Maybe Message AnyContent case parseMaybe narrowParse somemsg :: Maybe (Message Post) of Just postmsg -> ... Nothing -> case parseMaybe narrowParse somemsg :: Maybe (Message PrivateContent) of Just privmsg -> ... Nothing -> ...~sParse the content of a message using the provided Parser, which will typically be genericParseJSON defaultOptions.JThe "type" field must contain the specified Text for the parse to succeed.?Parse, stripping a common prefix from the haskell record names.FFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~9FGHIJKLMNOPQRSTUVWXYZ[\]_^`abcdefghijklmnopqruvwystxz{|}~9zqrstuvwxy{nop|}lmdefghijkabc\]^_`UVWXYZ[PQRSTKLMNOFGHIJ~FGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~None>FGHIJKLMNOPQRSTUVWXYZ[\]_^`abcdefghijklmnopqruvwystxz{|}~      !!"##$%&'()**+,-./0123456789:;<=>?@ABCDEFGGHIJKKLMNOOPQRSSTUVWXYYZ[\]]^__`abcdeffgghiijklmnopqrstuvwxyz{|}~.scuttlebutt-types-0.2.0-1CnbUo39opJ5B0Ea60PLBn Ssb.Types.KeySsb.Types.HashSsb.Types.LinkSsb.Types.Message Ssb.Types PublicKeyEd25519PublicKey ed25519KeyparseEd25519PublicKeyformatPublicKey$fShowPublicKey $fEqPublicKey$fOrdPublicKeyHashed hashedValuehashOfHashTypeHashSha256sha256 parseSha256 formatHash calcHashed$fFunctorHashed $fShowHash$fEqHash $fOrdHash $fShowHashed $fEqHashed $fOrdHashedBlobLink unBlobLink MessageLink unMessageLinkFeedLink unFeedLinkIsLinkfromLinktoLink toJSONLink fromJSONLinkLink linkSigillinkTolinkTag parseLink formatLink$fFromJSONBlobLink$fToJSONBlobLink$fIsLinkBlobLink$fFromJSONMessageLink$fToJSONMessageLink$fIsLinkMessageLink$fFromJSONFeedLink$fToJSONFeedLink$fIsLinkFeedLink $fToJSONLink$fFromJSONLink $fShowLink$fEqLink $fOrdLink$fShowFeedLink $fEqFeedLink $fOrdFeedLink$fShowMessageLink$fEqMessageLink$fOrdMessageLink$fShowBlobLink $fEqBlobLink $fOrdBlobLinkPubpubHostpubPortpubKeyVotevoteLink voteValuevoteExpressionContactcontact followingblocking AboutImageaboutImageLinkaboutImageSizeaboutImageTypeaboutImageWidthaboutImageHeightAboutaboutnameimageMention mentionLinkPosttextchannelrootbranchrecpsmentionsPrivateContent AnyContentfromAnyContentMessagepreviousauthorsequence timestamphashcontent signature Signature messageLink parseMessage narrowParseparseMessageType $fFromJSONPub$fFromJSONVote$fFromJSONContact$fFromJSONAboutImage$fFromJSONAbout$fFromJSONMention$fFromJSONPost$fFromJSONPrivateContent$fFromJSONAnyContent$fFunctorMessage$fToJSONMessage$fFromJSONMessage $fShowMessage $fEqMessage$fGenericMessage$fShowAnyContent$fEqAnyContent$fShowPrivateContent$fEqPrivateContent $fShowMention $fEqMention$fGenericMention $fShowPost$fEqPost $fGenericPost$fShowAboutImage$fEqAboutImage$fGenericAboutImage $fShowAbout $fEqAbout$fGenericAbout $fShowContact $fEqContact$fGenericContact $fShowVote$fEqVote $fGenericVote $fShowPub$fEqPub $fGenericPub$aeson-1.2.2.0-2bLcBHToPdp7otNanEmSs2Data.Aeson.Types.Internal parseMaybe parseEitherparseStrippingPrefix