h&7l      Safe-Inferred,"%&()*/125689:;<  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~)  Safe-Inferred. "%&()*/125689:;< s  Safe-Inferred-"%&()*/125689:;<   Safe-Inferred- "%&()*/125689:;<   jsonifierAmount of bytes required for an escaped JSON string value without quotes.  Safe-Inferred,"%&()*/125689:;< /  jsonifier  "key":value  Safe-Inferred,"%&()*/125689:;<   Safe-Inferred,"%&()*/125689:;< jsonifier/Specification of how to render a JSON value to  . Sort of a JSON-specialized   builder.You can construct it from Haskell types using the specialized conversion functions like ,   or 1. After constructing, you can convert to strict   using the  function. jsonifier+Render a JSON value into strict bytestring. jsonifierRender a JSON value into Write. jsonifierJSON Null literal. jsonifierJSON true Boolean literal. jsonifierJSON false Boolean literal. jsonifierJSON Boolean literal. jsonifierJSON Number literal from Int. jsonifierJSON Number literal from Word.  jsonifierJSON Number literal from Double.Since JSON doesn't have support for them, non-real values like NaN, Infinity,  -Infinity get rendered as 0.  jsonifierJSON Number literal from  Scientific.  jsonifierJSON String literal from Text.  jsonifierJSON String literal from  Scientific.You may need this when the reader of your JSON cannot handle large number literals.  jsonifier9JSON Array literal from a foldable over element literals. jsonifierJSON Object literal from a foldable over pairs of key to value literal. jsonifier1Any JSON literal manually rendered as ByteString.This is a low-level function allowing to avoid unnecessary processing in cases where you already have a rendered JSON at hand.Warning:It is your responsibility to ensure that the content is correct JSON. jsonifier,Any JSON literal manually rendered as Write.This is a low-level function allowing to avoid unnecessary processing in cases where you already have a rendered JSON at hand.You can think of Write as a specialized version of ByteString builder. You can efficiently convert a ByteString to Write using  , making it possible to have parts of the JSON value tree rendered using other libraries. You can as well manually implement encoders for your custom types.Warning:It is your responsibility to ensure that the content is correct, otherwise you may produce invalid JSON.        !"!#$%&'()(*+,-./012-3456789:9;<=5>5?5@5A5BCDEFEGHIJIKILIMINIOIPIQIRISITIUVWVXVYZ[Z\Z]Z^Z_Z`ZaZbZcZdZeZfZgZhZiZjZkZlZmZnZoZpZq9r9s9t9u9v9w9x9y9z9{9|9}~VVVVVVVV99ZZZZZZZZZZZZZZZ999999 99$EE5<<<<<<<<<<<<<<1111111111111&&&&&&&&&&&&CCCCCCC///////////////////////////////////////////////////////////////////////$$$$EEEZZZ                                              9 9 9 9 9 9 9 9 9 9               ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !                  ( ( (                                                    V V V                         (jsonifier-0.2.1.3-GleqzYIB4jg7Pas5S4vXsp JsonifierJsonifier.Prelude Jsonifier.FfiJsonifier.TextJsonifier.SizeJsonifier.PokeJsonifier.WritePtrPoker.Write byteStringJson toByteStringtoWritenulltruefalsebool intNumber wordNumber doubleNumberscientificNumber textStringscientificStringarrayobjectfromByteString fromWritebaseGHC.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 realToFrac Control.MonadguardIsListtoList fromListNItemfromList Data.DynamictoDyn Unsafe.CoerceunsafeEqualityProof unsafeCoerce#joinGHC.EnumBoundedmaxBoundminBoundEnumsuccpredenumFromThenTo enumFromTo enumFromThenenumFromfromEnumtoEnum GHC.ClassesEq==/= GHC.FloatFloatingtanhtansqrtsinhsinpilogBaselog1pexplog1plog1mexplogexpm1expcoshcosatanhatanasinhasinacosh**acos Fractionalrecip fromRational/IntegralremquotRemquotmoddivMod toIntegerdivMonad>>>>=return Data.DataDatatoConstrgunfoldgmapTgmapQrgmapQlgmapQigmapQgmapMpgmapMogmapMgfoldl dataTypeOf dataCast1 dataCast2Functorfmap<$GHC.NumNumsignumabs*+negate fromInteger-Ord<<=>maxmincompare>=GHC.ReadReadreadPrec readListPrec readsPrecreadListReal toRational RealFloat significand scaleFloatisNegativeZeroisNaN isInfiniteisIEEEisDenormalized floatRange floatRadix floatDigitsexponent encodeFloatatan2 decodeFloatRealFractruncateroundproperFractionceilingfloorGHC.ShowShowshowListshow showsPrecGHC.IxIxindexinRange rangeSizerangeData.Typeable.InternalTypeableControl.Monad.FixMonadFixmfixControl.Monad.Fail MonadFailfail Data.StringIsString fromString ApplicativeliftA2<**><*>pure Data.FoldableFoldablefoldr'foldMap'foldMapfoldsumproductminimummaximumfoldr1foldl1foldl'elemfoldrlengthfoldlData.Traversable TraversabletraversesequencemapM sequenceA GHC.GenericsGeneric Semigroupstimes<>sconcatMonoidmconcatmemptymappend GHC.TypesBoolFalseTrue ByteArray#StringCharDoubleFloatIntGHC.IntInt8Int16Int32Int64 ghc-bignumGHC.Num.IntegerInteger GHC.MaybeMaybeNothingJustOrderingGTLTEQRatioRational RealWorld StablePtrIOWordGHC.WordWord8Word16Word32Word64GHC.PtrPtrFunPtr Data.EitherEitherRightLeftNonEmpty:| CoercibleUnsafeEquality UnsafeReflTyConGHC.ForeignPtr ForeignPtrGHC.IO.Handle.TypesHandleGHC.STSTData.Functor.ComposeCompose getCompose Data.ComplexComplex:+realPartpolarphasemkPolar magnitudeimagPart conjugatecis Data.FixedUniPicoNanoMilliMicro HasResolution resolutionFixedMkFixedE9E6E3E2E12E1E0DeciCenti showFixedmod'divMod'div' Data.VoidVoidvacuousabsurdData.Semigroup WrappedMonoid WrapMonoid unwrapMonoidMingetMinMaxgetMaxArgMinArgMaxArg mtimesDefaultdiffcycle1sortWithFixityInfixPrefixDataTypeDataRepNoRepCharRepAlgRepIntRepFloatRep ConstrRep IntConstr FloatConstr AlgConstr CharConstrConstrConIndex tyconUQname tyconModule showConstr repConstr readConstr mkRealConstr mkNoRepTypemkIntegralConstr mkIntType mkFloatType mkDataType mkConstrTagmkConstr mkCharType mkCharConstrmaxConstrIndex isNorepType isAlgType indexConstr fromConstrM fromConstrB fromConstr dataTypeRep dataTypeNamedataTypeConstrs constrType constrRep constrIndex constrFixity constrFieldsSystem.TimeoutTimeouttimeoutControl.ConcurrentthreadWaitWriteSTMthreadWaitWritethreadWaitReadSTMthreadWaitReadrunInUnboundThreadrunInBoundThreadrtsSupportsBoundThreadsisCurrentThreadBoundforkOSWithUnmaskforkOS forkFinallyControl.Concurrent.ChanChanwriteList2Chan writeChanreadChannewChangetChanContentsdupChanControl.Concurrent.QSemQSemwaitQSem signalQSemnewQSemControl.Concurrent.QSemNQSemN waitQSemN signalQSemNnewQSemNData.Bifunctor BifunctorsecondbimapfirstControl.Monad.IO.ClassMonadIOliftIO Data.RatioapproxRational Data.STRef modifySTRef' modifySTRef Data.UniqueUnique newUnique hashUniqueGHC.OverloadedLabelsIsLabel fromLabelGHC.StableName StableNamemakeStableNamehashStableName eqStableNameSystem.Environment withProgNamewithArgsunsetEnvsetEnv lookupEnv getProgNamegetEnvironmentgetEnvgetArgs!System.Environment.ExecutablePathgetExecutablePath System.ExitexitWith exitSuccess exitFailuredie System.MemperformMinorGCperformMajorGC performGC Text.PrintfprintfhPrintf zipWithM_zipWithMunless replicateM_ replicateMmfilter mapAndUnzipMforeverfoldM_foldMfilterM>=><=<<$!> Data.Version showVersion parseVersion traceStack traceShowM traceShowId traceShow traceMarkerIO traceMarkertraceMtraceIdtraceIO traceEventIO traceEvent putTraceMsg flushEventLog mapAccumR mapAccumLforMforfoldMapDefault fmapDefaultControl.ApplicativeZipList getZipList WrappedMonad WrapMonad unwrapMonadoptional Control.ArrowKleisli runKleisli ArrowZero zeroArrow ArrowPlus<+> ArrowMonad ArrowLooploop ArrowChoicerightleft|||+++ ArrowApplyappArrow&&&***arrreturnAleftApp^>>^<<>>^<<^ writeFilereadLnreadIOreadFileputStrLnputStrputCharinteractgetLine getContentsgetChar appendFile GHC.IO.HandlehClose GHC.Conc.IO threadDelay registerDelayioManagerCapabilitiesChangedensureIOManagerIsRunning closeFdWithGHC.Conc.SignalSignal HandlerFun setHandler runHandlersControl.Concurrent.MVarwithMVarMaskedwithMVarswapMVar modifyMVar_modifyMVarMasked_modifyMVarMasked modifyMVar mkWeakMVaraddMVarFinalizerSystem.IO.Unsafe unsafeFixIOControl.ExceptionHandlercatchesallowInterruptControl.Monad.ST.ImpfixSTSystem.IO.Error userErrorType tryIOErrorresourceVanishedErrorTypepermissionErrorType modifyIOError mkIOErrorisUserErrorType isUserErrorisResourceVanishedErrorTypeisResourceVanishedErrorisPermissionErrorTypeisPermissionErrorisIllegalOperationErrorTypeisIllegalOperationisFullErrorType isFullErrorisEOFErrorType isEOFErrorisDoesNotExistErrorTypeisDoesNotExistErrorisAlreadyInUseErrorTypeisAlreadyInUseErrorisAlreadyExistsErrorTypeisAlreadyExistsErrorioeSetLocation ioeSetHandleioeSetFileNameioeSetErrorTypeioeSetErrorStringioeGetLocation ioeGetHandleioeGetFileNameioeGetErrorTypeioeGetErrorStringillegalOperationErrorType fullErrorType eofErrorTypedoesNotExistErrorType catchIOErrorannotateIOErroralreadyInUseErrorTypealreadyExistsErrorTypeControl.Exception.Base TypeError RecUpdError RecSelError RecConErrorPatternMatchFailNonTermination NoMethodErrorNestedAtomicallytryJusttry onException mapException handleJusthandlefinally catchJustbracket_bracketOnErrorbracket GHC.Conc.Sync ThreadStatus ThreadRunningThreadFinished ThreadBlocked ThreadDiedThreadIdTVarSTMPrimMVar BlockReason BlockedOnSTMBlockedOnOther BlockedOnMVarBlockedOnForeignCallBlockedOnBlackHoleBlockedOnExceptionyield writeTVar unsafeIOToSTMthrowTothrowSTM threadStatusthreadCapabilitysetUncaughtExceptionHandlersetNumCapabilitiessetAllocationCounter runSparksretryreportStackOverflowreportHeapOverflow reportError readTVarIOreadTVarpseqpar numSparksnumCapabilities newTVarIOnewTVarnewStablePtrPrimMVar myThreadIdmkWeakThreadId labelThread killThreadgetUncaughtExceptionHandlergetNumProcessorsgetNumCapabilitiesgetAllocationCounterforkOnWithUnmaskforkOnforkIOWithUnmaskforkIOenableAllocationLimitdisableAllocationLimit childHandlercatchSTM atomicallyDynamic fromDynamicfromDyn dynTypeRepdynApplydynAppSomeAsyncException IOErrorType UserErrorUnsupportedOperationUnsatisfiedConstraints TimeExpired SystemErrorResourceVanishedResourceExhausted ResourceBusy ProtocolErrorPermissionDenied OtherError NoSuchThingInvalidArgument InterruptedInappropriateTypeIllegalOperation HardwareFaultEOF AlreadyExistsFixIOExceptionExitCode ExitFailure ExitSuccessDeadlockCompactionFailedBlockedIndefinitelyOnSTMBlockedIndefinitelyOnMVarAsyncException UserInterrupt ThreadKilled HeapOverflow StackOverflowAssertionFailedArrayExceptionIndexOutOfBoundsUndefinedElementAllocationLimitExceededuntangle stackOverflow ioExceptionioError heapOverflowcannotCompactPinnedcannotCompactMutablecannotCompactFunctionblockedIndefinitelyOnSTMblockedIndefinitelyOnMVarasyncExceptionToExceptionasyncExceptionFromExceptionallocationLimitExceeded Data.IORef modifyIORef' modifyIORef mkWeakIORefatomicWriteIORefatomicModifyIORefForeign.ForeignPtr.ImpnewForeignPtrEnv newForeignPtrmallocForeignPtrArray0mallocForeignPtrArray FinalizerPtrFinalizerEnvPtrwithForeignPtrtouchForeignPtrplusForeignPtrnewForeignPtr_mallocForeignPtrBytesmallocForeignPtrfinalizeForeignPtrcastForeignPtraddForeignPtrFinalizerEnvaddForeignPtrFinalizer GHC.IORefIORef writeIORef readIORefnewIORefatomicModifyIORef'GHC.IO MaskingStateUnmaskedMaskedInterruptibleMaskedUninterruptibleFilePathuninterruptibleMask_uninterruptibleMaskthrowIOstToIOmask_mask interruptiblegetMaskingStateevaluatecatch IOExceptionioe_type ioe_location ioe_handle ioe_filename ioe_errnoIOErrorioe_description userErrorunsupportedOperation GHC.Exception ErrorCallErrorCallWithLocationthrowGHC.Exception.Type Exception toExceptiondisplayException fromExceptionArithExceptionRatioZeroDenominatorLossOfPrecision DivideByZeroDenormal UnderflowOverflow Data.TypeableTypeRep typeRepTyContypeRepFingerprint typeRepArgstypeReptypeOf7typeOf6typeOf5typeOf4typeOf3typeOf2typeOf1typeOf splitTyConApp showsTypeRep rnfTypeRepmkFunTygcast2gcast1gcast funResultTyeqTcast tyConPackage tyConName tyConModuletyConFingerprint trLiftedReprnfTyConData.Functor.ConstConstgetConst traverse_ sequence_ sequenceA_ornotElemmsum minimumBy maximumBymapM_for_forM_foldrMfoldlMfind concatMapconcatasumanyandall Data.OldListzipWith7zipWith6zipWith5zipWith4zip7zip6zip5zip4wordsunzip7unzip6unzip5unzip4unwordsunlinesunionByunionunfoldr transposetails subsequences stripPrefixsortBysort singleton permutations partitionnubBynublines isSuffixOf isPrefixOf isInfixOf intersperse intersectBy intersect intercalateinsertByinsertinitsgroupBygroup genericTakegenericSplitAtgenericReplicate genericLength genericIndex genericDrop findIndices findIndex elemIndices elemIndex dropWhileEnddeleteFirstsBydeleteBydelete\\ Data.MonoidLastgetLastFirstgetFirstApgetApData.Semigroup.InternalSumgetSumProduct getProductEndoappEndoDualgetDualAnygetAnygetAltAllgetAll stimesMonoidstimesIdempotentData.OrdDowngetDown comparingclamp Foreign.PtrWordPtrIntPtr wordPtrToPtr ptrToWordPtr ptrToIntPtr intPtrToPtrfreeHaskellFunPtrForeign.StorableStorable pokeElemOff pokeByteOffpoke peekElemOff peekByteOffpeeksizeOf alignment freeStablePtrdeRefStablePtrcastStablePtrToPtrcastPtrToStablePtrunsafeCoerceUnliftedunsafeCoerceAddr unsafeCoerce Data.BitsXorgetXorIorgetIorIffgetIffAndgetAndoneBits Data.Char isSeparatorisNumberisMarkisLetter digitToInt Text.Readreads readMaybe readEitherreadrightspartitionEithersleftsisRightisLeft fromRightfromLefteither Data.ProxyProxyKProxy asProxyTypeOfControl.CategoryCategoryid.>>><<<Data.Type.Equality:~~:HRefl:~:ReflplusPtrnullPtr nullFunPtrminusPtrcastPtrToFunPtrcastPtrcastFunPtrToPtr castFunPtralignPtrNumericshowOct showIntAtBaseshowIntshowHex showHFloat showGFloatAlt showGFloat showFFloatAlt showFFloat showEFloatshowBin readSignedreadOctreadIntreadHex readFloatreadDecreadBin readParen readLitChar lexLitChar lexDigitslexText.ParserCombinators.ReadPReadS showFloatfromRat floatToDigits byteSwap64 byteSwap32 byteSwap16 bitReverse8 bitReverse64 bitReverse32 bitReverse16 GHC.UnicodeGeneralCategoryUppercaseLetterTitlecaseLetter SurrogateSpacingCombiningMarkSpace PrivateUseParagraphSeparator OtherSymbolOtherPunctuation OtherNumber OtherLetterOpenPunctuation NotAssignedNonSpacingMarkModifierSymbolModifierLetter MathSymbolLowercaseLetter LineSeparator LetterNumber InitialQuoteFormat FinalQuote EnclosingMark DecimalNumberDashPunctuationCurrencySymbolConnectorPunctuationControlClosePunctuationtoUppertoTitletoLowerisUpperisSymbolisSpace isPunctuationisPrint isOctDigitisLowerisLatin1 isHexDigitisDigit isControl isAsciiUpper isAsciiLowerisAscii isAlphaNumisAlphageneralCategoryGHC.Bits FiniteBits finiteBitSizecountLeadingZeroscountTrailingZerosBitszeroBitsxor unsafeShiftR unsafeShiftLtestBitshiftRshiftLshiftsetBitrotateRrotateLrotatepopCountisSigned complementBit complementclearBit bitSizeMaybebitSizebit.&..|.toIntegralSizedtestBitDefaultpopCountDefault bitDefault showSignedodd numeratorlcmgcdeven denominator^^^%GHC.Charchr GHC.STRefSTRef writeSTRef readSTRefnewSTRefrunSTShowSshows showString showParen showLitCharshowChar intToDigitzipWith3zipWithzip3unzip3unzip takeWhiletaketailsplitAtspanscanr1scanrscanl1scanl'scanlreverse replicaterepeatlookuplastiterate'iterateinitheadfoldl1' dropWhiledropcyclebreak!! Data.Maybe maybeToListmaybemapMaybe listToMaybe isNothingisJust fromMaybefromJust catMaybes Data.Bool Data.Functiononfix& Data.Functorvoid<&><$>$>uncurryswapcurryVersion versionTags versionBranch makeVersion GHC.IO.UnsafeunsafePerformIOunsafeInterleaveIOunsafeDupablePerformIOGHC.MVarMVar tryTakeMVar tryReadMVar tryPutMVartakeMVarreadMVarputMVarnewMVar newEmptyMVar isEmptyMVarsubtract MonadPlusmplusmzero Alternativesomemany<|>emptywhenuntilordliftM5liftM4liftM3liftM2liftMliftA3liftAflipconstasTypeOfap=<<<**>$!GHC.Err undefinederrorWithoutStackTraceerrorstimesIdempotentMonoid SomeException&&not||bytestring-0.11.3.1Data.ByteString.Internal ByteString text-1.2.5.0Data.Text.InternalText(scientific-0.3.7.0-BZgDEpvBgND3A3IRAWhT4Data.Scientific Scientific showAsText encodeTextcountTextEncodingdestruct stringBodycommas objectRowbooleanstring objectBody emptyArray emptyObjectopeningSquareBracketclosingSquareBracketopeningCurlyBracketclosingCurlyBracketcoloncomma doubleQuote