úÎ!;û8ÿ&      !"#$%Safe.Ô blake3Opaque datatype of size  and alignment . Obtain with .blake3 In bytes.blake3 In bytes.blake3 In bytes.blake3 In bytes.&blake3 hvoid blake3_hasher_finalize_seek(const blake3_hasher *self, uint64_t seek, uint8_t *out, size_t out_len)'blake3 Tvoid blake3_hasher_finalize(const blake3_hasher *self, uint8_t *out, size_t out_len)(blake3 Svoid blake3_hasher_update(blake3_hasher *self, const void *input, size_t input_len))blake3 Lvoid blake3_hasher_init_derive_key(blake3_hasher *self, const char *context)*blake3 Evoid blake3_hasher_init_keyed(blake3_hasher *self, const uint8_t key[])+blake3 ,void blake3_hasher_init(blake3_hasher *self)&blake3Seek.blake3Out.blake3 Out length.blake3'blake3Out.blake3 Out length.blake3(blake3Data.blake3 Data length.blake3)blake3Context.blake3*blake3Key of length .+blake3,-.&'()*+None.;HMXk. blake3/Context for BLAKE3 key derivation. Obtain with ./blake3NUL-terminated CString.blake3 Key used for keyed hashing mode. Obtain with .See .blake3!Output from BLAKE3 algorithm, of len bytes.(The default digest length for BLAKE3 is . blake3Immutable BLAKE3 hashing state. Obtain with  or . blake3 Allocate  .The  1 is wiped and freed as soon as it becomes unused. blake3Mutate the given  . blake3Copy an inmutable  . blake3 Allocate a .The 1 is wiped and freed as soon as it becomes unused.blake3 Obtain a ! for use in BLAKE3 keyed hashing.See .blake3 Allocate a .The 1 is wiped and freed as soon as it becomes unused.blake3 Obtain a  for BLAKE3 key derivation.LThe context should be hardcoded, globally unique, and application-specific.(A good format for the context string is: +[application] [commit timestamp] [purpose]  For example: 2example.com 2019-12-25 16:18:03 session tokens v1 blake3 Initialize a .blake3 Initialize a  in keyed mode.blake3 Initialize a  in derivation mode.:The input key material must be provided afterwards, using .blake3Update  state with new data.blake3 Finalize  state and obtain a digest.The  is mutated.blake3Base 16 (hexadecimal).blake3Base 16 (hexadecimal).blake30 is a partial" function that fails if the given 1 contains 2s outside the range [3 0 .. 3 255]. See .blake3Base 16 (hexadecimal).blake3Constant time.blake3Constant time. blake3 Initialize  bytes. blake3Read or write. blake3 blake3 Initialize len bytes.blake3Key bytes. Must have length .blake3blake3 Initialize  bytes.blake3If bin, contains null bytes, this function returns 4.blake3Will be mutated.blake3Will be mutated.blake3blake3Will be mutated.blake3Will be mutated.blake3blake3Will be mutated.blake3   None.;HMXk8{blake3BLAKE3 hashing.For incremental hashing, see ", $ and %:  = % 5 $ " blake3BLAKE3 hashing with a .For incremental hashing, see #, $ and %:   key = % 5 $ (# key) !blake3BLAKE3 key derivation."blake3Initial   for incremental hashing.#blake3Initial   for incremental keyed hashing.$blake3Update   with new data.%blake3Update   with new data.blake3 Data to hash.blake3Default digest length is . blake3 Data to hash.blake3Default digest length is .!blake3Input key material.blake3Default digest length is ."blake3#blake3  !"#$% ! "#$%6      !"#$%&'()*+,-./0.12345.67.89.1:; blake3-0.1-BQPduNg4AnMO7jLnysYL1 BLAKE3.IOBLAKE3 BLAKE3.RawwithHasherInternalkey hashKeyedhasher hasherKeyedHasherInternal BLOCK_SIZEDEFAULT_DIGEST_LENKEY_LEN HASHER_SIZEHASHER_ALIGNMENTContextKeyDigestHasherallocRetHasher copyHasherallocRetDigest allocRetKeycontextinit initKeyed initDeriveupdatefinalize $fShowDigest $fShowKey$fIsStringContext $fShowContext $fEqDigest$fByteArrayAccessDigest$fEqKey$fByteArrayAccessKey $fEqContexthashderive finalize_seekinit_derive_key init_keyedMAX_SIMD_DEGREE MAX_DEPTH CHUNK_LENbase Data.String fromStringGHC.BaseStringghc-prim GHC.TypesCharGHC.EnumtoEnum GHC.MaybeNothing.