h${P      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrsNone* #$'(-/2356789>?4 tuvwxyz{|}~ None* #$'(-/2356789>?  hasql-A Word32 and a LibPQ representation of an OID hasqlA Postgresql type info None* #$'(-/2356789>?# hasql/An error during the decoding of a specific row.hasqlAppears on the attempt to parse more columns than there are in the result.hasql"Appears on the attempt to parse a NULL as some value.hasqlAppears when a wrong value parser is used. Comes with the error details.hasqlAn error with a command result.hasqlAn error reported by the DB. Consists of the following: Code, message, details, hint.Code>. The SQLSTATE code for the error. It's recommended to use  9http://hackage.haskell.org/package/postgresql-error-codes$the "postgresql-error-codes" package to work with those.Message. The primary human-readable error message (typically one line). Always present.Details. An optional secondary error message carrying more detail about the problem. Might run to multiple lines.Hint. An optional suggestion on what to do about the problem. This is intended to differ from detail in that it offers advice (potentially inappropriate) rather than hard facts. Might run to multiple lines.hasqlThe database returned an unexpected result. Indicates an improper statement or a schema mismatch.hasqlAn error of the row reader, preceded by the indexes of the row and column.hasqlAn unexpected amount of rows. hasql(An error of some command in the session. hasqlAn error on the client-side, with a message generated by the "libpq" library. Usually indicates problems with connection. hasql!Some error with a command result. hasqlAn error during the execution of a query. Comes packed with the query template and a textual representation of the provided params.  None* #$'(-/2356789>?  None* #$'(-/2356789>?/ hasql7Encoder of some representation of a parameters product.  None* #$'(-/2356789>?  None* #$'(-/2356789>?)E$hasqlGeneric array encoder.Here's an example of its usage: someParamsEncoder ::  [[Int64]] someParamsEncoder =  ( (. (1  (1  (0 ( ))))))  Please note that the PostgreSQL IN keyword does not accept an array, but rather a syntactical list of values, thus this encoder is not suited for that. Use a value = ANY($1) condition instead.hasqlValue encoder.hasqlExtensional specification of nullability over a generic encoder.hasql7Encoder of some representation of a parameters product.Has instances of ,   and , which you can use to compose multiple parameters together. E.g., someParamsEncoder :: , (Int64, Maybe Text) someParamsEncoder = (z   ( ))  ({   ( )) :As a general solution for tuples of any arity, instead of z and { , consider the functions of the  contrazip family from the "contravariant-extras" package. E.g., here's how you can achieve the same as the above: someParamsEncoder :: + (Int64, Maybe Text) someParamsEncoder =  contrazip2 ( ( )) ( ( )) Here's how you can implement encoders for custom composite types: data Person = Person { name :: Text, gender :: Gender, age :: Int } data Gender = Male | Female personParams ::  Person personParams = (name   ( ))  (gender   ( genderValue))  ( . age   ( )) genderValue ::  Gender genderValue = , genderText  where genderText gender = case gender of Male -> "male" Female -> "female" hasqlNo parameters. Same as  and  .hasqlLift a single parameter encoder, with its nullability specified, associating it with a single placeholder.hasql6Specify that an encoder produces a non-nullable value.hasql2Specify that an encoder produces a nullable value.hasql Encoder of BOOL values.hasql Encoder of INT2 values.hasql Encoder of INT4 values.hasql Encoder of INT8 values.hasql Encoder of FLOAT4 values.hasql Encoder of FLOAT8 values.hasql Encoder of NUMERIC values.hasql Encoder of CHAR values.Note that it supports Unicode values and identifies itself under the TEXT OID because of that.hasql Encoder of TEXT values.hasql Encoder of BYTEA values. hasql Encoder of DATE values.!hasql Encoder of  TIMESTAMP values."hasql Encoder of  TIMESTAMPTZ values.#hasql Encoder of TIME values.$hasql Encoder of TIMETZ values.%hasql Encoder of INTERVAL values.&hasql Encoder of UUID values.'hasql Encoder of INET values.(hasql Encoder of JSON values from JSON AST.)hasql Encoder of JSON values from raw JSON.*hasql Encoder of JSONB values from JSON AST.+hasql Encoder of JSONB values from raw JSON.,hasqlGiven a function, which maps a value into a textual enum label used on the DB side, produces an encoder of that value.-hasqlIdentifies the value with the PostgreSQL's "unknown" type, thus leaving it up to Postgres to infer the actual type of the value.The value transimitted is any value encoded in the Postgres' Text data format. For reference, see the  https://www.postgresql.org/docs/10/static/protocol-overview.html#protocol-format-codesFormats and Format Codes( section of the Postgres' documentation..hasql/Lift an array encoder into a parameter encoder./hasqlLift a value encoder of element into a unidimensional array encoder of a foldable value.?This function is merely a shortcut to the following expression: (. . 1  . 0) You can use it like this: 4vectorOfInts :: Value (Vector Int64) vectorOfInts = / ( ) >Please notice that in case of multidimensional arrays nesting / encoder won't work. You have to explicitly construct the array encoder using ..0hasqlLifts a  encoder into an  encoder.1hasqlEncoder of an array dimension, which thus provides support for multidimensional arrays.Accepts:6An implementation of the left-fold operation, such as Data.Foldable.#, which determines the input value.1A component encoder, which can be either another 1 or 0.)     !"#$%&'()*+,-./01None* #$'(-/2356789>?)$ !"#$%&'()*+,-./01$ !"#$%&'()*+,-./01 None* #$'(-/2356789>?*l None* #$'(-/2356789>?+S hasql5Next value, decoded using the provided value decoder. hasql5Next value, decoded using the provided value decoder. None* #$'(-/2356789>?+ None* #$'(-/2356789>?, hasqlParse a single result. hasqlFetch a single result. hasqlFetch a single result. None* #$'(-/2356789>?- None* #$'(-/2356789>?-d None* #$'(-/2356789>?A22hasql7Composable decoder of composite values (rows, records).3hasqlA generic array decoder.Here's how you can use it to produce a specific array value decoder: x :: 4 [[Text]] x = ] (a  (a  (b (A K)))) 4hasqlDecoder of a value.5hasqlExtensional specification of nullability over a generic decoder.6hasqlDecoder of an individual row, which gets composed of column value decoders.E.g.: x :: 6) (Maybe Int64, Text, TimeOfDay) x = (,,)  (@ . B) F  (@ . A) K  (@ . A) P 7hasqlDecoder of a query result.8hasql Decode no value from the result.Useful for statements like INSERT or CREATE.9hasql6Get the amount of rows affected by such statements as UPDATE or DELETE.:hasql Exactly one row. Will raise the  error if it's any other.;hasqlFoldl multiple rows.<hasqlFoldr multiple rows.=hasqlMaybe one row or none.>hasql)Zero or more rows packed into the vector.,It's recommended to prefer this function to ?#, since it performs notably better.?hasql'Zero or more rows packed into the list.@hasql=Lift an individual value decoder to a composable row decoder.Ahasql5Specify that a decoder produces a non-nullable value.Bhasql1Specify that a decoder produces a nullable value.ChasqlDecoder of the BOOL values.DhasqlDecoder of the INT2 values.EhasqlDecoder of the INT4 values.FhasqlDecoder of the INT8 values.GhasqlDecoder of the FLOAT4 values.HhasqlDecoder of the FLOAT8 values.IhasqlDecoder of the NUMERIC values.JhasqlDecoder of the CHAR. values. Note that it supports Unicode values.KhasqlDecoder of the TEXT values.LhasqlDecoder of the BYTEA values.MhasqlDecoder of the DATE values.NhasqlDecoder of the  TIMESTAMP values.OhasqlDecoder of the  TIMESTAMPTZ values.NOTICE4Postgres does not store the timezone information of  TIMESTAMPTZ. Instead it stores a UTC value and performs silent conversions to the currently set timezone, when dealt with in the text format. However this library bypasses the silent conversions and communicates with Postgres using the UTC values directly.PhasqlDecoder of the TIME values.QhasqlDecoder of the TIMETZ values.Unlike in case of  TIMESTAMPTZ3, Postgres does store the timezone information for TIMETZ. However the Haskell's "time" library does not contain any composite type, that fits the task, so we use a pair of  TimeOfDay and TimeZone, to represent a value on the Haskell's side.RhasqlDecoder of the INTERVAL values.ShasqlDecoder of the UUID values.ThasqlDecoder of the INET values.UhasqlDecoder of the JSON values into a JSON AST.VhasqlDecoder of the JSON values into a raw JSON .WhasqlDecoder of the JSONB values into a JSON AST.XhasqlDecoder of the JSONB values into a raw JSON .Yhasql*Lift a custom value decoder function to a 4 decoder.ZhasqlRefine a value decoder, lifting the possible error to the session level.[hasqlA generic decoder of HSTORE values.8Here's how you can use it to construct a specific value: +x :: Value [(Text, Maybe Text)] x = hstore  \hasqlGiven a partial mapping from text to value, produces a decoder of that value.]hasqlLift an 3 decoder to a 4 decoder.^hasqlLift a value decoder of element into a unidimensional array decoder producing a list.?This function is merely a shortcut to the following expression: (] . a Control.Monad. . b) >Please notice that in case of multidimensional arrays nesting ^ decoder won't work. You have to explicitly construct the array decoder using ]._hasqlLift a value decoder of element into a unidimensional array decoder producing a generic vector.?This function is merely a shortcut to the following expression: (] . a Data.Vector.Generic.  . b) >Please notice that in case of multidimensional arrays nesting _ decoder won't work. You have to explicitly construct the array decoder using ].`hasqlLift a 2 decoder to a 4 decoder.ahasqlA function for parsing a dimension of an array. Provides support for multi-dimensional arrays.Accepts:An implementation of the  replicateM function (Control.Monad.,  Data.Vector.%), which determines the output value.9A decoder of its components, which can be either another a or b.bhasqlLift a 4 decoder into an 3$ decoder for parsing of leaf values.chasqlLift a 4 decoder into a 2) decoder for parsing of component values.:2 3 4 5 6 7 89: ;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcNone* #$'(-/2356789>?BC223456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abc2789:=>?;<6@5AB4CDEFGHIJKLMNOPQRSTUVWX]^_`[\YZ3ab2cNone* #$'(-/2356789>?B None* #$'(-/2356789>?C hasqlLocal statement key. None* #$'(-/2356789>?C None* #$'(-/2356789>?E}dhasql?GDfhasql4Possible details of the connection acquistion error.ghasql$A single connection to the database.hhasqlAcquire a connection using the provided settings encoded according to the PostgreSQL format.ihasqlRelease the connection.jhasql Execute an operation on the raw libpq  .*The access to the connection is exclusive.fg hijNone* #$'(-/2356789>?GdefghijgfhidejNone* #$'(-/2356789>?NBkhasqlSpecification of a strictly single-statement query, which can be parameterized and prepared.Consists of the following: SQL template,params encoder,result decoder,2a flag, determining whether it should be prepared.The SQL template must be formatted according to Postgres' standard, with any non-ASCII characters of the template encoded using UTF-8. According to the format, parameters must be referred to using a positional notation, as in the following: $1, $2, $3 and etc. Those references must be used in accordance to the order in which the according value encoders are specified in .Following is an example of a declaration of a prepared statement with its associated codecs.  selectSum :: k" (Int64, Int64) Int64 selectSum = k sql encoder decoder True where sql = "select ($1 + $2)" encoder = (z  Encoders. (Encoders. Encoders. ))  ({  Encoders. (Encoders.! Encoders.")) decoder = Decoders.# (Decoders.$ (Decoders. Decoders. )) The statement above accepts a product of two parameters of type & and produces a single result of type .mhasqlRefine a result of a statement, causing the running session to fail with the UnexpectedResult% error in case of refinement failure.This function is especially useful for refining the results of statements produced with  +http://hackage.haskell.org/package/hasql-ththe "hasql-th" library.klmklm%None* #$'(-/2356789>?P*phasqlA batch of actions to be executed in the context of a database connection.qhasql8Executes a bunch of commands on the provided connection.rhasqlPossibly a multi-statement query, which however cannot be parameterized or prepared, nor can any results of it be collected.shasqlParameters and a specification of a parametric single-statement query to apply them to.p qrsNone* #$'(-/2356789>?P pqrsprsq  &'()*+,&-.*// 0 1 2 3 4   ! 5 6 7 8 9 : ; " < = > ? @ A B C D E F G H I J K L M NO012PQRS#TUVWX$!567 89:;"<=>?@ABCDEFGHYZ[IK\]^NM_`abcdefgghij%k%l%m%nopqrstouvouwoxyoz{o|}o|~opoprooropooprsoooooooooopoooooooooooorrroooooooooooooooooooooooooooooooooooopopopopoooooooooooooooopopopoooooooorrrrrrrroooooooooooooooooooooooooooooooooooooooooopopopopopopoooooooooooooooooooooooooopopopopopopopoprrrrrrrooooooorrrroorsoxrrooooooooorroopooooooopoooooooooooopopopopopopopopoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooozozozozozozozozozozozozoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo o o o o o o o o o  o  o  o  o  o o o o o o o o ox ox ox ox o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o  o o o  o  o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o  o o o o o o o o o o o o o o o o o o o o o o o  o o o o o o o o o o o o o o o o o o  o o o o o o o o ou ou ou ou ou ou ou ou ou ou ou ou ou ou ou ou ou ou ou ou ou ou ou ou ou ou ou ou ou ou o o o o o o o o o o 5o o o o o o o| o| o| o o o o o o o o o o o o o  o op op op op op op op op op op op op op op op op op op o o o o o o r r r                                                 5  <;    = 89 D6 7   BEG     :                 " @>?A      JC     1 1 3 3 0 0 N 0 1   3 1 1 l     PPl QQlRS          l  ZOOl  00lN  O01  PQh                       cc%k hasql-1.5-HNuMpCOPk7nFiSvsoe8qzK Hasql.SessionHasql.EncodersHasql.DecodersHasql.ConnectionHasql.StatementHasql.Private.PreludeHasql.Private.PTIHasql.Private.ErrorsHasql.Private.Encoders.ValueHasql.Private.Encoders.ParamsHasql.Private.Encoders.ArrayHasql.Private.EncodersHasql.Private.Decoders.ValueHasql.Private.Decoders.RowHasql.Private.Decoders.ResultHasql.Private.Decoders.Results Hasql.Private.Decoders.CompositeHasql.Private.Decoders.ArrayHasql.Private.Decoders Hasql.ErrorsUnexpectedAmountOfRows Control.Monad replicateM Data.VectorHasql.Private.Commands'Hasql.Private.PreparedStatementRegistryHasql.Private.IOHasql.Private.SettingsHasql.Private.Connectionparam nonNullableint8nullabletext singleRowcolumnHasql.Private.SessionRowError EndOfInputUnexpectedNull ValueError ResultError ServerErrorUnexpectedResult CommandError ClientError QueryErrorArrayValue NullableOrNotParamsnoParamsboolint2int4float4float8numericcharbyteadate timestamp timestamptztimetimetzintervaluuidinetjson jsonBytesjsonb jsonbBytesenumunknownarray foldableArrayelement dimension CompositeRowResultnoResult rowsAffected foldlRows foldrRowsrowMaybe rowVectorrowListcustomrefinehstore listArray vectorArray compositefieldSettingssettingsConnectionError ConnectionacquirereleasewithLibPQConnection Statement refineResult$fProfunctorStatement$fFunctorStatementSessionrunsql statementbaseGHC.Base++ghc-primGHC.PrimseqGHC.Listfilterzip GHC.Stable newStablePtr System.IOprint Data.Tuplefstsnd otherwiseassert GHC.MagiclazyGHC.IO.Exception assertError Debug.TracetraceinlinemapGHC.Exts groupWith$coerceGHC.Real fromIntegral realToFracguardIsListtoList fromListNItemfromList Data.DynamictoDynjoinGHC.EnumBoundedminBoundmaxBoundEnumpredsucctoEnumfromEnum enumFromToenumFromThenToenumFrom enumFromThen GHC.ClassesEq==/= GHC.FloatFloatinglog1mexplog1pexpexpm1log1patanhacoshasinhtanhcoshsinhatanacosasintancossinlogBase**sqrtlogpiexp Fractionalrecip fromRational/IntegraldivModquotRemmoddivrem toIntegerquotMonadreturn>>=>> Data.DataDatagmapMogmapMpgmapMgmapQigmapQgmapQrgmapQlgmapT dataCast2 dataCast1 dataTypeOftoConstrgfoldlgunfoldFunctorfmap<$GHC.NumNumsignumabs fromIntegernegate-+*Ord<<=>maxmin>=compareGHC.ReadreadList readsPrecReal toRational RealFloatatan2isIEEEisNegativeZeroisDenormalized isInfiniteisNaN scaleFloat significandexponent encodeFloat decodeFloat floatRange floatRadix floatDigitsRealFracfloorceilingroundproperFractiontruncateGHC.ShowShowshowListshow showsPrecGHC.IxIxindexrange rangeSizeinRangeData.Typeable.InternalTypeableControl.Monad.FixMonadFixmfixControl.Monad.Fail MonadFailfail Data.StringIsString fromString ApplicativeliftA2<**>pure<*> Data.FoldableFoldablefoldMap'foldelemminimummaximumfoldr1productsumfoldl1foldMaplengthfoldl'foldr'nullfoldlfoldrData.Traversable Traversablesequence sequenceAtraversemapM GHC.GenericsGenericGHC.OverloadedLabelsIsLabel fromLabel Semigroupstimes<>sconcatMonoidmconcatmemptymappend GHC.TypesBoolFalseTrueCharDoubleFloatIntGHC.IntInt8Int16Int32Int64integer-wired-inGHC.Integer.TypeInteger GHC.MaybeMaybeNothingJustOrderingGTLTEQRatioRational RealWorld StablePtrIOWordGHC.WordWord8Word16Word32Word64GHC.PtrPtrFunPtr Data.EitherEitherLeftRight CoercibleTyCon Data.OldListdeleteStringGHC.STST Data.VersionVersion versionBranch versionTagsbytestring-0.10.10.0Data.ByteString.Internal ByteString&hashable-1.4.0.1-2br9pMCfvFyum87ZLLwocData.Hashable.ClassHashablehash hashWithSalt Data.Functor<$>const GHC.UnicodetoLower text-1.2.3.2Data.Text.InternalTextGHC.ForeignPtr ForeignPtrGHC.IO.Handle.TypesHandleData.Bifunctor BifunctorsecondfirstbimapisSpaceisAlphaisDigit Text.Readread Alternativesomemanyempty<|> MonadPlusmzeromplus Data.Complexphase magnitudepolarcismkPolar conjugateimagPartrealPartComplex:+ Data.Fixed showFixedmod'divMod'div'FixedMkFixed HasResolution resolutionE0UniE1DeciE2CentiE3MilliE6MicroE9NanoE12PicoData.Functor.ContravariantcomparisonEquivalencedefaultEquivalencedefaultComparison>$$<>$<$<phantom Contravariant contramap>$ Predicate getPredicate Comparison getComparison EquivalencegetEquivalenceOpgetOpData.Functor.ComposeCompose getCompose Data.VoidvacuousabsurdVoidData.Semigroupoption mtimesDefaultdiffcycle1MingetMinMaxgetMaxArgArgMinArgMax WrappedMonoid WrapMonoid unwrapMonoidOption getOptionsortWith tyconModule tyconUQname isNorepType mkNoRepType mkCharConstr mkRealConstrmkIntegralConstr mkCharType mkFloatType mkIntTypemaxConstrIndex constrIndex indexConstr isAlgType readConstr showConstr constrFixity constrFieldsdataTypeConstrsmkConstr mkDataType repConstr constrRep constrType dataTypeRep dataTypeName fromConstrM fromConstrB fromConstrDataTypeConstrDataRepNoRepCharRepAlgRepIntRepFloatRep ConstrRep CharConstr FloatConstr AlgConstr IntConstrConIndexFixityPrefixInfixSystem.TimeouttimeoutTimeoutControl.ConcurrentthreadWaitWriteSTMthreadWaitReadSTMthreadWaitWritethreadWaitReadrunInUnboundThreadrunInBoundThreadisCurrentThreadBoundforkOSWithUnmaskforkOS forkFinallyrtsSupportsBoundThreadsControl.Concurrent.ChanwriteList2ChangetChanContentsdupChanreadChan writeChannewChanChanControl.Concurrent.QSem signalQSemwaitQSemnewQSemQSemControl.Concurrent.QSemN signalQSemN waitQSemNnewQSemNQSemNControl.Monad.IO.ClassMonadIOliftIO Data.RatioapproxRational Data.STRef modifySTRef' modifySTRef Data.Unique hashUnique newUniqueUniqueGHC.StableName eqStableNamehashStableNamemakeStableName StableNameSystem.EnvironmentgetEnvironment withProgNamewithArgsunsetEnvsetEnv lookupEnvgetEnv getProgNamegetArgs!System.Environment.ExecutablePathgetExecutablePath System.Exitdie exitSuccess exitFailureexitWith System.Mem performGCperformMajorGCperformMinorGC Text.PrintfhPrintfprintfmfilter<$!>unless replicateM_foldM_foldM zipWithM_zipWithM mapAndUnzipMforever<=<>=>filterM makeVersion parseVersion showVersion traceMarkerIO traceMarker traceEventIO traceEvent traceStack traceShowMtraceM traceShowId traceShowtraceId putTraceMsgtraceIOfoldMapDefault fmapDefault mapAccumR mapAccumLforMforControl.Applicativeoptional WrappedMonad WrapMonad unwrapMonadZipList getZipList Control.ArrowleftApp^<<<<^>>^^>>returnAArrow&&&arr***Kleisli runKleisli ArrowZero zeroArrow ArrowPlus<+> ArrowChoice+++left|||right ArrowApplyapp ArrowMonad ArrowLooploopData.Functor.IdentityIdentity runIdentityreadIOreadLn appendFile writeFilereadFileinteract getContentsgetLinegetCharputStrLnputStrputChar GHC.IO.HandlehClose GHC.Conc.IO registerDelay threadDelay closeFdWithioManagerCapabilitiesChangedensureIOManagerIsRunningGHC.Conc.Signal runHandlers setHandlerSignal HandlerFunControl.Concurrent.MVar mkWeakMVaraddMVarFinalizermodifyMVarMaskedmodifyMVarMasked_ modifyMVar modifyMVar_withMVarMaskedwithMVarswapMVarSystem.IO.Unsafe unsafeFixIOControl.ExceptionallowInterruptcatchesHandlerControl.Monad.ST.ImpfixSTSystem.IO.Error catchIOErrorannotateIOError modifyIOErrorioeSetFileName ioeSetHandleioeSetLocationioeSetErrorStringioeSetErrorTypeioeGetFileName ioeGetHandleioeGetLocationioeGetErrorStringioeGetErrorTypeisResourceVanishedErrorTypeisUserErrorTypeisPermissionErrorTypeisIllegalOperationErrorTypeisEOFErrorTypeisFullErrorTypeisAlreadyInUseErrorTypeisDoesNotExistErrorTypeisAlreadyExistsErrorTyperesourceVanishedErrorType userErrorTypepermissionErrorTypeillegalOperationErrorType eofErrorType fullErrorTypealreadyInUseErrorTypedoesNotExistErrorTypealreadyExistsErrorTypeisResourceVanishedError isUserErrorisPermissionErrorisIllegalOperation isEOFError isFullErrorisAlreadyInUseErrorisDoesNotExistErrorisAlreadyExistsError mkIOError tryIOErrorControl.Exception.BasebracketOnErrorbracket_finallybracket onExceptiontryJusttry mapException handleJusthandle catchJustPatternMatchFail RecSelError RecConError RecUpdError NoMethodError TypeErrorNonTerminationNestedAtomically GHC.Conc.SyncgetUncaughtExceptionHandlersetUncaughtExceptionHandler reportErrorreportStackOverflow writeTVarreadTVar readTVarIO newTVarIOnewTVarcatchSTMthrowSTMretry atomically unsafeIOToSTMnewStablePtrPrimMVarmkWeakThreadIdthreadCapability threadStatus runSparksparpseq labelThreadyield myThreadIdthrowTo killThread childHandler numSparksgetNumProcessorssetNumCapabilitiesgetNumCapabilitiesnumCapabilitiesforkOnWithUnmaskforkOnforkIOWithUnmaskforkIOdisableAllocationLimitenableAllocationLimitgetAllocationCountersetAllocationCounterreportHeapOverflowThreadId BlockReasonBlockedOnOtherBlockedOnForeignCall BlockedOnSTMBlockedOnException BlockedOnMVarBlockedOnBlackHole ThreadStatus ThreadDied ThreadBlocked ThreadRunningThreadFinishedPrimMVarSTMTVar dynTypeRepdynAppdynApply fromDynamicfromDynDynamicuntangleioError ioException heapOverflow stackOverflowasyncExceptionFromExceptionasyncExceptionToExceptioncannotCompactMutablecannotCompactPinnedcannotCompactFunctionallocationLimitExceededblockedIndefinitelyOnSTMblockedIndefinitelyOnMVarBlockedIndefinitelyOnMVarBlockedIndefinitelyOnSTMDeadlockAllocationLimitExceededCompactionFailedAssertionFailedSomeAsyncExceptionAsyncException UserInterrupt ThreadKilled StackOverflow HeapOverflowArrayExceptionIndexOutOfBoundsUndefinedElementFixIOExceptionExitCode ExitSuccess ExitFailure IOErrorType InterruptedResourceVanished TimeExpiredUnsupportedOperation HardwareFaultInappropriateTypeInvalidArgument OtherError ProtocolError SystemErrorUnsatisfiedConstraints UserErrorPermissionDeniedIllegalOperationResourceExhausted ResourceBusy NoSuchThingEOF AlreadyExists Data.IORefatomicWriteIORefatomicModifyIORef modifyIORef' modifyIORef mkWeakIORefForeign.ForeignPtr.ImpmallocForeignPtrArray0mallocForeignPtrArraynewForeignPtrEnvwithForeignPtr newForeignPtrfinalizeForeignPtrplusForeignPtrcastForeignPtrtouchForeignPtrnewForeignPtr_addForeignPtrFinalizerEnvaddForeignPtrFinalizermallocForeignPtrBytesmallocForeignPtr FinalizerPtrFinalizerEnvPtr GHC.IORefatomicModifyIORef' writeIORef readIORefnewIORefIORefGHC.IOevaluateuninterruptibleMaskuninterruptibleMask_maskmask_getMaskingState interruptiblethrowIOcatchstToIOFilePath MaskingStateMaskedUninterruptibleUnmaskedMaskedInterruptible userErrorunsupportedOperation IOExceptionIOError ioe_filename ioe_errnoioe_description ioe_location ioe_handleioe_type GHC.Exceptionthrow ErrorCallErrorCallWithLocationGHC.Exception.Type ExceptiondisplayException toException fromExceptionArithExceptionRatioZeroDenominatorDenormal DivideByZeroLossOfPrecision UnderflowOverflow Data.TypeabletypeOf7typeOf6typeOf5typeOf4typeOf3typeOf2typeOf1 rnfTypeReptypeRepFingerprint typeRepTyCon typeRepArgs splitTyConAppmkFunTy funResultTygcast2gcast1gcasteqTcast showsTypeReptypeReptypeOfTypeReprnfTyContyConFingerprint tyConName tyConModule tyConPackageData.Functor.ConstConstgetConstfindnotElem minimumBy maximumByallanyorand concatMapconcatmsumasum sequence_ sequenceA_forM_mapM_for_ traverse_foldlMfoldrM Data.MonoidFirstgetFirstLastgetLastApgetApData.Semigroup.Internal stimesMonoidstimesIdempotentDualgetDualEndoappEndoAllgetAllAnygetAnySumgetSumProduct getProductgetAlt Unsafe.Coerce unsafeCoerceunwordswordsunlineslinesunfoldrsortBysort permutations subsequencestailsinitsgroupBygroupdeleteFirstsByunzip7unzip6unzip5unzip4zipWith7zipWith6zipWith5zipWith4zip7zip6zip5zip4genericReplicate genericIndexgenericSplitAt genericDrop genericTake genericLengthinsertByinsert partition transpose intercalate intersperse intersectBy intersectunionByunion\\deleteBynubBynub isInfixOf isSuffixOf isPrefixOf findIndices findIndex elemIndices elemIndex stripPrefix dropWhileEnd Data.Char isSeparatorisNumberisMarkisLetter digitToIntreads fromRightfromLeftisRightisLeftpartitionEithersrightsleftseitherData.Ord comparingDowngetDown Data.Proxy asProxyTypeOfProxyKProxyControl.Category>>><<<Categoryid.Data.Type.Equality:~:Refl:~~:HRefl Foreign.Ptr intPtrToPtr ptrToIntPtr wordPtrToPtr ptrToWordPtrfreeHaskellFunPtrWordPtrIntPtrForeign.StorableStorablepokepeek pokeByteOff peekByteOff pokeElemOff peekElemOffsizeOf alignmentcastPtrToStablePtrcastStablePtrToPtrdeRefStablePtr freeStablePtrcastPtrToFunPtrcastFunPtrToPtr castFunPtr nullFunPtrminusPtralignPtrplusPtrcastPtrnullPtrNumericshowOctshowHex showIntAtBase showHFloat showGFloatAlt showFFloatAlt showGFloat showFFloat showEFloatshowInt readSigned readFloatreadHexreadDecreadOctreadInt lexDigits readLitChar lexLitCharlex readParenText.ParserCombinators.ReadPrec readS_to_Prec readPrec_to_S readP_to_Prec readPrec_to_PReadPrecText.ParserCombinators.ReadP readS_to_P readP_to_SReadSReadPfromRat floatToDigits showFloat bitReverse64 bitReverse32 bitReverse16 bitReverse8 byteSwap64 byteSwap32 byteSwap16toTitletoUpperisLowerisUpperisPrint isControl isAlphaNumisSymbol isPunctuation isHexDigit isOctDigit isAsciiUpper isAsciiLowerisLatin1isAsciigeneralCategoryGeneralCategory NotAssigned PrivateUse SurrogateParagraphSeparator LineSeparatorSpace OtherSymbolModifierSymbolCurrencySymbol MathSymbolOtherPunctuation FinalQuote InitialQuoteClosePunctuationOpenPunctuationDashPunctuationConnectorPunctuation OtherNumber LetterNumber DecimalNumber EnclosingMarkSpacingCombiningMarkNonSpacingMark OtherLetterModifierLetterTitlecaseLetterLowercaseLetterUppercaseLetterFormatControl Data.BitstoIntegralSizedpopCountDefaulttestBitDefault bitDefaultBitspopCountrotateRrotateL unsafeShiftRshiftR unsafeShiftLshiftLisSignedbitSize bitSizeMaybetestBit complementBitclearBitsetBitbitzeroBitsrotateshift complementxor.&..|. FiniteBitscountTrailingZeros finiteBitSizecountLeadingZeroslcmgcd^^^oddeven showSigned denominator numerator%GHC.Charchr GHC.STRef writeSTRef readSTRefnewSTRefSTRefrunST intToDigit showLitChar showParen showStringshowCharshowsShowSunzip3unzipzipWith3zipWithzip3!!lookupreversebreakspansplitAtdroptake dropWhile takeWhilecycle replicaterepeatiterate'iteratescanr1scanrscanl'scanl1scanlfoldl1'initlasttailhead Data.MaybemapMaybe catMaybes listToMaybe maybeToList fromMaybefromJust isNothingisJustmaybe Data.Bool Data.Function&onfixvoid$><&>swapuncurrycurry GHC.IO.UnsafeunsafeInterleaveIOunsafeDupablePerformIOunsafePerformIOGHC.MVar isEmptyMVar tryReadMVar tryPutMVar tryTakeMVarputMVarreadMVartakeMVarnewMVar newEmptyMVarMVarsubtractasTypeOfuntil$!flipordapliftM5liftM4liftM3liftM2liftMwhen=<<liftA3liftA<**>NonEmpty:|GHC.Err undefinederrorWithoutStackTraceerrorstimesIdempotentMonoid SomeException&&||nottransformers-0.5.6.2Control.Monad.Trans.ContevalContreset evalContTresetTshiftT liftLocalControl.Monad.Trans.ExceptexceptthrowEcatchEControl.Monad.Trans.MaybeMaybeT runMaybeT mapMaybeTmaybeToExceptTexceptToMaybeT liftCallCC liftCatch liftListenliftPass!Control.Monad.Trans.Writer.Strict mapWriterT execWriterT mapWriter execWriter runWriterWriterWriterT runWriterT Control.Monad.Trans.State.Strict withStateT mapStateT execStateT evalStateT withStatemapState execState evalStaterunStateStateStateT runStateTControl.Monad.Trans.Reader withReaderT mapReaderT withReader mapReader runReaderReaderReaderT runReaderT withExceptT mapExceptT runExceptT withExcept mapExcept runExceptExceptExceptT withContTmapContTwithContmapContrunContcontContContTrunContT mtl-2.2.2Control.Monad.Error.Class MonadError throwError catchErrorControl.Monad.Reader.Class MonadReaderlocalreaderaskControl.Monad.Trans.Class MonadTranslift*contravariant-1.5.5-Ahm1naNh6BQEDiMrfTOLxo$Data.Functor.Contravariant.DivisiblechosenlostliftD conquereddivided Divisibledivideconquer Decidablechooselose dlist-1.0-1C42Utafnkx2By7SvbzCKQData.DList.InternalDList&vector-0.12.3.1-BS9vrRx3ry325IASWLF2UHVector&uuid-types-1.0.5-GXnT7tthVTP7pqTOIhtaFData.UUID.Types.InternalUUID(profunctors-5.6.2-Ha7JyYXkMII4LstV5rEcOBData.Profunctor.Unsafe Profunctorrmaplmapdimap#..# TextBuilderLazyTextByteStringBuilderLazyByteString forMToZero_ forMFromZero_ strictConsmapLeftOIDPTI oidFormatoidPQ oidWord32 ptiArrayOIDptiOIDmkOIDmkPTIabstimeaclitemboxbpcharcidcidrcirclecstring daterange gtsvector int2vector int4range int8rangelinelsegmacaddrmoneynamenumrangeoid oidvectorpathpointpolygonrecord refcursorregclass regconfig regdictionaryregoper regoperatorregproc regprocedureregtypereltimetid tintervaltsquerytsrange tstzrangetsvector txid_snapshotvarbitvarcharxidxml unsafePTIunsafePTIWithShowvalue nullableValueNullable NonNullabledecoder decoderFn nonNullValueEnvcheckExecStatus serverErrorsinglevector getResultgetResultMaybeResults clientErrordropRemaindersData.Vector.GenericCommandsasBytessetEncodersToUTF8setMinClientMessagesToWarningLocalKeyPreparedStatementRegistrynewupdateacquireConnection acquirePreparedStatementRegistryreleaseConnectioncheckConnectionStatuscheckServerVersiongetIntegerDatetimesinitConnection getResultsgetPreparedStatementKey checkedSendsendPreparedParametricStatement!sendUnpreparedParametricStatementsendParametricStatementsendNonparametricStatement/postgresql-libpq-0.9.4.3-7GMLDUbXM30H6jI5ad7aT4"Database.PostgreSQL.LibPQ.Internal