úÎ!»Ÿ4w      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^ _ ` a b c d e f g h i j k l m n o p q r s t u v  NoneUÿ6wxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬Noneâ­ qrcode-core>Creates a Reed-Solomon ECC generator for the specified degree.® qrcode-coreoComputes and returns the Reed-Solomon error correction code words for the specified sequence of data codewords.¯ qrcode-coreIReturns the product of the two given field elements modulo GF(2^8/0x11D).°­®NoneP˱ qrcode-core°List of bits. Stored as a pair of Int, how many bits to store and the data, in a DList. The DList gives a O(1) append. The number of bits in a pair is never more than 22.² qrcode-core+Store bits from Int in an ByteStreamBuilder³ qrcode-core8Store bits from an list of Bytes in an ByteStreamBuilder´ qrcode-core*Convert ByteStreamBuilder to list of Word8µ qrcode-core%Convert list of Word8 to list of Bool±²³¶·´µNone1 qrcode-coreThe error level of an QRCode qrcode-coreAllows error recovery up to 7% qrcode-coreAllows error recovery up to 15% qrcode-coreAllows error recovery up to 25% qrcode-coreAllows error recovery up to 30%None1¨  qrcode-coreThe desired mask for the QRCode  None#Z qrcode-core0Minimal version (i.e. size) the qr code may have qrcode-core0Maximal version (i.e. size) the qr code may have qrcode-coreSelected error correction level qrcode-coreCIncrease error correction level within the same version if possible qrcode-coreDSpecify a mask to be used, only use it if you know what you're doing qrcode-corevThe default options are all versions, boost error level and automatic mask, the error level has always to be specifiedNone"#1HV+$ qrcode-coreŸConvert the QR code image into a list-type containing all elements from top to bottom and left to right. The values for black/white have to be specified.% qrcode-corelConvert the QR code image into a list-type of list-type. The values for black/white have to be specified.$ qrcode-coreValue for black modules qrcode-coreValue for white modules% qrcode-coreValue for black modules qrcode-coreValue for white modules !"#$% !"#$% Trustworthy24567M2®' qrcode-corewThis Maybe wrapper treats Just as success and Nothing as failure. There is no unexpected success <-> failure change. Differences: ÿ% instance Semigroup/Monoid Maybe where Nothing <> (Just x) = Just x mempty = Nothing stimes 0 (Just x) = Nothing instance Semigroup/Monoid Result where Nothing <> (Just x) = Nothing mempty = Just mempty stimes 0 (Just x) = Just (stimes 0 x) '()*'()*Safe<C qrcode-core‚Generate segment out of a ISO-8859-1 text, if the text contains chars which aren't in the charset the result will be a failure.D qrcode-coreLUse an UTF-8 encoded text. The reader must do a detection and conversion.CPlease check the readers which should be used if they support this.E qrcode-core`This is the correct way to encode UTF-8, but it's reported that not all readers support this.CPlease check the readers which should be used if they support this.F qrcode-coreTry to encode as C, if that is not possible use D.G qrcode-coreTry to encode as C, if that is not possible use E.BCDEFGBCDEFGNone=?@´H qrcode-coreConversion into binary dataJ qrcode-core7Conversion into an array of digits (each has to be 0-9)L qrcode-coreqConversion into a String and the information if the text is case insensitive (relevant for alphanumeric encoding)HIJKLMNLMNJKHINone1A*¸¹º»¼½¾NoneB] qrcode-coreAn segment of encoded data]¿ÀÁÂÃNoneBj]]None1B°^ÄÅÆÇÈÉ NoneEÍ_ qrcode-core&The version of the intermediate result` qrcode-core)The ErrorLevel of the intermediate resulta qrcode-core;The size of the data in bits inside the intermediate result^_`a^_`aNone "#LÊ qrcode-core The data all encoder pass aroundË qrcode-coreCCalculates the size of a QR code (in modules) based on the version.Ì qrcode-core Determine ¼ and  based on the  and the data to encode.Í qrcode-core_Add the End marker, pad to a full byte (with 0) and pad all further unused bytes (with 0xEC11).Î qrcode-core4Append the appropriate error correction to the data.ÊËÌÍÎNone"#LkÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçNone"#Y8 è qrcode-coreDraw all function patternsé qrcode-core9Draw both timing patterns (alternate black/white modules)ê qrcode-core?Draws a 5*5 alignment pattern, with the center module at (x, y)ë qrcode-core[Draws a 9*9 finder pattern including the border separator, with the center module at (x, y)ì qrcode-core+Draw the version information into the imageí qrcode-core€Mark all modules which will be used by the format bits as a function pattern (but don't actually write anything into it yet).î qrcode-core*Draw the actual format bits into the imageï qrcode-core>Draw the code words (data and error correction) into the imageð qrcode-core<Sets the color of a module and marks it as a function moduleñ qrcode-coreExecute an action n timesò qrcode-coreThe mask value of an ErrorLevelèîïNone"#Xa[Ëó qrcode-coreGApply the mask to the image, modules marked for functions are excluded.ô qrcode-core(Calculate the penalty score for an imageóôNone`³õ qrcode-coreÆConvert segments into an intermediate state. This is the first point where it can be guaranteed that there will be an result. The Version and ErrorLevel is already determined at this point.ö qrcode-core-Convert the intermediate state into an image.÷ qrcode-coreDraw the imageõö Nonea`úbcdebcdeNone aglf qrcode-coreWGenerate a segment representing the specified text string encoded in alphanumeric mode.dThe alphanumeric encoding contains this characters: "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:".¥When the input is case insensitive the chars are converted to uppercase since this alphabet contains only uppercase characters. This can be archived by applying  to the input.føùNoneaiÙg qrcode-core{Generate a segment representing an Extended Channel Interpretation (ECI) designator with the specified assignment value.gNoneapRh qrcode-coreGGenerate a segment representing the specified binary data in byte mode.i qrcode-core}Generate a segment representing the specified text data encoded as ISO-8859-1 or UTF-8 (with or without ECI) in byte mode.Please refer to B on what the difference is.^In case you want to encode as ISO-8859-1 and already have a [Word8] or similar you can use h as it creates the same result.hiúNoneau»j qrcode-coreQGenerate a segment representing the specified text data encoded as QR code Kanji.’Since this encoding does neither contain ASCII nor the half width katakana characters it may be impossible to encode all text in this encoding.SBut it is possible to encode some of it and combine it with others like ISO-8859-1.jûüNoneaw¸k qrcode-core_Generate a segment representing the specified string of decimal digits encoded in numeric mode.kýNonea{Õl qrcode-coreZEncode a string using any mode that seems fit, will encode the input in parts, each as k, f, j and i based on the contents.8Please refer to the specific documentations for details.+Should result in the shortest encoded data.l Nonem qrcode-coreSEncode a whole string using the mode with the shortest result. Will pick either k, f, j or i based on the contents.8Please refer to the specific documentations for details.m Noneƒ‰n qrcode-coreÆConvert segments into an intermediate state. This is the first point where it can be guaranteed that there will be an result. The Version and ErrorLevel is already determined at this point.o qrcode-core-Convert the intermediate state into an image.>  !"#$%'()*BCDEFGHIJKLMN]^_`afghijklmno lmihjfkgno Noneíp qrcode-corejEncode a string into an QR code using any mode that seems fit, will encode the input in parts, each as v, u, t and r based on the contents.8Please refer to the specific documentations for details.+Should result in the shortest encoded data.q qrcode-corecEncode a whole string into an QR code using the mode with the shortest result. Will pick either v, u, t or r based on the contents.8Please refer to the specific documentations for details.r qrcode-core}Generate a QR code representing the specified text data encoded as ISO-8859-1 or UTF-8 (with or without ECI) in byte mode.Please refer to B on what the difference is.^In case you want to encode as ISO-8859-1 and already have a [Word8] or similar you can use s as it creates the same result.s qrcode-coreGGenerate a QR code representing the specified binary data in byte mode.t qrcode-coreQGenerate a QR code representing the specified text data encoded as QR code Kanji.’Since this encoding does neither contain ASCII nor the half width katakana characters it may be impossible to encode all text in this encoding.u qrcode-coreWGenerate a QR code representing the specified text string encoded in alphanumeric mode.dThe alphanumeric encoding contains this characters: "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:".¥When the input is case insensitive the chars are converted to uppercase since this alphabet contains only uppercase characters. This can be archived by applying  to the input.v qrcode-core_Generate a QR code representing the specified string of decimal digits encoded in numeric mode.2  !"#$%BCDEFGHIJKLMNpqrstuvpqrstuv!SafeŸþÿ"#$%&'()*+,-./01234567889:;<=>??@ABCDEFGGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|} ~  € ‚ ƒ „…†‡ˆ‰Š‹ Œ Ž Ž ‘ ’ “ ”•–—˜™š•›œ•›•žŸ• ¡• ¢•–£•–¤•–¥•¦§•¦¨•©ª•«¬•«­•«®•¯°•¯±•¯²•¯³•¯´•¯µ•¯¶•¯·•¯¸•¯¹•¯º•¯»˜¼½˜¼¾˜¼¿•ÀÁ•À•ÀÕÀÄ•ÀÅ•ÀÆ•ÀÇ•ÀÈ•ÀÉ•ÀÊ•ÀË•ÀÌ•ÀÍ•ÀΕÀÏ•ÀЕÀÑ•ÀÒ•ÀÓ•¦Ô•¦Õ•¦Ö•¦×•¦Ø•¦Ù•¦Ú•¦Û•¦Ü•¦Ý•¦Þ•¦ß•–à•–á•–â•–ã•–ä•–å•–æ•–ç•èé•èê•èë•èì•èí•èî•èï•èð˜¼ñ˜¼ò˜¼ó˜¼ô˜¼õ˜¼ö˜¼÷˜¼ø•ùú•ùû•ùü•¦ý•¦þ•Àÿ•À•À•À•À•À•À•À•À•À•À •À •À •À •À •¦•¦•¦•¦•¦•¦•••••–•–•–•–•–•• •!•"•#•$•%•&•'•(•)•*•+•,•-.•-/•-0•-1•-2•–3•–4•–5•–6•–7•–8˜9:˜9;˜9<˜9=˜9>˜9?˜9@ABC•DE•DF•DG˜9H˜9I˜9J˜9K•¦L˜9M˜9N•OP•OQ•RS•RT•RU•VW•©X•-Y•-Z•ž[•ž\•ž]•ž^•ž_•ž`•ža•žb•žc•žd•že•žf•gh•ij•gk•gl•m•n•o•p•q•r•s•t•u•v•w•xy•xz•x{•x|•x}•x~•€••R‚•ùƒ•ù„•…†•‡ˆ•‡‰•Š‹•ŠŒ•Ž••‘•’•“•”•••–•—•˜•™•š•›•œ••ž•Ÿ• •¡•¢•£•¤•¥•¦•§¨•©ª•©«•¦¬•¦­•¦®•¦¯•¦°•¦±•²•³•´•µ•¶•›·•›¸•›¹•›º•›»•›¼•›½•›¾•›¿•›À•›Á•›•›Õ›Ä•›Å•›Æ•›Ç•›È•›É•›Ê•›Ë•›Ì•›Í•›Ε›Ï•›Е›Ñ•ÒÓ•ÒÔ•ÒÕ• Ö• ו Ø•èÙ•–Ú•–Û•–Ü•–Ý•–Þ•–ß•–à•–á•–â•–ã•–ä•–å•–æ•–ç•–è•–é•êë•êì•ê혼ðñòóôõö÷Dø#"ùúûüýþÿ|ö}       !"#$%&'()*+,-./012345678!9!:!;!<!=!>!?!@A(qrcode-core-0.9.0-J14f9p5m9bDGIGNjuUDDQkCodec.QRCode.Data.ErrorLevelCodec.QRCode.Data.MaskCodec.QRCode.Data.QRCodeOptionsCodec.QRCode.Data.QRImageCodec.QRCode.Data.ResultCodec.QRCode.Data.TextEncodingCodec.QRCode.Data.ToInputCodec.QRCode.Data.QRSegment Codec.QRCode.Data.QRIntermediate!Codec.QRCode.Intermediate.SpecialCodec.QRCode.Intermediate Codec.QRCodeCodec.QRCode.Base$Codec.QRCode.Code.ReedSolomonEncoder#Codec.QRCode.Data.ByteStreamBuilderCodec.QRCode.Data.Version$Codec.QRCode.Data.QRSegment.Internal)Codec.QRCode.Data.QRIntermediate.InternalCodec.QRCode.Code.DataCodec.QRCode.Data.MQRImageCodec.QRCode.Code.ImageCodec.QRCode.Code.MaskCodec.QRCode.Code.IntermediateCodec.QRCode.Mode.AlphanumericData.CaseInsensitivemkCodec.QRCode.Mode.ECICodec.QRCode.Mode.ByteCodec.QRCode.Mode.KanjiCodec.QRCode.Mode.NumericCodec.QRCode.Mode.MixedCodec.QRCode.Mode.AutomaticPaths_qrcode_core ErrorLevelLMQH$fBoundedErrorLevel$fEnumErrorLevel$fEqErrorLevel$fShowErrorLevelMaskMask0Mask1Mask2Mask3Mask4Mask5Mask6Mask7 $fBoundedMask $fEnumMask$fEqMask $fShowMask QRCodeOptions qroMinVersion qroMaxVersion qroErrorLevelqroBoostErrorLevelqroMaskdefaultQRCodeOptionsQRImage qrVersion qrErrorLevel qrImageSize qrImageDatatoListtoMatrix $fShowQRImageResult getResultresult$fMonoidResult$fSemigroupResult$fAlternativeResult$fApplicativeResult $fDataResult $fEqResult$fFoldableResult$fFunctorResult$fGenericResult$fGeneric1Result $fMonadResult$fMonadFixResult$fMonadPlusResult $fOrdResult $fReadResult $fShowResult$fTraversableResult $fEq1Result$fMonadFailResult$fMonadZipResult $fOrd1Result $fRead1Result $fShow1Result TextEncoding Iso8859_1Utf8WithoutECI Utf8WithECIIso8859_1OrUtf8WithoutECIIso8859_1OrUtf8WithECIToBinarytoBinary ToNumeric toNumericToTexttoStringisCI $fToTextCI $fToTextText $fToTextText0 $fToText[]$fToNumericText$fToNumericText0 $fToNumeric[]$fToNumeric[]0$fToBinaryVector$fToBinaryVector0$fToBinaryVector1$fToBinaryByteString$fToBinaryByteString0 $fToBinary[] QRSegmentQRIntermediateqrIntermediateVersionqrIntermediateErrorLevelqrIntermediateDataSizeemptyNumericSegmentemptyAlphanumericSegmentemptyByteSegmentemptyKanjiSegment alphanumericecibinarytextkanjinumericmixed automatic intermediateencodeencodeAutomatic encodeText encodeBinary encodeKanjiencodeAlphanumeric encodeNumericbaseGHC.Base++ghc-primGHC.PrimseqGHC.Listfilterzip System.IOprint Data.Tuplefstsnd otherwisemap$GHC.Real fromIntegral realToFrac Control.MonadguardGHC.ExtsIsListItem fromListNGHC.EnumBoundedminBoundmaxBoundEnumenumFrom enumFromThenenumFromThenTo enumFromTofromEnumtoEnumsuccpred GHC.ClassesEq==/= GHC.FloatFloatingpiexplogsqrt**logBasesincostanasinacosatansinhcoshtanhasinhacoshatanh Fractional fromRational/recipIntegral toIntegerquotremdivmodquotRemdivModMonad>>=>>returnfailFunctorfmap<$GHC.NumNum+*-negate fromIntegerabssignumOrd>=minmax><compare<=GHC.ReadRead readsPrecreadListReal toRational RealFloat floatRadix floatDigits floatRange decodeFloat encodeFloatexponent significand scaleFloatisNaN isInfiniteisDenormalizedisNegativeZeroisIEEEatan2RealFracproperFractiontruncateroundceilingfloorGHC.ShowShow showsPrecshowshowList Applicativepure<*>*><* Data.FoldableFoldablefoldrfoldMapnulllengthfoldlfoldl'foldl1sumproductfoldr1maximumminimumelemData.Traversable TraversabletraversemapM sequenceAsequence Semigroup<>Monoidmemptymappendmconcat GHC.TypesBoolFalseTrueCharDoubleFloatInt integer-gmpGHC.Integer.TypeInteger GHC.MaybeMaybeNothingJustOrderingLTEQGTRationalIOWordGHC.WordWord8Word16 Data.EitherEitherLeftRight Data.STRef modifySTRef'unless mapAccumLforMreadIOreadLn appendFile writeFilereadFileinteract getContentsgetLinegetCharputStrLnputStrputCharGHC.IO.ExceptionioErrorGHC.IOFilePath userErrorIOErrornotElemallanyorand concatMapconcat sequence_forM_mapM_foldlM Data.OldListunwordswordsunlineslinessortOn transpose Text.Readreadreadseitherlex readParenText.ParserCombinators.ReadPReadS GHC.UnicodetoUpperisDigit GHC.STRef readSTRefnewSTRefGHC.STrunST Data.BitsBits.&..|.xor complementshiftrotatezeroBitsbitsetBitclearBit complementBittestBit bitSizeMaybebitSizeisSignedshiftL unsafeShiftLshiftR unsafeShiftRrotateLrotateRpopCount Data.Boolbool Data.Functorvoid<$>lcmgcd^^^oddeven showParen showStringshowCharshowsShowSunzip3unzipzipWith3zipWithzip3!!lookupreversebreakspansplitAtdroptake dropWhile takeWhilecycle replicaterepeatiteratescanr1scanrscanl1scanlinitlasttailhead Data.Maybe fromMaybeisJustmaybeswapuncurrycurrysubtractasTypeOfuntil$!flip.constidordwhen=<< Alternativeempty<|>somemanyStringGHC.Err undefinederrorWithoutStackTraceerror&&||notrsGeneratorPolynomialrsEncodemultiplyRsGeneratorPolynomialByteStreamBuilder encodeBitsfromList toBitStream VersionRange Version1to9 Version10to26 Version27to40Version unVersionversionsInRangeLimitedBy unQRSegment constStream lengthSegmentqrIntermediateVersion_qrIntermediateErrorLevel_qrIntermediateDataSize_qrIntermediateData_qrIntermediateMask_ QRInternalqrSizecalcVersionAndErrorLevelappendEndAndPaddingappendErrorCorrection MQRImage3 mqrImage3Size mqrImage3DatamqrImage3FixedmqrImage3VersionmqrImage3ErrorLevel MQRImage2 mqrImage2Size mqrImage2DatamqrImage2FixedmqrImage2VersionmqrImage2ErrorLevel MQRImage1 mqrImage1Size mqrImage1DatamqrImage1FixedmqrImage1VersionmqrImage1ErrorLevelnew unsafeConvertclone unsafeFreezedrawFunctionPatternsdrawTimingPatternsdrawAlignmentPatterndrawFinderPattern drawVersionreserveFormatBitsdrawFormatBits drawCodeWordssetFunctionModuleiterateNerrorLevelMask applyMaskgetPenaltyScoretoIntermediatefromIntermediategenerateQRImage alphanumericBalphanumericMap encodeUtf8kanjiBkanjiMapnumericBversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName