!( `      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                 @Haskell records corresponding to JSON data from GitLab API calls-(c) Rob Stewart, Heriot-Watt University, 2019BSD3robstewart57@gmail.comstableNone7X_9$/gitlab-haskellversion of the GitLab instance.gitlab-haskellTODOs.gitlab-haskell TODO states.gitlab-haskellURL is a synonym for .gitlab-haskell TODO targets.gitlab-haskell TODO actions.gitlab-haskellproject merge requests.Lgitlab-haskellfiles in a repository.Xgitlab-haskellcode branches.bgitlab-haskell+response to sharing a project with a group.igitlab-haskellgroups.xgitlab-haskell artifacts.~gitlab-haskelljobs.gitlab-haskell repositories.gitlab-haskelldiff between two commits.gitlab-haskell commit stats.gitlab-haskell#summary of a code commit for TODOs.gitlab-haskell code commits.gitlab-haskellproject pipelinesgitlab-haskellproject issues.gitlab-haskell time stats.gitlab-haskell milestones.gitlab-haskellmilestone state.gitlab-haskellregistered users.gitlab-haskellproject statistics.gitlab-haskell projects.2gitlab-haskell permissions.6gitlab-haskellowners.>gitlab-haskelllinks.Ggitlab-haskell namespaces.Ogitlab-haskellmember of a project.Ygitlab-haskell7archive format for file archives of repositories. See  in .Zgitlab-haskell ".tar.gz"[gitlab-haskell ".tar.bz2"\gitlab-haskell".tbz"]gitlab-haskell".tbz2"^gitlab-haskell".tb2"_gitlab-haskell".bz2"`gitlab-haskell".tar"agitlab-haskell".zip"bgitlab-haskell/configuration data specific to a GitLab server.egitlab-haskellpersonal access token, see Chttps://docs.gitlab.com/ee/user/profile/personal_access_tokens.htmlfgitlab-haskell millisecondsggitlab-haskellOhow many times to retry a HTTP request before giving up and returning an error.hgitlab-haskell.state used by GitLab actions, used internally.lgitlab-haskell$type synonym for all GitLab actions.mgitlab-haskelldefault settings, the d and e$ values will need to be overwritten.n  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxy{z|}~      !"#$%&'()*+,-./01234567;89:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYaZ[\]^_`bcfedghijklmnlhijkbcfedgmYaZ[\]^_`OPQRSTUVWXGHIJKLMN>?@ABCDEF67;89:<=2345      !"#$%&'()*+,-./01~xy{z|}ijklmnopqrstuvwbcdefghXYZ[\]^_`aLMNOPQRSTUVW !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJK NoneXI~gitlab-haskellthe URL to post togitlab-haskellthe data to postgitlab-haskellthe current retry countgitlab-haskellthe GitLab requestgitlab-haskell#maximum number of retries permittedgitlab-haskell HTTP managergitlab-haskell.the exception to report if maximum retries met %Queries about GitLab instance version-(c) Rob Stewart, Heriot-Watt University, 2020BSD3robstewart57@gmail.comstableNoneKQueries about registered users-(c) Rob Stewart, Heriot-Watt University, 2019BSD3robstewart57@gmail.comstableNoneXSAgitlab-haskellall registered users.gitlab-haskell.searches for a user given a username. Returns  Just User" if the user is found, otherwise Nothing.gitlab-haskellesearches for users given a list of usernames, returns them in alphabetical order of their usernames.gitlab-haskellusername to search forgitlab-haskellusernames to search forQueries about todos for users.-(c) Rob Stewart, Heriot-Watt University, 2019BSD3robstewart57@gmail.comstableNoneVgitlab-haskellGreturns all pending todos for the user, as defined by the access token.&Queries about project repository files-(c) Rob Stewart, Heriot-Watt University, 2019BSD3robstewart57@gmail.comstableNone`gitlab-haskell<Get a list of repository files and directories in a project.gitlab-haskellTGet a list of repository files and directories in a project given the project's ID.gitlab-haskell(Get raw data for a given file blob hash.gitlab-haskell the projectgitlab-haskell the file pathgitlab-haskell!name of the branch, tag or commitgitlab-haskell project IDgitlab-haskell the file pathgitlab-haskell!name of the branch, tag or commitgitlab-haskell project IDgitlab-haskellblob SHA"Queries about project repositories-(c) Rob Stewart, Heriot-Watt University, 2019BSD3robstewart57@gmail.comstableNonetlgitlab-haskell@returns a list of repository files and directories in a project.gitlab-haskellVreturns a list of repository files and directories in a project given its project ID.gitlab-haskell8get a file archive of the repository files. For example: 6getFileArchive myProject TarGz "/tmp/myProject.tar.gz"gitlab-haskell1get a file archive of the repository files as a . For example: 8getFileArchiveBS myProject TarGz "/tmp/myProject.tar.gz"gitlab-haskellRget a file archive of the repository files using the project's ID. For example: -getFileArchive' 3453 Zip "/tmp/myProject.zip"gitlab-haskell0get a file archive of the repository files as a ( using the project's ID. For example: /getFileArchiveBS' 3453 Zip "/tmp/myProject.zip"gitlab-haskell the projectgitlab-haskellthe project IDgitlab-haskellprojectgitlab-haskell file formatgitlab-haskellfile path to store the archivegitlab-haskellprojectgitlab-haskell file formatgitlab-haskell project IDgitlab-haskell file formatgitlab-haskellfile path to store the archivegitlab-haskell project IDgitlab-haskell file formatQueries about project pipelines-(c) Rob Stewart, Heriot-Watt University, 2019BSD3robstewart57@gmail.comstableNoneygitlab-haskell$returns the pipelines for a project.gitlab-haskell9returns the pipelines for a project given its project ID.gitlab-haskell the projectgitlab-haskellthe project ID-Queries about merge requests against projects-(c) Rob Stewart, Heriot-Watt University, 2019BSD3robstewart57@gmail.comstableNonegitlab-haskell)returns the merge requests for a project.gitlab-haskell>returns the merge requests for a project given its project ID.gitlab-haskellCreates a merge request.gitlab-haskellCreates a merge request.gitlab-haskellAccepts a merge request.gitlab-haskellAccepts a merge request.gitlab-haskell the projectgitlab-haskell project IDgitlab-haskellprojectgitlab-haskell source branchgitlab-haskell target branchgitlab-haskelltarget project IDgitlab-haskellmerge request titlegitlab-haskellmerge request descriptiongitlab-haskell project IDgitlab-haskell source branchgitlab-haskell target branchgitlab-haskelltarget project IDgitlab-haskellmerge request titlegitlab-haskellmerge request descriptiongitlab-haskellprojectgitlab-haskellmerge request IIDgitlab-haskell project IDgitlab-haskellmerge request IID 0Queries about and updates to members of projects-(c) Rob Stewart, Heriot-Watt University, 2019BSD3robstewart57@gmail.comstableNoneX>gitlab-haskell+the access levels for project members. See Lhttps://docs.gitlab.com/ee/user/permissions.html#project-members-permissionsgitlab-haskellthe members of a project.gitlab-haskell&the members of a project given its ID.gitlab-haskelladds a user to a project with the given access level. Returns 'Right Member' for each successful action, otherwise it returns 'Left Status'.gitlab-haskelliadds a user to a project with the given access level, given the project's ID and the user's ID. Returns  Right Member3 for each successful action, otherwise it returns  Left Status.gitlab-haskelladds a list of users to a project with the given access level. Returns 'Right Member' for each successful action, otherwise it returns 'Left Status'.gitlab-haskellqadds a list of users to a project with the given access level, given the project's ID and the user IDs. Returns  Right Member3 for each successful action, otherwise it returns  Left Status.gitlab-haskell the projectgitlab-haskelllevel of accessgitlab-haskellthe usergitlab-haskell project IDgitlab-haskelllevel of accessgitlab-haskelluser IDgitlab-haskell the projectgitlab-haskelllevel of accessgitlab-haskellusers to add to the projectgitlab-haskell project IDgitlab-haskelllevel of accesgitlab-haskell"IDs of users to add to the project   "Queries about jobs ran on projects-(c) Rob Stewart, Heriot-Watt University, 2019BSD3robstewart57@gmail.comstableNonegitlab-haskell"returns all jobs ran on a project.gitlab-haskell7returns all jobs ran on a project given its project ID.gitlab-haskell the projectgitlab-haskellthe project ID -Queries about issues created against projects-(c) Rob Stewart, Heriot-Watt University, 2019BSD3robstewart57@gmail.comstableNoneXgitlab-haskell%returns all issues against a project.gitlab-haskell:returns all issues against a project given its project ID.gitlab-haskell!gets all issues create by a user.gitlab-haskell the projectgitlab-haskellthe project IDgitlab-haskellthe user #Queries about and updates to groups-(c) Rob Stewart, Heriot-Watt University, 2019BSD3robstewart57@gmail.comstableNoneXWgitlab-haskell.gets groups with the given group name or path. projectsWithNameOrPath "group1"gitlab-haskell%adds all registered users to a group.gitlab-haskelladds a user to a group.gitlab-haskell,adds a user with a given user ID to a group.gitlab-haskell adds a list of users to a group.gitlab-haskell adds a list of users to a group.gitlab-haskellgroup name being searched for.gitlab-haskell group namegitlab-haskelllevel of access grantedgitlab-haskell group namegitlab-haskelllevel of access grantedgitlab-haskellthe usergitlab-haskell group namegitlab-haskelllevel of access grantedgitlab-haskelluser IDgitlab-haskell group namegitlab-haskelllevel of access grantedgitlab-haskell*list of usernames to be added to the groupgitlab-haskell group namegitlab-haskelllevel of access grantedgitlab-haskell*list of usernames to be added to the group %Queries about commits in repositories-(c) Rob Stewart, Heriot-Watt University, 2019BSD3robstewart57@gmail.comstableNonekgitlab-haskell"returns all commits for a project.gitlab-haskell7returns all commits for a project given its project ID.gitlab-haskellQreturns a commit for the given project and commit hash, if such a commit exists.gitlab-haskellTreturns a commit for the given project ID and commit hash, if such a commit exists.gitlab-haskell the projectgitlab-haskell project IDgitlab-haskell the projectgitlab-haskellthe commit hashgitlab-haskell project IDgitlab-haskellthe commit hashQueries about projects-(c) Rob Stewart, Heriot-Watt University, 2019BSD3robstewart57@gmail.comstableNoneXgitlab-haskellgets all projects.gitlab-haskell8gets all forks of a project. Supports use of namespaces. 6projectForks "project1" projectForks "group1/project1"gitlab-haskellsearches for a % with the given project ID, returns - if a project with the given ID is not found.gitlab-haskell.gets all projects with the given project name. projectsWithName "project1"gitlab-haskell?gets a project with the given name for the given username. E.g. (projectsNamespaceName "user1" "project1"looks for "user1/project1"gitlab-haskellreturns X if a project has multiple committers, according to the email addresses of the commits.gitlab-haskellPgets the email addresses in the author information in all commit for a project.gitlab-haskelllgets the email addresses in the author information in all commit for a project defined by the project's ID.gitlab-haskell2gets all projects for a user given their username. userProjects "harry"gitlab-haskellgets all projects for a user. userProjects myUsergitlab-haskell gets the  against which the given  was created.gitlab-haskell#finds all issues created by a user. issuesCreatedByUser "user1"'returns a (user,projects) tuple, where  is the 7 found for the given searched username, and a list of (s that the user has created issues for.gitlab-haskellsearches for all projects with the given name, and returns a list of triples of: 1) the found project, 2) the list of issues for the found projects, and 3) a list of users who've created issues.gitlab-haskell2returns a (namespace,members) tuple for the given , where namespace is the namespace of the project e.g. "user1/project1", and members is a list of (username,name) tuples about all members of the project.gitlab-haskellreturns K is the last commit for a project passes all continuous integration tests.gitlab-haskellBsearches for a username, and returns a user ID for that user, or  if a user cannot be found.gitlab-haskell3gets all diffs in a project for a given commit SHA. gitlab-haskellLgets all diffs in a project for a given project ID, for a given commit SHA. gitlab-haskellshare a project with a group.gitlab-haskell name or namespace of the projectgitlab-haskell project IDgitlab-haskell project name being searched for.gitlab-haskell name or namespace of the projectgitlab-haskell$the name or namespace of the projectgitlab-haskellname or namespace of project gitlab-haskellgroup IDgitlab-haskell project IDgitlab-haskelllevel of access granted    !Queries about repository branches-(c) Rob Stewart, Heriot-Watt University, 2019BSD3robstewart57@gmail.comstableNone  gitlab-haskellQGet a list of repository branches from a project, sorted by name alphabetically. gitlab-haskellfGet a list of repository branches from a project given its project ID, sorted by name alphabetically.     Contains the   function to run GitLab actions-(c) Rob Stewart, Heriot-Watt University, 2019BSD3robstewart57@gmail.comstableNonex gitlab-haskellruns a GitLab action."Internally, this creates a single t, whichs keeps track of open connections for keep-alive and which is shared between multiple threads and requests.An example of its use is: PprojectsWithIssuesEnabled :: IO [Project] projectsWithIssuesEnabled = runGitLab myConfig $ filter (issueEnabled . issues_enabled) <$> allProjects where myConfig = defaultGitLabServer { url = "https://gitlab.example.com" , token = "my_access_token" } issueEnabled Nothing = False issueEnabled (Just b) = bgitlab-haskell The same as  A, except that it also takes a connection manager as an argument.  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxy{z|}~      !"#$%&'()*+,-./01234567;89:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYaZ[\]^_`bcfedghijklm       !"#$%&'()*+,-./01223456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^^_`abcdefghiijklmnopqrrstuvwxxyz{|}~      !"#$%&'()*+,-./01233456789:;<=>>?@ABCDEFFGHIJKLMMNOPQRSTUVWXYZ[\]^__`abcddefghijklmnopqrstuvwxyz{|}~      6                            !+gitlab-haskell-0.1.8-GFGcMlnCGqy6if9OVxL90H GitLab.TypesGitLab.API.VersionGitLab.API.UsersGitLab.API.TodosGitLab.API.RepositoryFilesGitLab.API.RepositoriesGitLab.API.PipelinesGitLab.API.MergeRequestsGitLab.API.MembersGitLab.API.JobsGitLab.API.IssuesGitLab.API.GroupsGitLab.API.CommitsGitLab.API.ProjectsGitLab.API.BranchesGitLabgetFileArchive GitLab.API Repositories!GitLab.WebRequests.GitLabWebCallsVersionversionrevisionTodotodo_id todo_project todo_authortodo_action_name todo_targettodo_target_url todo_body todo_statetodo_created_at TodoState TSPendingTSDoneURL TodoTargetTTIssueTTMergeRequestTTCommit TodoAction TAAssigned TAMentioned TABuildFailedTAMarkedTAApprovalRequired TAUnmergeableTADirectlyAddressed MergeRequestmerge_request_idmerge_request_iidmerge_request_project_idmerge_request_titlemerge_request_descriptionmerge_request_statemerge_request_merged_bymerge_request_merged_atmerge_request_closed_bymerge_request_closed_atmerge_request_created_atmerge_request_updated_atmerge_request_target_branchmerge_request_source_branchmerge_request_upvotesmerge_request_downvotesmerge_request_authormerge_request_assigneemerge_request_source_project_idmerge_request_target_project_idmerge_request_labelsmerge_request_work_in_progressmerge_request_milestone*merge_request_merge_when_pipeline_succeedsmerge_request_merge_statusmerge_request_shamerge_request_merge_commit_shamerge_request_user_notes_countmerge_request_discussion_locked)merge_request_should_remove_source_branch(merge_request_force_remove_source_branch!merge_request_allow_collaboration&merge_request_allow_maintainer_to_pushmerge_request_web_urlmerge_request_time_statsmerge_request_squashmerge_request_changes_countmerge_request_pipeline$merge_request_diverged_commits_count merge_request_rebase_in_progressmerge_request_has_conflicts+merge_request_blocking_discussions_resolved$merge_request_approvals_before_mergeRepositoryFilerepository_file_file_namerepository_file_file_pathrepository_file_sizeencodingcontentcontent_sha256refblob_idrepository_file_commit_idlast_commit_idBranch branch_namemerged protectedbranch_defaultdevelopers_can_pushdevelopers_can_mergecan_push branch_commit GroupShareshare_idshare_project_idshare_group_idshare_group_accessshare_expires_atGroupgroup_id group_name group_pathgroup_descriptiongroup_visibilitygroup_lfs_enabledgroup_avatar_url group_web_urlgroup_request_access_enabledgroup_full_namegroup_full_pathgroup_file_template_project_idgroup_parent_idArtifact file_typesizefilename file_formatJobcommitcoverage created_at started_at finished_atdurationartifacts_expire_atidnamepipelinejob_ref artifactsstagestatustag job_web_urluser Repository repository_idrepository_namerepository_typerepository_pathmodeDiffdiffnew_pathold_patha_modeb_modenew_file renamed_file deleted_file CommitStatsStats additions deletionstotal CommitTodotodo_commit_idtodo_commit_short_idtodo_commit_created_attodo_parent_idsCommit commit_idshort_idtitle author_name author_email authored_datecommitter_namecommitter_emailcommitted_datecommit_created_atmessage parent_ids last_pipeline commit_stats commit_statusPipeline pipeline_idsha pipeline_refpipeline_statuspipeline_web_urlIssue issue_stateissue_description issue_author milestoneissue_project_id assigneesassignee updated_at closed_at closed_byissue_id issue_titleissue_created_atiid issue_labelsupvotes downvotesuser_notes_countissue_due_date issue_web_url confidentialweightdiscussion_locked time_stats TimeStats time_estimatetotal_time_spenthumane_time_estimatehuman_total_time_spent Milestonemilestone_project_idmilestone_group_idmilestone_descriptionmilestone_statemilestone_due_date milestone_iidmilestone_created_atmilestone_title milestone_idmilestone_updated_atmilestone_web_urlUseruser_id user_username user_name user_stateuser_avatar_uri user_web_url ProjectStats commit_count storage_sizerepository_size wiki_sizelfs_objects_sizejob_artifacts_size packages_sizeProject project_id description project_namename_with_namespace project_pathpath_with_namespaceproject_created_atdefault_branchtag_listssh_url_to_repohttp_url_to_repoproject_web_url readme_urlproject_avatar_url star_count forks_countlast_activity_at namespace_linksarchived visibilityowner!resolve_outdated_diff_discussionscontainer_registry_enabledissues_enabledmerge_requests_enabled wiki_enabled jobs_enabledsnippets_enabledshared_runners_enabled lfs_enabled creator_idforked_from_project import_statusopen_issues_count public_jobsci_config_pathshared_with_groups%only_allow_merge_if_pipeline_succeedsrequest_access_enabled0only_allow_merge_if_all_discussions_are_resolved#printing_merge_request_link_enabled merge_method permissions project_stats Permissionsproject_access group_accessOwnerOwnwerowner_id owner_nameowner_usernamestateowner_avatar_url owner_web_urlLinksselfissuesmerge_requests repo_branches link_labels link_eventsmembers Namespace namespace_idnamespace_namenamespace_pathkind full_path parent_idMember member_id member_namemember_username member_statemember_avatar_urimember_web_url access_level expires_at ArchiveFormatTarGzTarBz2TbzTbz2Tb2Bz2TarZipGitLabServerConfigurltokentimeoutretries GitLabState serverCfg httpManagerdefaultGitLabServer$fShowArchiveFormat$fFromJSONMember$fFromJSONNamespace$fFromJSONLinks$fFromJSONOwner$fFromJSONPermissions$fFromJSONProjectStats$fFromJSONProject$fFromJSONUser$fFromJSONMilestoneState$fFromJSONTimeStats$fFromJSONPipeline$fFromJSONCommitTodo$fFromJSONCommitStats$fFromJSONCommit$fFromJSONDiff$fFromJSONRepository$fFromJSONArtifact $fFromJSONJob$fFromJSONGroup$fFromJSONGroupShare$fFromJSONBranch$fFromJSONRepositoryFile$fFromJSONTodoAction$fFromJSONMilestone$fFromJSONMergeRequest$fFromJSONIssue$fFromJSONTodoState$fFromJSONTodoProject$fFromJSONTodo$fFromJSONVersion$fGenericMember $fShowMember$fGenericNamespace$fShowNamespace$fGenericLinks $fShowLinks$fGenericOwner $fShowOwner$fGenericPermissions$fShowPermissions$fGenericProjectStats$fShowProjectStats$fGenericProject $fShowProject $fGenericUser $fShowUser$fShowMilestoneState$fGenericTimeStats$fShowTimeStats$fGenericPipeline$fShowPipeline$fGenericCommitTodo$fShowCommitTodo$fGenericCommitStats$fShowCommitStats$fGenericCommit $fShowCommit $fGenericDiff $fShowDiff$fGenericRepository$fShowRepository$fGenericArtifact$fShowArtifact $fGenericJob $fShowJob$fGenericGroup $fShowGroup$fGenericGroupShare$fShowGroupShare$fGenericBranch $fShowBranch$fGenericRepositoryFile$fShowRepositoryFile$fShowTodoAction$fGenericMilestone$fShowMilestone$fGenericMergeRequest$fShowMergeRequest$fGenericIssue $fShowIssue$fShowTodoTarget$fShowTodoState$fGenericTodoProject$fShowTodoProject $fShowTodo$fGenericVersion $fShowVersion gitlabVersionallUsers searchUser orderedUserstodosrepositoryFilesrepositoryFiles'repositoryFileBlob repositories repositories'getFileArchiveBSgetFileArchive'getFileArchiveBS' pipelines pipelines' mergeRequestsmergeRequests'createMergeRequestcreateMergeRequest'acceptMergeRequestacceptMergeRequest' AccessLevelGuestReporter Developer MaintainermembersOfProjectmembersOfProject'addMemberToProjectaddMemberToProject'addMembersToProjectaddMembersToProject'$fShowAccessLeveljobsjobs'projectOpenedIssuesprojectOpenedIssues' userIssuesgroupsWithNameOrPathaddAllUsersToGroupaddUserToGroupaddUserToGroup'addUsersToGroupaddUsersToGroup'projectCommitsprojectCommits' commitDetailscommitDetails' allProjects projectForkssearchProjectIdprojectsWithNameprojectsWithNameAndUsermultipleCommitterscommitsEmailAddressescommitsEmailAddresses' userProjects' userProjectsprojectOfIssueissuesCreatedByUser issuesOnForksprojectMemebersCountprojectCISuccessnamespacePathToUserId projectDiffs projectDiffs'shareProjectWithGroupbranches branches' runGitLabrunGitLabWithManager text-1.2.3.1Data.Text.InternalTextMilestoneState gitlabPost tryGitLab gitlabReqTextgitlabReqByteStringgitlab gitlabUnsafe gitlabOnegitlabWithAttrsgitlabWithAttrsUnsafegitlabWithAttrsOnebytestring-0.10.8.2Data.ByteString.Lazy.Internal ByteStringbase GHC.MaybeNothingghc-prim GHC.TypesTrue*http-client-0.6.4.1-EaTUgRuXPg8DSq6P02ULGRNetwork.HTTP.Client.TypesManager