h$ 8      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    (c) 2021 Rory Tyler Hayford BSD-3-Clauserory.hayford@protonmail.com experimentalGHCNone #$&/289<>?Qheddit2Details about a non-200 response when posting JSONheddit*The fields of the object containing errorsheddit%Details about a non-200 HTTP response heddit*Type synonym for status codes in responses hedditA specific error messageheddit?An error which occurs when attempting to authenticate via OAuthheddit+The type of the error, e.g. "invalid_grant"heddit?This field may be absent. If it exists, it describes the errorheddit&Exceptions returned from API endpoints"heddit&Sent if errors occur when posting JSON#heddit-With the response body, for further debugging$hedditIf the API action should not allow automatic redirects, this error returns the possible redirected request%heddit6Thrown when exceptions occur during websocket handling&heddit8When an error occurs uploading media to Reddit's servers'heddit1Exceptions generated within the Reddit API client-heddit)Base exception type for Reddit API client.heddit-Type synonym the raw body of an HTTP response/hedditType synonym for fieldLabelModifiers in FromJSON instances0hedditType synonym for domains1hedditType synonym for names of items2hedditType synonym RGB color strings3heddit-Type synonym for subjects of messages, etc...4heddit.Type synonym for titles of submissions, etc...5hedditType synonym for bodies of submissions, comments, messages, etc...6hedditType synonym for URLs7hedditA URL pointing to a resource hosted by Reddit. These should only be obtained by parsing the JSON of existing resources or through particular actions that perform the upload transaction and return the URL, e.g. 8heddit0Time range when fetching comments or submissions?hedditSigils that a moderator can add to distinguish comments or submissions. Note that the B and C/ distinctions require special privileges to use@heddit Adds "[M]"Aheddit)Removes an existing distinction when sentBheddit Adds "[A]"ChedditUser-specific distinctionDheddit5A user- or moderator-generated report on a submissionFheddit%The textual report reason/descriptionHheddit#Type of comments, for filtering in lsKhedditHow to sort items in certain ls. Not every option is guaranteed to be accepted by a given endpointUhedditOptions that can be applied to comments or submissions, as represented by the phantom type parameter\heddit'This exists to derive case-insensitive - instances for types that are isomorphic to ^hedditThis represents the protocol that Reddit uses to control paginating and filtering entries. These can be applied to l endpoints. The first four fields below are common parameters that are applied to each l. The opts field takes extended g$ based on the second type parameter`heddit)The pagination controls. These should be q% instances, in order to provide the r params that Reddit requiresbhedditThe maximum number of items to return in an individual slice. Defaults to 25, with a maximum of 100chedditA control to disable filtering, e.g. hiding links that one has voted on. At the moment, turning this option on is a no-opdheddit#Whether or not to expand subredditseheddit4Additional options, depending on the type parameter afheddit:Represents requests that can take additional options in a ^#. This can be used to filter/sort l endpointsihedditDefault g for this typejhedditGet the fullname of the q( type associated with this type, if anykheddit Convert the g options to a lhedditCertain API endpoints are listings/, which can be paginated and filtered using a ^nhedditAnchor of previous sliceohedditAnchor of next slicepheddit)The actual items returned in the responseqheddit"Thing"s are the base class of Reddit's OOP model. Each thing has several properties, but here we are only interested in one, the "fullname". This is a combination of a thing's type (here represented as a s), and its unique IDrhedditA fullname5 is an identifier with a "type prefix" attached. See s for possible prefixes. This prefixed form is required in various places by the Reddit APIshedditA  RedditKind represents a textual prefix that Reddit uses to denote types in its APIheddit9Defaults for fetching items, like comments or submissionsheddit a heddit some heddit-Drop the leading textual representation of a s from a Reddit identifier, or return the entire identifier if there is no prefixheddit Opposite of (: joins the textual representation of a s% to an identifier with an underscoreheddit Convert an  to hedditEnsures that the kind5 field of a JSON object corresponds to the expected s5 of the response and runs a parsing function on its data fieldhedditLike , but can be used in the exceptional circumstances that a container of values have heterogeneous kindsheddit Convert a s to its textual representationheddit Parse the edited8 field in comments or submissions, which can either be false or a Unix timestamphedditVerify that some name corresponds to specifiable Reddit naming rulesheddit/Make a comma-separated sequence of query paramshedditReturn Nothing if a text field is emptyhedditEncode a list of  s to strict heddit Encode a  instance to strict hedditSplit a JSON identifier on "_"; if it matches the given type prefix, returning the remaining text. Otherwise, return the identifier whole if there is no remaining texthedditGet all of the values from a  and place them in a , discarding the keyshedditMake a form from [(Text, Text)] pairs  !"#$%&'+()*,-./012345678<:=9;>?@ABCDEGFHIJKQMSLNOPRTUVWXYZ[\]^_`abcdefghijklmpnoqrstuvwxyz{|}~qrstuvwxyz{|}~fghijk^_`abcdelmpno\][UVWXYZKQMSLNOPRTDEGF?@ABC8<:=9;>HIJ75463210/.-'+()*, !"#$%&   (c) 2021 Rory Tyler Hayford BSD-3-Clauserory.hayford@protonmail.com experimentalGHCNone #$%-/8 ...in your auth.ini file.Note: The 9 and the corresponding ini section are case insensitive!hedditA unique user agent to identify your application; Reddit applies rate-limiting to common agents, and actively bans misleading oneshedditThe target platformhedditA unique application IDheddit$Your username as contact informationheddit7Stateful data that may be updated over the course of a  lifetimehedditThe approximate time at which the token was obtained. This is useful to compare against the  expiresIn field of the heddit,A client facilitating access to Reddit's APIhedditSynonym for constraints that  actions must satisfyhedditThe monad tranformer in which Reddit API transactions can be executedhedditRun a  actionheddit-For conveniently reading some field from the IORef ClientState inside a hedditExtract rate limit info from response headers. This should only be called after making a request  &%$#"! ',*)+(-./012345678>;9=<:?CB@ADEGFHIJKTRPONLSQMUVZYWX[\]^_edcb`afkjighghlmopnqrs~}|{zyxwvtu(c) 2021 Rory Tyler Hayford BSD-3-Clauserory.hayford@protonmail.com experimentalGHCNone #$%/8<=>?p9heddit:Rules concerning the presence of self-text bodies in postsheddit3Mod-created requirements for posting in a subredditheddit>If present, submissions must be from one of the listed domainshedditIf present, submission titles must contain one of the given stringshedditThe type of item that a  applies toheddit"Wrapper for parsing newly created s, after POSTing a . Rather unbelievably, Reddit transmits these new rules as a JSON object ... in a single element array ... encoded as a string ... inside another object!hedditRepresents a new " that can be created by moderatorshedditIf Nothing', will be set to the same text as the  shortName providedheddit/Wrapper to parse JSON from endpoints that list shedditA 2 rule. If you are a moderator, you can update the  shortName,  description, violationReason, and ruleType fields. See  &. New rules may also be created with sheddit!Wrapper for parsing an object of  SubredditName+ results when searching subreddits by nameheddit,Wrapper for parsing an array of recommended  SubredditName0s, which are given as single-field JSON objectsheddit+Unique site-wide identifier for a subreddithedditThe name of a subredditheddit4Information about a subreddit. Fields prefixed with userIs1 below apply to the currently authenticated userheddit,The description of the subreddit in markdownheddit Description as shown in searchesheddit-Whether users can assign their own link flairheddit-Whether users can assign their own user flairheddit$Whether the subreddit is quarantinedhedditSmart constructor for , which must be between 3 and 20 chars, and may only include upper/lowercase alphanumeric chars, underscores, and hyphenshedditDepending on the endpoint, the JSON fields are either camel- or snake-cased;;(c) 2021 Rory Tyler Hayford BSD-3-Clauserory.hayford@protonmail.com experimentalGHCNone #$%/8<=?heddit7Policy for accepting private messages, for use in user heddit7How to deal with media previews and thumbnails in your hedditUser preferenceshedditDefault comment sorthedditThumbnail preferencehedditMedia preview preferencehedditMinimum score for displaying comments, must be between -100 and 100hedditMinimum score for displaying submissions, must be between -100 and 100hedditDefault number of comments to display, must be between 1 and 500hedditNumber of submissions to display at once, must be between 1 and 100hedditInterface language, should be in IETF format, with components separated with underscoreshedditIf True, all users can send PMs. Otherwise, only whitelisted users canheddit7Allows Reddit to use activity to show more relevant adsheddit8Allows Reddit to log outbound clicks for personalizationheddit,Enrolls user in beta testing Reddit featureshedditShow recently viewed linksheddit$Collapse messages after reading themhedditCompress link displayheddit7Use creddit to automatically renew gold upon expirationhedditShow additional details in domain text if applicable (e.g. source subreddit, author URL, etc...)heddit*Send email notifications for chat requestsheddit-Send email notifications for comments replieshedditSend email digestsheddit%Send email notifications for messagesheddit/Send email notifications for submission repliesheddit Send email notifications for PMshedditUnsubscribe from all emailsheddit,Send email notifications for comment upvotesheddit/Send email notifications for submission upvotesheddit*Send email notifications for new followersheddit*Send email notifications for user mentionshedditEnable feed recommendationsheddit,Don't show submissions after downvoting themheddit'Disallow search engine profile indexingheddit*Don't show submissions after upvoting themheddit-Show a dagger on comments voted controversialhedditHighlight new commentshedditIgnore suggested sortshedditLabel NSFTW submissionshedditShow the legacy search pageheddit"Send browser message notificationsheddit-Mark messages as read after opening the inboxhedditReceive a notification when your username is mentioned by othershedditOpen links in a new windowhedditEnable night modeheddit3Hide thumbnails and media previews for NSFW contentheddit'Show the spotlight box on the home feedheddit0Affirm age and willingness to view adult contenthedditEnable private RSS feedsheddit/View user profiles on desktop using legacy modehedditMake votes publicheddit-Allow data to be used for "research" purposesheddit&Include NSFW content in search resultshedditSend crosspost messageshedditSend welcome messageshedditShow user flairhedditShow remaining gold on userpagehedditShow link flairheddit#Show location-based recommendationsheddit Show presenceheddit)Allow subreddits to display custom themeshedditShow trending subredditsheddit3Show a link to your Twitter account on your profileheddit Store visitsheddit hedditAn update to a multireddit, where all fields are optional. If a field is not provided, it is omitted during JSON encodingheddit1An new multireddit, where all fields are requiredheddit=Can represent either a new multireddit when parameterized by 1, or a multireddit update when parameterized by . In both cases, keyColor is an optional fieldheddit&The configured visibility level for a hedditThe path to a , of the form /user/ USERNAME/m/ MULTINAMEhedditThe name of a 0, which may only contain alphanumeric charactershedditAn aggregation of individual shedditThe path to the original multireddit from which this one was copied, if any, e.g.: /u/ USERNAME/m/ MULTINAMEheddit9Whether the authenticated user can edit this multireddithedditSmart constructor for 2s, which may only contain alphanumeric charactersheddit Convert a  to a hedditA  with all Nothing fields, for convenience##(c) 2021 Rory Tyler Hayford BSD-3-Clauserory.hayford@protonmail.com experimentalGHCNone #$%8<=>?{hedditThe reason for reporting the  to the Reddit adminshedditPermission granted to a hedditWrapper to parse lists of shedditA user contributor in a heddit!External resources embedded in a heddit*URL pointing to a Reddit-external resourceheddit ID for a hedditAn individual update in a heddit>(c) 2021 Rory Tyler Hayford BSD-3-Clauserory.hayford@protonmail.com experimentalGHCNone #$%8<>hedditForeground color for v2 flairheddit7The type of content that is allowed in a flair templateheddit/The type of flair, when creating a new templatehedditThe result of bulk setting of users' flairs as a mod action. The warnings and errors fields may be dynamically generated by Reddit, so they are represented here as shedditIf the flair was applied or notheddit/A human-readable description of the transactionheddit Select a ! for a submission or for the userhedditIf Just and if the  textEditable field of the  is True,, this will be sent. It is otherwise ignoredhedditWrapper around  UserFlair for fetching the current flair. This uses the same endpoint as the FlairChoiceList aboveheddit*Flair that is currently assigned to a userheddit4Information about flair that a user can choose. The  templateID corresponds to the flairID field of a hedditWrapper around FlairTemplates! for posting via the API. If the flairID field is Nothing, a new template will be created. Otherwise, the template with the matching ID will be updatedhedditFlair "templates" that describe choices for self-assigned flair, for both users and submissionsheddit-Should be between 1 and 10; 10 is the defaulthedditAn identifier for a hedditReddit strangely does not use their usual Listing mechanism for paginating assigned flairs, but a different data structureheddit3Flair that has been, or will be, assigned to a userhedditCSS class for flairhedditThe text displayed by the hedditSmart constructor for /, the length of which not exceed 64 charactersheddit Convert a  to a l, allowing it to be used with other functions/actions expecting a listinghedditA  with default fields, for convenience when creating new templates>>(c) 2021 Rory Tyler Hayford BSD-3-Clauserory.hayford@protonmail.com experimentalGHCNone #$%28<#hedditA wrapper around  s that allows Listing ResultID a to be distinguished from Listing SubmissionID ahedditThe syntax to use in the hedditThe category for the hedditThe sort order for esheddit%Options for paginating and filtering esheddit+The text to search, along with an optional hedditThe text to searchhedditIf Nothing<, will perform search. Should be <= 512 characters in lengthhedditIf Nothing, defaults to hedditWrapper for getting the URL from the JSON object that is returned when posting a new submissionshedditRepresents richtext JSON object. This should be generated through an API endpointhedditAs an :, but after obtaining the URL for the Reddit-hosted imagehedditThe type of inline mediaheddit=A piece of inline media that can be added to a self-text posthedditThe path must be valid and the file type must correspond to the provided  mediaType fieldhedditThis corresponds to a placeholder in the self-text of the submission. This will be filled in with generated markdown. If the key is absent from the text, the inline media will not be included in the final body. See #$ for more detailshedditOptional caption for the mediahedditWrapper providing a single  instance for a container of s and  s togetherheddit&A single image in a gallery submissionhedditOptional captionhedditOptional outbound URLhedditWrapper providing a single  instance for s and  s togetherhedditA Reddit poll. See   to create a new one satisfying Reddit constraints on poll options and durationhedditBetween 2 and 6 total optionsheddit&The number of days for the poll to runheddit1Optional self text for the body of the submissionhedditWrapper for getting the submission ID after completing a crosspostheddit%Options for crossposting a submissionhedditIf this is chosen, two conditions must be met that are not currently enforced by this library: * The flairID- field above must also be provided * The  textEditable field of the associated  must also be Trueheddit?Result issued from a websocket connection after uploading mediahedditUsed to distinguish upload types when creating submissions with mediahedditUsed to upload style assets and images to Reddit's servers when submitting contenthedditS3 metadata and headersheddit,This is required to get the final upload URLheddit The type of  to submit to Reddit. In general, this should not be used directly. See instead the various submit actions in Network.Reddit.Submissionheddit#The body should be generated using < and converted to "fancypants" style markdown. Please see #$, which handles thisheddit Please see #% in order to create an image submission. The URL must point to a valid image hosted by ReddithedditSee the note for  about 7s. The Bool= argument specifies if this is "videogif" media. The second 7+ points to a Reddit-hosted thumbnail imageheddit%Components to create a new submissionheddit%Should be <= 300 characters in lengthhedditThe UUID of an existing $ to which to add the new submissionhedditIf this is chosen, two conditions must be met that are not currently enforced by this library: * The flairID- field above must also be provided * The  textEditable field of the associated  must also be TruehedditData to create a new  as a moderator actionhedditA UUID identifier for a hedditThe layout of the  on the redesigned sitehedditRepresents a Reddit collectionhedditThese are the  %s that correspond to the IDs in the linkIDs8 fields. This field may be empty, depending on how the  was obtained. Fetching all of the collections belonging to a subreddit will not include it, whereas fetching an individual collection by ID willhedditIdentifier for a hedditSingle option in existing heddit+The total number of votes received thus farheddit8Data from an existing submission containing a poll. See ' for submitting a new post with a pollheddit'Total number of votes cast for the pollhedditVoting end date for the pollheddit5The option selected by the authenticated user, if anyhedditThe contents of the  . Can be a self-post with a plaintext and HTML body, an external link, or entirely empty heddit"A submitted self-text post or link hedditUnique, site-wide ID for a  hedditParse a  heddit Create a $ with default values for most fields heddit$ with default values for most fields heddit Create a new 4, validating the following constraints: * The duration* is between 1 and 7 * The number of options is between 2 and 6 heddit Create a  with default values for the caption and  outboundURL fields heddit Convert a  to to  after obtaining the 7 heddit Convert an  to  after obtaining the 7 heddit Write an  in markdown format heddit Create a new < by providing the query, with defaults for the other fields heddit Create a  from 4, the length of which must not exceed 5 characters          (c) 2021 Rory Tyler Hayford BSD-3-Clauserory.hayford@protonmail.com experimentalGHCNone #$%/8This field will be empty unless the comment was obtained via ' heddit?Whether the author of the comment is also the submission author hedditA   ID hedditParse a  ' ' (c) 2021 Rory Tyler Hayford BSD-3-Clauserory.hayford@protonmail.com experimentalGHCNone #$%/8<u hedditFor sending new   s via the compose API endpoint heddit1The subject should be <= 100 characters in length hedditA private message ID heddit This can be   for replies to a comment, or a   for private messages. Querying one's inbox or unread messages can provide both types heddit&Options for requesting and paginating ls of  s heddit If set to False (the default), any new messages read via the API will maintain their unread status in the web UI heddit"A private message or comment reply  (c) 2021 Rory Tyler Hayford BSD-3-Clauserory.hayford@protonmail.com experimentalGHCNone #%28<>Ǖ hedditThe reason for issuing a report. The length of the contained text must be <= 100 characters hedditThe direction in which to vote hedditWrapper for parsing new  s,  s, or  4s that are returned after requesting their creation heddit%Certain endpoints will return either  s or a   s, or both hedditWraps either a   or a  . This is required to use  s with ^s hedditSmart constructor for  8s, which may be no longer than 100 characters in length (c) 2021 Rory Tyler Hayford BSD-3-Clauserory.hayford@protonmail.com experimentalGHCNone #$%/8The settings that may be configured for a particular subreddit heddit,The text that appears on the submission page heddit%Custom label for creating submissions heddit)The text seen when hovering over the snoo heddit1A hex string specifying the color theme on mobile heddit+Restrict all posting to only approved users heddit.Restrict all commenting to only approved users heddit5Allows the sub to appear in "r/all" and trending subs heddit?Whether users may send modmail messages approval as a submitter heddit*Allow users to enter custom report reasons heddit9Exclude posts from site-wide banned users in the modqueue heddit-Whether the "original content" tag is enabled heddit-Whether to mandate that all submissions be OC heddit Options for ls of  (. Currently only takes a single field, user', to limit the listing to a single user hedditInformation about a muted user heddit0Information about a contributor on the subreddit heddit2Wrapped for list of moderators, which resembles a l&, but cannot be paginated or filtered heddit4Account information about a moderator, similar to a , but with less informationhedditFlair text on the subredditheddit Flair CSS class on the subreddithedditIf Nothing,, indicates the user has all mod permissionshedditA list containing users invited to moderate the subreddit. For some reason, the endpoints listing moderator invites do not use the same Listing( mechanism that most other endpoints doheddit$At most 25 of the invited moderatorsheddit!If the list contains all inviteesheddit2Pagination controls for the next moderator invitesheddit6Pagination controls for the previous moderator inviteshedditInformation about a user who has been invited to moderate the subreddithedditFlair text on this subredditheddit3The types of relationships that mods can manipulatehedditVarious permissions that can be afforded to moderators and inviteeshedditIdentifier for a heddit,A subreddit-specific reason for item removalhedditControls how the  will be disseminatedheddit&Leaves the message as a public commentheddit+Leaves moderator note with exposed usernameheddit$Leaves mod note with hidden usernameheddit)A message to explain/note the removal an  heddit Options for ls of s. Only contains one field, only to constrain the request to a single type (i.e. comments or links)hedditAn  3 of interest to moderators (spam, modqueue, etc...)heddit%Default options for filtering modmailheddit ' with default values for boolean fieldshedditThis instance can be used to paginate through the listings, with a bias towards after       (c) 2021 Rory Tyler Hayford BSD-3-Clauserory.hayford@protonmail.com experimentalGHCNone #$%8<=?3hedditA widget composed of text. See  for constructing a new widgethedditMarkdown-formattedhedditThis is present in existing widgets, but should be left blank when creating a new onehedditDisplay style for a hedditA widget listing subreddit s. The rules field cannot be updated through widget endpoints, and are excluded during serializationhedditThe display orientation for sheddit2Information about submission flair templates in a hedditA widget listing flair choices for submissions. When creating a new widget, the  s in the order field must be valid template IDs for the given subreddit. Existing flair templates can be obtained with (, which can then be mapped over to obtain the IDs. Once the flair IDs have been obtained,  can be used to construct a widget with default values for most fieldshedditA container of s corresponding to the flair templates listed in the widget. Use this field when updating or creating shedditA mapping of submission flair template IDs to brief information on each one. This field is not! serialized when creating a new  or when updating an existing one, and can be left empty in those casesheddit0Information about a moderator as displayed in a hedditA widget listing the moderators of the subreddit. This widget cannot be created. It can be updated by modifying the styles field onlyheddit A link in a  or hedditA submenu child in a  which contains shedditA child widget in a hedditA widget representing a menuhedditAn individual image in an hedditThe reddit-hosted image URLheddit4The link that is followed when clicking on the imagehedditA widget composed of various sheddit5An ID card displaying information about the subreddithedditImage data that belongs to a heddit0This url must point to an image hosted by ReddithedditA custom widgethedditShould be between 50 and 500heddit Should be Nothing when creating a new widgetheddit*Information about a single subreddit in a (. When creating a new widget, only the name field will be serializedheddit8If the authenticated user is subscribed to the subredditheddit#A widget listing related subredditshedditConfiguration options for a heddit"Between 1 and 50, defaulting to 10heddit A widget representing a calendarhedditThe state of a  when hovering over ithedditThe state of an  when hovering over ithedditThe state of the  when hovering over itheddit Data for a heddit Data for an hedditAn individual button in a hedditA widget containing buttonsheddit&Style options for an individual widgethedditWrapper to parse a HashMap WidgetID Widget, discarding the ID keyshedditA "short name" for any widget. This name must be less than 30 characters longhedditThe section in which certain s appearhedditA widget ID. These are usually prefixed with the type of widget it corresponds to, e.g.  rules-2qh1i for a heddit*Represents one of various kinds of widgetsheddit0An organized collection of a subreddit's widgetshedditSmart constructor for &s, which must be <= 30 characters longheddit%A calendar config with default valuesheddit(Convenience function for creating a new -, where all but one of the fields should be Nothingheddit Make a new $ with default values for most fieldsheddit Create a new %, with default values for most fields(c) 2021 Rory Tyler Hayford BSD-3-Clauserory.hayford@protonmail.com experimentalGHCNone  %8< heddit1Editing permission level configured for a single heddit:The settings that moderators have configured for a single hedditWrapper for listings of WikiPages, which have their own  RedditKindhedditID for a wikipage revisionhedditInformation regarding a single  revisionheddit'The reason for editing the page, if anyhedditIf the revision has been hiddenhedditThe name of an individual wiki page. The name forms part of the URL, and should not contain spaces or uppercase charactershedditAn individual subreddit wikipage along with its revision informationhedditThe page content, as markdownhedditIndicates whether the authenticated user can revise this particular wikipagehedditSmart constructor for s. Lowercases the contained text, and replaces each space with a single underscore)(c) 2021 Rory Tyler Hayford BSD-3-Clauserory.hayford@protonmail.com experimentalGHCNone  #$%'(?1 hedditDefault settings for an  - a GET request with no path, form data, or query string, and which requires authentication headershedditJoin a collection of s, with a leading slashheddit Convert a  to its textual valuehedditAn empty, default ^. Includes the default g for the type ahedditConvert  (Text, Text) pairs into a URL-encoded FormhedditParse a   from a Reddit URLheddit+Get the API path for a subreddit given its heddit/Get the "about" path for a subreddit given its hedditTurn a container of permissions into a string Reddit uses to configure permissions for different roles. Included permissions are prefixed with "+", omitted ones with "-"Can be used with  ModPermissions and LivePermissionshedditSplit a URL pathheddit)Get the host and path segments from a URLhedditHACK For some reason, if a subreddit does not exist, Reddit returns an empty Listing instead of returning 404(c) 2021 Rory Tyler Hayford BSD-3-Clauserory.hayford@protonmail.com experimentalGHCNone  #$/? hedditLoad the auth file, looking in the following locations, in order: $PWD/auth.iniXDG_CONFIG_HOME/heddit/auth.iniNote: Only s and  apps are supportedheddit8Get the URL required to authorize your application, for s and sheddit Generate an  from an 2. This serves to create an initial token for all /s, and can also be used to refresh tokens for s and  appshedditRefresh the access tokenheddit"The endpoint for non-OAuth actionshedditThe endpoint for OAuth actionshedditA redirect URI, which must exactly match the one registered with Reddit when creating your applicationheddit-The OAuth scopes to request authorization forhedditText that is embedded in the callback URI when the client completes the request. It must be composed of printable ASCII characters and should be unique for the client*(c) 2021 Rory Tyler Hayford BSD-3-Clauserory.hayford@protonmail.com experimentalGHCNone #$/? |hedditRun an  and decode the response JSON, governed by the type parameterizing the actionheddit+Run an action, discarding the response bodyheddit0Get the items that correspond to a container of q' instances, for example a sequence of  +s, which will evaluate to a  of  ,s(c) 2021 Rory Tyler Hayford BSD-3-Clauserory.hayford@protonmail.com experimentalGHCNone ?heddit Check if a  is available for useheddit"Get information about another userheddit Get a user's shedditGet a l of a user's  shedditGet a l of a user's  shedditGet  s that a user has upvoted. You must be authorized to access this, or an exception will be raisedhedditGet  s that a user has upvoted. You must be authorized to access this, or an exception will be raisedhedditGet the  s that a user has gildedhedditGet  s that a user has hidden. You must be authorized to access this, or an exception will be raisedhedditGet an overview of a user's  s and  shedditGet the  s that a user has saved. You must be authorized to access this, or an exception will be raisedhedditGet the public s belonging to the given userhedditGet a Listing of special user subreddits, sorted on creation date (newest first)hedditGet a Listing1 of special user subreddits, sorted on popularityhedditGet a Listing of user profiles whose titles and descriptions which match the given queryheddit Get a brief  for each valid . Note that Reddit silently ignores invalid IDs, so the output may be shorted than the input containerhedditGet the  for a single user ID--(c) 2021 Rory Tyler Hayford BSD-3-Clauserory.hayford@protonmail.com experimentalGHCNone #%?'X+hedditGet information about a . An  will be thrown if attempting to query information on banned or private shedditGet a 's shedditGet the requirements that moderators have configured for all submissions on the given subredditheddit Get "hot"  s for a given heddit Get "new"  s for a given hedditGet "controversial"  s for a given heddit Get "rising"  s for a given heddit Get "top"  s for a given heddit Get "rising"  s for a given hedditGet a random submission from the subreddit. The sub must support this feature, or an  exception will be thrownhedditGet one of the stickied submission, optionally specifying its position in the sticky list, returning the top one otherwise. Note that this will throw an 2 if the sub does not have any stickied submissionshedditSubscribe to a single subredditheddit#Unsubscribe from a single subreddithedditAllow the authenticated user to access the quarantined subreddithedditDisallow the authenticated user from accessing the quarantined subreddithedditGet a Listing of the default shedditGet a Listing of new  s site-widehedditGet a Listing of popular  s site-widehedditGet a Listing of premium-only shedditSame as %, provided for compatibility purposeshedditSearch through subreddits based on both their names and descriptionsheddit3Search through subreddits based on both their nameshedditGet a list of recommended subreddits based on the provided subs. Subreddits to exclude from the recommendation may optionally be provided.Note: Unfortunately, as of this writing, this action appears to only return an empty array for all inputshedditGet the s of a subreddit, given the sub ID. Collections obtained through this action will not have the  sortedLinks fieldNote:: if you don't know the ID of the subreddit, you can use getNamedCollections, although this incurs an additional network request to get the ID from the namehedditGet the s of a subreddit, given the name of the sub. Collections obtained through this action will not have the  sortedLinks fieldNote&: this incurs a greater overhead than 5, which you may want to use if you already know the  subredditIDhedditFetch the specifig ", given its ID. This includes its  sortedLinkshedditGet a  given its  permalink. This includes its  sortedLinksPermalink URLs should be of the form https://{www.}reddit.com/r//collections/heddit0Follow the collection for the authenticated userheddit2Unfollow the collection for the authenticated userheddit Get the user .s on the given subreddit. This will throw an  () if the sub does not allow users to set their own flair and the authenticated user does not have mod privileges on the subhedditGet the submission s on the given subreddithedditGet the available ,s for new submissions on the given subreddithedditGet the available 5s for a particular submission on the given subreddithedditGet the available .s for new submissions on the current subreddithedditGet the subreddit  specified by namehedditGet all of the s on the subreddit wikihedditGet a specific revision of a , specified by name and hedditGet a l of the s for a given wikipagehedditEdit the given wikipage, replacing its contents with the new contents provided. This requires moderator privileges or editing privileges for the page in question. If the page corresponding to the given name does not exist, it will be createdhedditCreate a new wikipage. If a page with the given name already exists, its contents will be replacedhedditGet a given subreddit's widgetshedditGet all of a subreddit's s as a non-hierarchical listhedditGet all of the emojis for the given subreddit. Note that this does not include the builtin "snoomojis"hedditWhich sticky to fetch. 1 is at the top of the sticky list, and is the default if this param is Nothingheddit5If NSWF subreddits should be included, defaulting to True if Nothingheddit,Only exactly match the query, defaulting to False if Nothingheddit"Subreddits to omit from the resultheddit)Subreddits to base the recommendations onhedditThe reason for the edit, if anyhedditThe new content for the pageheddit(The reason for creating the page, if anyhedditThe new content for the page  (c) 2021 Rory Tyler Hayford BSD-3-Clauserory.hayford@protonmail.com experimentalGHCNone ?,hedditGet the  + inbox for the currently authenticated userhedditGet the unread  %s of the currently authenticated userhedditGet the  *s sent by the currently authenticated userhedditMark a   as readhedditSend a   to another userheddit Reply to a  , returning the newly created  hedditReport a message, bringing it to the attention of the Reddit admins  (c) 2021 Rory Tyler Hayford BSD-3-Clauserory.hayford@protonmail.com experimentalGHCNone #$%?5heddit8Get account information for the currently logged-in userheddit Get the user % for the currently authenticated userhedditUpdate the authenticated users +. Returns the new preferences upon successWarning: Invalid fields or values are silently discarded by this endpoint. If you wish to check that an update has succeeded, consider an equality test between the existing preferences and the value returned by this actionheddit,Get an overview of the authenticated user's  s and  sheddit/Get items that the authenticated user has savedheddit,Get an overview of the authenticated user's  sheddit,Get an overview of the authenticated user's  sheddit0Get items that the authenticated user has hiddenhedditGet the !s of the currently logged-in userhedditGet blocked users (as "s) of the currently logged-in userheddit+Get a breakdown of the current user's karmahedditMake friends with another userhedditRemove an existing friendhedditBlock another user. Note that this cannot be reversed through the API; the logged-in user would need to manually revoke the block by visiting Reddit's websitehedditGet the authenticated user's current flair for the given subreddit, if such flair existshedditSet the flair for the authenticated user, provided that the given subreddit allows users to perform this action. The text field is ignored unless it is Just and the  textEditable field of the contained  is TruehedditFind out if the authenticated user needs to complete a captcha when performing certain transactions, such as submitting a link or sending a private messagehedditGet a listing of subreddits the currently authenticated user is subscribed tohedditGet a listing of subreddits the currently authenticated user is a mod inhedditGet a listing of subreddits the currently authenticated user is an approved user inheddit5Get all of the multireddits of the authenticated user(c) 2021 Rory Tyler Hayford BSD-3-Clauserory.hayford@protonmail.com experimentalGHCNone #%?;- hedditGet a  by its pathheddit3Add the given subreddit to the existing multiredditheddit7Remove a single subreddit from the existing multireddithedditDelete an existing multireddithedditCopy an existing , returning the new oneheddit Create a new . Will throw a 409  if the proposed multireddit already exists. The new multireddit will be created at the provided  parameterheddit4Update an existings multireddit, returning the same  with the updates appliedhedditList all of the filters configured for the special subreddit. If no filters have been applied, this will throw an  exceptionheddit4Add a subreddit to filter from the special subreddithedditRemove a filtered subreddit from the special subreddit. This action will succeed even if the filtered subreddit is not in the special subreddit filterheddit3Remove all of the filters for the special subreddithedditThe special subhedditThe sub to filterhedditThe special subheddit!The sub to remove from the filter(c) 2021 Rory Tyler Hayford BSD-3-Clauserory.hayford@protonmail.com experimentalGHCNone #%/?GQhedditGet the details on a single  given its IDhedditGet information about live threads corresponding to each of the s in the given container. Invalid IDs are silently discarded by this endpointNote2: This endpoint will only accept a maximum of 100 s. If you would like to get all of the information for a larger number of s at once, see hedditGet all of the "s corresponding to a container of s, without a limithedditGet a Listing of s for the given live threadheddit Get a single  for the given live threadhedditGet a Listing of  8s representing the discussions on the given live threadheddit-Get a list of contributors to the live threadhedditReport the given live thread to Reddit admins with the provided reasonheddit Create a , returning the  upon success. Also see hedditClose an existing live thread. After closing, it is no longer possible to update or modify the live threadWarning: This action is irreversibleheddit1Update the existing live thread with new settingsheddit Add an update to the live threadhedditStrike the existing , causing its stricken field to be True and the content to be crossed-out and marked incorrect on the web UIhedditStrike the existing , causing its stricken field to be True and the content to be crossed-out and marked incorrect on the web UIhedditRemove the user as a contributor to the live thread. If you don't know the contributor's user ID, you can use hedditRemove the live contributor by username. Note that this action must perform an additional network request to fetch the user ID from the given usernameheddit/Update the permissions for the live contributorhedditAbdicate your role as a live contributor, removing all access and permissionsWarning: This cannot be undone, even if you are the creator of the live threadhedditInvite a user to contribute to the live thread. Note that this implicitly grants all permissions to the invitee. If you would like more fine-grained control over permissions, see hedditAs , but allows customization of the permissions granted to the inviteehedditRevoke the invitation to contribute to the live thread. If you don't know the contributor's user ID, you can use hedditRevoke the live invitation by username. Note that this action must perform an additional network request to fetch the user ID from the given usernamehedditIf Nothing), grants all contributor permissions. If Just$ but empty, removes all permissionshedditIf empty, grants no permissions66(c) 2021 Rory Tyler Hayford BSD-3-Clauserory.hayford@protonmail.com experimentalGHCNone ?K{ heddit Delete an  hedditLeave a comment in reply to an  , which can be markdown-formatted. This will return the newly created   upon successhedditEdit some item, given its  *. The return value will be wrapped in an  ' constructor, since it can be either a   or  SubmissionhedditSubmit a vote. Be careful! Reddit views bot-based vote manipulation as a serious violationhedditReport an item, which brings it to the attention of the subreddit moderatorsheddit Save an itemhedditUnsave an itemheddit6Enable or disable inbox replies for an item given its  hedditGet a Listing of  s that have been gilded  (c) 2021 Rory Tyler Hayford BSD-3-Clauserory.hayford@protonmail.com experimentalGHCNone  #$&/?R!hedditGet the  "s corresponding to a container of  shedditGet information on a single  ". Throws an exception if no such   existshedditGet new  s, either for the site as a whole or for a single subreddit, given its heddit Update a   to include its  s, returning the updated  2. This will probably be necessary if the original   was obtained by getting a Username's or 's comments, etc...hedditSave a commenthedditUnsave a commenthedditDelete a comment that the currently authenticated user has authored, given its  hedditEdit a comment given its  , receving an updated   in responsehedditReply to a comment given its  , returning the newly created  heddit*Enable/disable inbox replies for a commenthedditUpvote a comment.hedditDownvote a comment.heddit%Remove an existing vote on a comment.heddit(Report a comment to the subreddit's modsheddit Transform  , loading the actual comments they refer to, up to the limit passed in (pass  for no limit). If  "s still remain from the original  !, they will be returned in a new  * inserted into the resulting sequence of  s, along with an updated countheddit A version of ) with default parameters for the limit (Nothing) and options ()  - Safe-Inferred R(c) 2021 Rory Tyler Hayford BSD-3-Clauserory.hayford@protonmail.com experimentalGHCNone #$%&'(/?f&hedditGet a information on  s given a container of  shedditGet information on a single submission. Throws an exception if no such   existshedditGet a  : from a URL pointing to it, in one of the following forms:http{s}://redd.it/)http{s}://{www.}reddit.com/comments//=http{s}://{www.}reddit.com/r//comments//{NAME}'http{s}://{www.}reddit.com/gallery/hedditGet a Listing% of submissions based on their domainhedditGet the "best"  s from the frontpagehedditGet a submission's  shedditGet a Listing of  8s that are marked as duplicates of the given submissionhedditSave a submissionhedditUnsave a submissionheddit5Hide the submissions corresponding to a container of  s. The submissions will no longer appear in your default view of submissions on the subdreddithedditHide a single submissionheddit7Unhide the submissions corresponding to a container of  's, returning them to your default viewhedditUnhide a single submissionhedditDelete a submission that the currently authenticated user has authoredheddit'Edit a submission, receving an updated   in responseheddit1Leave a reply on a submission, returning the new   that has been createdheddit-Submit a new self-post (with no inline media)heddit.Submit a new self-post with inline media. The Body must be markdown- formatted text containing placeholders. Each placeholder must correspond to exactly one of the s' key* field. For example, given the following::gif = InlineMedia InlineGIF "/path/to/a.gif" "gif" Nothingvid = InlineMedia InlineVideo "/path/to/a.mp4" "vid" (Just "my video")6body = "Body with an inline gif #gif# and video #vid#"7submitWithInlineMedia Nothing body [gif, vid] myOptionsWill automatically produce (internally) the following markdown body for the submission, after uploading the media to Reddit's servers:  Body with an inline gif ![gif](j2k2xmfl3 "") and video ![video](ccdoe02xu "my video") hedditSubmit a new link posthedditPost an image submission to the subreddit, uploading the image file. This action does not currently return the posted submission upon successhedditPost an image submission to the subreddit, uploading the image file. This action does not currently return the posted submission upon successheddit"Post a poll to the subreddit. See   to create a new heddit6Post a gallery to the subreddit, given a container of s. See   to create the images with default values. This action also ensures that the image container has at least two elementsheddit'Submit a new submission, returning the   that has been created. This action allows for more fine-grained control over submission options. You can use  1 for defaults and update it as needed. See also , , and , which should be used when submitting anything beyond a self-text or link posthedditCrosspost an existing submission. You must be a subscriber of the subreddit you are posting into. See also  heddit-Enable/disable inbox replies for a submissionheddit Select a  for a submission.heddit through Reddit  :s, either side-wide or constrained to one subreddit. See   to create the initial hedditUpvote a submissionhedditDownvote a submissionheddit'Remove an existing vote on a submissionheddit+Report a submission to the subreddit's modshedditMark a submission NSFW. The submission author can use this as well as the subreddit moderatorshedditUnmark a submission NSFW. The submission author can use this as well as the subreddit moderatorshedditMark a submission as original content. In order for normal users to use this feature in addition to mods, the beta "Original Content" feature must be enabled in the subreddit settingshedditUnmark a submission as original content. In order for normal users to use this feature in addition to mods, the beta "Original Content" feature must be enabled in the subreddit settingsheddit*Mark the submission as containing spoilersheddit,Unmark the submission as containing spoilersheddit8Delimiter for the placeholders in the body, defaults to #heddit3Should contain the placeholders, as described abovehedditThe key field in each  must correspond to exactly one of the placeholders in the bodyhedditMust be a valid image filehedditIf True, creates a silent "videogif"hedditMust be a valid video fileheddit9Must be a valid image file, for the video thumbnail. If Nothing(, a PNG of the Haskell logo will be used  (c) 2021 Rory Tyler Hayford BSD-3-Clauserory.hayford@protonmail.com experimentalGHCNone #$%&. This client is required to run all actions in this library.See  if you have a  or ? app and would like to load your auth details from an ini fileheddit8Create a new client with an existing refresh token, for s and 0s. The initial refresh token is provided with a  that will also handle saving and loading refresh tokens over the life of the new hedditLoad a client from saved credentials, which are stored in an ini file. Files should conform to the following formats:For s: [NAME] id = secret = username = password = agent = ,,,For  apps without a user context: [NAME] id = secret = agent = ,,,Where NAME corresponds to a  that you pass to this function. You can have various different distinct sites in a single ini file. When invoking this function, if the provided client site is Nothing, a section labeled  [DEFAULT] will be used. If none is provided, an exception will be thrown. Note that all section labels are case-insensitive.?The following locations are searched for an ini file, in order: $PWD/auth.ini $XDG_CONFIG_HOME/heddit/auth.iniNote: Only s and  are supported via this methodhedditRun an action with your Reddit . This will catch any exceptions related to POST rate-limiting for you. After sleeping for the indicated duration, it will attempt to re-run the action that triggered the exception. If you do not wish to catch these exceptions, or would like to handle them in a different way, use ', which simply runs the provided actionNote: Confusingly, Reddit uses two different rate-limiting mechanisms. This action only catches rate limiting applied to POST requests. Another form of rate limiting is applied to API requests in general. This library does not automatically deal with this second type. If you wish to deal with this yourself, see the action , which automatically applies a delay based on the most recent rate limit headers returned from ReddithedditRun an action with your Reddit 5, catching the exception specified and returning an Either+ in case of failure. It may be best to use TypeApplications to specify the exception type.$For example, to try to see the user 9s for a subreddit which may or may not allow user flair:tryReddit @APIException c $ getUserFlairTemplates =<< mkSubredditName "haskell"Left (ErrorWithStatus (StatusMessage {statusCode = 403, message = "Forbidden"}))heddit)Convenience wrapper for actions taking a ^ and which return a l. This runs the action with a default initial paginator, and extracts the children from the returned l. This discards all of the pagination controls that are returned in the Listing. This is useful if you only care about the child contents of the first "page" of resultsFor example, to get only the first page of results for a user's comments, you could use the following: ?runReddit yourClient . firstPage $ getUserComments someUsernameheddit Update a ^ with a l to make a query for the next "page" of content. If the first argument is Nothing, defaults will be used for the options, partially depending on the type of paginatorNote: You cannot supply both the before and after fields when making requests to API endpoints. If both fields are Just in the  Paginator' you get back from this function, the after1 field will take precedence. If you want to use before, in such a scenario, make sure to set it to Nothing) before using the paginator in an actionExample:6best1 <- runReddit yourClient $ getBest emptyPaginatorbest2 <- runReddit yourClient . getBest $ nextPage Nothing best1heddit0Get current information on rate limiting, if anyhedditRun the provided  action with a delay, if rate-limiting information is currently availableheddit Transform an action producing a Listing of items into an infinite stream. Items are pushed to the stream as they are fetched, with oldest items yielded first. New items are fetched in 100-item batches. If nothing new arrives in the stream, a jittered exponential backoff is applied, up to a cap of ~16s, resetting once new items arrive again.For example, to fetch new submissions published to "r/haskell", as they are created, and print their IDs to the console:import Conduit$subName <- mkSubredditName "haskell""action = getNewSubmissions subName)printTitle = liftIO . print . (^. #title)runReddit c . runConduit $ stream Nothing action .| mapM_C printTitleSubmissionID "o6948i"SubmissionID "o6b0w0"SubmissionID "o6cqof"SubmissionID "o6ddl9"SubmissionID "o6dlas"...hedditThis is an example  that can be used to store and retrieve OAUth refresh tokens, which could be used with . For a real application, you would probably want to use a more sophisticated managerhedditWhen True, will only yield items that have newly arrived, thus skipping items from the first request that already existedhedditAn exception that will be thrown when Reddit doesn't return a new refresh tokenheddit!The location of the stored tokens  !"#$%&'+()*,-/012345678<:=9;>?@ABCDEHIJKQMSLNOPRTUV^_flm lm^_fUVKQMSLNOPRTDE?@ABC8<:=9;>HIJ75463210/-'+()*, !"#$%&  001234556789:;<=>?@ABCDEFGHHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqqrstuvwxyz{|}~&&                                                                                                                                                     , , + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    )"('$% )))))))))))))******--------#heddit-0.0.3-9exHQM39kJOAEFyIAgEDk1Network.Reddit.Types.InternalNetwork.Reddit.TypesNetwork.Reddit.Types.SubredditNetwork.Reddit.Types.Account Network.Reddit.Types.MultiredditNetwork.Reddit.Types.LiveNetwork.Reddit.Types.FlairNetwork.Reddit.Types.SubmissionNetwork.Reddit.Types.EmojiNetwork.Reddit.Types.CommentNetwork.Reddit.Types.MessageNetwork.Reddit.Types.ItemNetwork.Reddit.Types.ModerationNetwork.Reddit.Types.WidgetNetwork.Reddit.Types.WikiNetwork.RedditNetwork.Reddit.UserNetwork.Reddit.SubredditNetwork.Reddit.MessageNetwork.Reddit.MeNetwork.Reddit.MultiredditNetwork.Reddit.LiveNetwork.Reddit.ItemNetwork.Reddit.CommentNetwork.Reddit.SubmissionNetwork.Reddit.ModerationuploadWidgetImageNetwork.Reddit.Auth getAuthURLnewClientWithManager!Network.Reddit.Actions.ModerationreorderSubredditRulesNetwork.Reddit.Actions.AccountgetUserSummaries!Network.Reddit.Actions.SubmissionsubmitWithInlineMedia submitImage Submission withRepliesgetSubmissionFlairTemplatesNetwork.Reddit.UtilsNetwork.Reddit.Internal CommentIDComment Paths_heddit Network.Reddit.Actions.SubredditgetSubredditEmoji JSONError$sel:fields:JSONError$sel:explanation:JSONError$sel:message:JSONError$sel:reason:JSONError StatusMessage$sel:statusCode:StatusMessage$sel:message:StatusMessage StatusCode ErrorMessage EmptyErrorOtherErrorMessage RatelimitedCommentDeleted BadSRNameSubredditNotExistsSubredditRequiredAlreadySubmittedNoURLNoNameNoTextTooShort BadCaptcha UserRequired OAauthError$sel:errorType:OAauthError$sel:description:OAauthError APIExceptionErrorWithStatusErrorWithMessageInvalidCredentials InvalidJSONJSONParseError RedirectedWebsocketError UploadFailedClientExceptionInvalidRequestInvalidResponseMalformedCredentials OtherErrorConfigurationErrorRedditExceptionRawBodyModifierDomainNameRGBTextSubjectTitleBodyURL UploadURLTimeHourDayWeekMonthYearAllTime Distinction ModeratorUndistinguishedAdminSpecial ItemReport$sel:reason:ItemReport$sel:count:ItemReportItemTypeComments SubmissionsItemSortHotNewTop ControversialOldRandomQALive ConfidenceItemOpts$sel:itemSort:ItemOpts$sel:itemType:ItemOpts$sel:itemTime:ItemOpts$sel:context:ItemOptsHKDCIText Paginator$sel:before:Paginator$sel:after:Paginator$sel:limit:Paginator$sel:showAll:Paginator$sel:srDetail:Paginator$sel:opts:Paginator PaginablePaginateOptions PaginateThing defaultOpts getFullname optsToFormListing$sel:before:Listing$sel:after:Listing$sel:children:ListingThingfullname RedditKind CommentKind AccountKindSubmissionKind MessageKind SubredditKind AwardKind ListingKind UserListKind KarmaListKindTrophyListKindMoreKindRelKindSubredditSettingsKindStylesheetKind WikiPageKindWikiPageListingKindWikiPageSettingsKindLabeledMultiKind ModActionKindLiveThreadKindLiveUpdateKinddefaultItemOptsbshowtshowdropTypePrefix prependType integerToUTCwithKind withKindstextKindeditedP validateName joinParamsnothingTxtNull textObject textEncode breakOnTypegetVals mkTextForm$fFromJSONRedditKind$fThingt$fFromJSONListing$fMonoidListing$fSemigroupListing"$fHasFieldnamePaginatorPaginatorsu$fToFormPaginator $fEqCIText$fToHttpApiDataItemSort$fToJSONItemSort$fFromJSONItemSort$fToHttpApiDataItemType$fFromJSONItemReport$fToHttpApiDataDistinction$fFromJSONDistinction$fToHttpApiDataTime$fToFormItemOpts$fExceptionRedditException$fShowRedditException$fExceptionClientException$fFromJSONOAauthError$fFromJSONErrorMessage$fFromJSONStatusMessage$fFromJSONJSONError$fFromJSONAPIException$fExceptionAPIException$fShowAPIException$fGenericAPIException$fShowJSONError $fEqJSONError$fGenericJSONError$fEqStatusMessage$fShowStatusMessage$fGenericStatusMessage$fShowErrorMessage$fEqErrorMessage$fGenericErrorMessage$fShowOAauthError$fEqOAauthError$fGenericOAauthError$fEqClientException$fShowClientException$fGenericClientException$fShowUploadURL$fGenericUploadURL $fEqUploadURL$fFromJSONUploadURL$fToJSONUploadURL$fToHttpApiDataUploadURL$fShowItemOpts $fEqItemOpts$fGenericItemOpts $fShowTime$fEqTime $fGenericTime$fShowDistinction$fEqDistinction$fGenericDistinction$fShowItemReport$fEqItemReport$fGenericItemReport$fShowItemType $fEqItemType$fGenericItemType$fShowItemSort $fEqItemSort$fGenericItemSort$fGenericPaginator $fShowListing $fEqListing$fGenericListing$fEqRedditKind $fEqPaginator$fShowPaginator PathSegment APIAction$sel:method:APIAction$sel:pathSegments:APIAction$sel:requestData:APIAction$sel:needsAuth:APIAction$sel:followRedirects:APIAction$sel:rawJSON:APIAction$sel:checkResponse:APIActionWithDataWithJSONWithForm WithMultipartNoDataMethodGETPOSTDELETEPUTPATCHScopeAccountsCredditsEditFlairHistoryIdentity LiveManage ModConfigModContributorsModFlairModLogModMail ModOthersModPostsModSelf ModTrafficModWiki MySubredditsPrivateMessagesReadReportSaveStructuredStylesSubmit SubscribeVoteWikiEditWikiRead Unlimited TokenManager$sel:loadToken:TokenManager$sel:putToken:TokenManager TokenDuration Temporary PermanentCodeFlow$sel:redirectURI:CodeFlow$sel:code:CodeFlow PasswordFlow$sel:username:PasswordFlow$sel:password:PasswordFlow AccessToken$sel:token:AccessToken$sel:expiresIn:AccessToken$sel:scope:AccessToken$sel:refreshToken:AccessTokenCodeToken ClientSecretClientIDAppType ScriptAppWebApp InstalledAppApplicationOnly AuthConfig$sel:clientID:AuthConfig$sel:appType:AuthConfig$sel:userAgent:AuthConfig RateLimits$sel:remaining:RateLimits$sel:used:RateLimits$sel:reset:RateLimits$sel:nextRequest:RateLimits ClientSite UserAgent$sel:platform:UserAgent$sel:appID:UserAgent$sel:version:UserAgent$sel:author:UserAgent ClientState$sel:accessToken:ClientState$sel:tokenObtained:ClientState$sel:limits:ClientStateClient$sel:authConfig:Client$sel:manager:Client$sel:clientState:Client$sel:tokenManager:Client MonadRedditRedditT runRedditTreadClientStatereadRateLimits$fToFormPasswordFlow$fToFormCodeFlow$fToFormAppType$fToHttpApiDataTokenDuration$fToHttpApiDataScope$fFromJSONScope$fFromJSONAccessToken$fHasHttpManagerClient$fGenericAPIAction$fShowWithData$fGenericWithData $fShowMethod $fEqMethod$fGenericMethod$fFunctorRedditT$fApplicativeRedditT$fMonadRedditT$fMonadIORedditT$fMonadUnliftIORedditT$fMonadReaderClientRedditT$fMonadThrowRedditT$fMonadCatchRedditT$fGenericClient$fShowClientState$fEqClientState$fGenericClientState$fShowAccessToken$fEqAccessToken$fGenericAccessToken$fGenericScope $fEqScope $fShowScope $fOrdScope $fEnumScope$fShowTokenDuration$fEqTokenDuration$fGenericTokenDuration$fShowAuthConfig$fEqAuthConfig$fGenericAuthConfig $fShowAppType $fEqAppType$fGenericAppType$fShowCodeFlow $fEqCodeFlow$fGenericCodeFlow$fShowPasswordFlow$fEqPasswordFlow$fGenericPasswordFlow$fShowRateLimits$fEqRateLimits$fGenericRateLimits$fShowUserAgent $fEqUserAgent$fGenericUserAgentBodyRestriction BodyRequiredBodyNotAllowed NoRestrictionPostRequirements,$sel:bodyBlacklistedStrings:PostRequirements+$sel:bodyRestrictionPolicy:PostRequirements%$sel:domainBlacklist:PostRequirements%$sel:domainWhitelist:PostRequirements%$sel:isFlairRequired:PostRequirements-$sel:titleBlacklistedStrings:PostRequirements*$sel:titleRequiredStrings:PostRequirements($sel:titleTextMaxLength:PostRequirements($sel:titleTextMinLength:PostRequirementsRuleType CommentRuleLinkRuleAllRulePostedSubredditRuleNewSubredditRule$sel:shortName:NewSubredditRule$sel:ruleType:NewSubredditRule!$sel:description:NewSubredditRule%$sel:violationReason:NewSubredditRuleRuleList SubredditRule$sel:description:SubredditRule"$sel:descriptionHTML:SubredditRule$sel:shortName:SubredditRule$sel:created:SubredditRule$sel:priority:SubredditRule"$sel:violationReason:SubredditRule$sel:ruleType:SubredditRuleNameSearchResultsRecsList SubredditID SubredditName Subreddit$sel:subredditID:Subreddit$sel:name:Subreddit$sel:title:Subreddit$sel:created:Subreddit$sel:description:Subreddit$sel:descriptionHTML:Subreddit $sel:publicDescription:Subreddit$sel:subscribers:Subreddit$sel:over18:Subreddit$sel:userIsBanned:Subreddit$sel:userIsModerator:Subreddit$sel:userIsSubscriber:Subreddit!$sel:canAssignLinkFlair:Subreddit!$sel:canAssignUserFlair:Subreddit$sel:quarantine:SubredditmkSubredditName$fThingSubredditID$fPaginableSubreddit$fFromJSONSubreddit$fFromJSONRecsList$fFromJSONNameSearchResults$fToHttpApiDataRuleType$fFromJSONRuleType$fToFormNewSubredditRule$fToFormSubredditRule$fFromJSONSubredditRule$fFromJSONPostedSubredditRule$fFromJSONRuleList$fFromJSONBodyRestriction$fFromJSONPostRequirements$fShowPostRequirements$fEqPostRequirements$fGenericPostRequirements$fShowBodyRestriction$fEqBodyRestriction$fGenericBodyRestriction$fShowRuleList$fGenericRuleList$fShowPostedSubredditRule$fGenericPostedSubredditRule$fShowSubredditRule$fEqSubredditRule$fGenericSubredditRule$fShowNewSubredditRule$fEqNewSubredditRule$fGenericNewSubredditRule$fShowRuleType $fEqRuleType$fGenericRuleType $fOrdRuleType$fShowNameSearchResults$fGenericNameSearchResults$fShowRecsList$fGenericRecsList$fShowSubreddit $fEqSubreddit$fGenericSubreddit$fShowSubredditID$fGenericSubredditID$fEqSubredditID$fFromJSONSubredditID$fShowSubredditName$fGenericSubredditName$fFromJSONSubredditName$fToJSONSubredditName$fToHttpApiDataSubredditName$fEqSubredditName AcceptPMsEveryone WhitelistedMediaPreferenceTurnOnTurnOffFollowSubreddit Preferences#$sel:defaultCommentSort:Preferences$sel:media:Preferences$sel:mediaPreview:Preferences $sel:minCommentScore:Preferences$sel:minLinkScore:Preferences$sel:numComments:Preferences$sel:numSites:Preferences$sel:lang:Preferences$sel:acceptPMs:Preferences$$sel:activityRelevantAds:Preferences#$sel:allowClicktracking:Preferences$sel:beta:Preferences$sel:clickGadget:Preferences%$sel:collapseReadMessages:Preferences$sel:compress:Preferences!$sel:credditAutorenew:Preferences$sel:domainDetails:Preferences!$sel:emailChatRequest:Preferences"$sel:emailCommentReply:Preferences$sel:emailDigests:Preferences$sel:emailMessages:Preferences$sel:emailPostReply:Preferences$$sel:emailPrivateMessage:Preferences$$sel:emailUnsubscribeAll:Preferences#$sel:emailUpvoteComment:Preferences $sel:emailUpvotePost:Preferences%$sel:emailUserNewFollower:Preferences%$sel:emailUsernameMention:Preferences$$sel:enableDefaultThemes:Preferences+$sel:feedRecommendationsEnabled:Preferences$sel:hideAds:Preferences$sel:hideDowns:Preferences$sel:hideFromRobots:Preferences$sel:hideUps:Preferences'$sel:highlightControversial:Preferences%$sel:highlightNewComments:Preferences$$sel:ignoreSuggestedSort:Preferences$sel:inRedesignBeta:Preferences$sel:labelNSFW:Preferences$sel:legacySearch:Preferences$sel:liveOrangereds:Preferences!$sel:markMessagesRead:Preferences $sel:monitorMentions:Preferences$sel:newWindow:Preferences$sel:nightMode:Preferences$sel:noProfanity:Preferences$sel:organic:Preferences$sel:over18:Preferences$sel:privateFeeds:Preferences$sel:profileOptOut:Preferences$sel:publicVotes:Preferences$sel:research:Preferences$$sel:searchIncludeOver18:Preferences&$sel:sendCrosspostMessages:Preferences$$sel:sendWelcomeMessages:Preferences$sel:showFlair:Preferences#$sel:showGoldExpiration:Preferences$sel:showLinkFlair:Preferences1$sel:showLocationBasedRecommendations:Preferences$sel:showPresence:Preferences$sel:showPromote:Preferences $sel:showStylesheets:Preferences$sel:showTrending:Preferences$sel:showTwitter:Preferences$sel:storeVisits:Preferences.$sel:thirdPartyDataPersonalizedAds:Preferences*$sel:thirdPartyPersonalizedAds:Preferences2$sel:thirdPartySiteDataPersonalizedAds:Preferences6$sel:thirdPartySiteDataPersonalizedContent:Preferences!$sel:threadedMessages:Preferences $sel:threadedModmail:Preferences#$sel:topKarmaSubreddits:Preferences"$sel:useGlobalDefaults:Preferences$sel:videoAutoplay:PreferencesUserSummaryList UserSummary$sel:userID:UserSummary$sel:name:UserSummary$sel:commentKarma:UserSummary$sel:linkKarma:UserSummary$sel:created:UserSummary$sel:profilePicture:UserSummary$sel:profileColor:UserSummary$sel:profileOver18:UserSummary TrophyListTrophy$sel:name:Trophy$sel:trophyID:Trophy$sel:awardID:Trophy$sel:description:Trophy$sel:grantedAt:Trophy KarmaListKarma$sel:subreddit:Karma$sel:commentKarma:Karma$sel:linkKarma:Karma FriendListFriend$sel:username:Friend$sel:userID:Friend$sel:since:Friend$sel:note:FriendAccountSearchSortRelevantAccountsActiveAccountsAccountSearchOpts!$sel:resultSort:AccountSearchOpts&$sel:typeaheadActive:AccountSearchOpts$$sel:searchQueryID:AccountSearchOptsAccount$sel:userID:Account$sel:username:Account$sel:created:Account$sel:commentKarma:Account$sel:isGold:Account$sel:isMod:Account$sel:linkKarma:Account$sel:inboxCount:Account$sel:modHash:Account$sel:over18:Account$sel:hasMail:Account$sel:hasModMail:Account$sel:hasVerifiedEmail:AccountUserIDUsername mkUsername $fThingUserID$fFromJSONUserID$fFromJSONAccount $fToHttpApiDataAccountSearchSort$fToFormAccountSearchOpts$fPaginableAccount$fFromJSONFriend$fFromJSONFriendList$fFromJSONKarma$fFromJSONKarmaList$fFromJSONTrophy$fFromJSONTrophyList$fFromJSONUserSummary$fFromJSONUserSummaryList$fToJSONMediaPreference$fFromJSONMediaPreference$fToJSONAcceptPMs$fFromJSONAcceptPMs$fToJSONPreferences$fFromJSONPreferences$fShowPreferences$fEqPreferences$fGenericPreferences$fShowAcceptPMs $fEqAcceptPMs$fGenericAcceptPMs$fShowMediaPreference$fEqMediaPreference$fGenericMediaPreference$fShowUserSummaryList$fGenericUserSummaryList$fShowUserSummary$fEqUserSummary$fGenericUserSummary$fShowTrophyList$fGenericTrophyList $fShowTrophy $fEqTrophy$fGenericTrophy$fShowKarmaList$fGenericKarmaList $fShowKarma $fEqKarma$fGenericKarma$fShowFriendList$fGenericFriendList $fShowFriend $fEqFriend$fGenericFriend$fShowAccountSearchOpts$fEqAccountSearchOpts$fGenericAccountSearchOpts$fShowAccountSearchSort$fEqAccountSearchSort$fGenericAccountSearchSort $fShowAccount$fGenericAccount $fShowUserID$fGenericUserID $fEqUserID$fShowUsername$fGenericUsername$fFromJSONUsername$fToJSONUsername$fToHttpApiDataUsername $fEqUsername MultiUpdateNewMulti NewMultiF$sel:description:NewMultiF$sel:displayName:NewMultiF$sel:subreddits:NewMultiF$sel:visibility:NewMultiF$sel:keyColor:NewMultiFMultiVisibility PrivateMulti PublicMulti HiddenMulti MultiPath$sel:username:MultiPath$sel:multiname:MultiPath MultiName Multireddit$sel:name:Multireddit$sel:displayName:Multireddit$sel:subreddits:Multireddit$sel:created:Multireddit$sel:description:Multireddit $sel:descriptionHTML:Multireddit$sel:keyColor:Multireddit$sel:multipath:Multireddit$sel:visibility:Multireddit$sel:copiedFrom:Multireddit$sel:canEdit:Multireddit$sel:over18:Multireddit mkMultiName multiUpdatedefaultMultiUpdate$fToHttpApiDataMultiPath$fFromJSONMultiPath$fToJSONMultiVisibility$fFromJSONMultiVisibility$fFromJSONMultireddit$fToJSONNewMultiF$fToJSONNewMultiF0$fGenericNewMultiF$fShowMultireddit$fEqMultireddit$fGenericMultireddit$fShowMultiVisibility$fEqMultiVisibility$fGenericMultiVisibility$fOrdMultiVisibility$fShowMultiPath $fEqMultiPath$fGenericMultiPath$fShowMultiName$fGenericMultiName$fFromJSONMultiName$fToHttpApiDataMultiName $fEqMultiName$fShowNewMultiF$fShowNewMultiF0LiveReportTypeSpamVoteManipulation PersonalInfo Sexualizing SiteBreakingLivePermissionUpdateManageSettingsLiveContributorListLiveContributor$sel:userID:LiveContributor$sel:username:LiveContributor $sel:permissions:LiveContributorLiveUpdateEmbed$sel:url:LiveUpdateEmbed$sel:height:LiveUpdateEmbed$sel:width:LiveUpdateEmbed LiveUpdateID LiveUpdate$sel:liveUpdateID:LiveUpdate$sel:author:LiveUpdate$sel:body:LiveUpdate$sel:bodyHTML:LiveUpdate$sel:stricken:LiveUpdate$sel:embeds:LiveUpdatePostedLiveThreadUpdatedLiveThread NewLiveThreadPostableLiveThread$sel:title:PostableLiveThread#$sel:description:PostableLiveThread!$sel:resources:PostableLiveThread$sel:nsfw:PostableLiveThread LiveStateCurrentComplete LiveThreadID LiveThread$sel:liveThreadID:LiveThread$sel:title:LiveThread$sel:description:LiveThread$sel:descriptionHTML:LiveThread$sel:resources:LiveThread$sel:resourcesHTML:LiveThread$sel:created:LiveThread$sel:viewerCount:LiveThread$sel:liveState:LiveThread$sel:nsfw:LiveThread$sel:websocketURL:LiveThreadmkNewLiveThreadliveThreadToPostable$fThingLiveThreadID$fFromJSONLiveThreadID$fFromJSONLiveState$fPaginableLiveThread$fFromJSONLiveThread$fToFormPostableLiveThread$fFromJSONPostedLiveThread$fFromJSONLiveUpdateID$fThingLiveUpdateID$fFromJSONLiveUpdateEmbed$fPaginableLiveUpdate$fFromJSONLiveUpdate$fToHttpApiDataLivePermission$fFromJSONLivePermission$fFromJSONLiveContributor$fFromJSONLiveContributorList$fToHttpApiDataLiveReportType$fShowLiveReportType$fEqLiveReportType$fGenericLiveReportType$fShowLiveContributorList$fGenericLiveContributorList$fShowLiveContributor$fEqLiveContributor$fGenericLiveContributor$fShowLivePermission$fEqLivePermission$fGenericLivePermission$fOrdLivePermission$fEnumLivePermission$fBoundedLivePermission$fShowLiveUpdate$fEqLiveUpdate$fGenericLiveUpdate$fShowLiveUpdateEmbed$fEqLiveUpdateEmbed$fGenericLiveUpdateEmbed$fShowLiveUpdateID$fGenericLiveUpdateID$fEqLiveUpdateID$fToHttpApiDataLiveUpdateID$fShowPostedLiveThread$fGenericPostedLiveThread$fShowPostableLiveThread$fEqPostableLiveThread$fGenericPostableLiveThread$fShowLiveThread$fEqLiveThread$fGenericLiveThread$fShowLiveState $fEqLiveState$fGenericLiveState$fShowLiveThreadID$fGenericLiveThreadID$fEqLiveThreadID$fToHttpApiDataLiveThreadIDForegroundColorDarkLight FlairContent AllContent EmojisOnlyTextOnly FlairType UserFlairTypeSubmissionFlairType FlairResult$sel:ok:FlairResult$sel:status:FlairResult$sel:warnings:FlairResult$sel:errors:FlairResultFlairSelection$sel:flairChoice:FlairSelection$sel:text:FlairSelection$sel:subreddit:FlairSelectionCurrentUserFlair UserFlair$sel:text:UserFlair$sel:cssClass:UserFlairFlairChoiceList FlairChoice$sel:templateID:FlairChoice$sel:text:FlairChoice$sel:textEditable:FlairChoice$sel:cssClass:FlairChoicePostedFlairTemplate FlairTemplate$sel:flairID:FlairTemplate$sel:text:FlairTemplate$sel:textEditable:FlairTemplate$sel:textColor:FlairTemplate"$sel:backgroundColor:FlairTemplate$sel:cssClass:FlairTemplate$sel:overrideCSS:FlairTemplate$sel:maxEmojis:FlairTemplate$sel:modOnly:FlairTemplate#$sel:allowableContent:FlairTemplateFlairID FlairList$sel:prev:FlairList$sel:next:FlairList$sel:users:FlairList AssignedFlair$sel:user:AssignedFlair$sel:text:AssignedFlair$sel:cssClass:AssignedFlairCSSClass FlairText mkFlairTextflairlistToListingdefaultFlairTemplate$fPaginableAssignedFlair$fFromJSONAssignedFlair$fFromJSONFlairList$fFromJSONFlairChoice$fFromJSONFlairChoiceList$fFromJSONUserFlair$fFromJSONCurrentUserFlair$fFromJSONFlairResult$fToHttpApiDataFlairType$fToHttpApiDataFlairContent$fFromJSONFlairContent$fToHttpApiDataForegroundColor$fToJSONForegroundColor$fFromJSONForegroundColor$fToFormFlairTemplate$fFromJSONFlairTemplate$fToFormPostedFlairTemplate$fShowPostedFlairTemplate$fGenericPostedFlairTemplate$fEqPostedFlairTemplate$fShowFlairTemplate$fEqFlairTemplate$fGenericFlairTemplate$fShowForegroundColor$fEqForegroundColor$fGenericForegroundColor$fShowFlairContent$fEqFlairContent$fGenericFlairContent$fShowFlairType $fEqFlairType$fGenericFlairType$fShowFlairResult$fEqFlairResult$fGenericFlairResult$fShowFlairSelection$fEqFlairSelection$fGenericFlairSelection$fShowCurrentUserFlair$fGenericCurrentUserFlair$fShowUserFlair $fEqUserFlair$fGenericUserFlair$fShowFlairChoiceList$fGenericFlairChoiceList$fShowFlairChoice$fEqFlairChoice$fGenericFlairChoice$fShowFlairList $fEqFlairList$fGenericFlairList$fShowAssignedFlair$fEqAssignedFlair$fGenericAssignedFlair$fShowFlairText$fGenericFlairText $fEqFlairText$fFromJSONFlairText$fToJSONFlairText$fToHttpApiDataFlairText$fSemigroupFlairText$fMonoidFlairTextResultID SearchSyntaxLucene Cloudsearch PlainSyntaxSearchCategory SearchSort ByRelevanceByNewByHotByTop ByComments SearchOpts$sel:searchSort:SearchOpts$sel:searchTime:SearchOpts$sel:category:SearchOptsSearch $sel:q:Search$sel:subreddit:Search$sel:syntax:SearchPostedSubmission FancypantsInlineMediaUpload $sel:mediaType:InlineMediaUpload$sel:mediaID:InlineMediaUpload$sel:caption:InlineMediaUpload$sel:key:InlineMediaUploadInlineMediaType InlineImage InlineGIF InlineVideo InlineMedia$sel:mediaType:InlineMedia$sel:mediaPath:InlineMedia$sel:key:InlineMedia$sel:caption:InlineMediaGallerySubmission GalleryImage$sel:imagePath:GalleryImage$sel:caption:GalleryImage$sel:outboundURL:GalleryImagePollSubmissionPoll$sel:options:Poll$sel:duration:Poll$sel:selftext:PollPostedCrosspostCrosspostOptions$sel:subreddit:CrosspostOptions$sel:title:CrosspostOptions$sel:nsfw:CrosspostOptions!$sel:sendreplies:CrosspostOptions$sel:spoiler:CrosspostOptions$sel:flairID:CrosspostOptions$sel:flairText:CrosspostOptions UploadResult$sel:resultType:UploadResult$sel:redirectURL:UploadResult UploadTypeSelfPostUpload LinkUpload GalleryUpload S3UploadLease$sel:action:S3UploadLease$sel:fields:S3UploadLease$sel:key:S3UploadLease$sel:websocketURL:S3UploadLease$sel:assetID:S3UploadLease NewSubmissionSelfPostWithInlineMediaLink ImagePost VideoPostSubmissionOptions$sel:title:SubmissionOptions $sel:subreddit:SubmissionOptions$sel:nsfw:SubmissionOptions"$sel:sendreplies:SubmissionOptions$sel:resubmit:SubmissionOptions$sel:spoiler:SubmissionOptions#$sel:collectionID:SubmissionOptions$sel:flairID:SubmissionOptions $sel:flairText:SubmissionOptions NewCollection$sel:title:NewCollection$sel:description:NewCollection$sel:subredditID:NewCollection$sel:layout:NewCollection CollectionIDCollectionLayoutGalleryTimeline Collection$sel:collectionID:Collection$sel:author:Collection$sel:title:Collection$sel:subredditID:Collection$sel:description:Collection$sel:permalink:Collection$sel:created:Collection$sel:lastUpdated:Collection$sel:linkIDs:Collection$sel:sortedLinks:Collection$sel:layout:Collection PollOptionID PollOption$sel:pollOptionID:PollOption$sel:text:PollOption$sel:voteCount:PollOptionPollData$sel:options:PollData$sel:totalVoteCount:PollData$sel:votingEnds:PollData$sel:userSelection:PollDataSubmissionContentSelfText ExternalLinkEmptySubmission$sel:submissionID:Submission$sel:title:Submission$sel:author:Submission$sel:content:Submission$sel:subreddit:Submission$sel:created:Submission$sel:edited:Submission$sel:permalink:Submission$sel:domain:Submission$sel:numComments:Submission$sel:score:Submission$sel:ups:Submission$sel:downs:Submission$sel:upvoteRatio:Submission$sel:gilded:Submission$sel:userReports:Submission$sel:modReports:Submission$sel:numReports:Submission$sel:distinguished:Submission$sel:isOC:Submission$sel:clicked:Submission$sel:over18:Submission$sel:locked:Submission$sel:spoiler:Submission$sel:pollData:Submission SubmissionID submissionPmkSubmissionOptionsmkCrosspostOptionsmkPollmkGalleryImagegalleryImageToUploadinlineMediaToUploadwriteInlineMediamkSearchmkSearchCategory$fThingSubmissionID$fFromJSONSubmissionID$fFromJSONPollOption$fFromJSONPollData$fPaginableSubmission$fFromJSONSubmission$fToHttpApiDataCollectionLayout$fFromJSONCollectionLayout$fFromJSONCollection$fToFormNewCollection$fToFormSubmissionOptions$fFromJSONS3UploadLease$fFromJSONUploadResult$fToFormCrosspostOptions$fFromJSONPostedCrosspost$fToJSONPollSubmission$fToJSONGalleryUploadImage$fToJSONGallerySubmission$fToHttpApiDataInlineMediaType$fFromJSONFancypants$fToFormNewSubmission$fFromJSONPostedSubmission$fToHttpApiDataSearchSort$fToFormSearchOpts$fToHttpApiDataSearchSyntax$fPaginableSearch$fToFormSearch$fShowResultID$fGenericResultID$fFromJSONResultID$fThingResultID $fShowSearch $fEqSearch$fGenericSearch$fShowSearchSyntax$fEqSearchSyntax$fGenericSearchSyntax$fShowSearchOpts$fEqSearchOpts$fGenericSearchOpts$fShowSearchCategory$fGenericSearchCategory$fEqSearchCategory$fShowSearchSort$fEqSearchSort$fGenericSearchSort$fShowPostedSubmission$fGenericPostedSubmission$fShowNewSubmission$fEqNewSubmission$fGenericNewSubmission$fShowFancypants$fGenericFancypants$fEqFancypants$fToJSONFancypants$fShowInlineMediaUpload$fEqInlineMediaUpload$fGenericInlineMediaUpload$fShowInlineMedia$fEqInlineMedia$fGenericInlineMedia$fShowInlineMediaType$fEqInlineMediaType$fGenericInlineMediaType$fGenericGallerySubmission$fGenericGalleryUploadImage$fShowGalleryImage$fEqGalleryImage$fGenericGalleryImage$fGenericPollSubmission $fGenericPoll$fShowPostedCrosspost$fGenericPostedCrosspost$fShowCrosspostOptions$fEqCrosspostOptions$fGenericCrosspostOptions$fShowUploadResult$fEqUploadResult$fGenericUploadResult$fShowUploadType$fEqUploadType$fGenericUploadType$fShowS3UploadLease$fEqS3UploadLease$fGenericS3UploadLease$fShowSubmissionOptions$fEqSubmissionOptions$fGenericSubmissionOptions$fShowNewCollection$fEqNewCollection$fGenericNewCollection$fShowCollection$fEqCollection$fGenericCollection$fShowCollectionLayout$fEqCollectionLayout$fGenericCollectionLayout$fShowSubmission$fEqSubmission$fGenericSubmission$fShowPollData $fEqPollData$fGenericPollData$fShowPollOption$fEqPollOption$fGenericPollOption$fShowSubmissionContent$fEqSubmissionContent$fGenericSubmissionContent$fShowSubmissionID$fGenericSubmissionID$fEqSubmissionID$fToHttpApiDataSubmissionID$fEqPoll $fShowPoll EmojiList EmojiNameNewEmojiEmoji$sel:name:Emoji$sel:modFlairOnly:Emoji$sel:postFlairAllowed:Emoji$sel:userFlairAllowed:Emoji$sel:createdBy:Emoji$sel:url:EmojimkEmoji mkEmojiName $fToFormEmoji$fFromJSONEmoji$fToFormNewEmoji$fFromJSONEmojiList$fShowEmojiList$fGenericEmojiList$fShowNewEmoji$fGenericNewEmoji $fShowEmoji $fEqEmoji$fGenericEmoji$fShowEmojiName$fGenericEmojiName $fEqEmojiName$fSemigroupEmojiName$fMonoidEmojiName$fFromJSONEmojiName$fToHttpApiDataEmojiName MoreComments$sel:childIDs:MoreComments$sel:count:MoreCommentsLoadedChildren ChildCommentTopLevelMore WithReplies WithChildren$sel:commentID:Comment$sel:author:Comment$sel:body:Comment$sel:bodyHTML:Comment$sel:replies:Comment$sel:score:Comment$sel:ups:Comment$sel:downs:Comment$sel:created:Comment$sel:edited:Comment$sel:subreddit:Comment$sel:subredditID:Comment$sel:gilded:Comment$sel:scoreHidden:Comment$sel:linkID:Comment$sel:linkURL:Comment$sel:linkAuthor:Comment$sel:permaLink:Comment$sel:userReports:Comment$sel:modReports:Comment$sel:numReports:Comment$sel:distinguished:Comment$sel:isSubmitter:Comment$sel:stickied:CommentcommentP$fThingCommentID$fFromJSONCommentID$fFromJSONMoreComments$fFromJSONChildComment$fPaginableComment$fFromJSONComment$fFromJSONLoadedChildren$fFromJSONWithChildren$fFromJSONWithReplies$fShowWithReplies$fEqWithReplies$fGenericWithReplies$fShowWithChildren$fEqWithChildren$fGenericWithChildren$fShowLoadedChildren$fGenericLoadedChildren$fEqLoadedChildren$fShowChildComment$fEqChildComment$fGenericChildComment $fShowComment $fEqComment$fGenericComment$fShowMoreComments$fEqMoreComments$fGenericMoreComments$fShowCommentID$fGenericCommentID $fEqCommentID$fOrdCommentID$fToHttpApiDataCommentID PostedMessage NewMessage$sel:subject:NewMessage$sel:message:NewMessage$sel:dest:NewMessagePrivateMessageID MessageID CommentReplyPrivateMessage MessageOpts$sel:mark:MessageOptsMessage$sel:messageID:Message$sel:author:Message$sel:dest:Message$sel:body:Message$sel:bodyHTML:Message$sel:subject:Message$sel:created:Message$sel:new:Message$sel:replies:Message$fToFormMessageOpts$fThingPrivateMessageID$fFromJSONPrivateMessageID$fThingMessageID$fToHttpApiDataMessageID$fFromJSONMessageID$fPaginableMessage$fFromJSONMessage$fToFormNewMessage$fFromJSONPostedMessage$fShowPostedMessage$fGenericPostedMessage$fEqPostedMessage$fShowNewMessage$fEqNewMessage$fGenericNewMessage $fShowMessage $fEqMessage$fGenericMessage$fShowMessageID $fEqMessageID$fGenericMessageID$fOrdMessageID$fShowPrivateMessageID$fGenericPrivateMessageID$fOrdPrivateMessageID$fEqPrivateMessageID$fToHttpApiDataPrivateMessageID$fShowMessageOpts$fEqMessageOpts$fGenericMessageOptsDownvoteUnvoteUpvote PostedItemItem CommentItemSubmissionItemItemID CommentItemIDSubmissionItemIDmkReport$fFromJSONItemID $fThingItemID$fFromJSONItem$fPaginableItem$fFromJSONPostedItem$fFromJSONPostedItem0$fFromJSONPostedItem1 $fShowReport$fGenericReport $fEqReport$fToHttpApiDataReport $fShowVote$fEqVote $fGenericVote $fOrdVote$fShowPostedItem$fGenericPostedItem $fShowItem$fEqItem $fGenericItem $fShowItemID $fEqItemID$fGenericItemID$fEqPostedItem LanguageCodeTraffic$sel:hour:Traffic$sel:day:Traffic$sel:month:Traffic TrafficStat$sel:timestamp:TrafficStat$sel:uniqueViews:TrafficStat$sel:totalViews:TrafficStat$sel:subscribers:TrafficStatStyleImageAlignment LeftAligned CenterAligned RightAlignedStructuredStyleImageBannerBackgroundBannerAdditional BannerHoverS3ModerationLease$sel:action:S3ModerationLease$sel:fields:S3ModerationLease$sel:key:S3ModerationLease#$sel:websocketURL:S3ModerationLeaseSubredditImage$sel:name:SubredditImage$sel:link:SubredditImage$sel:url:SubredditImage Stylesheet$sel:stylesheet:Stylesheet$sel:images:Stylesheet$sel:subredditID:Stylesheet ModActionTypeBanUser UnbanUserSpamLink RemoveLink ApproveLink SpamComment RemoveCommentApproveComment AddModerator ShowCommentInviteModeratorUninviteModeratorAcceptModeratorInviteRemoveModeratorAddContributorRemoveContributor EditSettings EditFlair DistinguishMarkNSFW WikiBanned WikiContrib WikiUnbannedWikiPageListedRemoveWikiContributor WikiRevise WikiPermLevel IgnoreReportsUnignoreReportsSetPermissionsSetSuggestedSortStickyUnstickySetContestModeUnsetContestModeLockUnlockMuteUser UnmuteUser CreateRuleEditRule ReorderRules DeleteRuleSpoiler UnspoilerMarkOriginalContent CollectionsEventsDeleteOverriddenClassificationOverrideClassificationReorderModerators SnoozeReportsUnsnoozeReportsOtherModAction ModActionID ModActionOpts$sel:action:ModActionOpts$sel:moderator:ModActionOpts ModAction$sel:modActionID:ModAction$sel:moderator:ModAction$sel:action:ModAction$sel:created:ModAction$sel:description:ModAction$sel:details:ModAction$sel:targetID:ModAction$sel:targetAuthor:ModAction$sel:targetTitle:ModAction$sel:targetPermalink:ModActionNewConversation$sel:body:NewConversation$sel:subject:NewConversation$sel:dest:NewConversation$sel:subreddit:NewConversation#$sel:isAuthorHidden:NewConversation ModmailReply$sel:body:ModmailReply $sel:isAuthorHidden:ModmailReply$sel:isInternal:ModmailReply ModmailState AllModmail NewModmailAppeals NotificationsInbox InProgress ArchivedMail Highlighted JoinRequests ModModmail ModmailSortFromUserFromMod RecentMail UnreadMail ModmailOpts$sel:after:ModmailOpts$sel:subreddits:ModmailOpts$sel:limit:ModmailOpts$sel:itemSort:ModmailOpts$sel:state:ModmailOpts ModmailAuthor$sel:name:ModmailAuthor$sel:isAdmin:ModmailAuthor$sel:isDeleted:ModmailAuthor$sel:isHidden:ModmailAuthor$sel:isMod:ModmailAuthor$sel:isOP:ModmailAuthor $sel:isParticipant:ModmailAuthorModmailMessage$$sel:modmailMessageID:ModmailMessage$sel:author:ModmailMessage$sel:body:ModmailMessage$sel:bodyHTML:ModmailMessage$sel:date:ModmailMessage$sel:isInternal:ModmailMessage ModmailObjID$sel:objID:ModmailObjID$sel:key:ModmailObjID BulkReadIDs ModmailIDConversationDetailsModmailConversation"$sel:modmailID:ModmailConversation $sel:subject:ModmailConversation!$sel:messages:ModmailConversation$$sel:numMessages:ModmailConversation"$sel:subreddit:ModmailConversation$$sel:participant:ModmailConversation$sel:objIDs:ModmailConversation$$sel:lastUpdated:ModmailConversation'$sel:lastUserUpdate:ModmailConversation&$sel:lastModUpdate:ModmailConversation&$sel:isHighlighted:ModmailConversation#$sel:isInternal:ModmailConversationModmail$sel:conversations:ModmailBanNotes$sel:banMessage:BanNotes$sel:banReason:BanNotes$sel:duration:BanNotes$sel:note:BanNotesMuteIDRelIDBan$sel:banID:Ban$sel:username:Ban$sel:userID:Ban $sel:note:Ban$sel:since:Ban$sel:daysLeft:BanWikimode EditDisabled ApprovedEditContributorEdit SpamFilter LowFilter HighFilter AllFilterContentOptions AnyContentLinkOnlySelfOnly SubredditTypePublic RestrictedPrivateArchivedGoldRestricted EmployeesOnlyGoldOnly UserSubredditCrowdControlLevelZeroOneTwoThreeSubredditSettings"$sel:subredditID:SubredditSettings$sel:title:SubredditSettings"$sel:description:SubredditSettings!$sel:submitText:SubredditSettings&$sel:submitTextLabel:SubredditSettings&$sel:headerHoverText:SubredditSettings$sel:language:SubredditSettings$$sel:subredditType:SubredditSettings%$sel:contentOptions:SubredditSettings$sel:keyColor:SubredditSettings$sel:wikimode:SubredditSettings$$sel:wikiEditKarma:SubredditSettings"$sel:wikiEditAge:SubredditSettings+$sel:commentScoreHideMins:SubredditSettings#$sel:spamComments:SubredditSettings$$sel:spamSelfposts:SubredditSettings $sel:spamLinks:SubredditSettings($sel:crowdControlLevel:SubredditSettings,$sel:crowdControlChatLevel:SubredditSettings'$sel:crowdControlMode:SubredditSettings+$sel:suggestedCommentSort:SubredditSettings)$sel:welcomeMessageText:SubredditSettings,$sel:welcomeMessageEnabled:SubredditSettings"$sel:allowImages:SubredditSettings"$sel:allowVideos:SubredditSettings!$sel:allowPolls:SubredditSettings&$sel:allowCrossposts:SubredditSettings,$sel:allowChatPostCreation:SubredditSettings&$sel:spoilersEnabled:SubredditSettings $sel:showMedia:SubredditSettings'$sel:showMediaPreview:SubredditSettings&$sel:restrictPosting:SubredditSettings)$sel:restrictCommenting:SubredditSettings$sel:over18:SubredditSettings.$sel:collapseDeletedComments:SubredditSettings!$sel:defaultSet:SubredditSettings-$sel:disableContribRequests:SubredditSettings&$sel:freeFormReports:SubredditSettings,$sel:excludeBannedModqueue:SubredditSettings#$sel:ocTagEnabled:SubredditSettings$sel:allOC:SubredditSettings RelInfoOpts$sel:username:RelInfoOptsMuteInfo$sel:userID:MuteInfo$sel:muteID:MuteInfo$sel:username:MuteInfo$sel:date:MuteInfoRelInfo$sel:userID:RelInfo$sel:relID:RelInfo$sel:username:RelInfo$sel:date:RelInfoModList ModAccount$sel:username:ModAccount$sel:userID:ModAccount$sel:relID:ModAccount$sel:flairText:ModAccount$sel:flairCSS:ModAccount$sel:date:ModAccount$sel:permissions:ModAccountModInviteeList$sel:invited:ModInviteeList"$sel:allUsersLoaded:ModInviteeList$sel:after:ModInviteeList$sel:before:ModInviteeList ModInvitee$sel:userID:ModInvitee$sel:username:ModInvitee$sel:flairText:ModInvitee$sel:permissions:ModInvitee$sel:moddedAt:ModInvitee$sel:postKarma:ModInviteeSubredditRelationshipMod ModInvitation ContributorBannedFromWikiWikiContributorBannedMuted ModPermissionAccessMail Configuration ChatConfig ChatOperatorPostsWikiNewRemovalReasonIDRemovalReasonIDRemovalReasonList RemovalReason"$sel:removalReasonID:RemovalReason$sel:message:RemovalReason$sel:title:RemovalReason RemovalType PublicCommentPrivateExposed PrivateHiddenRemovalMessage$sel:itemID:RemovalMessage$sel:message:RemovalMessage$sel:title:RemovalMessage$sel:removalType:RemovalMessage ModItemOpts$sel:only:ModItemOptsModItemZHVIUKTRTHTASVSRSLSKRUROPTPLNONNNLMSLVLTLAKOJAITISIDHYHUHRHIHEGLGDFRFIFAEUETESEOENELDEDACYCSCABSBGBEARAFdefaultModmailOptsmkModmailReply$fToFormModItemOpts$fPaginableModItem$fToHttpApiDataRemovalType$fToFormRemovalMessage$fToFormRemovalReason$fFromJSONRemovalReason$fFromJSONRemovalReasonList$fFromJSONNewRemovalReasonID$fHashableModPermission$fFromJSONKeyModPermission$fFromJSONModPermission$fToHttpApiDataModPermission$$fToHttpApiDataSubredditRelationship$fFromJSONModInvitee$fToFormModInviteeList$fFromJSONModInviteeList$fToFormRelInfoOpts $fToHttpApiDataCrowdControlLevel$fFromJSONCrowdControlLevel$fToHttpApiDataSubredditType$fFromJSONSubredditType$fToHttpApiDataContentOptions$fFromJSONContentOptions$fFromJSONSpamFilter$fToHttpApiDataSpamFilter$fToHttpApiDataWikimode$fFromJSONWikimode $fThingRelID$fFromJSONRelID$fPaginableBan $fFromJSONBan$fPaginableRelInfo$fFromJSONRelInfo$fFromJSONModAccount$fFromJSONModList $fThingMuteID$fFromJSONMuteID$fPaginableMuteInfo$fFromJSONMuteInfo$fToFormBanNotes$fFromJSONBulkReadIDs$fFromJSONModmailObjID$fFromJSONModmailAuthor$fFromJSONModmailMessage$fFromJSONModmailConversation$fFromJSONConversationDetails$fFromJSONModmail$fToHttpApiDataModmailSort$fFromJSONKeyModmailState$fFromJSONModmailState$fToHttpApiDataModmailState$fHashableModmailState$fToFormModmailOpts$fToFormModmailReply$fToFormNewConversation$fThingModActionID$fFromJSONModActionID$fToHttpApiDataModActionType$fFromJSONModActionType$fPaginableModAction$fFromJSONModAction$fFromJSONSubredditImage$fFromJSONStylesheet$fFromJSONS3ModerationLease#$fToHttpApiDataStructuredStyleImage"$fToHttpApiDataStyleImageAlignment$fFromJSONTrafficStat$fFromJSONTraffic$fToFormSubredditSettings$fFromJSONSubredditSettings$fShowSubredditSettings$fEqSubredditSettings$fGenericSubredditSettings$fShowLanguageCode$fGenericLanguageCode$fEqLanguageCode$fFromJSONLanguageCode$fToHttpApiDataLanguageCode $fShowTraffic $fEqTraffic$fGenericTraffic$fShowTrafficStat$fEqTrafficStat$fGenericTrafficStat$fShowStyleImageAlignment$fEqStyleImageAlignment$fGenericStyleImageAlignment$fShowStructuredStyleImage$fEqStructuredStyleImage$fGenericStructuredStyleImage$fShowS3ModerationLease$fEqS3ModerationLease$fGenericS3ModerationLease$fShowStylesheet$fEqStylesheet$fGenericStylesheet$fShowSubredditImage$fEqSubredditImage$fGenericSubredditImage$fShowModAction $fEqModAction$fGenericModAction$fShowModActionOpts$fEqModActionOpts$fGenericModActionOpts$fShowModActionType$fEqModActionType$fOrdModActionType$fGenericModActionType$fShowModActionID$fGenericModActionID$fEqModActionID$fToHttpApiDataModActionID$fShowNewConversation$fEqNewConversation$fGenericNewConversation$fShowModmailReply$fEqModmailReply$fGenericModmailReply$fShowModmailOpts$fEqModmailOpts$fGenericModmailOpts$fShowModmailState$fEqModmailState$fGenericModmailState$fShowModmailSort$fEqModmailSort$fGenericModmailSort $fShowModmail $fEqModmail$fGenericModmail$fShowConversationDetails$fGenericConversationDetails$fShowModmailConversation$fEqModmailConversation$fGenericModmailConversation$fShowModmailMessage$fEqModmailMessage$fGenericModmailMessage$fShowModmailAuthor$fEqModmailAuthor$fGenericModmailAuthor$fShowModmailObjID$fEqModmailObjID$fGenericModmailObjID$fShowBulkReadIDs$fGenericBulkReadIDs$fShowBanNotes $fEqBanNotes$fGenericBanNotes$fShowMuteInfo $fEqMuteInfo$fGenericMuteInfo $fShowMuteID$fGenericMuteID $fEqMuteID $fShowModList$fGenericModList$fShowModAccount$fEqModAccount$fGenericModAccount $fShowRelInfo $fEqRelInfo$fGenericRelInfo $fShowBan$fEqBan $fGenericBan $fShowRelID$fGenericRelID $fEqRelID$fShowWikimode $fEqWikimode$fGenericWikimode $fOrdWikimode$fShowSpamFilter$fEqSpamFilter$fGenericSpamFilter$fShowContentOptions$fEqContentOptions$fGenericContentOptions$fShowSubredditType$fEqSubredditType$fGenericSubredditType$fShowCrowdControlLevel$fEqCrowdControlLevel$fGenericCrowdControlLevel$fOrdCrowdControlLevel$fEnumCrowdControlLevel$fShowRelInfoOpts$fEqRelInfoOpts$fGenericRelInfoOpts$fShowModInviteeList$fEqModInviteeList$fGenericModInviteeList$fShowModInvitee$fEqModInvitee$fGenericModInvitee$fShowSubredditRelationship$fEqSubredditRelationship$fGenericSubredditRelationship$fShowModPermission$fEqModPermission$fGenericModPermission$fOrdModPermission$fEnumModPermission$fBoundedModPermission$fShowNewRemovalReasonID$fGenericNewRemovalReasonID$fShowRemovalReasonList$fGenericRemovalReasonList$fShowRemovalReason$fEqRemovalReason$fGenericRemovalReason$fShowRemovalMessage$fEqRemovalMessage$fGenericRemovalMessage$fShowRemovalType$fEqRemovalType$fGenericRemovalType$fShowModItemOpts$fEqModItemOpts$fGenericModItemOpts $fShowModItem$fGenericModItem $fEqModItem$fFromJSONModItemTextAreaWidget$sel:widgetID:TextAreaWidget$sel:shortName:TextAreaWidget$sel:text:TextAreaWidget$sel:textHTML:TextAreaWidget$sel:styles:TextAreaWidget RulesDisplay FullDisplayCompactDisplay RulesWidget$sel:widgetID:RulesWidget$sel:shortName:RulesWidget$sel:rules:RulesWidget$sel:display:RulesWidget$sel:styles:RulesWidgetPostFlairWidgetDisplay CloudDisplay ListDisplay PostFlairInfo$sel:templateID:PostFlairInfo$sel:text:PostFlairInfo$sel:textColor:PostFlairInfo"$sel:backgroundColor:PostFlairInfoPostFlairWidget$sel:widgetID:PostFlairWidget$sel:shortName:PostFlairWidget$sel:order:PostFlairWidget$sel:templates:PostFlairWidget$sel:display:PostFlairWidget$sel:styles:PostFlairWidgetModInfo$sel:name:ModInfo$sel:flairText:ModInfo$sel:flairTextColor:ModInfo!$sel:flairBackgroundColor:ModInfoModeratorsWidget$sel:widgetID:ModeratorsWidget$sel:mods:ModeratorsWidget$sel:totalMods:ModeratorsWidget$sel:styles:ModeratorsWidgetMenuLink$sel:text:MenuLink$sel:url:MenuLinkSubmenu$sel:children:Submenu$sel:text:Submenu MenuChild SubmenuChild MenuLinkChild MenuWidget$sel:widgetID:MenuWidget$sel:children:MenuWidgetImage$sel:width:Image$sel:height:Image$sel:url:Image$sel:linkURL:Image ImageWidget$sel:widgetID:ImageWidget$sel:shortName:ImageWidget$sel:images:ImageWidget$sel:styles:ImageWidget IDCardWidget$sel:widgetID:IDCardWidget$sel:shortName:IDCardWidget$sel:description:IDCardWidget!$sel:subscribersText:IDCardWidget&$sel:currentlyViewingText:IDCardWidget"$sel:subscribersCount:IDCardWidget'$sel:currentlyViewingCount:IDCardWidget$sel:styles:IDCardWidget ImageData$sel:name:ImageData$sel:height:ImageData$sel:width:ImageData$sel:url:ImageData CustomWidget$sel:widgetID:CustomWidget$sel:shortName:CustomWidget$sel:text:CustomWidget$sel:imageData:CustomWidget$sel:height:CustomWidget$sel:textHTML:CustomWidget$sel:css:CustomWidget$sel:stylesheetURL:CustomWidget$sel:styles:CustomWidget CommunityInfo$sel:name:CommunityInfo$sel:subscribers:CommunityInfo$sel:primaryColor:CommunityInfo$sel:iconURL:CommunityInfo $sel:communityIcon:CommunityInfo$sel:isSubscribed:CommunityInfo$sel:isNSFW:CommunityInfoCommunityListWidget!$sel:widgetID:CommunityListWidget"$sel:shortName:CommunityListWidget$$sel:communities:CommunityListWidget$sel:styles:CommunityListWidgetCalendarConfig$sel:numEvents:CalendarConfig$sel:showDate:CalendarConfig#$sel:showDescription:CalendarConfig $sel:showLocation:CalendarConfig$sel:showTime:CalendarConfig$sel:showTitle:CalendarConfigCalendarWidget$sel:widgetID:CalendarWidget$sel:shortName:CalendarWidget$$sel:googleCalendarID:CalendarWidget!$sel:configuration:CalendarWidget $sel:requiresSync:CalendarWidget$sel:styles:CalendarWidget TextHover$sel:text:TextHover$sel:color:TextHover$sel:fillColor:TextHover$sel:textColor:TextHover ImageHover$sel:url:ImageHover$sel:height:ImageHover$sel:width:ImageHover ButtonHoverImageButtonHoverTextButtonHover ButtonText$sel:text:ButtonText$sel:url:ButtonText$sel:color:ButtonText$sel:fillColor:ButtonText$sel:textColor:ButtonText$sel:hoverState:ButtonText ButtonImage$sel:text:ButtonImage$sel:url:ButtonImage$sel:linkURL:ButtonImage$sel:height:ButtonImage$sel:width:ButtonImage$sel:hoverState:ButtonImageButton ImageButton TextButton ButtonWidget$sel:widgetID:ButtonWidget$sel:shortName:ButtonWidget$sel:buttons:ButtonWidget$sel:description:ButtonWidget!$sel:descriptionHTML:ButtonWidget$sel:styles:ButtonWidget WidgetStyles!$sel:backgroundColor:WidgetStyles$sel:headerColor:WidgetStyles WidgetList ShortName WidgetSectionTopbarSidebarWidgetIDWidgetButtonsCalendar CommunityListCustomIDCardImages ModeratorsMenu PostFlairRulesTextAreaSubredditWidgets$sel:idCard:SubredditWidgets $sel:moderators:SubredditWidgets$sel:topbar:SubredditWidgets$sel:sidebar:SubredditWidgets!$sel:topbarOrder:SubredditWidgets"$sel:sidebarOrder:SubredditWidgets mkShortNamedefaultCalendarConfigmkCommunityInfomkPostFlairWidgetmkTextAreaWidget$fToJSONWidgetID$fFromJSONWidgetID$fToHttpApiDataWidgetID$fToHttpApiDataWidgetSection$fToJSONWidgetStyles$fFromJSONWidgetStyles$fFromJSONImageHover$fFromJSONTextHover$fToJSONButtonHover$fFromJSONButtonHover$fToJSONButtonText$fFromJSONButtonText$fToJSONButtonImage$fFromJSONButtonImage$fFromJSONButton$fToJSONCalendarConfig$fFromJSONCalendarConfig$fToJSONCommunityInfo$fFromJSONCommunityInfo$fToJSONCommunityListWidget$fToJSONImageData$fFromJSONImageData$fToJSONCustomWidget $fToJSONImage$fFromJSONImage$fToJSONMenuLink$fFromJSONMenuLink$fToJSONSubmenu$fFromJSONSubmenu$fToJSONMenuChild$fFromJSONMenuChild$fToJSONModInfo$fFromJSONModInfo$fFromJSONPostFlairInfo$fToJSONPostFlairWidgetDisplay $fFromJSONPostFlairWidgetDisplay$fToJSONPostFlairWidget$fToJSONRulesDisplay$fFromJSONRulesDisplay$fToJSONRulesWidget$fToJSONWidget$fFromJSONWidget$fFromJSONWidgetList$fFromJSONSubredditWidgets$fFromJSONWidgetType$fToJSONWidgetType$fToJSONTextAreaWidget$fFromJSONTextAreaWidget$fFromJSONRulesWidget$fFromJSONPostFlairWidget$fToJSONModeratorsWidget$fFromJSONModeratorsWidget$fToJSONMenuWidget$fFromJSONMenuWidget$fToJSONImageWidget$fFromJSONImageWidget$fToJSONIDCardWidget$fFromJSONIDCardWidget$fFromJSONCustomWidget$fFromJSONCommunityListWidget$fToJSONCalendarWidget$fFromJSONCalendarWidget$fToJSONTextHover$fToJSONImageHover$fToJSONButton$fToJSONButtonWidget$fFromJSONButtonWidget$fEqWidgetType$fShowSubredditWidgets$fEqSubredditWidgets$fGenericSubredditWidgets$fShowWidgetList$fGenericWidgetList $fShowWidget $fEqWidget$fGenericWidget$fShowTextAreaWidget$fEqTextAreaWidget$fGenericTextAreaWidget$fShowRulesWidget$fEqRulesWidget$fGenericRulesWidget$fShowRulesDisplay$fEqRulesDisplay$fGenericRulesDisplay$fShowPostFlairWidget$fEqPostFlairWidget$fGenericPostFlairWidget$fShowPostFlairWidgetDisplay$fEqPostFlairWidgetDisplay$fGenericPostFlairWidgetDisplay$fShowPostFlairInfo$fEqPostFlairInfo$fGenericPostFlairInfo$fShowModeratorsWidget$fEqModeratorsWidget$fGenericModeratorsWidget $fShowModInfo $fEqModInfo$fGenericModInfo$fShowMenuWidget$fEqMenuWidget$fGenericMenuWidget$fShowMenuChild $fEqMenuChild$fGenericMenuChild $fShowSubmenu $fEqSubmenu$fGenericSubmenu$fShowMenuLink $fEqMenuLink$fGenericMenuLink$fShowImageWidget$fEqImageWidget$fGenericImageWidget $fShowImage $fEqImage$fGenericImage$fShowIDCardWidget$fEqIDCardWidget$fGenericIDCardWidget$fShowCustomWidget$fEqCustomWidget$fGenericCustomWidget$fShowImageData $fEqImageData$fGenericImageData$fShowCommunityListWidget$fEqCommunityListWidget$fGenericCommunityListWidget$fShowCommunityInfo$fEqCommunityInfo$fGenericCommunityInfo$fShowCalendarWidget$fEqCalendarWidget$fGenericCalendarWidget$fShowCalendarConfig$fEqCalendarConfig$fGenericCalendarConfig$fShowButtonWidget$fEqButtonWidget$fGenericButtonWidget $fShowButton $fEqButton$fGenericButton$fShowButtonImage$fEqButtonImage$fGenericButtonImage$fShowButtonText$fEqButtonText$fGenericButtonText$fShowButtonHover$fEqButtonHover$fGenericButtonHover$fShowTextHover $fEqTextHover$fGenericTextHover$fShowImageHover$fEqImageHover$fGenericImageHover$fShowWidgetStyles$fEqWidgetStyles$fGenericWidgetStyles$fShowShortName$fGenericShortName $fEqShortName$fFromJSONShortName$fToJSONShortName$fShowWidgetSection$fEqWidgetSection$fGenericWidgetSection$fShowWidgetID$fGenericWidgetID $fEqWidgetIDFollowWikiSettingsApprovedEditorsOnly ModEditsOnlyWikiPageSettings permlevellistedallowedEditorsWikiPageListingWikiRevisionID WikiRevision revisionIDpage timestampauthorreasonhidden WikiPageNameWikiPagecontent contentHTML revisionBy revisionDate mayRevisemkWikiPageName$fFromJSONWikiPage$fThingWikiRevisionID$fFromJSONWikiRevisionID$fPaginableWikiRevision$fFromJSONWikiRevision$fFromJSONWikiPageListing$fToHttpApiDataWikiPermLevel$fFromJSONWikiPermLevel$fFromJSONWikiPageSettings$fShowWikiPageSettings$fEqWikiPageSettings$fGenericWikiPageSettings$fShowWikiPermLevel$fEqWikiPermLevel$fGenericWikiPermLevel$fOrdWikiPermLevel$fShowWikiPageListing$fGenericWikiPageListing$fShowWikiRevision$fEqWikiRevision$fGenericWikiRevision$fShowWikiRevisionID$fGenericWikiRevisionID$fEqWikiRevisionID$fToHttpApiDataWikiRevisionID$fShowWikiPageName$fGenericWikiPageName$fEqWikiPageName$fFromJSONWikiPageName$fToHttpApiDataWikiPageName$fShowWikiPage $fEqWikiPage$fGenericWikiPageemptyPaginatorisUsernameAvailablegetUsergetUserTrophiesgetUserCommentsgetUserSubmissionsgetUserUpvotedgetUserDownvoted getUserGilded getUserHiddengetUserOverview getUserSavedgetUserMultireddits getNewUsersgetPopularUsers searchUsersgetUserSummary getSubredditgetSubredditRulesgetPostRequirementsgetHotSubmissionsgetNewSubmissionsgetControversialSubmissionsgetRisingSubmissionsgetTopSubmissionsgetRandomRisingSubmissionsgetRandomSubmissiongetStickiedSubmission subscribe unsubscribequarantineOptInquarantineOptOutgetDefaultSubredditsgetNewSubredditsgetPopularSubredditsgetPremiumSubredditsgetGoldSubredditssearchSubredditssearchSubredditsByNamegetRecommendedSubredditsgetCollectionsgetCollectionsWithName getCollectiongetCollectionByPermalinkfollowCollectionunfollowCollectiongetUserFlairTemplatesgetNewSubmissionFlairChoicesgetSubmissionFlairChoicesgetUserFlairChoices getWikiPage getWikiPagesgetWikiPageRevisiongetWikiPageRevisions editWikiPagecreateWikiPagegetSubredditWidgetsgetAllSubredditWidgetsgetSubredditEmojisgetInbox getUnreadgetSentmarkRead sendMessagereplyToMessage reportMessagegetMegetPreferencesupdatePreferences getMyOverview getMySaved getMyCommentsgetMySubmissions getMyHidden getMyFriends getMyBlocked getMyKarma makeFriendunFriend blockUser getMyFlair setMyFlair needsCaptchagetMySubscribedgetMyModeratedgetMyContributinggetMyMultiredditsgetMultiredditaddToMultiredditremoveFromMultiredditdeleteMultiredditcopyMultiredditcreateMultiredditupdateMultireddit listFilters addFilter removeFilter clearFilters getLiveThread getLiveInfogetAllLiveInfogetLiveUpdates getLiveUpdategetLiveDiscussionsgetLiveContributorsreportLiveThreadcreateLiveThreadcloseLiveThreadupdateLiveThread addLiveUpdatestrikeLiveUpdatedeleteLiveUpdateremoveLiveContributorremoveLiveContributorByNameupdateLiveContributorabdicateLiveContributorinviteLiveContributorinviteLiveContributorWithPermsrevokeLiveInvitationrevokeLiveInvitationByNamedeletereplyeditvotereportsaveunsavesetInboxRepliesgetGildedItems getComments getCommentgetNewComments saveComment unsaveComment deleteComment editCommentreplyToCommentsetCommentReplies upvoteCommentdownvoteComment unvoteComment reportCommentloadMoreCommentsloadMoreCommentsDefgetSubmissions getSubmissiongetSubmissionByURLgetSubmissionsByDomaingetBestgetChildCommentsgetDuplicateSubmissionssaveSubmissionunsaveSubmissionhideSubmissionshideSubmissionunhideSubmissionsunhideSubmissiondeleteSubmissioneditSubmissionreplyToSubmissionsubmitSelfPost submitLink submitVideo submitPoll submitGallerysubmit crosspostsetSubmissionRepliesselectSubmissionFlairsearchupvoteSubmissiondownvoteSubmissionunvoteSubmissionreportSubmissionmarkNSFW unmarkNSFWsetOCunsetOC setSpoiler unsetSpoilerdistinguishItemundistinguishItem removeItemsendRemovalMessage approveItemlockItem unlockItemignoreItemReportsunignoreItemReportsgetRemovalReasonscreateRemovalReasonupdateRemovalReasondeleteRemovalReason getReports getModqueuegetSpam getEditedgetUnmoderated getModlogapproveSubmissionlockSubmissionunlockSubmissionignoreSubmissionReportsunignoreSubmissionReportsdistinguishSubmissionundistinguishSubmissionstickySubmissionunstickySubmissionsetSuggestedSortdistinguishCommentundistinguishCommentapproveComment lockComment unlockCommentignoreCommentReportsunignoreCommentReports showCommentcreateCollectiondeleteCollectionaddSubmissionToCollectionremoveSubmissionFromCollectionreorderCollectionupdateCollectionDescriptionupdateCollectionTitle getModerators getModeratorupdateModeratorremoveModeratorabdicateModeratorinviteModeratorinviteModeratorWithPerms getInvitees getInviteeupdateInvitationrevokeInvitationacceptInvitationgetContributorsgetContributoraddContributorremoveContributorabdicateContributorgetWikiContributorsgetWikiContributoraddWikiContributorremoveWikiContributorgetBansgetBanbanUser unbanUser wikibanUser wikiUnbanUser getWikibans getWikibangetMuted getMutedUsermuteUser unmuteUsergetSubredditSettingssetSubredditSettingsaddSubredditRuledeleteSubredditRuleupdateSubredditRule getFlairList getUserFlair setUserFlair setUserFlairsdeleteUserFlaircreateFlairTemplatecreateUserFlairTemplatecreateSubmissionFlairTemplateupdateFlairTemplateupdateUserFlairTemplateupdateSubmissionFlairTemplatedeleteFlairTemplateclearUserFlairTemplatesclearSubmissionFlairTemplatesclearFlairTemplatesgetWikiPageSettings addWikiEditorremoveWikiEditorrevertWikiPage getStylesheetupdateStylesheet uploadImage uploadHeaderuploadMobileIconuploadMobileHeader deleteImagedeleteMobileIcon deleteHeader uploadBanner deleteBanneruploadBannerAdditionaldeleteBannerAdditionaluploadBannerHoverdeleteBannerHover getModmailgetModmailWithOptsgetModmailConversationgetUnreadModmailCountcreateConversationreplyToConversationarchiveConversationunarchiveConversationhighlightConversationunhighlightConversationmarkConversationsReadmarkConversationReadmarkConversationsUnreadmarkConversationUnreadbulkReadConversationsmuteModmailUserunmuteModmailUser deleteWidgetreorderWidgets updateWidgetaddButtonWidgetaddCalendarWidgetaddCommunityListWidgetaddCustomWidgetaddImageWidget addMenuWidgetaddPostFlairWidgetaddTextAreaWidgetaddEmoji deleteEmoji updateEmojisetCustomEmojiSize getTraffic newClient loadClient runReddit tryReddit firstPagenextPage getRateLimitswithRateLimitDelaystreamfileTokenManagerghc-prim GHC.ClassesEq text-1.2.3.2Data.Text.InternalText*http-api-data-0.4.3-82K6tJ8xTwJ1qHWfBUkE6YWeb.Internal.FormUrlEncodedFormbaseGHC.ShowShowbytestring-0.10.10.0Data.ByteString.Internal ByteStringinteger-wired-inGHC.Integer.TypeInteger time-1.9.3 Data.Time.Clock.Internal.UTCTimeUTCTime$aeson-1.5.6.0-4Fai2YBAOjp98HRNOvB9PwData.Aeson.Types.InternalPairData.Aeson.Types.ToJSONToJSON4unordered-containers-0.2.14.0-7xegloYXKrQFs2wz1wk2kBData.HashMap.InternalHashMapcontainers-0.6.2.1Data.Sequence.InternalSeqData.Functor.Identity GHC.MaybeMaybeGalleryUploadImagedefaultAPIActionjoinPathSegmentswriteUAmkTextFormDatasubmissionIDFromURL subAPIPath subAboutPath joinPerms splitPathsplitURLcatchEmptyListingpaginatorToFormDataapiRequestLimitloadAuthConfiggetAccessTokenrefreshAccessToken redditURLoauthURLgetAccessTokenWith runAction runAction_getMany runActionWithrunActionWith_ mkRequestNothingversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName