V<2      !"#$%&'( ) *+,- . / 0 1 2 3 4 5 6 789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_` abcd e f g h i j k lmnopqrst uvwxyz{| }~                  !"#$%&'()*+ , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = >?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  `defghijkt| |tkjihgfed`      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmn      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTU5HIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|5e\PQRSTUVWXYZ[d]^_`abcsrqponmlkjihgf|{zyxwvutONMLKJIH >?@ABCDEFG GFEDCBA@?>h     h      %&'*+yz{} {yz'&%}+* ())( -./0123456 6543210/.-VWXYZ[\]^_`abcdefghijklmn opqrstuvw +,-./0123456789:;<==<;:98543210/.,-76+xyz{|}~  ~~    ,,The : function captures a common allocate, compute, deallocate H idiom in which the deallocation step must occur even in the case of an I error during computation. This is similar to try-catch-finally in Java. ?This version handles only IO errors, as defined by Haskell 98.  The version of bracket in Control.Exception handles all exceptions,  and should be used instead.  A variant of # where the middle computation doesn't want x. ?This version handles only IO errors, as defined by Haskell 98.  The version of bracket_ in Control.Exception handles all exceptions,  and should be used instead. M789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_abclmnopqrsuvwx}~MX}~IvHFWVUGSKwRQP^9]\T[ZY87ONMLJsrqponmlcbaux_?EDCBA@>=<:; !"#$%&'()* !"#$%&'()*    !"#$  !"#$ ! "#$#%#&'( ) * + , -  ./012344523 678/9/:/;/<//=/>/?/@/A/B/C/D/E/F/GHIHJHKLMLNOPOQRSTUTVTWTXTYTZT[T\T]T '^'_'`'a'b'c'd'e'f'g'h'i'j'k'lmnmompmqrsrtrurvrwrxryrzr{r|r}r~rrrmr7777444000000 0 0 0 0 0000000000000### #!#"###$#%#&#'#(#)#*#+#,#-#.#/#0#1#2#3#4#5#6#7#8#9#:#;#<#=#>#?#@#A#B#CDEDFDGDHDIDJDKDLDMDNDOD  P Q RSTUVWXYZ[\]^_`a_`b_`c_`d_`e_`f_`g_`h_`i_`j_`k_`l_`m_`n_`o_`p_`q_`r_`rstustvstwstxstystzst{st|st}st}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~23 haskell98ListIOMonadIxCharRatioArraySystemCPUTimeComplex MarshalErrorMaybe DirectoryLocaleTimeRandom MarshalUtils MarshalArray MarshalAllocCTypesCForeignCErrorCStringStorableBitsWordPtr StablePtr ForeignPtrIntbaseGHC.Base++foldrGHC.Listconcatfilterzip System.IOprintmapfail>>=>>returnFunctorGHC.Arr Control.Monad MonadPlusghc-prim GHC.TypesGHC.RealRationalStringGHC.IO.Handle.TypesHandlerangeindexinRange rangeSizearraybounds listArray!indiceselemsassocs accumArray//accumixmapSystem.EnvironmentgetEnv getProgNamegetArgsSystem.CPUTimecpuTimePrecision getCPUTime System.Exit exitFailureexitWith Data.RatioapproxRational Data.Complexphase magnitudepolarcismkPolar conjugateimagPartrealPart:+hPrint hPutStrLnhReadyreadIOreadLn appendFile writeFilereadFileinteract getContentsgetLinegetCharputStrLnputStrputCharGHC.IO.Handle.FDopenFileisEOFstderrstdin GHC.IO.Handle hIsSeekable hGetBuffering hIsWritable hIsReadable hIsClosedhIsOpenhSeekhSetPosnhGetPosn hSetBuffering hLookAheadhIsEOF hFileSizehClose HandlePosnGHC.IO.Handle.TexthPutStrhPutChar hGetContentshGetLinehGetChar hWaitForInputSystem.IO.ErrorcatchannotateIOErrorioeGetFileName ioeGetHandleioeGetErrorString userErrorTypepermissionErrorTypeillegalOperationErrorType eofErrorType fullErrorTypealreadyInUseErrorTypedoesNotExistErrorTypealreadyExistsErrorType isUserErrorisPermissionErrorisIllegalOperation isEOFError isFullErrorisAlreadyInUseErrorisDoesNotExistErrorisAlreadyExistsError mkIOErrortrystdouthFlushGHC.IO.ExceptionioError ExitSuccess ExitFailureExitCode IOErrorType NoBuffering LineBufferingBlockBuffering BufferMode Data.Listunwordswordsunlineslinesproductsumfoldl1unfoldrsortsortBytailsinitsgroupBygroupdeleteFirstsByunzip7unzip6unzip5unzip4zipWith7zipWith6zipWith5zipWith4zip7zip6zip5zip4genericReplicate genericIndexgenericSplitAt genericDrop genericTake genericLength minimumBy maximumByminimummaximuminsertByinsert mapAccumR mapAccumL partition transpose intersperse intersectBy intersectunionByunion\\deleteBydeletenubBynub isSuffixOf isPrefixOf findIndices findIndexfind elemIndices elemIndex Data.Char digitToInt GHC.UnicodetoUppertoLower GHC.IO.Device AbsoluteSeek RelativeSeek SeekFromEndSeekMode GHC.IO.IOModeReadMode WriteMode AppendMode ReadWriteModeIOModeGHC.Read readLitChar lexLitChar denominator numerator%GHC.IOFilePathIOError userErrorapliftM5liftM4liftM3liftM2liftMunlesswhenfoldM zipWithM_zipWithM mapAndUnzipMjoinmsumfilterMguardmapM_mapM sequence_sequence=<<mplusmzeroGHC.Show intToDigit showLitCharunzip3unzipzipWith3zipWithzip3!! concatMaplookupnotElemelemallanyorandreversebreakspansplitAtdroptake dropWhile takeWhilecycle replicaterepeatiteratescanr1scanrfoldr1scanl1scanlfoldllengthnullinitlasttailhead Data.MaybemapMaybe catMaybes listToMaybe maybeToList fromMaybefromJust isNothingisJustmaybeNothingJustordchrfmapisAsciiisLatin1 isControlisPrintisSpaceisUpperisLowerisAlphaisDigit isOctDigit isHexDigit isAlphaNumdirectory-1.0.1.2System.DirectorygetModificationTime doesFileExistdoesDirectoryExistsetCurrentDirectorygetCurrentDirectorygetDirectoryContents renameFilerenameDirectory removeFileremoveDirectorycreateDirectorysetPermissionsgetPermissions searchable executablewritablereadable Permissionsold-locale-1.0.0.2 System.LocaledefaultTimeLocale time12FmttimeFmtdateFmt dateTimeFmtamPmmonthswDays TimeLocaleold-time-1.0.0.5 System.TimeformatCalendarTimecalendarTimeToString toClockTime toUTCTimetoCalendarTimediffClockTimesaddToClockTime getClockTimeJanuaryFebruaryMarchAprilMayJuneJulyAugust SeptemberOctoberNovemberDecemberMonthSundayMondayTuesday WednesdayThursdayFridaySaturdayDay ClockTimectIsDSTctTZctTZNamectYDayctWDay ctPicosecctSecctMinctHourctDayctMonthctYear CalendarTime tdPicosectdSectdMintdHourtdDaytdMonthtdYearTimeDiffprocess-1.0.1.3System.Processsystemrandom-1.0.0.2 System.Random getStdRandom newStdGen getStdGen setStdGenmkStdGengenRangesplitnext RandomGenStdGenrandomIO randomRIOrandomsrandomRsrandomrandomRbracketbracket_Foreign.Marshal.Utils moveBytes copyByteswithMany maybePeek maybeWithmaybeNewtoBoolfromBoolwithnewForeign.Marshal.Errorvoid throwIfNull throwIfNeg_ throwIfNegthrowIf_throwIfForeign.Marshal.Array advancePtr lengthArray0 moveArray copyArray withArrayLen0 withArray0 withArrayLen withArray newArray0newArray pokeArray0 pokeArray peekArray0 peekArray reallocArray0 reallocArray allocaArray0 allocaArray mallocArray0 mallocArrayForeign.Marshal.Allocfree reallocBytesrealloc allocaBytesalloca mallocBytesmalloc finalizerFreeForeign.C.TypesCCharCSCharCUCharCShortCUShortCIntCUIntCLongCULongCLLongCULLongCFloatCDoubleCPtrdiffCSizeCWchar CSigAtomicCClockCTimeCFileCFposCJmpBufCIntPtrCUIntPtrCIntMaxCUIntMaxForeign.C.ErrorerrnoToIOErrorthrowErrnoPathIfMinus1_throwErrnoPathIfMinus1throwErrnoPathIfNullthrowErrnoPathIf_throwErrnoPathIfthrowErrnoPaththrowErrnoIfNullRetryMayBlockthrowErrnoIfNullRetrythrowErrnoIfNull throwErrnoIfMinus1RetryMayBlock_throwErrnoIfMinus1RetryMayBlockthrowErrnoIfMinus1Retry_throwErrnoIfMinus1RetrythrowErrnoIfMinus1_throwErrnoIfMinus1throwErrnoIfRetryMayBlock_throwErrnoIfRetry_throwErrnoIfRetryMayBlockthrowErrnoIfRetry throwErrnoIf_ throwErrnoIf throwErrno resetErrnogetErrno isValidErrnoeXDEV eWOULDBLOCKeUSERSeTXTBSY eTOOMANYREFS eTIMEDOUTeTIMEeSTALEeSRMNTeSRCHeSPIPEeSOCKTNOSUPPORT eSHUTDOWNeRREMOTE eRPCMISMATCHeROFSeREMOTEeREMCHGeRANGE ePROTOTYPEePROTONOSUPPORTePROTO ePROGUNAVAIL ePROGMISMATCH ePROCUNAVAILePROCLIMePIPE ePFNOSUPPORTePERM eOPNOTSUPPeNXIOeNOTTYeNOTSOCK eNOTEMPTYeNOTDIReNOTCONNeNOTBLKeNOSYSeNOSTReNOSReNOSPC eNOPROTOOPTeNONETeNOMSGeNOMEMeNOLINKeNOLCKeNOEXECeNOENTeNODEVeNODATAeNOBUFSeNFILE eNETUNREACH eNETRESETeNETDOWN eNAMETOOLONG eMULTIHOPeMSGSIZEeMLINKeMFILEeLOOPeISDIReISCONNeIOeINVALeINTR eINPROGRESSeILSEQeIDRM eHOSTUNREACH eHOSTDOWNeFTYPEeFBIGeFAULTeEXISTeDQUOTeDOMeDIRTY eDESTADDRREQeDEADLK eCONNRESET eCONNREFUSED eCONNABORTEDeCOMMeCHILDeBUSYeBADRPCeBADMSGeBADFeALREADYeAGAIN eAFNOSUPPORTeADV eADDRNOTAVAIL eADDRINUSEeACCESe2BIGeOKErrnoForeign.C.StringwithCWStringLen withCWStringnewCWStringLen newCWStringpeekCWStringLen peekCWStringwithCAStringLen withCAStringnewCAStringLen newCAStringpeekCAStringLen peekCAStringcastCharToCCharcastCCharToCharcharIsRepresentablewithCStringLen withCString newCStringLen newCStringpeekCStringLen peekCString CStringLenCWString CWStringLenForeign.Storablepokepeek pokeByteOff peekByteOff pokeElemOff peekElemOff alignmentsizeOf Data.BitsrotateRrotateLshiftRshiftLisSignedbitSizetestBit complementBitclearBitsetBitbitrotateshift complementxor.|..&.GHC.WordWord8Word16Word32Word64GHC.PtrFunPtr Foreign.Ptr intPtrToPtr ptrToIntPtr wordPtrToPtr ptrToWordPtrWordPtrIntPtrfreeHaskellFunPtrcastPtrToFunPtrcastFunPtrToPtr castFunPtr nullFunPtrminusPtralignPtrplusPtrcastPtrnullPtr GHC.Stable newStablePtrcastPtrToStablePtrcastStablePtrToPtrdeRefStablePtr freeStablePtrGHC.ForeignPtrForeign.ForeignPtrmallocForeignPtrArray0mallocForeignPtrArraynewForeignPtrEnvwithForeignPtr newForeignPtrfinalizeForeignPtrcastForeignPtrunsafeForeignPtrToPtrtouchForeignPtrnewForeignPtr_addForeignPtrFinalizerEnvaddForeignPtrFinalizermallocForeignPtrBytesmallocForeignPtr FinalizerPtrFinalizerEnvPtrGHC.IntInt8Int16Int32Int64