`!Xnc      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ab3Helpers for swagger deriving without name prefixes.(c) Anton Gushcha, 2016MITncrashed@gmail.com experimentalPortableNone(035>CIKLNStrip given prefix from fields1Helpers for aeson deriving without name prefixes.(c) Anton Gushcha, 2016MITncrashed@gmail.com experimentalPortableNone(035>CIKLN2For aeson deriving, drop prefix t and map to lowercdcd(Helpers for response pagination support.(c) Anton Gushcha, 2016MITncrashed@gmail.com experimentalPortableNone(035>CIKLNCollection of a with attached ids of type i and additional page info.PayloadCount of available pagesNumber of items on a page7Query parameter that carries pagination page size value  A page number 3Query parameter that carries pagination page number  efghi    efghi"API for token based authorisation.(c) Anton Gushcha, 2016MITncrashed@gmail.com experimentalPortableNone(035>CIKLN: "Request body for user registrationId of user group"Id of user that is used in the APIToken header that we require for authorization marked by permissions that are expected from the token to pass guarding functions.;Simplified version that takes plain symbols as permissions.Token header that we require for authorization marked by permissions that are expected from the token to pass guarding functions.!Special tag for password restore Amount of seconds,Special tag for a permission that a user has User emailPassword for loginUser name for login2Shortcut for Maybe Token with attached permissions;Simplified version that takes plain symbols as permissions.2Shortcut for Maybe Token with attached permissions9Token that doesn't have attached compile-time permissionsjToken is simple string marked by permissions that are expected from the token to pass guarding functions.;Simplified version that takes plain symbols as permissions. jToken is simple string marked by permissions that are expected from the token to pass guarding functions.j,Helper type family to wrap all symbols into $k4Convertation of permission symbol into runtim string#OType level permission type that allows to construct complex permission labels&Response with user info-'Response with users info and pagination1Request body for patching user8lData of user group, groups allows to group permissions and assign them to particular users in batch manner.%Also a group hierarchy can be formed.> Data type that is used to patch 8D,Special case when you want to set parent to lmKCheck that first set of permissions is subset of second, throw error if notn.Foldl type level list of bools, identicall to op7Check that first set of permissions is subset of secondqCheck whether a b$ is contained in permission list of aEDUnlifting compile-time permissions into list of run-time permissionsG"Get list of user groups, requires \ for token H1Delete all info about given user group, requires ^ for tokenI,Patch info about given user group, requires ] for tokenJ.Replace info about given user group, requires ] for tokenK#Inserting new user group, requires ] for tokenL(Getting info about user group, requires \ for tokenMZGenerate new password for user. There is two phases, first, the method is called without code parameter. The system sends email with a restore code to user email or sms (its depends on server). After that a call of the method with the code is needed to change password.NDelete user from DB, requires ^< and will cause cascade deletion, that is your usually wantO1Replace user with the user in the body, requires ] for tokenPUpdating loginemailpassword, requires ] for tokenQ"Getting info about user, requires \ for tokenR$Getting list of all users, requires \ for tokenSCreation of new user, requires [ for tokenTJClose session, after call of the method the token in header is not valid.U+Get client info that is binded to the tokenVAClient cat expand the token lifetime, no permissions are requiredWHow to get a token, expire of l+ means some default value (server config)XGeneric authorization APIYaProxy type for auth API, used to pass the type-level info into client/docs generation functionsZ,Permission that allows everything by default[0Permission that allows registration of new users\6Permission that allows to query info about other users]2Permission that allows to update fields of an user^APermission that allows to delete users and cause cascade deletion_&Select only operations of the Auth API` Servant.Docs documentation of the Auth APIa:Cast token to permissions that are lower than original one=The cast is safe, the permissions are cheked on compile time.b;Cast token to permissions that are lower than original one.=The cast is safe, the permissions are cheked on compile time.  !"jkr#$%stuvwxy&'()*+,z{|-./0}~123456789:;<=>?@ABCDmnpqEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abX  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abXXWVUTSRQPONMLKJIHGY`#$% !"EFab &'()*+,1234567-./089:;<=>?@ABCDZ[\]^_]   !"jkr#$%stuvwxy&'()*+,z{|-./0}~123456789:;<=>?@ABCDmnpqEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ab       !"#$%%&'()**+,-./0012334567899:;<=>>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnokpqrstuvwxyz{|}~de8DUCgzGEnqQ97KNg33wrwI*Servant.API.Auth.Token.Internal.DeriveJson&Servant.API.Auth.Token.Internal.Schema!Servant.API.Auth.Token.PaginationServant.API.Auth.Token7EdpokxwdtqGQMwV9mipxo Data.Aeson.TH deriveJSONschemaOptionsDropPrefix derivePrefix PagedListpagedListItemspagedListPagesPageSize PageSizeParamPage PageParam ReqRegister reqRegLoginreqRegPassword reqRegEmailreqRegPermissions reqRegGroups UserGroupIdUserId TokenHeader' TokenHeader RestoreCodeSeconds PermissionEmailPasswordLoginMToken'MToken SimpleTokenToken'TokenunToken PermSymbol PermLabel PermConcat RespUserInfo respUserId respUserLogin respUserEmailrespUserPermissionsrespUserGroups RespUsersInforespUsersItemsrespUsersPages PatchUserpatchUserLoginpatchUserPasswordpatchUserEmailpatchUserPermissionspatchUserGroups UserGroup userGroupNameuserGroupUsersuserGroupPermissionsuserGroupParentPatchUserGrouppatchUserGroupNamepatchUserGroupUserspatchUserGroupPermissionspatchUserGroupParentpatchUserGroupNoParent PermsList unliftPermsAuthGroupsMethodAuthDeleteGroupMethodAuthPatchGroupMethodAuthPutGroupMethodAuthPostGroupMethodAuthGetGroupMethodAuthRestoreMethodAuthDeleteUserMethodAuthPutUserMethodAuthPatchUserMethodAuthGetUserMethodAuthUsersMethodAuthSignupMethodAuthSignoutMethodAuthTokenInfoMethodAuthTouchMethodAuthSigninMethodAuthAPIauthAPI adminPerm registerPerm authInfoPermauthUpdatePermauthDeletePermauthOperationsauthDocsdowngradeToken'downgradeTokenmapFirstcamelCaseToDash$fToParam*QueryParam$fToParam*QueryParam0$fToSamplePagedList$fToSchemaPagedList$fFromJSONPagedList PlainPermsUnliftPermSymbolbaseGHC.BaseNothing PermsSubsetTAll Data.FoldableandConatinAllPerm ContainPermunliftPermSymbol$fToSampleToken$fToHttpApiDataToken$fFromHttpApiDataToken$fToParamSchemaToken$fUnliftPermSymbolPermConcat$fUnliftPermSymbolPermLabel$fToSampleUnit$fToSampleReqRegister$fToSchemaReqRegister$fFromJSONReqRegister$fToSampleRespUserInfo$fToSchemaRespUserInfo$fFromJSONRespUserInfo$fToSampleRespUsersInfo$fToSchemaRespUsersInfo$fFromJSONRespUsersInfo$fToSamplePatchUser$fToSchemaPatchUser$fFromJSONPatchUser$fToSampleUserGroup$fToSchemaUserGroup$fFromJSONUserGroup $fPermsList: $fPermsList[] $fToSample()$fToSampleText$fToSampleWord$fToCapture*Capture$fToCapture*Capture0$fToParam*QueryParam1$fToParam*QueryParam2$fToSamplePatchUserGroup$fToSchemaPatchUserGroup$fFromJSONPatchUserGroup