diff --git a/CHANGELOG b/CHANGELOG
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,5 +1,151 @@
 # Changelog
 
+## 0.3.0 (2026-11-12)
+
+A redesigned, hard-to-misuse API. Every value of an exported type is valid by
+construction, secrets cannot be printed, compared or encoded, public values
+have BIP-0327 byte encodings, and each kind of failure has its own error type.
+This release breaks every 0.2 program; the migration table below maps the old
+names to the new ones.
+
+* Breaking API changes (old -> new):
+  - `SecKey` (a newtype over `Integer` with `Num`, `Read`, `Eq`, `Ord`) ->
+    opaque `SecKey`: `secKeyFromBytes` (32 bytes, `0 < d < n`),
+    `secKeyToBytes`, `secKeyPubKey`. No `Show`, `Eq`, `Ord`, `Read`, `Num`
+    or `Generic`.
+  - `Pub` (ppad's `Projective`) -> `PubKey` (valid, finite, `Eq`/`Ord`/`Show`
+    on its 33-byte encoding) and `XOnlyPubKey`; `pubKeyFromPoint` and
+    `pubKeyPoint` convert from and to `ppad-secp256k1` points
+  - New `Encode` class (`encode`/`decode`) with the BIP-0327 byte formats for
+    `PubKey`, `XOnlyPubKey`, `PubNonce`, `AggNonce`, `PartialSignature`,
+    `Signature` and `Tweak`. Decoders reject non-canonical input: 32- and
+    65-byte public keys, invalid points, infinity where a finite point is
+    required, scalars `>= n`.
+  - `mkKeyAggContext pks mTweak` -> `keyAgg :: NonEmpty PubKey -> Either KeyAggError KeyAggContext`,
+    then `applyPlainTweak`/`applyXOnlyTweak`/`applyTaprootTweak`
+  - `sortPublicKeys` -> `keySort :: NonEmpty PubKey -> NonEmpty PubKey`
+  - `aggregatedPubkey` -> `aggPubKey` (possibly tweaked `Q`) and
+    `aggXOnlyPubKey` (what the final signature verifies against); new
+    `keyAggPubKeys` and `signerIndex`
+  - `Tweak (XOnlyTweak t | PlainTweak t)` and `applyTweak ctx tweak` ->
+    opaque `Tweak` (`tweakFromBytes`, `0 <= t < n`) with `applyPlainTweak`
+    and `applyXOnlyTweak`. New `applyTaprootTweak` computes the BIP-0341
+    TapTweak from the current key and an optional merkle root.
+  - Tweaks are given once, to the `KeyAggContext`; sessions no longer take a
+    tweak list
+  - `SecNonceGenParams`, `defaultSecNonceGenParams`, `secNonceGen`,
+    `publicNonce` -> `nonceGen :: PubKey -> NonceInputs -> IO (Either NonceGenError (SecNonce, PubNonce))`
+    with `NonceInputs` (`nonceSecKey`, `nonceAggPubKey` (x-only, as in
+    BIP-0327), `nonceMessage`, `nonceExtraInput`) and `noNonceInputs`
+  - `mkSecNonce` and `secNonceGenWithRand` removed from the public API:
+    secret nonces come from `nonceGen` (or, deliberately, from the new
+    `Crypto.Curve.Secp256k1.MuSig2.Unsafe` module)
+  - `SecNonce` is one-shot: its scalars live in a pinned buffer with an
+    atomic used flag. `sign :: SecNonce -> SecKey -> Session -> IO (Either SignError PartialSignature)`
+    consumes the nonce before any check (as BIP-0327's reference code and
+    libsecp256k1 do) and zero-fills the buffer; any later `sign` with it,
+    through any copy and from any thread, returns `SecNonceAlreadyUsed`.
+    A failed `sign` consumes the nonce too.
+  - Nonces generated with `nonceAggPubKey` or `nonceMessage` are bound to
+    them: `sign` returns `SecNonceSessionMismatch` for a session with
+    another aggregate key or message
+  - New `deterministicSign :: SecKey -> AggNonce -> KeyAggContext -> ByteString -> Maybe ByteString -> Either SignError (PubNonce, PartialSignature)`
+    (BIP-0327 `DeterministicSign`) for a signer without randomness that sends
+    its nonce last
+  - New module `Crypto.Curve.Secp256k1.MuSig2.Unsafe` with
+    `nonceGenWithRand` (caller-supplied randomness), `nonceGenCounter`
+    (libsecp256k1's `musig_nonce_gen_counter`), `secNonceToBytes` (BIP-0327
+    97-byte encoding; consumes the nonce), `secNonceFromBytes` and
+    `signWithoutVerification`
+  - New module `Crypto.Curve.Secp256k1.MuSig2.Coordinator`: a coordinator
+    collects the signers' encoded public nonces (`newNonceRound`,
+    `receivePubNonce`, `finishNonceRound`) and partial signatures
+    (`newSigRound`, `receivePartialSig`, `finishSigRound`) by signer index,
+    decodes and verifies each one as it arrives, and blames the signer of an
+    invalid, conflicting, unknown or missing contribution (`Blame`,
+    `BlameReason`). `finishSigRound` also checks the final BIP-340 signature
+    (`SigRoundError`).
+  - `NonceGenError` gains `InvalidRandLength` and `NonceIsZero` (from the
+    `Unsafe` generators only); `SignError` gains `SecNonceAlreadyUsed`,
+    `SecNonceSessionMismatch`, and, for `deterministicSign`,
+    `InvalidAuxRandLength`, `DeterministicNonceIsZero` and
+    `AggOtherNonceAtInfinity`
+  - `aggNonces` -> `nonceAgg :: NonEmpty PubNonce -> AggNonce` (total);
+    aggregate nonces have their own type, `AggNonce`, whose points may be
+    infinity
+  - `SessionContext(..)` and `mkSessionContext aggNonce pks tweaks msg` ->
+    opaque `Session` from `newSession :: KeyAggContext -> AggNonce -> ByteString -> Session`
+    (total), which computes the session values once; `sessionKeyAgg`
+  - `sign` now returns `IO (Either SignError PartialSignature)`;
+    `PartialSignature` is opaque instead of `Integer`
+  - `partialSigVerify psig nonces pks tweaks msg i` ->
+    `partialSigVerify :: Session -> PubKey -> PubNonce -> PartialSignature -> Bool`,
+    without rebuilding the session per call
+  - `aggPartials psigs ctx` -> `partialSigAgg :: Session -> NonEmpty PartialSignature -> Signature`
+    (total)
+  - New `verify :: XOnlyPubKey -> ByteString -> Signature -> Bool` (BIP-0340)
+  - `MuSig2Error` -> `DecodeError`, `KeyAggError`, `NonceGenError` and
+    `SignError`, with no `String` or secret payloads and `Exception`
+    instances. `sign` reports `SecNonceKeyMismatch`, `SignerNotInSession` or
+    `SelfVerificationFailed` instead of the misleading
+    `SecretKeyPublicKeyMismatch`/`PublicNonceGenerationFailed`.
+  - Removed the orphan `Ord`, `Semigroup` and `Monoid` instances on ppad's
+    `Projective`, and the `Semigroup`/`Monoid` instances on `PubNonce`
+  - `NFData` instances for all exported types
+* Other changes:
+  - Key aggregation is `O(n)` instead of `O(n^2)`: the key list is hashed
+    once and keys with coefficient 1 are not multiplied (200 keys: ~600 ms
+    -> ~50 ms)
+  - Public scalar multiplications are variable-time; multiplications of the
+    generator use ppad's precomputed (timing-safe) wNAF tables. A 2-of-2
+    session from nonce aggregation to the verified signature is ~5x faster.
+  - `nonceGen` rejects extra input longer than `2^32 - 1` bytes instead of
+    silently truncating its length (`NonceExtraInputTooLong`)
+  - All fields holding points or scalars are strict, and nonce aggregation
+    folds strictly
+  - `pubKeyFromPoint` rejects points that are not on the curve
+  - The implementation lives in a private `internal` library used by the
+    tests and benchmarks
+  - The README and module examples are compiled and run by the test suite
+  - Tests: official BIP-0327 vectors for invalid encodings and
+    `DeterministicSign` now run, checking that decoding fails for exactly the
+    contribution the vector blames (the `NonceAgg` and `PartialSigAgg`
+    vectors also run through the coordinator, which must blame the same
+    signer); a committed differential corpus of 300 sessions and 48
+    `NonceGen` cases generated by the BIP-0327 reference implementation
+    (`scripts/gen-diff-corpus.py`, `test/vectors/diff`) is replayed byte for
+    byte; the coordinator's blame is tested for every kind of misbehavior
+    and for any order of arrival; nonce reuse (sequential, through copies
+    and from many threads at once), session binding and zero-filling are
+    tested;
+    property tests run complete multi-signer sessions with random plain,
+    x-only and Taproot tweaks and check the final signature, and corrupt
+    inputs to check that verification fails
+* Drop support for GHC 9.8 (`base >= 4.20`); tested with GHC 9.10.3, 9.12.4
+  and 9.14.1
+* Security hardening:
+  - Constant-time arithmetic on secrets: secret keys and nonce scalars are
+    no longer `Integer`s. They are parsed, range-checked (`secKeyFromBytes`,
+    `secNonceFromBytes`), reduced from hashes (`NonceGen`,
+    `DeterministicSign`), combined in `sign`, negated and encoded with
+    `ppad-fixed`'s constant-time Montgomery arithmetic, and passed to the
+    generator multiplication as fixed-width words instead of through the
+    variable-time `fromInteger`. Public values stay `Integer`. New
+    dependency: `ppad-fixed >= 0.2.2`.
+  - Require `entropy >= 0.4.1.6`, which waits for the kernel entropy pool
+    (`getrandom`) instead of reading `/dev/urandom` early at boot
+  - Require `ppad-sha256 >= 0.3.5`, which no longer crashes on aarch64 CPUs
+    without SHA2 instructions
+  - Under the `llvm` flag on x86_64, disable LLVM's cmov-to-branch conversion
+    (`-optlc=-x86-cmov-converter=false`), as `ppad-secp256k1` does
+  - Drop the `binary` dependency
+  - Correct the security documentation: nonce reuse in any session leaks the
+    secret key, `secNonceGenWithRand` is deterministic, and the remaining
+    caveats of constant-time code (public values are variable-time by
+    design, GHC's code generation, best-effort zeroization) are spelled out
+* Fix the README and module examples, which imported a module from a package
+  that is no longer a dependency
+
 ## 0.2.1 (2026-11-12)
 
 * BIP-0327 conformance fixes:
diff --git a/README.md b/README.md
new file mode 100644
--- /dev/null
+++ b/README.md
@@ -0,0 +1,227 @@
+# musig2
+
+[![](https://img.shields.io/hackage/v/musig2?color=blue)](https://hackage.haskell.org/package/musig2)
+![](https://img.shields.io/badge/license-MIT-brightgreen)
+[![](https://img.shields.io/badge/haddock-musig2-lightblue)](https://hackage-content.haskell.org/package/musig2/docs/Crypto-Curve-Secp256k1-MuSig2.html)
+
+A pure Haskell implementation of [BIP-0327][bip327] [MuSig2 multi-signature
+scheme][musig2] on [secp256k1][ppad-secp256k1]. The library implements partial
+signatures with tweak support following best practices and guidelines
+from [BIP-0327][bip327].
+
+## Usage
+
+Two signers produce one BIP-340 signature for their aggregate key. Public
+values travel between signers as bytes (`encode`/`decode`, in the BIP-0327
+formats); decoding validates them.
+
+<!-- example start -->
+```haskell
+{-# LANGUAGE OverloadedStrings #-}
+
+import Control.Exception (Exception, throwIO)
+import qualified Crypto.Curve.Secp256k1.MuSig2 as MuSig2
+import qualified Data.ByteString as BS
+import Data.List.NonEmpty (NonEmpty (..))
+import qualified Data.List.NonEmpty as NE
+
+-- | Throws the error of a 'Left'.
+orThrow :: (Exception e) => Either e a -> IO a
+orThrow = either throwIO pure
+
+-- | Two signers sign a message; returns whether the signature verifies.
+example :: IO Bool
+example = do
+  -- Each signer has a secret key and publishes its public key.
+  -- (Fixed keys for the example only: never hard-code real keys.)
+  sk1 <- orThrow (MuSig2.secKeyFromBytes (BS.replicate 32 0x11))
+  sk2 <- orThrow (MuSig2.secKeyFromBytes (BS.replicate 32 0x22))
+  let pk1 = MuSig2.secKeyPubKey sk1
+      pk2 = MuSig2.secKeyPubKey sk2
+
+  -- Everyone aggregates the same list of public keys, here sorted.
+  keyAggCtx <- orThrow (MuSig2.keyAgg (MuSig2.keySort (pk1 :| [pk2])))
+  let aggKey = MuSig2.aggXOnlyPubKey keyAggCtx
+      msg = "i approve of this message"
+
+  -- Each signer generates a fresh nonce and publishes the public part.
+  (secNonce1, pubNonce1) <- MuSig2.nonceGen pk1 MuSig2.noNonceInputs >>= orThrow
+  (secNonce2, pubNonce2) <- MuSig2.nonceGen pk2 MuSig2.noNonceInputs >>= orThrow
+
+  -- Values travel as bytes; decoding validates them.
+  received <- orThrow (MuSig2.decode (MuSig2.encode pubNonce2))
+
+  -- Everyone aggregates the public nonces and opens the same session.
+  let session = MuSig2.newSession keyAggCtx (MuSig2.nonceAgg (pubNonce1 :| [received])) msg
+
+  -- Each signer signs once with its nonce and publishes its partial signature.
+  -- 'sign' consumes the secret nonce: signing again with it fails.
+  psig1 <- MuSig2.sign secNonce1 sk1 session >>= orThrow
+  psig2 <- MuSig2.sign secNonce2 sk2 session >>= orThrow
+
+  -- The aggregator checks each partial signature, then aggregates them.
+  let valid =
+        MuSig2.partialSigVerify session pk1 pubNonce1 psig1
+          && MuSig2.partialSigVerify session pk2 pubNonce2 psig2
+      signature = MuSig2.partialSigAgg session (psig1 :| [psig2])
+
+  -- The result is an ordinary BIP-340 signature for the aggregate key.
+  pure (valid && MuSig2.verify aggKey msg signature)
+```
+<!-- example end -->
+
+A Taproot output key is the aggregate key tweaked with `applyTaprootTweak`;
+tweaks live in the key aggregation context only, and sessions are opened on
+the tweaked context:
+
+<!-- taproot start -->
+```haskell
+-- | Three signers spend a Taproot output by key path.
+taprootExample :: IO Bool
+taprootExample = do
+  sks <- traverse (orThrow . MuSig2.secKeyFromBytes . BS.replicate 32) (0x33 :| [0x44, 0x55])
+  let pks = fmap MuSig2.secKeyPubKey sks
+
+  -- The internal key is the aggregate key; the output key commits to the
+  -- script tree's merkle root ('Nothing' for a key-path-only output, BIP-86).
+  internal <- orThrow (MuSig2.keyAgg (MuSig2.keySort pks))
+  output <- orThrow (MuSig2.applyTaprootTweak (Just (BS.replicate 32 0xAB)) internal)
+  let outputKey = MuSig2.aggXOnlyPubKey output
+      sighash = BS.replicate 32 0x01
+
+  -- Binding the nonces to the key and message adds protection against bad randomness.
+  let inputs sk =
+        MuSig2.noNonceInputs
+          { MuSig2.nonceSecKey = Just sk
+          , MuSig2.nonceAggPubKey = Just outputKey
+          , MuSig2.nonceMessage = Just sighash
+          }
+  nonces <- traverse (\sk -> MuSig2.nonceGen (MuSig2.secKeyPubKey sk) (inputs sk) >>= orThrow) sks
+
+  -- Sessions are opened on the tweaked context: the tweak lives in the context only.
+  let session = MuSig2.newSession output (MuSig2.nonceAgg (fmap snd nonces)) sighash
+  psigs <- traverse (\(sk, (secNonce, _)) -> MuSig2.sign secNonce sk session >>= orThrow) (NE.zip sks nonces)
+  let signature = MuSig2.partialSigAgg session psigs
+  pure (MuSig2.verify outputKey sighash signature)
+```
+<!-- taproot end -->
+
+### Coordinator
+
+The `Crypto.Curve.Secp256k1.MuSig2.Coordinator` module collects the signers'
+contributions as bytes, by signer index (the position of the signer's key in
+the key aggregation context). It decodes and verifies each nonce and partial
+signature as it arrives and blames the signer of an invalid, conflicting or
+missing one (`Blame`). The coordinator can be one of the signers or a
+separate, untrusted party: a wrong aggregate nonce can only make the session
+fail. With `Control.Monad (foldM)`, `Data.Bifunctor (first)` and the module
+imported qualified as `Coordinator`:
+
+<!-- coordinator start -->
+```haskell
+-- | A coordinator collects three signers' nonces and partial signatures as bytes.
+coordinatorExample :: IO Bool
+coordinatorExample = do
+  sks <- traverse (orThrow . MuSig2.secKeyFromBytes . BS.replicate 32) (0x66 :| [0x77, 0x88])
+  -- Signer i is the one with the i-th public key of the context.
+  keyAggCtx <- orThrow (MuSig2.keyAgg (fmap MuSig2.secKeyPubKey sks))
+  let msg = "pay Carol 1 BTC"
+
+  -- Round one: each signer sends its encoded public nonce, in any order.
+  nonces <- traverse (\sk -> MuSig2.nonceGen (MuSig2.secKeyPubKey sk) MuSig2.noNonceInputs >>= orThrow) (NE.toList sks)
+  nonceRound <-
+    orThrow $
+      foldM
+        (\r (i, (_, pubNonce)) -> Coordinator.receivePubNonce i (MuSig2.encode pubNonce) r)
+        (Coordinator.newNonceRound keyAggCtx)
+        (zip [0 ..] nonces)
+  -- Fails if a nonce is missing (here reporting only the first such signer).
+  collected <- orThrow (first NE.head (Coordinator.finishNonceRound nonceRound))
+
+  -- The coordinator sends the aggregate nonce to every signer, who decodes it
+  -- and opens the session.
+  aggNonce <- orThrow (MuSig2.decode (MuSig2.encode (Coordinator.collectedAggNonce collected)))
+  let session = MuSig2.newSession keyAggCtx aggNonce msg
+
+  -- Round two: each signer sends its encoded partial signature. The
+  -- coordinator verifies each one and blames the signer of an invalid one.
+  psigs <- traverse (\(sk, (secNonce, _)) -> MuSig2.sign secNonce sk session >>= orThrow) (zip (NE.toList sks) nonces)
+  sigRound <-
+    orThrow $
+      foldM
+        (\r (i, psig) -> Coordinator.receivePartialSig i (MuSig2.encode psig) r)
+        (Coordinator.newSigRound collected msg)
+        (zip [0 ..] psigs)
+  -- Aggregates the partial signatures and verifies the result.
+  signature <- orThrow (Coordinator.finishSigRound sigRound)
+  pure (MuSig2.verify (MuSig2.aggXOnlyPubKey keyAggCtx) msg signature)
+```
+<!-- coordinator end -->
+
+All three examples are compiled and run by the test suite (`test/Example.hs`),
+which also checks that this README shows them verbatim.
+
+Upgrading from 0.2? The [CHANGELOG](CHANGELOG) lists every renamed and
+removed function.
+
+## Documentation
+
+Haddocks (API documentation, etc.) are hosted at [hackage][hackage].
+
+## Security
+
+Read the security considerations in the
+[module documentation][haddock] before using the library. Secret nonces are
+one-shot: `sign` atomically consumes the nonce (and zero-fills its buffer)
+before anything else, so a second `sign` with the same nonce, from any copy
+or thread, fails with `SecNonceAlreadyUsed`. The
+`Crypto.Curve.Secp256k1.MuSig2.Unsafe` module holds the escape hatches this
+cannot cover (caller-supplied randomness, counters, exporting secret nonces).
+Arithmetic on secret keys and nonces is constant-time (fixed-width
+Montgomery arithmetic from `ppad-fixed`); the module documentation lists the
+remaining caveats.
+
+The API is hard to misuse by construction: every value of an exported type is
+valid (decoders and smart constructors check points, scalar ranges and
+lengths), secret keys and nonces have no `Show`, `Eq`, `Ord` or encoding,
+and errors carry no secrets.
+
+The test suite runs the official [BIP-0327][bip327] test vectors, loaded
+from the upstream JSON files, with exact-output assertions; invalid-encoding
+vectors check that decoding fails for exactly the contribution the vector
+blames, including the `DeterministicSign` vectors. A committed corpus of 300
+sessions generated by the BIP-0327 reference implementation
+(`scripts/gen-diff-corpus.py`) is replayed byte for byte, covering 1 to 8
+signers, duplicate keys, tweak chains, long messages, every combination of
+`NonceGen` inputs, `DeterministicSign` and aggregate nonces at infinity.
+[`QuickCheck`][quickcheck] properties run complete
+multi-signer sessions with random tweaks (plain, x-only and Taproot) and check
+the final signature with BIP-340 verification.
+Elliptic curve operations are done by the
+[`ppad-secp256k1`][ppad-secp256k1] package.
+
+## Development
+
+You'll require [Nix][nixos] with [flake][flake] support enabled. Enter a
+development shell with:
+
+```console
+$ nix develop
+```
+
+Then do e.g.:
+
+```console
+$ cabal repl musig2
+```
+
+to get a REPL for the main library.
+
+[musig2]: https://eprint.iacr.org/2020/1261
+[bip327]: https://github.com/bitcoin/bips/blob/master/bip-0327.mediawiki
+[ppad-secp256k1]: https://github.com/ppad-tech/secp256k1
+[hackage]: https://hackage.haskell.org/package/musig2
+[haddock]: https://hackage-content.haskell.org/package/musig2/docs/Crypto-Curve-Secp256k1-MuSig2.html
+[quickcheck]: https://hackage.haskell.org/package/QuickCheck
+[nixos]: https://nixos.org/
+[flake]: https://nixos.org/manual/nix/unstable/command-ref/new-cli/nix3-flake.html
diff --git a/bench/Main.hs b/bench/Main.hs
--- a/bench/Main.hs
+++ b/bench/Main.hs
@@ -1,277 +1,114 @@
-{-# LANGUAGE BangPatterns #-}
 {-# LANGUAGE OverloadedStrings #-}
-{-# OPTIONS_GHC -Wno-name-shadowing #-}
-{-# OPTIONS_GHC -fno-warn-incomplete-uni-patterns #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
 
 module Main where
 
-import Control.DeepSeq
 import Criterion.Main
-import qualified Crypto.Curve.Secp256k1 as S
-import Crypto.Curve.Secp256k1.MuSig2 (
-  KeyAggContext,
-  PubNonce (..),
-  SecKey (..),
-  SecNonce,
-  SecNonceGenParams (..),
-  SessionContext (..),
-  Tweak (..),
- )
-import qualified Crypto.Curve.Secp256k1.MuSig2 as M
+import Crypto.Curve.Secp256k1.MuSig2
+import Crypto.Curve.Secp256k1.MuSig2.Internal.Nonce (newSecNonce, pubNonceFromScalars)
+import Crypto.Curve.Secp256k1.MuSig2.Internal.Scalar (SecScalar, integerToBytes32, secScalarFromBytes)
+import Crypto.Curve.Secp256k1.MuSig2.Unsafe (nonceGenWithRand, signWithoutVerification)
+import Data.ByteString (ByteString)
 import qualified Data.ByteString as BS
-import qualified Data.ByteString.Base16 as B16
+import Data.List.NonEmpty (NonEmpty (..))
+import qualified Data.List.NonEmpty as NE
+import Data.Maybe (fromMaybe)
 
--- | Unwrap a Right value, crashing on Left (bench setup only).
+-- | Unwraps a 'Right' (benchmark setup only).
 unsafeRight :: (Show e) => Either e a -> a
 unsafeRight = either (error . show) id
 
--- NFData instances for benchmarking
-instance NFData S.Projective
-instance NFData S.Affine
-instance NFData S.ECDSA
-instance NFData S.Context
-
-instance NFData SecKey where
-  rnf (SecKey i) = rnf i
-
-instance NFData SecNonce where
-  rnf sn = sn `seq` ()
-
-instance NFData PubNonce where
-  rnf (PubNonce r1 r2) = rnf r1 `seq` rnf r2
-
-instance NFData Tweak where
-  rnf (XOnlyTweak i) = rnf i
-  rnf (PlainTweak i) = rnf i
-
-instance NFData KeyAggContext where
-  rnf ctx = rnf (M.aggregatedPubkey ctx)
+secKeyN :: Integer -> SecKey
+secKeyN = unsafeRight . secKeyFromBytes . integerToBytes32
 
-instance NFData SessionContext where
-  rnf (SessionContext an ps ts m kc) =
-    rnf an `seq` rnf ps `seq` rnf ts `seq` rnf m `seq` rnf kc
+secScalarN :: Integer -> SecScalar
+secScalarN = unsafeRight . secScalarFromBytes . integerToBytes32
 
-instance NFData SecNonceGenParams where
-  rnf (SecNonceGenParams pk sk apk mg ei) =
-    rnf pk `seq` rnf sk `seq` rnf apk `seq` rnf mg `seq` rnf ei
+-- | @n@ distinct public keys.
+pubKeys :: Int -> NonEmpty PubKey
+pubKeys n = NE.fromList [secKeyPubKey (secKeyN (fromIntegral i * 7919 + 3)) | i <- [1 .. n]]
 
-instance NFData M.MuSig2Error where
-  rnf = rwhnf
+msg :: ByteString
+msg = "0123456789abcdef0123456789abcdef"
 
--- | Main benchmark function.
-main :: IO ()
-main =
-  defaultMain
-    [ keyAgg
-    , tweakOps
-    , nonceGen
-    , nonceAgg
-    , sessionOps
-    , signing
-    , verification
+-- | Two signers with fixed nonce scalars and their public nonces.
+signers :: NonEmpty (SecKey, (SecScalar, SecScalar), PubNonce)
+signers =
+  NE.fromList
+    [ (sk, (k1, k2), fromMaybe (error "zero nonce") (pubNonceFromScalars k1 k2))
+    | (sk, i) <- [(secKeyN 11, 1), (secKeyN 22, 2)]
+    , let k1 = secScalarN (100 + i)
+          k2 = secScalarN (200 + i)
     ]
 
--- | A big scalar.
-largeScalar :: Integer
-largeScalar = 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed
+-- | A fresh one-shot secret nonce for a signer (a nonce signs once, so every run needs one).
+freshNonce :: (SecKey, (SecScalar, SecScalar), PubNonce) -> IO SecNonce
+freshNonce (sk, (k1, k2), pn) = newSecNonce k1 k2 (secKeyPubKey sk) pn Nothing Nothing
 
--- | Key aggregation.
-keyAgg :: Benchmark
-keyAgg =
-  bgroup
-    "key_aggregation"
-    [ bench "mkKeyAggContext (2 keys)" $ nf (M.mkKeyAggContext [p, q]) Nothing
-    , bench "mkKeyAggContext (3 keys)" $ nf (M.mkKeyAggContext [p, q, r]) Nothing
-    , bench "mkKeyAggContext (5 keys)" $ nf (M.mkKeyAggContext [p, q, r, s, t]) Nothing
-    , bench "sortPublicKeys (5 keys)" $ nf M.sortPublicKeys [p, q, r, s, t]
-    , bench "aggregatedPubkey" $ nf M.aggregatedPubkey keyCtx2
-    ]
+signerKey :: (SecKey, (SecScalar, SecScalar), PubNonce) -> SecKey
+signerKey (sk, _, _) = sk
 
--- | Tweak operations.
-tweakOps :: Benchmark
-tweakOps =
-  bgroup
-    "tweaks"
-    [ bench "applyTweak (PlainTweak)" $ nf (M.applyTweak keyCtx2) plainTweak
-    , bench "applyTweak (XOnlyTweak)" $ nf (M.applyTweak keyCtx2) xonlyTweak
-    , bench "mkKeyAggContext with tweak" $ nf (M.mkKeyAggContext [p, q]) (Just plainTweak)
-    ]
+keyAggCtx :: KeyAggContext
+keyAggCtx = unsafeRight (keyAgg (fmap (secKeyPubKey . signerKey) signers))
 
--- | Nonce generation.
-nonceGen :: Benchmark
-nonceGen = env setupNonce $ \ ~(params, rand) ->
-  bgroup
-    "nonce_generation"
-    [ bench "secNonceGen (minimal params)" $ nfIO (M.secNonceGen params)
-    , bench "secNonceGenWithRand" $ nf (M.secNonceGenWithRand rand) params
-    , bench "publicNonce" $ nf M.publicNonce secNonce1
-    ]
- where
-  setupNonce = do
-    let params = M.defaultSecNonceGenParams p
-    let rand = BS.replicate 32 0x42
-    pure (params, rand)
+pubNonces :: NonEmpty PubNonce
+pubNonces = fmap (\(_, _, pn) -> pn) signers
 
--- | Nonce aggregation.
-nonceAgg :: Benchmark
-nonceAgg =
-  bgroup
-    "nonce_aggregation"
-    [ bench "aggNonces (2 nonces)" $ nf M.aggNonces [pubNonce1, pubNonce2]
-    , bench "aggNonces (3 nonces)" $ nf M.aggNonces [pubNonce1, pubNonce2, pubNonce3]
-    , bench "aggNonces (5 nonces)" $ nf M.aggNonces [pubNonce1, pubNonce2, pubNonce3, pubNonce4, pubNonce5]
-    ]
+session :: Session
+session = newSession keyAggCtx (nonceAgg pubNonces) msg
 
--- | Session operations.
-sessionOps :: Benchmark
-sessionOps = env setupSession $ \ ~(aggNonce, pks, tweaks) ->
-  bgroup
-    "session_context"
-    [ bench "mkSessionContext (no tweaks)" $ nf (M.mkSessionContext aggNonce pks []) sMsg
-    , bench "mkSessionContext (with tweaks)" $ nf (M.mkSessionContext aggNonce pks tweaks) sMsg
-    ]
- where
-  setupSession = do
-    let !aggNonce = unsafeRight $ M.aggNonces [pubNonce1, pubNonce2]
-        !pks = [p, q]
-        !tweaks = [plainTweak, xonlyTweak]
-    pure (aggNonce, pks, tweaks)
+-- | Signs with a fresh nonce.
+signFresh :: Session -> (SecKey, (SecScalar, SecScalar), PubNonce) -> IO PartialSignature
+signFresh ses s = freshNonce s >>= \sn -> unsafeRight <$> sign sn (signerKey s) ses
 
--- | Signing benchmarks.
-signing :: Benchmark
-signing = env setupSigning $ \ ~(ctx, secNonce, sk) ->
-  bgroup
-    "signing"
-    [ bench "sign (2 signers)" $ nf (M.sign secNonce sk) ctx
-    ]
- where
-  setupSigning = do
-    let !aggNonce = unsafeRight $ M.aggNonces [pubNonce1, pubNonce2]
-        !ctx = unsafeRight $ M.mkSessionContext aggNonce [p, q] [] sMsg
-        !secNonce = secNonce1
-        !sk = SecKey ssk
-    pure (ctx, secNonce, sk)
+-- | Nonce aggregation, session, both partial signatures, their verification, aggregation and BIP-340 verification.
+fullFlow :: ByteString -> IO Bool
+fullFlow m = do
+  let ses = newSession keyAggCtx (nonceAgg pubNonces) m
+  ps <- traverse (signFresh ses) signers
+  let ok = and (zipWith3 (partialSigVerify ses) (map (secKeyPubKey . signerKey) (NE.toList signers)) (NE.toList pubNonces) (NE.toList ps))
+  pure (ok && verify (aggXOnlyPubKey keyAggCtx) m (partialSigAgg ses ps))
 
--- | Verification.
-verification :: Benchmark
-verification = env setupVerification $ \ ~(partial, nonces, pks, ctx) ->
-  bgroup
-    "verification"
-    [ bench "partialSigVerify" $ nf (\p -> M.partialSigVerify p nonces pks [] sMsg 0) partial
-    , bench "aggPartials" $ nf (M.aggPartials [partial]) ctx
+main :: IO ()
+main = do
+  psigs <- traverse (signFresh session) signers
+  let aggOther = nonceAgg (NE.fromList (NE.tail pubNonces))
+  defaultMain
+    [ bgroup
+        "key_aggregation"
+        ( [env (pure (pubKeys n)) $ \pks -> bench ("keyAgg (n=" <> show n <> ")") $ nf keyAgg pks | n <- [2, 10, 50, 200]]
+            <> [env (pure (pubKeys 50)) $ \pks -> bench "keySort (n=50)" $ nf keySort pks]
+        )
+    , bgroup
+        "tweaks"
+        [ bench "applyPlainTweak" $ nf (applyPlainTweak tweak) keyAggCtx
+        , bench "applyXOnlyTweak" $ nf (applyXOnlyTweak tweak) keyAggCtx
+        , bench "applyTaprootTweak" $ nf (applyTaprootTweak (Just (BS.replicate 32 0xAB))) keyAggCtx
+        ]
+    , bgroup
+        "nonces"
+        [ bench "nonceGen" $ nfIO (fmap (fmap snd) (nonceGen pk1 noNonceInputs))
+        , bench "nonceGenWithRand (all inputs)" $ nfIO (fmap (fmap snd) (nonceGenWithRand (BS.replicate 32 0x42) pk1 allInputs))
+        , env (pure (NE.fromList (concat (replicate 50 (NE.toList pubNonces))))) $ \pns -> bench "nonceAgg (n=100)" $ nf nonceAgg pns
+        ]
+    , bgroup
+        "signing"
+        [ bench "newSession (2 signers)" $ nf (newSession keyAggCtx (nonceAgg pubNonces)) msg
+        , bench "sign (2 signers)" $ perRunEnv (freshNonce (NE.head signers)) $ \sn -> sign sn (signerKey (NE.head signers)) session
+        , bench "signWithoutVerification (2 signers)" $ perRunEnv (freshNonce (NE.head signers)) $ \sn -> signWithoutVerification sn (signerKey (NE.head signers)) session
+        , bench "deterministicSign (2 signers)" $ nf (deterministicSign (signerKey (NE.head signers)) aggOther keyAggCtx msg) Nothing
+        , bench "partialSigVerify (2 signers)" $ nf (partialSigVerify session pk1 (NE.head pubNonces)) (NE.head psigs)
+        , bench "partialSigAgg (2 signers)" $ nf (partialSigAgg session) psigs
+        , bench "verify" $ nf (verify (aggXOnlyPubKey keyAggCtx) msg) (partialSigAgg session psigs)
+        , bench "full 2-of-2 flow" $ nfIO (fullFlow msg)
+        ]
     ]
  where
-  setupVerification = do
-    let !aggNonce = unsafeRight $ M.aggNonces [pubNonce1, pubNonce2]
-        !ctx = unsafeRight $ M.mkSessionContext aggNonce [p, q] [] sMsg
-        !secNonce = secNonce1
-        !sk = SecKey ssk
-        !partial = unsafeRight $ M.sign secNonce sk ctx
-        !nonces = [pubNonce1, pubNonce2]
-        !pks = [p, q]
-    pure (partial, nonces, pks, ctx)
-
--- Test data points.
-pBS :: BS.ByteString
-pBS =
-  B16.decodeLenient
-    "0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"
-
-p :: S.Projective
-p = case S.parse_point pBS of
-  Nothing -> error "failed to parse point p"
-  Just !pt -> pt
-
-qBS :: BS.ByteString
-qBS =
-  B16.decodeLenient
-    "02f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9"
-
-q :: S.Projective
-q = case S.parse_point qBS of
-  Nothing -> error "failed to parse point q"
-  Just !pt -> pt
-
-rBS :: BS.ByteString
-rBS =
-  B16.decodeLenient
-    "03a2113cf152585d96791a42cdd78782757fbfb5c6b2c11b59857eb4f7fda0b0e8"
-
-r :: S.Projective
-r = case S.parse_point rBS of
-  Nothing -> error "failed to parse point r"
-  Just !pt -> pt
-
-sBS :: BS.ByteString
-sBS =
-  B16.decodeLenient
-    "0306413898a49c93cccf3db6e9078c1b6a8e62568e4a4770e0d7d96792d1c580ad"
-
-s :: S.Projective
-s = case S.parse_point sBS of
-  Nothing -> error "failed to parse point s"
-  Just !pt -> pt
-
-tBS :: BS.ByteString
-tBS = B16.decodeLenient "04b838ff44e5bc177bf21189d0766082fc9d843226887fc9760371100b7ee20a6ff0c9d75bfba7b31a6bca1974496eeb56de357071955d83c4b1badaa0b21832e9"
-
-t :: S.Projective
-t = case S.parse_point tBS of
-  Nothing -> error "failed to parse point t"
-  Just !pt -> pt
-
--- Test keys and nonces
-ssk :: Integer
-ssk = 0xB7E151628AED2A6ABF7158809CF4F3C762E7160F38B4DA56A784D9045190CFEF
-
-sk1 :: Integer
-sk1 = 0x508B81A611F100A6B2B6B29656590898AF488BCF2E1F55CF22E5CFB84421FE61
-
-sk2 :: Integer
-sk2 = 0xFAA32323B08D52AE5ED0E85F09CEB3EB73B97FCA9D074924598B38DBBF966A9B
-
-sMsg :: BS.ByteString
-sMsg =
-  B16.decodeLenient
-    "243F6A8885A308D313198A2E03707344A4093822299F31D0082EFA98EC4E6C89"
-
--- Contexts and nonces for testing
-keyCtx2 :: KeyAggContext
-keyCtx2 = unsafeRight $ M.mkKeyAggContext [p, q] Nothing
-
-plainTweak :: Tweak
-plainTweak = PlainTweak 0x1234567890ABCDEF
-
-xonlyTweak :: Tweak
-xonlyTweak = XOnlyTweak 0xFEDCBA0987654321
-
-secNonce1 :: SecNonce
-secNonce1 = unsafeRight $ M.mkSecNonce p sk1 sk2
-
-pubNonce1 :: PubNonce
-pubNonce1 = unsafeRight $ M.publicNonce secNonce1
-
-secNonce2 :: SecNonce
-secNonce2 = unsafeRight $ M.mkSecNonce p (sk1 + 1) (sk2 + 1)
-
-pubNonce2 :: PubNonce
-pubNonce2 = unsafeRight $ M.publicNonce secNonce2
-
-secNonce3 :: SecNonce
-secNonce3 = unsafeRight $ M.mkSecNonce p (sk1 + 2) (sk2 + 2)
-
-pubNonce3 :: PubNonce
-pubNonce3 = unsafeRight $ M.publicNonce secNonce3
-
-secNonce4 :: SecNonce
-secNonce4 = unsafeRight $ M.mkSecNonce p (sk1 + 3) (sk2 + 3)
-
-pubNonce4 :: PubNonce
-pubNonce4 = unsafeRight $ M.publicNonce secNonce4
-
-secNonce5 :: SecNonce
-secNonce5 = unsafeRight $ M.mkSecNonce p (sk1 + 4) (sk2 + 4)
-
-pubNonce5 :: PubNonce
-pubNonce5 = unsafeRight $ M.publicNonce secNonce5
+  pk1 = secKeyPubKey (signerKey (NE.head signers))
+  tweak = unsafeRight (decode (integerToBytes32 0x1234567890ABCDEF))
+  allInputs =
+    NonceInputs
+      { nonceSecKey = Just (signerKey (NE.head signers))
+      , nonceAggPubKey = Just (aggXOnlyPubKey keyAggCtx)
+      , nonceMessage = Just msg
+      , nonceExtraInput = Just "extra"
+      }
diff --git a/internal/Crypto/Curve/Secp256k1/MuSig2/Internal/Error.hs b/internal/Crypto/Curve/Secp256k1/MuSig2/Internal/Error.hs
new file mode 100644
--- /dev/null
+++ b/internal/Crypto/Curve/Secp256k1/MuSig2/Internal/Error.hs
@@ -0,0 +1,135 @@
+{- |
+Module: Crypto.Curve.Secp256k1.MuSig2.Internal.Error
+Copyright: (c) 2025 Jose Storopoli
+License: MIT
+Maintainer: Jose Storopoli <jose@storopoli.com>
+
+Error types. None of them carries secret data.
+
+Not part of the public API; "Crypto.Curve.Secp256k1.MuSig2" re-exports them.
+-}
+module Crypto.Curve.Secp256k1.MuSig2.Internal.Error (
+  DecodeError (..),
+  KeyAggError (..),
+  NonceGenError (..),
+  SignError (..),
+) where
+
+import Control.DeepSeq (NFData (..), rwhnf)
+import Control.Exception (Exception)
+
+-- | Why a byte string (or a @ppad-secp256k1@ point) is not a valid value of the requested type.
+data DecodeError
+  = -- | The input has the wrong length.
+    InvalidLength
+      { expectedLength :: !Int
+      -- ^ Length of the encoding, in bytes.
+      , actualLength :: !Int
+      -- ^ Length of the input, in bytes.
+      }
+  | {- | Not the encoding of a point on the curve: unknown prefix byte, an
+    x-coordinate that is not below the field size or not on the curve, or
+    (for 'Crypto.Curve.Secp256k1.MuSig2.pubKeyFromPoint') a point that does
+    not satisfy the curve equation.
+    -}
+    InvalidPoint
+  | -- | The point at infinity where a finite point is required.
+    PointAtInfinity
+  | -- | A scalar that is not below the group order \(n\).
+    ScalarOutOfRange
+  | -- | A scalar that must be non-zero (a secret key or nonce) is zero.
+    ScalarZero
+  deriving (Eq, Show)
+
+instance Exception DecodeError
+
+instance NFData DecodeError where
+  rnf = rwhnf
+
+-- | Key aggregation and tweaking failures.
+data KeyAggError
+  = -- | More than \(2^{32} - 1\) public keys.
+    TooManyPublicKeys
+  | -- | The aggregate public key is the point at infinity (the keys cancel out).
+    AggPubKeyAtInfinity
+  | -- | Applying a tweak gave the point at infinity.
+    TweakResultAtInfinity
+  | -- | The BIP-341 Taproot tweak hash is not below the group order (negligible probability).
+    TaprootTweakOutOfRange
+  | -- | The Taproot merkle root is not 32 bytes; carries the actual length.
+    InvalidMerkleRootLength !Int
+  deriving (Eq, Show)
+
+instance Exception KeyAggError
+
+instance NFData KeyAggError where
+  rnf = rwhnf
+
+{- | Nonce generation failures. 'Crypto.Curve.Secp256k1.MuSig2.nonceGen'
+fails only for invalid inputs; the last two constructors come from the
+functions of "Crypto.Curve.Secp256k1.MuSig2.Unsafe".
+-}
+data NonceGenError
+  = -- | The optional secret key does not belong to the signer's public key.
+    NonceSecKeyMismatch
+  | -- | The extra input is longer than \(2^{32} - 1\) bytes.
+    NonceExtraInputTooLong
+  | {- | The message is longer than \(2^{64} - 1\) bytes (BIP-327's limit; a
+    'Data.ByteString.ByteString' cannot be that long on 64-bit platforms).
+    -}
+    NonceMessageTooLong
+  | -- | The random bytes are not 32 bytes long; carries the actual length.
+    InvalidRandLength !Int
+  | {- | A derived nonce scalar is zero, so no nonce exists for these inputs.
+    Happens with negligible probability (a hash would have to be \(0\) or
+    \(n\)); 'Crypto.Curve.Secp256k1.MuSig2.nonceGen' draws again instead.
+    -}
+    NonceIsZero
+  deriving (Eq, Show)
+
+instance Exception NonceGenError
+
+instance NFData NonceGenError where
+  rnf = rwhnf
+
+{- | Signing failures.
+
+'Crypto.Curve.Secp256k1.MuSig2.sign' consumes the secret nonce before any
+check, so after any of these errors the nonce is used up: generate a new one
+and start again from the first round.
+-}
+data SignError
+  = -- | The secret nonce was already used, by an earlier 'Crypto.Curve.Secp256k1.MuSig2.sign' or an export.
+    SecNonceAlreadyUsed
+  | -- | The secret nonce was generated for a different public key than the secret key's.
+    SecNonceKeyMismatch
+  | {- | The secret nonce was generated with an aggregate public key or a
+    message (in 'Crypto.Curve.Secp256k1.MuSig2.NonceInputs') that differs
+    from the session's 'Crypto.Curve.Secp256k1.MuSig2.aggXOnlyPubKey' or
+    message.
+    -}
+    SecNonceSessionMismatch
+  | -- | The secret key's public key is not one of the session's public keys.
+    SignerNotInSession
+  | {- | The partial signature did not pass verification before being returned
+    (a bug or a fault, e.g. a bit flip).
+    -}
+    SelfVerificationFailed
+  | -- | 'Crypto.Curve.Secp256k1.MuSig2.deterministicSign': the auxiliary randomness is not 32 bytes long; carries the actual length.
+    InvalidAuxRandLength !Int
+  | {- | 'Crypto.Curve.Secp256k1.MuSig2.deterministicSign': a derived nonce
+    scalar is zero. Happens with negligible probability (a hash would have to
+    be \(0\) or \(n\)).
+    -}
+    DeterministicNonceIsZero
+  | {- | 'Crypto.Curve.Secp256k1.MuSig2.deterministicSign': a half of the other
+    signers' aggregate nonce is the point at infinity. BIP-327 parses it as a
+    public nonce, so it rejects this and blames the nonce aggregator.
+    -}
+    AggOtherNonceAtInfinity
+  deriving (Eq, Show)
+
+instance Exception SignError
+
+instance NFData SignError where
+  rnf = rwhnf
diff --git a/internal/Crypto/Curve/Secp256k1/MuSig2/Internal/Hash.hs b/internal/Crypto/Curve/Secp256k1/MuSig2/Internal/Hash.hs
new file mode 100644
--- /dev/null
+++ b/internal/Crypto/Curve/Secp256k1/MuSig2/Internal/Hash.hs
@@ -0,0 +1,76 @@
+{-# LANGUAGE OverloadedStrings #-}
+
+{- |
+Module: Crypto.Curve.Secp256k1.MuSig2.Internal.Hash
+Copyright: (c) 2025 Jose Storopoli
+License: MIT
+Maintainer: Jose Storopoli <jose@storopoli.com>
+
+The BIP-340 tagged hashes used by BIP-327 and BIP-341, with the tag prefix
+\(SHA256(tag) \| SHA256(tag)\) computed once per tag.
+
+Not part of the public API.
+-}
+module Crypto.Curve.Secp256k1.MuSig2.Internal.Hash (
+  taggedHash,
+  hashKeyAggList,
+  hashKeyAggCoef,
+  hashNonceCoef,
+  hashChallenge,
+  hashAux,
+  hashNonce,
+  hashDetNonce,
+  hashTapTweak,
+) where
+
+import Crypto.Hash.SHA256 (hash)
+import Data.ByteString (ByteString)
+
+{- | @hash_tag(x) = SHA256(SHA256(tag) || SHA256(tag) || x)@.
+
+Partially apply it to a tag to share the prefix between calls.
+-}
+taggedHash :: ByteString -> ByteString -> ByteString
+taggedHash tag = let prefix = th <> th in \x -> hash (prefix <> x)
+ where
+  th = hash tag
+
+-- | @hash_KeyAgg list@.
+hashKeyAggList :: ByteString -> ByteString
+hashKeyAggList = taggedHash "KeyAgg list"
+{-# NOINLINE hashKeyAggList #-}
+
+-- | @hash_KeyAgg coefficient@.
+hashKeyAggCoef :: ByteString -> ByteString
+hashKeyAggCoef = taggedHash "KeyAgg coefficient"
+{-# NOINLINE hashKeyAggCoef #-}
+
+-- | @hash_MuSig/noncecoef@.
+hashNonceCoef :: ByteString -> ByteString
+hashNonceCoef = taggedHash "MuSig/noncecoef"
+{-# NOINLINE hashNonceCoef #-}
+
+-- | @hash_BIP0340/challenge@.
+hashChallenge :: ByteString -> ByteString
+hashChallenge = taggedHash "BIP0340/challenge"
+{-# NOINLINE hashChallenge #-}
+
+-- | @hash_MuSig/aux@.
+hashAux :: ByteString -> ByteString
+hashAux = taggedHash "MuSig/aux"
+{-# NOINLINE hashAux #-}
+
+-- | @hash_MuSig/nonce@.
+hashNonce :: ByteString -> ByteString
+hashNonce = taggedHash "MuSig/nonce"
+{-# NOINLINE hashNonce #-}
+
+-- | @hash_MuSig/deterministic/nonce@.
+hashDetNonce :: ByteString -> ByteString
+hashDetNonce = taggedHash "MuSig/deterministic/nonce"
+{-# NOINLINE hashDetNonce #-}
+
+-- | @hash_TapTweak@ (BIP-341).
+hashTapTweak :: ByteString -> ByteString
+hashTapTweak = taggedHash "TapTweak"
+{-# NOINLINE hashTapTweak #-}
diff --git a/internal/Crypto/Curve/Secp256k1/MuSig2/Internal/KeyAgg.hs b/internal/Crypto/Curve/Secp256k1/MuSig2/Internal/KeyAgg.hs
new file mode 100644
--- /dev/null
+++ b/internal/Crypto/Curve/Secp256k1/MuSig2/Internal/KeyAgg.hs
@@ -0,0 +1,160 @@
+{- |
+Module: Crypto.Curve.Secp256k1.MuSig2.Internal.KeyAgg
+Copyright: (c) 2025 Jose Storopoli
+License: MIT
+Maintainer: Jose Storopoli <jose@storopoli.com>
+
+BIP-327 @KeySort@, @KeyAgg@ and @ApplyTweak@, plus the BIP-341 Taproot tweak.
+
+Not part of the public API.
+-}
+module Crypto.Curve.Secp256k1.MuSig2.Internal.KeyAgg (
+  KeyAggContext (..),
+  keySort,
+  keyAgg,
+  applyPlainTweak,
+  applyXOnlyTweak,
+  applyTaprootTweak,
+  aggPubKey,
+  aggXOnlyPubKey,
+  keyAggPubKeys,
+  signerIndex,
+  keyAggCoefficient,
+) where
+
+import Control.DeepSeq (NFData (..), force)
+import Crypto.Curve.Secp256k1 (add, neg)
+import Crypto.Curve.Secp256k1.MuSig2.Internal.Error (KeyAggError (..))
+import Crypto.Curve.Secp256k1.MuSig2.Internal.Hash (hashKeyAggCoef, hashKeyAggList, hashTapTweak)
+import Crypto.Curve.Secp256k1.MuSig2.Internal.Point (isInfinity, mulGPublic, mulPublic, sumPoints)
+import Crypto.Curve.Secp256k1.MuSig2.Internal.Scalar (bytesToInteger, curveOrder, hashToScalar, modQ)
+import Crypto.Curve.Secp256k1.MuSig2.Internal.Types (PubKey (..), Tweak (..), XOnlyPubKey (..), mkPubKey, pubKeyHasEvenY, pubKeyXOnly)
+import Data.ByteString (ByteString)
+import qualified Data.ByteString as BS
+import Data.Foldable (toList)
+import Data.List (find)
+import Data.List.NonEmpty (NonEmpty)
+import qualified Data.List.NonEmpty as NE
+import Data.Map.Strict (Map)
+import qualified Data.Map.Strict as Map
+import Data.Maybe (fromMaybe)
+import Data.Sequence (Seq)
+import qualified Data.Sequence as Seq
+
+{- | The result of key aggregation, plus any tweaks applied since.
+
+Holds the signers' keys in order, each signer's key aggregation coefficient,
+the (possibly tweaked) aggregate key \(Q\), and the tweak accumulators
+\(gacc\) and \(tacc\) of BIP-327.
+-}
+data KeyAggContext = KeyAggContext
+  { kacPubKeys :: !(NonEmpty PubKey)
+  -- ^ Signers' keys, in order.
+  , kacCoefs :: !(Seq Integer)
+  -- ^ Key aggregation coefficient \(a_i\) of signer \(i\).
+  , kacIndex :: !(Map ByteString Int)
+  -- ^ Encoded key to the first index it appears at.
+  , kacQ :: !PubKey
+  -- ^ Aggregate key \(Q\) after the tweaks so far.
+  , kacGaccNeg :: !Bool
+  -- ^ \(gacc = n - 1\) (otherwise \(1\)).
+  , kacTacc :: !Integer
+  -- ^ \(tacc\).
+  }
+
+instance NFData KeyAggContext where
+  rnf (KeyAggContext pks coefs idx q g t) = rnf pks `seq` rnf coefs `seq` rnf idx `seq` rnf q `seq` rnf g `seq` rnf t
+
+-- | BIP-327 @KeySort@: sorts keys by their 33-byte encoding.
+keySort :: NonEmpty PubKey -> NonEmpty PubKey
+keySort = NE.sort
+
+{- | BIP-327 @KeyAgg@, in \(O(n)\): the key list is hashed once, the second
+distinct key is found once, each coefficient takes one hash, and keys with
+coefficient \(1\) are added without a multiplication.
+-}
+keyAgg :: NonEmpty PubKey -> Either KeyAggError KeyAggContext
+keyAgg pks
+  | toInteger (length pks) > 0xFFFFFFFF = Left TooManyPublicKeys
+  | isInfinity q = Left AggPubKeyAtInfinity
+  | otherwise =
+      Right
+        KeyAggContext
+          { kacPubKeys = pks
+          , kacCoefs = Seq.fromList (force coefs)
+          , kacIndex = Map.fromListWith min (zip encs [0 ..])
+          , kacQ = mkPubKey q
+          , kacGaccNeg = False
+          , kacTacc = 0
+          }
+ where
+  encs = map pubKeyBytes (toList pks)
+  l = hashKeyAggList (BS.concat encs)
+  pk2 = find (/= NE.head (fmap pubKeyBytes pks)) encs
+  coef enc
+    | Just enc == pk2 = 1
+    | otherwise = hashToScalar (hashKeyAggCoef (l <> enc))
+  coefs = map coef encs
+  q = sumPoints (zipWith term coefs (toList pks))
+  term a pk
+    | a == 1 = pubKeyPt pk
+    | otherwise = mulPublic (pubKeyPt pk) a
+
+-- | Adds \(t \cdot G\) to \(Q'\) and updates the accumulators.
+tweakWith :: Bool -> Tweak -> KeyAggContext -> Either KeyAggError KeyAggContext
+tweakWith negateQ (Tweak t) ctx
+  | isInfinity q' = Left TweakResultAtInfinity
+  | otherwise =
+      Right
+        ctx
+          { kacQ = mkPubKey q'
+          , kacGaccNeg = kacGaccNeg ctx /= negateQ
+          , kacTacc = modQ (t + (if negateQ then curveOrder - kacTacc ctx else kacTacc ctx))
+          }
+ where
+  q = pubKeyPt (kacQ ctx)
+  q' = add (if negateQ then neg q else q) (mulGPublic t)
+
+{- | BIP-327 @ApplyTweak@ with a plain tweak: \(Q' = Q + t \cdot G\). Use it
+for BIP-32 derivation from the aggregate key.
+-}
+applyPlainTweak :: Tweak -> KeyAggContext -> Either KeyAggError KeyAggContext
+applyPlainTweak = tweakWith False
+
+{- | BIP-327 @ApplyTweak@ with an x-only tweak: \(Q' = g \cdot Q + t \cdot G\)
+where \(g = -1\) if \(Q\) has odd \(y\).
+-}
+applyXOnlyTweak :: Tweak -> KeyAggContext -> Either KeyAggError KeyAggContext
+applyXOnlyTweak tw ctx = tweakWith (not (pubKeyHasEvenY (kacQ ctx))) tw ctx
+
+{- | The BIP-341 Taproot tweak: an x-only tweak by
+\(t = hash_{TapTweak}(xbytes(Q) \| merkle\_root)\) (no merkle root for 'Nothing').
+-}
+applyTaprootTweak :: Maybe ByteString -> KeyAggContext -> Either KeyAggError KeyAggContext
+applyTaprootTweak root ctx = case root of
+  Just r | BS.length r /= 32 -> Left (InvalidMerkleRootLength (BS.length r))
+  _
+    | t >= curveOrder -> Left TaprootTweakOutOfRange
+    | otherwise -> applyXOnlyTweak (Tweak t) ctx
+ where
+  t = bytesToInteger (hashTapTweak (xOnlyBytes (aggXOnlyPubKey ctx) <> fromMaybe BS.empty root))
+
+-- | The aggregate key \(Q\), including the tweaks applied so far.
+aggPubKey :: KeyAggContext -> PubKey
+aggPubKey = kacQ
+
+-- | The x-only aggregate key: the key the final signature verifies against.
+aggXOnlyPubKey :: KeyAggContext -> XOnlyPubKey
+aggXOnlyPubKey = pubKeyXOnly . kacQ
+
+-- | The signers' public keys, in the order they were aggregated.
+keyAggPubKeys :: KeyAggContext -> NonEmpty PubKey
+keyAggPubKeys = kacPubKeys
+
+-- | The index of a public key among the signers (its first position if it appears more than once).
+signerIndex :: KeyAggContext -> PubKey -> Maybe Int
+signerIndex ctx pk = Map.lookup (pubKeyBytes pk) (kacIndex ctx)
+
+-- | The key aggregation coefficient of a signer's public key.
+keyAggCoefficient :: KeyAggContext -> PubKey -> Maybe Integer
+keyAggCoefficient ctx pk = signerIndex ctx pk >>= (`Seq.lookup` kacCoefs ctx)
diff --git a/internal/Crypto/Curve/Secp256k1/MuSig2/Internal/Nonce.hs b/internal/Crypto/Curve/Secp256k1/MuSig2/Internal/Nonce.hs
new file mode 100644
--- /dev/null
+++ b/internal/Crypto/Curve/Secp256k1/MuSig2/Internal/Nonce.hs
@@ -0,0 +1,337 @@
+{-# LANGUAGE BangPatterns #-}
+
+{- |
+Module: Crypto.Curve.Secp256k1.MuSig2.Internal.Nonce
+Copyright: (c) 2025 Jose Storopoli
+License: MIT
+Maintainer: Jose Storopoli <jose@storopoli.com>
+
+BIP-327 @NonceGen@, @NonceAgg@ and the nonce derivation of
+@DeterministicSign@, and the one-shot t'SecNonce'.
+
+The representation of t'SecNonce' is private to this module: everything else
+reads its public parts through 'secNoncePubKey', 'secNoncePubNonce',
+'secNonceAggPubKey' and 'secNonceMessage', and its secret scalars only
+through 'claimSecNonce', which consumes it.
+
+Not part of the public API.
+-}
+module Crypto.Curve.Secp256k1.MuSig2.Internal.Nonce (
+  -- * Secret nonces
+  SecNonce,
+  secNoncePubKey,
+  secNoncePubNonce,
+  secNonceAggPubKey,
+  secNonceMessage,
+  claimSecNonce,
+  secNonceIsUsed,
+  peekSecNonce,
+  newSecNonce,
+  secNonceFromScalars,
+  secNonceFromBytes,
+  secNonceToBytes,
+  pubNonceFromScalars,
+
+  -- * Generation
+  NonceInputs (..),
+  noNonceInputs,
+  validateNonceInputs,
+  nonceGen,
+  nonceGenWithRand,
+  nonceGenCounter,
+  nonceGenScalars,
+  deterministicNonceScalars,
+
+  -- * Aggregation
+  nonceAgg,
+) where
+
+import Control.DeepSeq (NFData (..), rwhnf)
+import Control.Monad (when)
+import Crypto.Curve.Secp256k1.MuSig2.Internal.Error (DecodeError (..), NonceGenError (..))
+import Crypto.Curve.Secp256k1.MuSig2.Internal.Hash (hashAux, hashDetNonce, hashNonce)
+import Crypto.Curve.Secp256k1.MuSig2.Internal.OneShot (OneShot, claimOneShot, isClaimed, newOneShot, peekOneShot)
+import Crypto.Curve.Secp256k1.MuSig2.Internal.Point (mulGSecret, sumPoints)
+import Crypto.Curve.Secp256k1.MuSig2.Internal.Scalar (SecScalar, secScalarFromBytes, secScalarFromBytesModQ, secScalarToBytes)
+import Crypto.Curve.Secp256k1.MuSig2.Internal.Types (
+  AggNonce (..),
+  Encode (..),
+  PubKey (..),
+  PubNonce (..),
+  SecKey (..),
+  XOnlyPubKey (..),
+  expectLength,
+  mkAggNonce,
+  mkPubNonce,
+ )
+import Data.Bits (Bits, shiftR, xor)
+import Data.ByteString (ByteString)
+import qualified Data.ByteString as BS
+import Data.List.NonEmpty (NonEmpty)
+import Data.Maybe (fromMaybe)
+import Data.Word (Word64, Word8)
+import System.Entropy (getEntropy)
+
+{- | A secret nonce: two secret scalars \(0 < k_1, k_2 < n\), bound to the
+signer's public key (and, optionally, to an aggregate key and a message),
+with the matching public nonce.
+
+The scalars live in a pinned buffer that can be read once: signing (or
+exporting) the nonce marks it used and zero-fills the buffer. Copies of a
+t'SecNonce' share that buffer, so they are used up together.
+
+Deliberately has no 'Show', 'Eq', 'Ord', 'Encode' or other instance that
+could copy, compare or leak it.
+-}
+data SecNonce = MkSecNonce
+  { snSecret :: !OneShot
+  -- ^ @bytes(32, k1) || bytes(32, k2)@.
+  , snPubKey :: !PubKey
+  , snPubNonce :: !PubNonce
+  , snAggPubKey :: !(Maybe XOnlyPubKey)
+  -- ^ The aggregate key the nonce was generated for, if any.
+  , snMessage :: !(Maybe ByteString)
+  -- ^ The message the nonce was generated for, if any.
+  }
+
+instance NFData SecNonce where
+  rnf (MkSecNonce s pk pn apk m) = rwhnf s `seq` rnf pk `seq` rnf pn `seq` rnf apk `seq` rnf m
+
+-- | The public key the nonce was generated for.
+secNoncePubKey :: SecNonce -> PubKey
+secNoncePubKey = snPubKey
+
+-- | The public nonce \((k_1 \cdot G, k_2 \cdot G)\).
+secNoncePubNonce :: SecNonce -> PubNonce
+secNoncePubNonce = snPubNonce
+
+-- | The aggregate key given to nonce generation, if any.
+secNonceAggPubKey :: SecNonce -> Maybe XOnlyPubKey
+secNonceAggPubKey = snAggPubKey
+
+-- | The message given to nonce generation, if any.
+secNonceMessage :: SecNonce -> Maybe ByteString
+secNonceMessage = snMessage
+
+{- | Consumes the nonce: atomically marks it used, zero-fills its buffer and
+returns the scalars \((k_1, k_2)\). 'Nothing' if it was used before (through
+any copy, from any thread).
+
+The bytes go straight to constant-time t'SecScalar's (they are below \(n\),
+so the reduction leaves them unchanged).
+-}
+claimSecNonce :: SecNonce -> IO (Maybe (SecScalar, SecScalar))
+claimSecNonce sn = do
+  claimed <- claimOneShot (snSecret sn)
+  case claimed of
+    Nothing -> pure Nothing
+    Just bytes -> do
+      let !k1 = secScalarFromBytesModQ (BS.take 32 bytes)
+          !k2 = secScalarFromBytesModQ (BS.drop 32 bytes)
+      pure (Just (k1, k2))
+
+-- | Whether the nonce has been used.
+secNonceIsUsed :: SecNonce -> IO Bool
+secNonceIsUsed = isClaimed . snSecret
+
+{- | The 64 bytes of the nonce's buffer, without consuming it (all zero after
+use). For tests only.
+-}
+peekSecNonce :: SecNonce -> IO ByteString
+peekSecNonce = peekOneShot . snSecret
+
+{- | A fresh secret nonce from its parts, unchecked.
+
+Precondition: \(0 < k_1, k_2 < n\) and the public nonce is
+\((k_1 \cdot G, k_2 \cdot G)\).
+-}
+newSecNonce :: SecScalar -> SecScalar -> PubKey -> PubNonce -> Maybe XOnlyPubKey -> Maybe ByteString -> IO SecNonce
+newSecNonce k1 k2 pk pn apk m = do
+  secret <- newOneShot (secScalarToBytes k1 <> secScalarToBytes k2)
+  pure (MkSecNonce secret pk pn apk m)
+
+-- | The public nonce \((k_1 \cdot G, k_2 \cdot G)\); 'Nothing' if either scalar is zero.
+pubNonceFromScalars :: SecScalar -> SecScalar -> Maybe PubNonce
+pubNonceFromScalars k1 k2 = mkPubNonce <$> mulGSecret k1 <*> mulGSecret k2
+
+-- | A fresh secret nonce from its scalars (both must be non-zero), not bound to a session.
+secNonceFromScalars :: SecScalar -> SecScalar -> PubKey -> IO (Either DecodeError SecNonce)
+secNonceFromScalars k1 k2 pk = case pubNonceFromScalars k1 k2 of
+  Nothing -> pure (Left ScalarZero)
+  Just pn -> Right <$> newSecNonce k1 k2 pk pn Nothing Nothing
+
+{- | A fresh secret nonce from the 97-byte BIP-327 encoding
+@bytes(32, k1) || bytes(32, k2) || pk@. The scalars are range-checked in
+constant time (see 'secScalarFromBytes').
+-}
+secNonceFromBytes :: ByteString -> IO (Either DecodeError SecNonce)
+secNonceFromBytes b = case parts of
+  Left err -> pure (Left err)
+  Right (k1, k2, pk) -> secNonceFromScalars k1 k2 pk
+ where
+  parts = do
+    expectLength 97 b
+    pk <- decode (BS.drop 64 b)
+    k1 <- secScalarFromBytes (BS.take 32 b)
+    k2 <- secScalarFromBytes (BS.take 32 (BS.drop 32 b))
+    Right (k1, k2, pk)
+
+{- | Consumes the nonce and returns its 97-byte BIP-327 encoding; 'Nothing' if
+it was used before.
+-}
+secNonceToBytes :: SecNonce -> IO (Maybe ByteString)
+secNonceToBytes sn = fmap (<> pubKeyBytes (snPubKey sn)) <$> claimOneShot (snSecret sn)
+
+{- | The optional inputs of BIP-327 @NonceGen@. Each one that is given is
+hashed into the nonce, as extra protection should the random number
+generator fail.
+-}
+data NonceInputs = NonceInputs
+  { nonceSecKey :: !(Maybe SecKey)
+  {- ^ The signer's secret key. Stricter than BIP-327, which hashes in any 32
+  bytes: it must be a valid secret key (as every t'SecKey' is) belonging to
+  the public key passed to 'nonceGen', or nonce generation fails with
+  'NonceSecKeyMismatch'.
+  -}
+  , nonceAggPubKey :: !(Maybe XOnlyPubKey)
+  {- ^ The x-only aggregate public key. When given, the nonce can only sign
+  in a session whose 'Crypto.Curve.Secp256k1.MuSig2.aggXOnlyPubKey' is this
+  key.
+  -}
+  , nonceMessage :: !(Maybe ByteString)
+  {- ^ The message to be signed. When given, the nonce can only sign this
+  message.
+  -}
+  , nonceExtraInput :: !(Maybe ByteString)
+  -- ^ Any other data, e.g. a session identifier or a counter.
+  }
+
+-- | No optional inputs: the nonce depends only on fresh randomness and the public key.
+noNonceInputs :: NonceInputs
+noNonceInputs = NonceInputs Nothing Nothing Nothing Nothing
+
+-- | Checks the inputs of @NonceGen@.
+validateNonceInputs :: PubKey -> NonceInputs -> Either NonceGenError ()
+validateNonceInputs pk inputs = do
+  case nonceSecKey inputs of
+    Just sk | secKeyPub sk /= pk -> Left NonceSecKeyMismatch
+    _ -> Right ()
+  when (maybe False ((> 0xFFFFFFFFFFFFFFFF) . toInteger . BS.length) (nonceMessage inputs)) (Left NonceMessageTooLong)
+  when (maybe False ((> 0xFFFFFFFF) . toInteger . BS.length) (nonceExtraInput inputs)) (Left NonceExtraInputTooLong)
+
+{- | BIP-327 @NonceGen@ with fresh randomness from the operating system
+(@getrandom@ on Linux, via the @entropy@ package).
+-}
+nonceGen :: PubKey -> NonceInputs -> IO (Either NonceGenError (SecNonce, PubNonce))
+nonceGen pk inputs = case validateNonceInputs pk inputs of
+  Left err -> pure (Left err)
+  Right () -> loop
+ where
+  loop = do
+    rand <- getEntropy 32
+    let (k1, k2) = nonceGenScalars rand pk inputs
+    case pubNonceFromScalars k1 k2 of
+      -- k1 = 0 or k2 = 0: probability ~2^-127, draw again.
+      Nothing -> loop
+      Just pn -> do
+        sn <- newSecNonce k1 k2 pk pn (nonceAggPubKey inputs) (nonceMessage inputs)
+        pure (Right (sn, pn))
+
+{- | BIP-327 @NonceGen@ with the given 32 random bytes. Deterministic: the
+same bytes and inputs give the same nonce scalars.
+
+In 'IO' although deterministic: each call creates exactly one fresh
+t'SecNonce'. A pure version would build the handle inside a thunk, and GHC
+may evaluate a thunk twice when two threads force it at the same time,
+creating two independent handles for the same scalars.
+-}
+nonceGenWithRand :: ByteString -> PubKey -> NonceInputs -> IO (Either NonceGenError (SecNonce, PubNonce))
+nonceGenWithRand rand pk inputs = case scalars of
+  Left err -> pure (Left err)
+  Right (k1, k2, pn) -> do
+    sn <- newSecNonce k1 k2 pk pn (nonceAggPubKey inputs) (nonceMessage inputs)
+    pure (Right (sn, pn))
+ where
+  scalars = do
+    validateNonceInputs pk inputs
+    when (BS.length rand /= 32) (Left (InvalidRandLength (BS.length rand)))
+    let (k1, k2) = nonceGenScalars rand pk inputs
+    pn <- maybe (Left NonceIsZero) Right (pubNonceFromScalars k1 k2)
+    Right (k1, k2, pn)
+
+{- | Counter-based nonce generation, as libsecp256k1's
+@secp256k1_musig_nonce_gen_counter@ (BIP-327 @CounterNonceGen@): @NonceGen@
+with the secret key always hashed in and the random bytes
+@bytes(8, counter) || bytes(24, 0)@. The 'nonceSecKey' of the inputs is
+ignored.
+-}
+nonceGenCounter :: SecKey -> Word64 -> NonceInputs -> IO (Either NonceGenError (SecNonce, PubNonce))
+nonceGenCounter sk counter inputs =
+  nonceGenWithRand (bigEndian 8 counter <> BS.replicate 24 0) (secKeyPub sk) inputs{nonceSecKey = Just sk}
+
+{- | The scalars \((k_1, k_2)\) of BIP-327 @NonceGen@ (reduced modulo \(n\),
+possibly zero) for 32 random bytes and validated inputs.
+-}
+nonceGenScalars :: ByteString -> PubKey -> NonceInputs -> (SecScalar, SecScalar)
+nonceGenScalars rand pk inputs = (k 0, k 1)
+ where
+  rand' = case nonceSecKey inputs of
+    Nothing -> rand
+    Just sk -> BS.packZipWith xor (secScalarToBytes (secKeyScalar sk)) (hashAux rand)
+  pkBytes = pubKeyBytes pk
+  aggpk = maybe BS.empty xOnlyBytes (nonceAggPubKey inputs)
+  msgPrefixed = case nonceMessage inputs of
+    Nothing -> BS.singleton 0
+    Just m -> BS.singleton 1 <> bigEndian 8 (BS.length m) <> m
+  extra = fromMaybe BS.empty (nonceExtraInput inputs)
+  prefix =
+    BS.concat
+      [ rand'
+      , bigEndian 1 (BS.length pkBytes)
+      , pkBytes
+      , bigEndian 1 (BS.length aggpk)
+      , aggpk
+      , msgPrefixed
+      , bigEndian 4 (BS.length extra)
+      , extra
+      ]
+  k :: Word8 -> SecScalar
+  k i = secScalarFromBytesModQ (hashNonce (prefix <> BS.singleton i))
+
+{- | The scalars \((k_1, k_2)\) of BIP-327 @DeterministicSign@ (reduced
+modulo \(n\), possibly zero):
+
+\[
+k_i = int(hash_{MuSig/deterministic/nonce}(sk' \| aggothernonce \| aggpk \| bytes(8, len(m)) \| m \| bytes(1, i - 1))) \bmod n
+\]
+
+where \(sk' = sk \oplus hash_{MuSig/aux}(rand)\) if the 32 bytes @rand@
+are given and \(sk\) otherwise.
+-}
+deterministicNonceScalars ::
+  -- | \(sk\).
+  SecKey ->
+  -- | @aggothernonce@.
+  AggNonce ->
+  -- | @aggpk@: the x-only aggregate key, after the tweaks.
+  XOnlyPubKey ->
+  -- | \(m\).
+  ByteString ->
+  -- | @rand@ (32 bytes).
+  Maybe ByteString ->
+  (SecScalar, SecScalar)
+deterministicNonceScalars sk aggOther aggpk msg rand = (k 0, k 1)
+ where
+  skBytes = secScalarToBytes (secKeyScalar sk)
+  sk' = maybe skBytes (BS.packZipWith xor skBytes . hashAux) rand
+  prefix = BS.concat [sk', aggNonceBytes aggOther, xOnlyBytes aggpk, bigEndian 8 (BS.length msg), msg]
+  k :: Word8 -> SecScalar
+  k i = secScalarFromBytesModQ (hashDetNonce (prefix <> BS.singleton i))
+
+-- | @bytes(n, x)@: the \(n\)-byte big-endian encoding of a length or counter.
+bigEndian :: (Integral a, Bits a) => Int -> a -> ByteString
+bigEndian n x = BS.pack [fromIntegral (x `shiftR` (8 * j)) | j <- [n - 1, n - 2 .. 0]]
+
+-- | BIP-327 @NonceAgg@: sums the first and the second points. Either sum may be infinity.
+nonceAgg :: NonEmpty PubNonce -> AggNonce
+nonceAgg pns = mkAggNonce (sumPoints (fmap pubNonceR1 pns)) (sumPoints (fmap pubNonceR2 pns))
diff --git a/internal/Crypto/Curve/Secp256k1/MuSig2/Internal/OneShot.hs b/internal/Crypto/Curve/Secp256k1/MuSig2/Internal/OneShot.hs
new file mode 100644
--- /dev/null
+++ b/internal/Crypto/Curve/Secp256k1/MuSig2/Internal/OneShot.hs
@@ -0,0 +1,129 @@
+{-# LANGUAGE BangPatterns #-}
+{-# LANGUAGE MagicHash #-}
+{-# LANGUAGE UnboxedTuples #-}
+
+{- |
+Module: Crypto.Curve.Secp256k1.MuSig2.Internal.OneShot
+Copyright: (c) 2025 Jose Storopoli
+License: MIT
+Maintainer: Jose Storopoli <jose@storopoli.com>
+
+A secret that can be read at most once: a pinned mutable byte array holding
+the secret bytes plus a state word. 'claimOneShot' flips the state from fresh
+to claimed with an atomic compare-and-swap, copies the secret out and
+zero-fills it in the buffer. Every later claim, through any copy of the
+handle and from any thread, gets 'Nothing'.
+
+The buffer is pinned, so the garbage collector never moves (and so never
+copies) it. Zero-filling it is best-effort hygiene, not a guarantee: the
+bytes the secret was built from, the copy 'claimOneShot' returns and
+anything computed from it are ordinary heap values that are not wiped. A
+buffer that is never claimed is not wiped either before its memory is
+reused.
+
+Not part of the public API.
+-}
+module Crypto.Curve.Secp256k1.MuSig2.Internal.OneShot (
+  OneShot,
+  newOneShot,
+  claimOneShot,
+  isClaimed,
+  peekOneShot,
+) where
+
+import Control.Exception (mask_, onException)
+import Data.ByteString (ByteString)
+import qualified Data.ByteString as BS
+import qualified Data.ByteString.Internal as BI
+import qualified Data.ByteString.Unsafe as BU
+import GHC.Exts (
+  Int (..),
+  MutableByteArray#,
+  Ptr (..),
+  RealWorld,
+  casIntArray#,
+  copyAddrToByteArray#,
+  copyMutableByteArrayToAddr#,
+  isTrue#,
+  newAlignedPinnedByteArray#,
+  readIntArray#,
+  setByteArray#,
+  touch#,
+  writeIntArray#,
+  (+#),
+  (==#),
+ )
+import GHC.IO (IO (..))
+
+{- | A handle to a pinned buffer. Copies of the handle share the buffer and
+its state.
+
+Layout: one machine word of state (@0@ fresh, @1@ claimed) at byte offset
+@0@, then the secret bytes from byte offset 'secretOffset'.
+-}
+data OneShot = OneShot !Int (MutableByteArray# RealWorld)
+
+-- | Byte offset of the secret in the buffer (after the state word).
+secretOffset :: Int
+secretOffset = 8
+
+-- | Copies the bytes into a new pinned buffer, in the fresh state.
+newOneShot :: ByteString -> IO OneShot
+newOneShot bytes = do
+  let !(I# n) = BS.length bytes
+      !(I# off) = secretOffset
+  os <- IO $ \s0 -> case newAlignedPinnedByteArray# (off +# n) off s0 of
+    (# s1, mba #) -> case writeIntArray# mba 0# 0# s1 of
+      s2 -> (# s2, OneShot (I# n) mba #)
+  BU.unsafeUseAsCString bytes $ \(Ptr addr) -> withBuffer os $ \mba ->
+    IO $ \s -> (# copyAddrToByteArray# addr mba off n s, () #)
+  pure os
+
+{- | Claims the secret: atomically marks the buffer claimed, returns a copy of
+the secret and zero-fills it in the buffer. 'Nothing' if it was claimed
+before.
+
+Asynchronous exceptions are masked, so a claim either does not happen or
+both marks the buffer and wipes it.
+-}
+claimOneShot :: OneShot -> IO (Maybe ByteString)
+claimOneShot os@(OneShot len mba) = mask_ $ do
+  won <- IO $ \s0 -> case casIntArray# mba 0# 0# 1# s0 of
+    (# s1, old #) -> (# s1, isTrue# (old ==# 0#) #)
+  if not won
+    then pure Nothing
+    else do
+      secret <- copyOut os `onException` wipe
+      wipe
+      pure (Just secret)
+ where
+  !(I# n) = len
+  !(I# off) = secretOffset
+  wipe = IO $ \s -> (# setByteArray# mba off n 0# s, () #)
+
+-- | Whether the buffer has been claimed.
+isClaimed :: OneShot -> IO Bool
+isClaimed (OneShot _ mba) = IO $ \s0 -> case readIntArray# mba 0# s0 of
+  (# s1, st #) -> (# s1, isTrue# (st ==# 1#) #)
+
+{- | The current contents of the secret area, without claiming it (all zero
+after a claim). For tests only: it defeats the point of the buffer.
+-}
+peekOneShot :: OneShot -> IO ByteString
+peekOneShot = copyOut
+
+-- | A copy of the secret area.
+copyOut :: OneShot -> IO ByteString
+copyOut os@(OneShot len _) =
+  BI.create len $ \(Ptr addr) -> withBuffer os $ \mba ->
+    IO $ \s -> (# copyMutableByteArrayToAddr# mba off addr n s, () #)
+ where
+  !(I# n) = len
+  !(I# off) = secretOffset
+
+-- | Runs an action on the buffer, keeping it alive until the action ends.
+withBuffer :: OneShot -> (MutableByteArray# RealWorld -> IO a) -> IO a
+withBuffer (OneShot _ mba) k = do
+  r <- k mba
+  IO $ \s -> (# touch# mba s, () #)
+  pure r
diff --git a/internal/Crypto/Curve/Secp256k1/MuSig2/Internal/Point.hs b/internal/Crypto/Curve/Secp256k1/MuSig2/Internal/Point.hs
new file mode 100644
--- /dev/null
+++ b/internal/Crypto/Curve/Secp256k1/MuSig2/Internal/Point.hs
@@ -0,0 +1,100 @@
+{- |
+Module: Crypto.Curve.Secp256k1.MuSig2.Internal.Point
+Copyright: (c) 2025 Jose Storopoli
+License: MIT
+Maintainer: Jose Storopoli <jose@storopoli.com>
+
+Helpers on @ppad-secp256k1@ points: the BIP-327 encodings and scalar
+multiplication with the right timing properties.
+
+Not part of the public API.
+-}
+module Crypto.Curve.Secp256k1.MuSig2.Internal.Point (
+  -- * Predicates
+  isInfinity,
+  isValidPoint,
+
+  -- * Encodings
+  cbytes,
+  cbytesExt,
+  hasEvenYBytes,
+  infinityBytes,
+
+  -- * Multiplication
+  gContext,
+  mulPublic,
+  mulGPublic,
+  mulGSecret,
+  sumPoints,
+) where
+
+import Crypto.Curve.Secp256k1 (Context, Projective, add, mul_vartime, mul_wnaf, precompute, serialize_point, valid, _CURVE_ZERO)
+import Crypto.Curve.Secp256k1.MuSig2.Internal.Scalar (SecScalar, modQ, secScalarWider)
+import Data.ByteString (ByteString)
+import qualified Data.ByteString as BS
+import qualified Data.ByteString.Unsafe as BU
+import Data.Maybe (fromMaybe)
+
+-- | Whether a point is the point at infinity.
+isInfinity :: Projective -> Bool
+isInfinity p = p == _CURVE_ZERO
+
+-- | A finite point on the curve (ppad's 'Projective' constructor is exported, so values may be anything).
+isValidPoint :: Projective -> Bool
+isValidPoint p = not (isInfinity p) && valid p
+
+{- | @cbytes@: 33-byte compressed encoding of a finite point.
+
+Precondition: the point is finite ('serialize_point' encodes infinity as
+@02 || 0^32@).
+-}
+cbytes :: Projective -> ByteString
+cbytes = serialize_point
+
+-- | @cbytes_ext@: like 'cbytes', but infinity is 33 zero bytes.
+cbytesExt :: Projective -> ByteString
+cbytesExt p
+  | isInfinity p = infinityBytes
+  | otherwise = serialize_point p
+
+-- | The @cbytes_ext@ encoding of infinity: 33 zero bytes.
+infinityBytes :: ByteString
+infinityBytes = BS.replicate 33 0
+
+-- | Whether a 33-byte compressed encoding has the even-y prefix @0x02@.
+hasEvenYBytes :: ByteString -> Bool
+hasEvenYBytes b = not (BS.null b) && BU.unsafeHead b == 0x02
+
+{- | Variable-time multiplication by a /public/ scalar, reduced modulo \(n\);
+\(0\) gives infinity.
+-}
+mulPublic :: Projective -> Integer -> Projective
+mulPublic p k =
+  -- mul_vartime only fails for scalars >= n, which modQ rules out.
+  fromMaybe _CURVE_ZERO (mul_vartime p (fromInteger (modQ k)))
+
+-- | Precomputed multiples of the generator, built once on first use.
+gContext :: Context
+gContext = precompute
+{-# NOINLINE gContext #-}
+
+{- | Multiplication of the generator by a public scalar, reduced modulo
+\(n\); \(0\) gives infinity.
+-}
+mulGPublic :: Integer -> Projective
+mulGPublic k = case modQ k of
+  0 -> _CURVE_ZERO
+  -- mul_wnaf only fails for scalars 0 or >= n, which are ruled out.
+  k' -> fromMaybe _CURVE_ZERO (mul_wnaf gContext (fromInteger k'))
+
+{- | Constant-time multiplication of the generator by a /secret/ scalar
+(ppad's timing-safe wNAF over precomputed multiples); 'Nothing' for zero.
+The scalar goes to ppad as a t'Data.Word.Wider.Wider' word, never through
+'Integer'.
+-}
+mulGSecret :: SecScalar -> Maybe Projective
+mulGSecret k = mul_wnaf gContext (secScalarWider k)
+
+-- | Strict sum of points.
+sumPoints :: (Foldable f) => f Projective -> Projective
+sumPoints = foldl' add _CURVE_ZERO
diff --git a/internal/Crypto/Curve/Secp256k1/MuSig2/Internal/Scalar.hs b/internal/Crypto/Curve/Secp256k1/MuSig2/Internal/Scalar.hs
new file mode 100644
--- /dev/null
+++ b/internal/Crypto/Curve/Secp256k1/MuSig2/Internal/Scalar.hs
@@ -0,0 +1,255 @@
+{-# LANGUAGE MagicHash #-}
+{-# LANGUAGE UnboxedTuples #-}
+
+{- |
+Module: Crypto.Curve.Secp256k1.MuSig2.Internal.Scalar
+Copyright: (c) 2025 Jose Storopoli
+License: MIT
+Maintainer: Jose Storopoli <jose@storopoli.com>
+
+Scalar arithmetic modulo the secp256k1 group order \(n\).
+
+Two representations, kept apart by type:
+
+* Public scalars (key aggregation coefficients, nonce coefficients,
+  challenges, tweaks, partial signatures) are 'Integer's. Arithmetic on
+  'Integer' takes time that depends on the values, which is fine for values
+  everyone knows.
+
+* Secret scalars (secret keys and nonces) are t'SecScalar's: four 64-bit
+  limbs in Montgomery form, with the constant-time arithmetic of
+  @ppad-fixed@. They are read from and written to bytes in constant time,
+  range-checked with constant-time comparisons that are decided only once
+  at the end, and never converted to or from 'Integer'.
+
+Not part of the public API.
+-}
+module Crypto.Curve.Secp256k1.MuSig2.Internal.Scalar (
+  -- * Group order
+  curveOrder,
+  fieldSize,
+  modQ,
+
+  -- * Public scalars
+  bytesToInteger,
+  integerToBytes32,
+  hashToScalar,
+
+  -- * Secret scalars
+  SecScalar,
+  secScalarFromBytes,
+  secScalarFromBytesModQ,
+  secScalarToBytes,
+  secScalarWider,
+
+  -- * Secret arithmetic
+  signScalar,
+
+  -- * Constant-time byte conversions
+  widerFromBytes,
+  widerToBytes,
+) where
+
+import Control.DeepSeq (NFData (..))
+import Crypto.Curve.Secp256k1.MuSig2.Internal.Error (DecodeError (..))
+import Data.Bits (shiftR, unsafeShiftL, unsafeShiftR, (.|.))
+import Data.ByteString (ByteString)
+import qualified Data.ByteString as BS
+import qualified Data.ByteString.Internal as BI
+import qualified Data.ByteString.Unsafe as BU
+import qualified Data.Choice as C
+import Data.Word (Word8)
+import Data.Word.Limb (Limb (..))
+import Data.Word.Wider (Wider (..))
+import qualified Data.Word.Wider as W
+import Foreign.Ptr (Ptr)
+import Foreign.Storable (pokeByteOff)
+import GHC.Exts (Word (..))
+import qualified Numeric.Montgomery.Secp256k1.Scalar as S
+
+-- Group order ----------------------------------------------------------------
+
+-- | The secp256k1 group order \(n\).
+curveOrder :: Integer
+curveOrder = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141
+
+-- | The secp256k1 field size \(p\).
+fieldSize :: Integer
+fieldSize = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2F
+
+-- | Reduction modulo \(n\) (variable-time: public values only).
+modQ :: Integer -> Integer
+modQ x = x `mod` curveOrder
+
+-- Public scalars -------------------------------------------------------------
+
+-- | Big-endian bytes to a non-negative 'Integer' (variable-time: public values only).
+bytesToInteger :: ByteString -> Integer
+bytesToInteger = BS.foldl' (\acc b -> acc * 256 + fromIntegral b) 0
+
+-- | A non-negative 'Integer' below \(2^{256}\) to 32 big-endian bytes (variable-time: public values only).
+integerToBytes32 :: Integer -> ByteString
+integerToBytes32 i = fst (BS.unfoldrN 32 step 31)
+ where
+  step :: Int -> Maybe (Word8, Int)
+  step j = Just (fromInteger (i `shiftR` (8 * j)), j - 1)
+
+-- | @int(h) mod n@ for a 32-byte hash @h@ that is public (variable-time).
+hashToScalar :: ByteString -> Integer
+hashToScalar = modQ . bytesToInteger
+
+-- Secret scalars -------------------------------------------------------------
+
+{- | A secret scalar modulo \(n\), in the Montgomery form of @ppad-fixed@
+(always fully reduced, so in \([0, n)\)).
+
+Every operation on it runs in constant time. Deliberately has no 'Show',
+'Eq', 'Ord', 'Num' or other instance that could compare, print or convert it
+in variable time.
+-}
+newtype SecScalar = SecScalar S.Montgomery
+
+instance NFData SecScalar where
+  rnf (SecScalar m) = rnf m
+
+-- | \(n\) as four limbs.
+orderWider :: Wider
+orderWider = W.wider 0xBFD25E8CD0364141 0xBAAEDCE6AF48A03B 0xFFFFFFFFFFFFFFFE 0xFFFFFFFFFFFFFFFF
+
+-- | Zero as four limbs.
+zeroWider :: Wider
+zeroWider = W.wider 0 0 0 0
+
+{- | A secret scalar from 32 big-endian bytes in \([1, n)\).
+
+Only the length is checked in variable time. The range check compares the
+limbs in constant time and decides once, on the combined result; only the
+outcome (valid, zero or out of range) is revealed.
+-}
+secScalarFromBytes :: ByteString -> Either DecodeError SecScalar
+secScalarFromBytes b
+  | BS.length b /= 32 = Left (InvalidLength 32 (BS.length b))
+  | C.decide (C.and (W.gt w zeroWider) (W.lt w orderWider)) = Right $! SecScalar (S.to w)
+  | C.decide (W.gt w zeroWider) = Left ScalarOutOfRange
+  | otherwise = Left ScalarZero
+ where
+  w = widerFromBytes b
+
+{- | @int(b) mod n@ as a secret scalar, for exactly 32 bytes @b@: a hash
+that becomes a secret nonce, or the stored bytes of a scalar already in
+\([0, n)\) (which the reduction leaves unchanged).
+
+The reduction is the conversion into Montgomery form: a Montgomery
+multiplication by \(R^2 \bmod n\) followed by one constant-time conditional
+subtraction. It is exact for every 256-bit input because
+\(b \cdot (R^2 \bmod n) < R \cdot n\).
+-}
+secScalarFromBytesModQ :: ByteString -> SecScalar
+secScalarFromBytesModQ b = SecScalar (S.to (widerFromBytes b))
+
+-- | The 32-byte big-endian encoding of a secret scalar, in constant time.
+secScalarToBytes :: SecScalar -> ByteString
+secScalarToBytes = widerToBytes . secScalarWider
+
+-- | A secret scalar as a plain t'Wider' word in \([0, n)\), e.g. for @ppad-secp256k1@'s @mul_wnaf@.
+secScalarWider :: SecScalar -> Wider
+secScalarWider (SecScalar m) = S.retr m
+
+-- | A public 'Integer' in Montgomery form (variable-time in the 'Integer').
+publicMontgomery :: Integer -> S.Montgomery
+publicMontgomery x = S.to (W.to_vartime (modQ x))
+
+-- | A public flag as a 'C.Choice'.
+choice :: Bool -> C.Choice
+choice True = C.true# ()
+choice False = C.false# ()
+
+-- Secret arithmetic ----------------------------------------------------------
+
+{- | The scalar of a BIP-327 partial signature:
+
+\[
+s = k_1' + b \cdot k_2' + e \cdot a \cdot d \pmod n
+\]
+
+where \(k_i' = n - k_i\) when the final nonce \(R\) has odd \(y\) and
+\(d = g \cdot gacc \cdot d'\), i.e. \(d'\) negated when
+\(g \cdot gacc = -1\).
+
+This is the only place where secret scalars are combined. The secrets stay
+in Montgomery form throughout: additions, multiplications and the
+negations (selected with a constant-time 'S.select', although both flags are
+public) run in constant time. Only the result \(s\), the public partial
+signature, is converted to an 'Integer'.
+-}
+signScalar ::
+  -- | \(k_1\) (secret).
+  SecScalar ->
+  -- | \(k_2\) (secret).
+  SecScalar ->
+  -- | \(d'\), the secret key (secret).
+  SecScalar ->
+  -- | Negate the nonce (\(R\) has odd \(y\)).
+  Bool ->
+  -- | Negate the secret key (\(g \cdot gacc = n - 1\)).
+  Bool ->
+  -- | Nonce coefficient \(b\) (public).
+  Integer ->
+  -- | \(e \cdot a \bmod n\) (public).
+  Integer ->
+  -- | \(s\) (public).
+  Integer
+signScalar (SecScalar k1) (SecScalar k2) (SecScalar d) negateNonce negateKey b ea =
+  let k = S.add k1 (S.mul (publicMontgomery b) k2)
+      k' = S.select k (S.neg k) (choice negateNonce)
+      d' = S.select d (S.neg d) (choice negateKey)
+   in W.from_vartime (S.retr (S.add k' (S.mul (publicMontgomery ea) d')))
+
+-- Constant-time byte conversions ---------------------------------------------
+
+{- | The first 32 bytes, big-endian, as a t'Wider' word: shifts and ors with
+no branch on the data.
+
+These conversions are vendored instead of @ppad-secp256k1@'s
+@unsafe_roll32@ and @unroll32@, which that package exports for testing and
+benchmarking only. Precondition: at least 32 bytes (checked; the length is
+public).
+-}
+widerFromBytes :: ByteString -> Wider
+widerFromBytes b
+  | BS.length b < 32 = error "widerFromBytes: fewer than 32 bytes"
+  | otherwise = W.wider (limbAt 24) (limbAt 16) (limbAt 8) (limbAt 0)
+ where
+  limbAt :: Int -> Word
+  limbAt off =
+    byteAt off 56
+      .|. byteAt (off + 1) 48
+      .|. byteAt (off + 2) 40
+      .|. byteAt (off + 3) 32
+      .|. byteAt (off + 4) 24
+      .|. byteAt (off + 5) 16
+      .|. byteAt (off + 6) 8
+      .|. byteAt (off + 7) 0
+  byteAt :: Int -> Int -> Word
+  byteAt i s = fromIntegral (BU.unsafeIndex b i) `unsafeShiftL` s
+
+-- | A t'Wider' word as 32 big-endian bytes, with no branch on the data.
+widerToBytes :: Wider -> ByteString
+widerToBytes (Wider (# Limb w0, Limb w1, Limb w2, Limb w3 #)) = BI.unsafeCreate 32 $ \p -> do
+  pokeLimb p 0 (W# w3)
+  pokeLimb p 8 (W# w2)
+  pokeLimb p 16 (W# w1)
+  pokeLimb p 24 (W# w0)
+ where
+  pokeLimb :: Ptr Word8 -> Int -> Word -> IO ()
+  pokeLimb p off w = do
+    pokeByte p off (w `unsafeShiftR` 56)
+    pokeByte p (off + 1) (w `unsafeShiftR` 48)
+    pokeByte p (off + 2) (w `unsafeShiftR` 40)
+    pokeByte p (off + 3) (w `unsafeShiftR` 32)
+    pokeByte p (off + 4) (w `unsafeShiftR` 24)
+    pokeByte p (off + 5) (w `unsafeShiftR` 16)
+    pokeByte p (off + 6) (w `unsafeShiftR` 8)
+    pokeByte p (off + 7) w
+  pokeByte :: Ptr Word8 -> Int -> Word -> IO ()
+  pokeByte p off x = pokeByteOff p off (fromIntegral x :: Word8)
diff --git a/internal/Crypto/Curve/Secp256k1/MuSig2/Internal/Session.hs b/internal/Crypto/Curve/Secp256k1/MuSig2/Internal/Session.hs
new file mode 100644
--- /dev/null
+++ b/internal/Crypto/Curve/Secp256k1/MuSig2/Internal/Session.hs
@@ -0,0 +1,241 @@
+{- |
+Module: Crypto.Curve.Secp256k1.MuSig2.Internal.Session
+Copyright: (c) 2025 Jose Storopoli
+License: MIT
+Maintainer: Jose Storopoli <jose@storopoli.com>
+
+BIP-327 signing sessions: @GetSessionValues@, @Sign@, @DeterministicSign@,
+@PartialSigVerify@ and @PartialSigAgg@, plus BIP-340 verification of the
+final signature.
+
+Not part of the public API.
+-}
+module Crypto.Curve.Secp256k1.MuSig2.Internal.Session (
+  Session (..),
+  newSession,
+  sessionKeyAgg,
+  sign,
+  signWithoutVerification,
+  deterministicSign,
+  partialSigVerify,
+  partialSigVerifyWith,
+  partialSigAgg,
+  verify,
+) where
+
+import Control.DeepSeq (NFData (..), ($!!))
+import Control.Monad (when)
+import Crypto.Curve.Secp256k1 (add, neg, serialize_point, verify_schnorr', _CURVE_G)
+import Crypto.Curve.Secp256k1.MuSig2.Internal.Error (SignError (..))
+import Crypto.Curve.Secp256k1.MuSig2.Internal.Hash (hashChallenge, hashNonceCoef)
+import Crypto.Curve.Secp256k1.MuSig2.Internal.KeyAgg (KeyAggContext (..), aggXOnlyPubKey, keyAggCoefficient)
+import Crypto.Curve.Secp256k1.MuSig2.Internal.Nonce (
+  SecNonce,
+  claimSecNonce,
+  deterministicNonceScalars,
+  pubNonceFromScalars,
+  secNonceAggPubKey,
+  secNonceMessage,
+  secNoncePubKey,
+  secNoncePubNonce,
+ )
+import Crypto.Curve.Secp256k1.MuSig2.Internal.Point (gContext, hasEvenYBytes, isInfinity, mulGPublic, mulPublic)
+import Crypto.Curve.Secp256k1.MuSig2.Internal.Scalar (SecScalar, curveOrder, hashToScalar, integerToBytes32, modQ, signScalar)
+import Crypto.Curve.Secp256k1.MuSig2.Internal.Types (
+  AggNonce (..),
+  PartialSignature (..),
+  PubKey (..),
+  PubNonce (..),
+  SecKey (..),
+  Signature (..),
+  XOnlyPubKey (..),
+  mkAggNonce,
+  pubKeyHasEvenY,
+ )
+import Data.ByteString (ByteString)
+import qualified Data.ByteString as BS
+import Data.Foldable (for_)
+import Data.List.NonEmpty (NonEmpty)
+
+{- | A signing session: a key aggregation context, an aggregate nonce and a
+message, with the BIP-327 session values computed once.
+-}
+data Session = Session
+  { sesKeyAgg :: !KeyAggContext
+  -- ^ Key aggregation context (with tweaks).
+  , sesAggNonce :: !AggNonce
+  -- ^ Aggregate nonce.
+  , sesMessage :: !ByteString
+  -- ^ Message.
+  , sesB :: !Integer
+  -- ^ Nonce coefficient \(b\).
+  , sesRx :: !ByteString
+  -- ^ \(xbytes(R)\) of the final nonce \(R\).
+  , sesREven :: !Bool
+  -- ^ \(R\) has even \(y\).
+  , sesE :: !Integer
+  -- ^ Challenge \(e\).
+  , sesQEven :: !Bool
+  -- ^ \(Q\) has even \(y\) (\(g = 1\)).
+  }
+
+instance NFData Session where
+  rnf (Session k a m b rx re e qe) = rnf k `seq` rnf a `seq` rnf m `seq` rnf b `seq` rnf rx `seq` rnf re `seq` rnf e `seq` rnf qe
+
+{- | Starts a signing session (BIP-327 @GetSessionValues@): computes \(b\),
+\(R = R_1 + b \cdot R_2\) (or \(G\) if that is infinity) and \(e\).
+-}
+newSession :: KeyAggContext -> AggNonce -> ByteString -> Session
+newSession ctx aggNonce msg =
+  Session
+    { sesKeyAgg = ctx
+    , sesAggNonce = aggNonce
+    , sesMessage = msg
+    , sesB = b
+    , sesRx = BS.drop 1 rBytes
+    , sesREven = hasEvenYBytes rBytes
+    , sesE = hashToScalar (hashChallenge (BS.drop 1 rBytes <> qx <> msg))
+    , sesQEven = pubKeyHasEvenY q
+    }
+ where
+  q = kacQ ctx
+  qx = BS.drop 1 (pubKeyBytes q)
+  b = hashToScalar (hashNonceCoef (aggNonceBytes aggNonce <> qx <> msg))
+  r' = add (aggNonceR1 aggNonce) (mulPublic (aggNonceR2 aggNonce) b)
+  r = if isInfinity r' then _CURVE_G else r'
+  rBytes = serialize_point r
+
+-- | The key aggregation context of a session.
+sessionKeyAgg :: Session -> KeyAggContext
+sessionKeyAgg = sesKeyAgg
+
+-- | \(g \cdot gacc = -1\): the secret key (and the signer's key in verification) is negated.
+negatesKey :: Session -> Bool
+negatesKey ses = not (sesQEven ses) /= kacGaccNeg (sesKeyAgg ses)
+
+{- | BIP-327 @Sign@, followed by @PartialSigVerifyInternal@ on the result as
+the BIP recommends.
+
+Consumes the secret nonce first, as BIP-327 and libsecp256k1 do: the nonce
+is atomically marked used and its buffer zero-filled before any check, so
+every call after the first, through any copy of the t'SecNonce' and from any
+thread, returns 'SecNonceAlreadyUsed', and a failed call uses the nonce up
+too. Then, in order: 'SecNonceKeyMismatch', 'SecNonceSessionMismatch' (if
+the nonce was generated with an aggregate key or a message, they must be the
+session's), 'SignerNotInSession', and 'SelfVerificationFailed'.
+-}
+sign :: SecNonce -> SecKey -> Session -> IO (Either SignError PartialSignature)
+sign = signNonce True
+
+{- | 'sign' without the verification of the result: a fault during signing
+(e.g. a bit flip) may then go unnoticed, and a faulty partial signature can
+leak the secret key.
+-}
+signWithoutVerification :: SecNonce -> SecKey -> Session -> IO (Either SignError PartialSignature)
+signWithoutVerification = signNonce False
+
+-- | Consumes the nonce, checks its binding and signs.
+signNonce :: Bool -> SecNonce -> SecKey -> Session -> IO (Either SignError PartialSignature)
+signNonce verifyResult sn sk ses = do
+  claimed <- claimSecNonce sn
+  pure $!! case claimed of
+    Nothing -> Left SecNonceAlreadyUsed
+    Just (k1, k2) -> do
+      when (secNoncePubKey sn /= secKeyPub sk) (Left SecNonceKeyMismatch)
+      when (any (/= aggXOnlyPubKey (sesKeyAgg ses)) (secNonceAggPubKey sn) || any (/= sesMessage ses) (secNonceMessage sn)) $
+        Left SecNonceSessionMismatch
+      signScalars verifyResult k1 k2 (secNoncePubNonce sn) sk ses
+
+{- | BIP-327 @Sign@ with the nonce scalars \(k_1, k_2\) (in \([1, n)\)) and
+the matching public nonce, for a nonce bound to the secret key's public key.
+-}
+signScalars :: Bool -> SecScalar -> SecScalar -> PubNonce -> SecKey -> Session -> Either SignError PartialSignature
+signScalars verifyResult k1 k2 pn sk ses = case keyAggCoefficient (sesKeyAgg ses) pk of
+  Nothing -> Left SignerNotInSession
+  Just a
+    | not verifyResult || partialSigVerifyWith ses a pk pn psig -> Right psig
+    | otherwise -> Left SelfVerificationFailed
+   where
+    s = signScalar k1 k2 (secKeyScalar sk) (not (sesREven ses)) (negatesKey ses) (sesB ses) (modQ (sesE ses * a))
+    psig = PartialSignature s
+ where
+  pk = secKeyPub sk
+
+{- | BIP-327 @DeterministicSign@: signing without a random nonce, for the
+signer who contributes its nonce last.
+
+Derives the nonce from the secret key, the other signers' aggregate nonce
+@aggothernonce@ (the 'Crypto.Curve.Secp256k1.MuSig2.nonceAgg' of all other
+signers' public nonces), the (tweaked) aggregate key of the context and the
+message, and optionally 32 bytes of auxiliary randomness. Returns this
+signer's public nonce, to send with the partial signature, and the partial
+signature for the session whose aggregate nonce combines the two.
+
+Safe without randomness only if every other signer's public nonce is fixed
+before this one is revealed: call it only after receiving all other public
+nonces, never before. The secret nonce never leaves this function, and the
+same inputs always give the same output.
+
+Fails with 'InvalidAuxRandLength', 'DeterministicNonceIsZero' (negligible
+probability), 'AggOtherNonceAtInfinity', 'SignerNotInSession' or
+'SelfVerificationFailed'.
+-}
+deterministicSign ::
+  -- | The signer's secret key.
+  SecKey ->
+  -- | @aggothernonce@: the aggregate of the other signers' public nonces.
+  AggNonce ->
+  -- | The key aggregation context, with all tweaks applied.
+  KeyAggContext ->
+  -- | The message.
+  ByteString ->
+  -- | Optional auxiliary randomness: 32 bytes.
+  Maybe ByteString ->
+  Either SignError (PubNonce, PartialSignature)
+deterministicSign sk aggOther ctx msg rand = do
+  for_ rand $ \r -> when (BS.length r /= 32) (Left (InvalidAuxRandLength (BS.length r)))
+  let (k1, k2) = deterministicNonceScalars sk aggOther (aggXOnlyPubKey ctx) msg rand
+  pn <- maybe (Left DeterministicNonceIsZero) Right (pubNonceFromScalars k1 k2)
+  -- NonceAgg((pubnonce, aggothernonce)) parses aggothernonce as a public nonce.
+  when (isInfinity (aggNonceR1 aggOther) || isInfinity (aggNonceR2 aggOther)) (Left AggOtherNonceAtInfinity)
+  let aggNonce = mkAggNonce (add (pubNonceR1 pn) (aggNonceR1 aggOther)) (add (pubNonceR2 pn) (aggNonceR2 aggOther))
+  psig <- signScalars True k1 k2 pn sk (newSession ctx aggNonce msg)
+  Right (pn, psig)
+
+{- | BIP-327 @PartialSigVerify@ for one signer of the session: 'False' if the
+public key is not one of the session's keys.
+
+Takes no hashing: the session caches \(b\), \(e\) and the coefficients.
+-}
+partialSigVerify :: Session -> PubKey -> PubNonce -> PartialSignature -> Bool
+partialSigVerify ses pk pn psig = case keyAggCoefficient (sesKeyAgg ses) pk of
+  Nothing -> False
+  Just a -> partialSigVerifyWith ses a pk pn psig
+
+{- | @PartialSigVerifyInternal@ with the signer's key aggregation coefficient:
+\(s \cdot G = R_e + e \cdot a \cdot g' \cdot P\).
+-}
+partialSigVerifyWith :: Session -> Integer -> PubKey -> PubNonce -> PartialSignature -> Bool
+partialSigVerifyWith ses a pk pn (PartialSignature s) = mulGPublic s == add re (mulPublic (pubKeyPt pk) factor)
+ where
+  re' = add (pubNonceR1 pn) (mulPublic (pubNonceR2 pn) (sesB ses))
+  re = if sesREven ses then re' else neg re'
+  ea = modQ (sesE ses * a)
+  factor = if negatesKey ses then modQ (curveOrder - ea) else ea
+
+{- | BIP-327 @PartialSigAgg@: \(s = \sum s_i + e \cdot g \cdot tacc\) with
+\(g\) from the parity of \(Q\).
+
+Does not check the partial signatures: verify each one with
+'partialSigVerify' first, or the result may not be a valid signature.
+-}
+partialSigAgg :: Session -> NonEmpty PartialSignature -> Signature
+partialSigAgg ses psigs = Signature (sesRx ses <> integerToBytes32 s)
+ where
+  total = foldl' (\acc (PartialSignature si) -> modQ (acc + si)) 0 psigs
+  g = if sesQEven ses then 1 else curveOrder - 1
+  s = modQ (total + sesE ses * g * kacTacc (sesKeyAgg ses))
+
+-- | BIP-340 verification of a Schnorr signature.
+verify :: XOnlyPubKey -> ByteString -> Signature -> Bool
+verify pk msg (Signature sig) = verify_schnorr' gContext msg (xOnlyPoint pk) sig
diff --git a/internal/Crypto/Curve/Secp256k1/MuSig2/Internal/Types.hs b/internal/Crypto/Curve/Secp256k1/MuSig2/Internal/Types.hs
new file mode 100644
--- /dev/null
+++ b/internal/Crypto/Curve/Secp256k1/MuSig2/Internal/Types.hs
@@ -0,0 +1,397 @@
+{-# LANGUAGE MultiWayIf #-}
+
+{- |
+Module: Crypto.Curve.Secp256k1.MuSig2.Internal.Types
+Copyright: (c) 2025 Jose Storopoli
+License: MIT
+Maintainer: Jose Storopoli <jose@storopoli.com>
+
+Keys, nonces, signatures and tweaks, with their BIP-327 byte encodings.
+
+The constructors exported here bypass validation; only this library and its
+tests may use them. Every value must satisfy the invariant documented on its
+type.
+
+Not part of the public API.
+-}
+module Crypto.Curve.Secp256k1.MuSig2.Internal.Types (
+  -- * Encodings
+  Encode (..),
+  hexString,
+
+  -- * Public keys
+  PubKey (..),
+  mkPubKey,
+  pubKeyFromPoint,
+  pubKeyPoint,
+  pubKeyXOnly,
+  pubKeyHasEvenY,
+  XOnlyPubKey (..),
+
+  -- * Secret keys
+  SecKey (..),
+  secKeyFromBytes,
+  secKeyToBytes,
+  secKeyPubKey,
+
+  -- * Tweaks
+  Tweak (..),
+  tweakFromBytes,
+
+  -- * Nonces
+  PubNonce (..),
+  mkPubNonce,
+  AggNonce (..),
+  mkAggNonce,
+
+  -- * Signatures
+  PartialSignature (..),
+  Signature (..),
+
+  -- * Decoding helpers
+  decodeCPoint,
+  decodeCPointExt,
+  decodeScalar,
+  expectLength,
+) where
+
+import Control.DeepSeq (NFData (..))
+import Crypto.Curve.Secp256k1 (Projective, neg, parse_point, _CURVE_ZERO)
+import Crypto.Curve.Secp256k1.MuSig2.Internal.Error (DecodeError (..))
+import Crypto.Curve.Secp256k1.MuSig2.Internal.Point (cbytes, cbytesExt, hasEvenYBytes, infinityBytes, isInfinity, isValidPoint, mulGSecret)
+import Crypto.Curve.Secp256k1.MuSig2.Internal.Scalar (SecScalar, bytesToInteger, curveOrder, fieldSize, integerToBytes32, secScalarFromBytes, secScalarToBytes)
+import Data.ByteString (ByteString)
+import qualified Data.ByteString as BS
+import Data.Word (Word8)
+
+-- Encodings ------------------------------------------------------------------
+
+{- | Types with a canonical BIP-327 byte encoding.
+
+@'decode' . 'encode' = 'Right'@, and 'decode' accepts exactly the canonical
+encodings: it rejects wrong lengths, invalid points and out-of-range scalars.
+Secrets have no instance.
+-}
+class Encode a where
+  -- | The canonical encoding.
+  encode :: a -> ByteString
+
+  -- | Parses and validates an encoding.
+  decode :: ByteString -> Either DecodeError a
+
+-- | Lower-case hexadecimal.
+hexString :: ByteString -> String
+hexString = BS.foldr (\w acc -> nibble (w `div` 16) : nibble (w `mod` 16) : acc) []
+ where
+  nibble :: Word8 -> Char
+  nibble n = "0123456789abcdef" !! fromIntegral n
+
+-- | Shows a value as its constructor name applied to its hex encoding.
+showsHex :: String -> ByteString -> Int -> ShowS
+showsHex name bytes d = showParen (d > 10) (showString name . showString " " . shows (hexString bytes))
+
+-- | Fails unless the input has the given length.
+expectLength :: Int -> ByteString -> Either DecodeError ()
+expectLength n b
+  | BS.length b == n = Right ()
+  | otherwise = Left (InvalidLength n (BS.length b))
+
+{- | @cpoint@: exactly 33 bytes, prefix @0x02@ or @0x03@, \(x < p\) on the
+curve. Rejects 32-byte (x-only) and 65-byte (uncompressed) forms, which
+'parse_point' would accept.
+-}
+decodeCPoint :: ByteString -> Either DecodeError Projective
+decodeCPoint b = do
+  expectLength 33 b
+  if
+    | b == infinityBytes -> Left PointAtInfinity
+    | BS.index b 0 /= 0x02 && BS.index b 0 /= 0x03 -> Left InvalidPoint
+    | otherwise -> maybe (Left InvalidPoint) Right (parse_point b)
+
+-- | @cpoint_ext@: like 'decodeCPoint', but 33 zero bytes is the point at infinity.
+decodeCPointExt :: ByteString -> Either DecodeError Projective
+decodeCPointExt b
+  | b == infinityBytes = Right _CURVE_ZERO
+  | otherwise = decodeCPoint b
+
+-- | A 32-byte big-endian scalar below \(n\) (zero allowed).
+decodeScalar :: ByteString -> Either DecodeError Integer
+decodeScalar b = do
+  expectLength 32 b
+  let x = bytesToInteger b
+  if x >= curveOrder then Left ScalarOutOfRange else Right x
+
+-- Public keys ----------------------------------------------------------------
+
+{- | A public key: a finite point on the curve.
+
+Caches its 33-byte compressed encoding; 'Eq' and 'Ord' compare that encoding
+(the order is the one BIP-327 @KeySort@ uses), and 'Show' prints it in hex.
+-}
+data PubKey = PubKey
+  { pubKeyPt :: !Projective
+  -- ^ The point (finite, on the curve).
+  , pubKeyBytes :: !ByteString
+  -- ^ Its 33-byte compressed encoding.
+  }
+
+-- | The public key as a @ppad-secp256k1@ point.
+pubKeyPoint :: PubKey -> Projective
+pubKeyPoint = pubKeyPt
+
+instance Eq PubKey where
+  a == b = pubKeyBytes a == pubKeyBytes b
+
+instance Ord PubKey where
+  compare a b = compare (pubKeyBytes a) (pubKeyBytes b)
+
+instance Show PubKey where
+  showsPrec d x = showsHex "PubKey" (pubKeyBytes x) d
+
+instance NFData PubKey where
+  rnf (PubKey p b) = p `seq` rnf b
+
+instance Encode PubKey where
+  encode = pubKeyBytes
+  decode b = (`PubKey` b) <$> decodeCPoint b
+
+-- | A t'PubKey' from a point already known to be finite and on the curve.
+mkPubKey :: Projective -> PubKey
+mkPubKey p = PubKey p (cbytes p)
+
+-- | A t'PubKey' from any point: rejects infinity and points not on the curve.
+pubKeyFromPoint :: Projective -> Either DecodeError PubKey
+pubKeyFromPoint p
+  | isInfinity p = Left PointAtInfinity
+  | not (isValidPoint p) = Left InvalidPoint
+  | otherwise = Right (mkPubKey p)
+
+-- | Whether the point has an even y-coordinate.
+pubKeyHasEvenY :: PubKey -> Bool
+pubKeyHasEvenY = hasEvenYBytes . pubKeyBytes
+
+{- | A BIP-340 x-only public key: the finite point with the given
+x-coordinate and an even y-coordinate.
+
+'Eq', 'Ord' and 'Show' use the 32-byte encoding.
+-}
+data XOnlyPubKey = XOnlyPubKey
+  { xOnlyPoint :: !Projective
+  -- ^ The point with even y.
+  , xOnlyBytes :: !ByteString
+  -- ^ Its 32-byte x-coordinate.
+  }
+
+instance Eq XOnlyPubKey where
+  a == b = xOnlyBytes a == xOnlyBytes b
+
+instance Ord XOnlyPubKey where
+  compare a b = compare (xOnlyBytes a) (xOnlyBytes b)
+
+instance Show XOnlyPubKey where
+  showsPrec d x = showsHex "XOnlyPubKey" (xOnlyBytes x) d
+
+instance NFData XOnlyPubKey where
+  rnf (XOnlyPubKey p b) = p `seq` rnf b
+
+instance Encode XOnlyPubKey where
+  encode = xOnlyBytes
+  decode b = do
+    expectLength 32 b
+    -- 'parse_point' lifts 32 bytes as a BIP-340 key: x < p, on the curve, even y.
+    p <- maybe (Left InvalidPoint) Right (parse_point b)
+    Right (XOnlyPubKey p b)
+
+-- | The x-only key of a public key (negated to even y if needed).
+pubKeyXOnly :: PubKey -> XOnlyPubKey
+pubKeyXOnly pk =
+  XOnlyPubKey
+    (if pubKeyHasEvenY pk then pubKeyPoint pk else neg (pubKeyPoint pk))
+    (BS.drop 1 (pubKeyBytes pk))
+
+-- Secret keys ----------------------------------------------------------------
+
+{- | A secret key \(0 < d < n\), with its public key.
+
+The scalar is held as four 64-bit words in Montgomery form, never in an
+'Integer': it is parsed, encoded and computed with in constant time.
+
+Deliberately has no 'Show', 'Eq', 'Ord', 'Read', 'Num' or 'Encode' instance.
+-}
+data SecKey = SecKey
+  { secKeyScalar :: !SecScalar
+  -- ^ \(d\).
+  , secKeyPub :: !PubKey
+  -- ^ \(d \cdot G\).
+  }
+
+-- | The public key \(d \cdot G\) of a secret key.
+secKeyPubKey :: SecKey -> PubKey
+secKeyPubKey = secKeyPub
+
+instance NFData SecKey where
+  rnf (SecKey d p) = rnf d `seq` rnf p
+
+{- | A secret key from 32 big-endian bytes in \([1, n)\). The range check
+runs in constant time; only its outcome (valid, 'ScalarZero' or
+'ScalarOutOfRange') is revealed.
+-}
+secKeyFromBytes :: ByteString -> Either DecodeError SecKey
+secKeyFromBytes b = do
+  d <- secScalarFromBytes b
+  case mulGSecret d of
+    Nothing -> Left ScalarZero
+    Just p -> Right (SecKey d (mkPubKey p))
+
+-- | The 32-byte big-endian encoding of a secret key, in constant time.
+secKeyToBytes :: SecKey -> ByteString
+secKeyToBytes = secScalarToBytes . secKeyScalar
+
+-- Tweaks -------------------------------------------------------------------------
+
+{- | A tweak \(0 \le t < n\) (zero allowed, as in BIP-327).
+
+'Eq', 'Ord' and 'Show' use the 32-byte encoding.
+-}
+newtype Tweak = Tweak
+  { tweakScalar :: Integer
+  -- ^ \(t\).
+  }
+  deriving (Eq, Ord)
+
+instance Show Tweak where
+  showsPrec d x = showsHex "Tweak" (encode x) d
+
+instance NFData Tweak where
+  rnf (Tweak t) = rnf t
+
+instance Encode Tweak where
+  encode = integerToBytes32 . tweakScalar
+  decode b = Tweak <$> decodeScalar b
+
+-- | 'decode' for t'Tweak'.
+tweakFromBytes :: ByteString -> Either DecodeError Tweak
+tweakFromBytes = decode
+
+-- Nonces ---------------------------------------------------------------------
+
+{- | A signer's public nonce \((R_1, R_2)\): two finite points.
+
+'Eq', 'Ord' and 'Show' use the 66-byte encoding.
+-}
+data PubNonce = PubNonce
+  { pubNonceR1 :: !Projective
+  -- ^ \(R_1\).
+  , pubNonceR2 :: !Projective
+  -- ^ \(R_2\).
+  , pubNonceBytes :: !ByteString
+  -- ^ @cbytes(R1) || cbytes(R2)@.
+  }
+
+instance Eq PubNonce where
+  a == b = pubNonceBytes a == pubNonceBytes b
+
+instance Ord PubNonce where
+  compare a b = compare (pubNonceBytes a) (pubNonceBytes b)
+
+instance Show PubNonce where
+  showsPrec d x = showsHex "PubNonce" (pubNonceBytes x) d
+
+instance NFData PubNonce where
+  rnf (PubNonce r1 r2 b) = r1 `seq` r2 `seq` rnf b
+
+instance Encode PubNonce where
+  encode = pubNonceBytes
+  decode b = do
+    expectLength 66 b
+    r1 <- decodeCPoint (BS.take 33 b)
+    r2 <- decodeCPoint (BS.drop 33 b)
+    Right (PubNonce r1 r2 b)
+
+-- | A t'PubNonce' from two points already known to be finite and on the curve.
+mkPubNonce :: Projective -> Projective -> PubNonce
+mkPubNonce r1 r2 = PubNonce r1 r2 (cbytes r1 <> cbytes r2)
+
+{- | An aggregate nonce \((R_1, R_2)\); either point may be infinity.
+
+'Eq', 'Ord' and 'Show' use the 66-byte encoding (infinity as 33 zero bytes).
+-}
+data AggNonce = AggNonce
+  { aggNonceR1 :: !Projective
+  -- ^ \(R_1\).
+  , aggNonceR2 :: !Projective
+  -- ^ \(R_2\).
+  , aggNonceBytes :: !ByteString
+  -- ^ @cbytes_ext(R1) || cbytes_ext(R2)@.
+  }
+
+instance Eq AggNonce where
+  a == b = aggNonceBytes a == aggNonceBytes b
+
+instance Ord AggNonce where
+  compare a b = compare (aggNonceBytes a) (aggNonceBytes b)
+
+instance Show AggNonce where
+  showsPrec d x = showsHex "AggNonce" (aggNonceBytes x) d
+
+instance NFData AggNonce where
+  rnf (AggNonce r1 r2 b) = r1 `seq` r2 `seq` rnf b
+
+instance Encode AggNonce where
+  encode = aggNonceBytes
+  decode b = do
+    expectLength 66 b
+    r1 <- decodeCPointExt (BS.take 33 b)
+    r2 <- decodeCPointExt (BS.drop 33 b)
+    Right (AggNonce r1 r2 b)
+
+-- | An t'AggNonce' from two points on the curve (or infinity).
+mkAggNonce :: Projective -> Projective -> AggNonce
+mkAggNonce r1 r2 = AggNonce r1 r2 (cbytesExt r1 <> cbytesExt r2)
+
+-- Signatures -----------------------------------------------------------------
+
+{- | A partial signature \(0 \le s < n\).
+
+'Eq', 'Ord' and 'Show' use the 32-byte encoding.
+-}
+newtype PartialSignature = PartialSignature
+  { partialSigScalar :: Integer
+  -- ^ \(s\).
+  }
+  deriving (Eq, Ord)
+
+instance Show PartialSignature where
+  showsPrec d x = showsHex "PartialSignature" (encode x) d
+
+instance NFData PartialSignature where
+  rnf (PartialSignature s) = rnf s
+
+instance Encode PartialSignature where
+  encode = integerToBytes32 . partialSigScalar
+  decode b = PartialSignature <$> decodeScalar b
+
+{- | A 64-byte BIP-340 Schnorr signature @R.x || s@ with \(R.x < p\) and
+\(s < n\).
+
+'Eq', 'Ord' and 'Show' use the encoding.
+-}
+newtype Signature = Signature
+  { signatureBytes :: ByteString
+  -- ^ The 64 bytes.
+  }
+  deriving (Eq, Ord)
+
+instance Show Signature where
+  showsPrec d x = showsHex "Signature" (signatureBytes x) d
+
+instance NFData Signature where
+  rnf (Signature b) = rnf b
+
+instance Encode Signature where
+  encode = signatureBytes
+  decode b = do
+    expectLength 64 b
+    if bytesToInteger (BS.take 32 b) >= fieldSize
+      then Left InvalidPoint
+      else Signature b <$ decodeScalar (BS.drop 32 b)
diff --git a/lib/Crypto/Curve/Secp256k1/MuSig2.hs b/lib/Crypto/Curve/Secp256k1/MuSig2.hs
--- a/lib/Crypto/Curve/Secp256k1/MuSig2.hs
+++ b/lib/Crypto/Curve/Secp256k1/MuSig2.hs
@@ -1,812 +1,270 @@
-{-# LANGUAGE CPP #-}
-{-# LANGUAGE DeriveGeneric #-}
-{-# LANGUAGE FlexibleInstances #-}
-{-# LANGUAGE GeneralizedNewtypeDeriving #-}
-{-# LANGUAGE InstanceSigs #-}
-{-# LANGUAGE OverloadedRecordDot #-}
-{-# LANGUAGE OverloadedStrings #-}
-{-# LANGUAGE RecordWildCards #-}
-{-# OPTIONS_GHC -Wno-orphans #-}
-{-# OPTIONS_GHC -Wno-x-partial #-}
-
-{- |
-Module: Crypto.Curve.Secp256k1.MuSig2
-Copyright: (c) 2025 Jose Storopoli
-License: MIT
-Maintainer: Jose Storopoli <jose@storopoli.com>
-
-Pure [BIP0327](https://github.com/bitcoin/bips/blob/master/bip-0327.mediawiki)
-[MuSig2](https://github.com/bitcoin/bips/blob/master/bip-0327.mediawiki)
-(partial)signatures with tweak support on the elliptic curve secp256k1.
-
-== Security Considerations
-
-* __Nonce single-use:__ Each 'SecNonce' /must/ be used to 'sign' at most one
-  message. Reusing a nonce across two different messages enables algebraic
-  recovery of the signer's private key. This library does not enforce
-  single-use semantics at the type level; callers must ensure fresh nonces
-  per signing session.
-
-* __Non-constant-time arithmetic:__ This library uses Haskell's arbitrary-precision
-  'Integer' type for all scalar operations. Branching and comparison on secret
-  values (e.g., key negation during signing) is not constant-time. For
-  applications requiring side-channel resistance, consider a C FFI binding
-  such as @libsecp256k1-musig@.
-
-* __No secret zeroization:__ Secret key material ('SecKey', 'SecNonce') is not
-  zeroized after use due to Haskell's garbage-collected runtime. Secrets may
-  persist in memory until collected.
-
-== Usage
-
-A sample GHCi session:
-
-@
-> -- pragmas and b16 import for illustration only; not required
-> :set -XOverloadedStrings
-> :set -XBangPatterns
-> import qualified Data.ByteString.Base16 as B16
->
-> -- import qualified
-> import qualified Crypto.Curve.Secp256k1.MuSig2 as MuSig2
-> import qualified Crypto.Curve.Secp256k1 as Secp256k1
->
-> -- secret keys for a 2-of-2 multisig
-> let sec1 = MuSig2.SecKey 0xB7E151628AED2A6ABF7158809CF4F3C762E7160F38B4DA56A784D9045190CFEF
-> let sec2 = MuSig2.SecKey 0x68E151628AED2A6ABF7158809CF4F3C762E7160F38B4DA56A784D9045190CFEF
->
-> -- derive public keys
-> let Just pub1 = Secp256k1.derive_pub 0xB7E151628AED2A6ABF7158809CF4F3C762E7160F38B4DA56A784D9045190CFEF
-> let Just pub2 = Secp256k1.derive_pub 0x68E151628AED2A6ABF7158809CF4F3C762E7160F38B4DA56A784D9045190CFEF
-> let pubkeys = [pub1, pub2]
->
-> -- create key aggregation context
-> let Right keyagg_ctx = MuSig2.mkKeyAggContext pubkeys Nothing
-> let agg_pk = MuSig2.aggregatedPubkey keyagg_ctx
->
-> -- message to sign
-> let msg = "i approve of this message"
->
-> -- generate nonces for each signer
-> let params1 = MuSig2.defaultSecNonceGenParams pub1
-> let params2 = MuSig2.defaultSecNonceGenParams pub2
-> Right secnonce1 <- MuSig2.secNonceGen params1
-> Right secnonce2 <- MuSig2.secNonceGen params2
-> let Right pubnonce1 = MuSig2.publicNonce secnonce1
-> let Right pubnonce2 = MuSig2.publicNonce secnonce2
-> let pubnonces = [pubnonce1, pubnonce2]
->
-> -- aggregate nonces and create session context
-> let Right aggnonce = MuSig2.aggNonces pubnonces
-> let Right session_ctx = MuSig2.mkSessionContext aggnonce pubkeys [] msg
->
-> -- each signer creates a partial signature
-> let Right psig1 = MuSig2.sign secnonce1 sec1 session_ctx
-> let Right psig2 = MuSig2.sign secnonce2 sec2 session_ctx
-> let psigs = [psig1, psig2]
->
-> -- aggregate partial signatures into final signature
-> let Right final_sig = MuSig2.aggPartials psigs session_ctx
->
-> -- verify the aggregated signature
-> Secp256k1.verify_schnorr msg agg_pk final_sig
-> True
-@
--}
-module Crypto.Curve.Secp256k1.MuSig2 (
-  -- Main types and functions
-  MuSig2Error (..),
-  sign,
-  SecKey (..),
-  PartialSignature,
-  partialSigVerify,
-  aggPartials,
-  -- MuSig2 Session
-  SessionContext (..),
-  mkSessionContext,
-  -- Key aggregation
-  KeyAggContext,
-  mkKeyAggContext,
-  aggregatedPubkey,
-  -- tweak functions
-  applyTweak,
-  Tweak (..),
-  sortPublicKeys,
-  -- nonces
-  SecNonce,
-  mkSecNonce,
-  SecNonceGenParams (..),
-  defaultSecNonceGenParams,
-  secNonceGen,
-  secNonceGenWithRand,
-  PubNonce (..),
-  publicNonce,
-  aggNonces,
-) where
-
-import Control.Monad (foldM, when)
-import Crypto.Curve.Secp256k1 (Projective, Pub, add, derive_pub, mul, neg, serialize_point, _CURVE_G, _CURVE_ZERO)
-import Crypto.Curve.Secp256k1.MuSig2.Internal
-import Data.Binary.Put (
-  putWord32be,
-  putWord64be,
-  runPut,
- )
-import Data.ByteString (ByteString)
-import qualified Data.ByteString as BS
-import qualified Data.ByteString.Lazy as LBS
-
-{- HLINT ignore "Use fewer imports" -}
-#if !MIN_VERSION_base(4,20,0)
-import Data.Foldable (foldl')
-#endif
-import Data.Foldable (toList, traverse_)
-import Data.Maybe (fromMaybe)
-import Data.Sequence (Seq)
-import qualified Data.Sequence as Seq
-import Data.Traversable ()
-import Data.Word (Word32, Word64, Word8)
-import GHC.Generics (Generic)
-import System.Entropy (getEntropy)
-
-data MuSig2Error
-  = EmptyPartialSignatureCollection
-  | EmptyNonceCollection
-  | EmptyPublicKeyCollection
-  | TooManyPublicKeys
-  | TooManyTweaks
-  | PublicKeyAtInfinity
-  | SignerCountMismatch Int Int
-  | InvalidSignerIndex Int
-  | NegativeTweak Integer
-  | TweakOutOfRange Integer
-  | AggregatedPublicKeyAtInfinity
-  | TweakResultAtInfinity
-  | SecretScalarZero String
-  | SecretScalarOutOfRange String
-  | SecretKeyPublicKeyMismatch
-  | PartialSignatureOutOfRange
-  | InvalidRandomBytesLength Int
-  | PublicNonceGenerationFailed String
-  | KeyDerivationFailed
-  | ScalarMultiplicationFailed String
-  | InvalidPointFormat
-  | ZeroNonceGenerated
-  deriving (Eq, Show)
-
-liftMaybe :: e -> Maybe a -> Either e a
-liftMaybe err = maybe (Left err) Right
-
-validateSecretScalar :: String -> Integer -> Either MuSig2Error Integer
-validateSecretScalar label scalar
-  | scalar == 0 = Left (SecretScalarZero label)
-  | scalar < 0 || scalar >= curveOrder = Left (SecretScalarOutOfRange label)
-  | otherwise = Right scalar
-
-validateTweakValue :: Integer -> Either MuSig2Error Integer
-validateTweakValue tweak
-  | tweak < 0 = Left (NegativeTweak tweak)
-  | tweak >= curveOrder = Left (TweakOutOfRange tweak)
-  | otherwise = Right tweak
-
-validatePublicKey :: Pub -> Either MuSig2Error Pub
-validatePublicKey pub
-  | pub == _CURVE_ZERO = Left PublicKeyAtInfinity
-  | otherwise = Right pub
-
--- | Aggregates 'PartialSignature's into a 64-byte Schnorr signature.
-aggPartials ::
-  (Traversable t) =>
-  -- | Partial signatures.
-  t PartialSignature ->
-  -- | Session context.
-  SessionContext ->
-  -- | 64-byte Schnorr signature.
-  Either MuSig2Error ByteString
-aggPartials partials ctx =
-  if Seq.null partialsSeq
-    then Left EmptyPartialSignatureCollection
-    else case traverse validatePartialSignature partialsSeq of
-      Left err -> Left err
-      Right validPartials -> do
-        nonce <- getSigningNonce ctx
-        signingHash <- getSigningHash ctx
-        let
-          e = bytesToInteger signingHash
-          keyCtx = cachedKeyAggCtx ctx
-          aggPk = q keyCtx
-          taccVal = maybe 0 getTweak $ tacc keyCtx
-        -- BIP 327: Let g = 1 if has_even_y(Q), otherwise let g = -1 mod n
-        evenAggPk <- liftMaybe InvalidPointFormat (isEvenPub aggPk)
-        let
-          g = if evenAggPk then 1 else curveOrder - 1
-          sSum = modQ $ sum validPartials
-          -- BIP 327: Let s = s₁ + ... + sᵤ + e⋅g⋅tacc mod n
-          -- (gacc must not appear here: ApplyTweak already folds it into tacc)
-          s = modQ (sSum + e * g * taccVal)
-          left = xBytes nonce
-          right = integerToBytes32 s
-        Right (left <> right)
- where
-  partialsSeq = Seq.fromList (toList partials)
-  validatePartialSignature partial
-    | partial < 0 || partial >= curveOrder = Left PartialSignatureOutOfRange
-    | otherwise = Right partial
-
-{- | Compute a partial signature on a message.
-
-The partial signature returned from this function is a potentially-zero
-scalar value which can then be passed to other signers for verification
-and aggregation.
-
-Fails with 'SecretKeyPublicKeyMismatch' if the public key derived from the
-secret key differs from the one the 'SecNonce' is bound to, or is not one of
-the session's public keys.
--}
-sign ::
-  -- | Secret nonce.
-  SecNonce ->
-  -- | Secret key.
-  SecKey ->
-  -- | Session context.
-  SessionContext ->
-  -- | Partial signature.
-  Either MuSig2Error PartialSignature
-sign secnonce sk ctx =
-  do
-    nonce <- getSigningNonce ctx
-    signingHash <- getSigningHash ctx
-    let publicKeys = pks ctx
-        e = bytesToInteger signingHash
-        keyCtx = cachedKeyAggCtx ctx
-        aggPk = q keyCtx
-        gaccVal = gacc keyCtx
-        SecNonce k1 k2 boundPk = secnonce
-    evenAggPk <- liftMaybe InvalidPointFormat (isEvenPub aggPk)
-    evenNonce <- liftMaybe InvalidPointFormat (isEvenPub nonce)
-    _ <- validateSecretScalar "k1" k1
-    _ <- validateSecretScalar "k2" k2
-    d' <- validateSecretScalar "secret key" (unSecKey sk)
-    p <- liftMaybe KeyDerivationFailed $ derive_pub (fromInteger d')
-    if p /= boundPk || p `notElem` publicKeys
-      then Left SecretKeyPublicKeyMismatch
-      else do
-        let
-          -- `d` is negated if exactly one of the parity accumulator OR the aggregated pubkey has odd parity.
-          -- gaccVal == 1 means no negation, gaccVal == n-1 means negation
-          oddAggPk = not evenAggPk
-          parityFromGacc = gaccVal /= 1
-          d = if parityFromGacc /= oddAggPk then curveOrder - d' else d'
-          a = computeKeyAggCoef p publicKeys
-          -- if has_even_Y(R):
-          --   k = k1 + b*k2
-          -- else:
-          --   k = (n-k1) + b(n-k2)
-          --     = n - (k1 + b*k2)
-          b = getSigningNonceCoeff ctx
-          k = if evenNonce then k1 + b * k2 else curveOrder - (k1 + b * k2)
-          s = modQ (k + e * a * d)
-        pubNonce' <- publicNonce secnonce
-        verified <- partialSigVerifyInternal s pubNonce' p ctx
-        if verified
-          then Right s
-          else Left (PublicNonceGenerationFailed "partial signature self-verification failed")
-
-{- | A partial signature which is a scalar in the range \(0 \leq x < n\) where
-\(n\) is the curve order.
--}
-type PartialSignature = Integer
-
--- | Verifies a 'PartialSignature'.
-partialSigVerify ::
-  (Traversable t) =>
-  -- | Partial signature to verify.
-  PartialSignature ->
-  -- | 'PubNonce's
-  t PubNonce ->
-  -- | 'Pub'lic keys.
-  t Pub ->
-  -- | 'Tweak's
-  t Tweak ->
-  -- | Message.
-  ByteString ->
-  -- | Index of the signer.
-  Int ->
-  -- | If the partial signature is valid.
-  Either MuSig2Error Bool
-partialSigVerify partial nonces pks tweaks msg idx =
-  do
-    aggNonce <- aggNonces nonces
-    ctx <- mkSessionContext aggNonce pks tweaks msg
-    let noncesSeq = Seq.fromList (toList nonces)
-        pksSeq = Seq.fromList (toList pks)
-    if Seq.length noncesSeq /= Seq.length pksSeq
-      then Left (SignerCountMismatch (Seq.length pksSeq) (Seq.length noncesSeq))
-      else do
-        pk <- maybe (Left (InvalidSignerIndex idx)) Right (Seq.lookup idx pksSeq)
-        pubnonce <- maybe (Left (InvalidSignerIndex idx)) Right (Seq.lookup idx noncesSeq)
-        partialSigVerifyInternal partial pubnonce pk ctx
-
-{- | Verifies a 'PartialSignature'.
-
-== WARNING
-
-Internal function you should probably be using 'partialSigVerify' instead.
--}
-partialSigVerifyInternal ::
-  -- | Partial signature to verify.
-  PartialSignature ->
-  -- | Public nonce.
-  PubNonce ->
-  -- | 'Pub'lic key.
-  Pub ->
-  -- | MuSig2 session context.
-  SessionContext ->
-  -- | If the partial signature is valid.
-  Either MuSig2Error Bool
-partialSigVerifyInternal partial pubnonce pk ctx =
-  do
-    s <- validatePartialSignature partial
-    signingHash <- getSigningHash ctx
-    finalNonce <- getSigningNonce ctx
-    let
-      publicKeys = pks ctx
-      keyCtx = cachedKeyAggCtx ctx
-      aggPk = q keyCtx
-      gaccVal = gacc keyCtx
-      e = bytesToInteger signingHash
-      r1' = pubnonce.r1
-      r2' = pubnonce.r2
-      b = getSigningNonceCoeff ctx
-      a = computeKeyAggCoef pk publicKeys
-    evenAggPk <- liftMaybe InvalidPointFormat (isEvenPub aggPk)
-    evenFinalNonce <- liftMaybe InvalidPointFormat (isEvenPub finalNonce)
-    let
-      oddAggPk = not evenAggPk
-      -- Calculate g factor: 1 if aggregate pubkey has even Y, n-1 if odd
-      g = if oddAggPk then curveOrder - 1 else 1
-      -- Apply parity accumulator: gacc is accumulated parity factor
-      g' = modQ (g * gaccVal)
-    when (r1' == _CURVE_ZERO || r2' == _CURVE_ZERO) $ Left InvalidPointFormat
-    r2b <- liftMaybe (ScalarMultiplicationFailed "r2 * b") $ mulScalar r2' b
-    sG <- liftMaybe (ScalarMultiplicationFailed "s * G") $ mulScalar _CURVE_G s
-    pkMul <- liftMaybe (ScalarMultiplicationFailed "pk multiplication") $ mulScalar pk (e * a * g')
-    let
-      re' = add r1' r2b
-      -- Negate individual nonce if final aggregate nonce has odd Y
-      re = if evenFinalNonce then re' else neg re'
-      sG' = re `add` pkMul
-    Right (sG == sG')
- where
-  validatePartialSignature s
-    | s < 0 || s >= curveOrder = Left PartialSignatureOutOfRange
-    | otherwise = Right s
-
--- | Secret key.
-newtype SecKey = SecKey Integer
-  deriving (Read, Eq, Ord, Num, Generic)
-
--- | Gets the secret 'Integer' from a 'SecKey'.
-unSecKey :: SecKey -> Integer
-unSecKey (SecKey int) = int
-
--- | Key aggregation context that holds the aggregated public key and a tweak, if applicable.
-data KeyAggContext = KeyAggContext
-  { q :: Projective
-  -- ^ Point representing the potentially tweaked aggregate public key: an elliptic curve point.
-  , tacc :: Maybe Tweak
-  -- ^ accumulated tweak: an integer with \(0 \leq tacc < n\) where \(n\) is the curve order. 'Nothing' means \(0\).
-  , gacc :: !Integer
-  -- ^ parity accumulator: 1 means \(g = 1\), \(n-1\) means \(g = n-1\) where \(n\) is the curve order.
-  }
-
-{- | Creates a 'KeyAggContext'.
-
-The order in which the 'Pub'keys are presented will be preserved.
-A specific ordering of 'Pub'keys will uniquely determine the aggregated 'Pub'key.
-
-If the same keys are provided again in a different sorting order, a different
-aggregated 'Pub'key will result. It is recommended to sort keys ahead of time
-using 'sortPublicKeys' before creating a 'KeyAggContext'.
-
-== NOTE
-
-Internally it validates if all keys and the resulting aggregated key are not
-points at infinity, if the optional tweak is within the curve order, and if
-the length of the collection of keys is not bigger than 32 bits.
--}
-mkKeyAggContext ::
-  (Traversable t) =>
-  -- | 'Pub'keys.
-  t Pub ->
-  -- | Optional 'Tweak' value.
-  Maybe Tweak ->
-  -- | Resulting 'KeyAggContext'.
-  Either MuSig2Error KeyAggContext
-mkKeyAggContext pks mTweak
-  | Seq.null pks' = Left EmptyPublicKeyCollection
-  | Seq.length pks' > fromIntegral (maxBound :: Word32) = Left TooManyPublicKeys
-  | otherwise = do
-      traverse_ validatePublicKey pks'
-      aggPk <- liftMaybe AggregatedPublicKeyAtInfinity $ aggPublicKeys pks'
-      if aggPk == _CURVE_ZERO
-        then Left AggregatedPublicKeyAtInfinity
-        else do
-          let baseCtx = KeyAggContext aggPk Nothing 1
-          case mTweak of
-            Nothing -> Right baseCtx
-            Just tweak -> applyTweak baseCtx tweak
- where
-  pks' = Seq.fromList (toList pks)
-
--- | Session aggregation context that holds the relevant context for a MuSig2 signing session.
-data SessionContext = SessionContext
-  { aggNonce :: !PubNonce
-  -- ^ Aggregated 'PubNonce'.
-  , pks :: !(Seq Pub)
-  -- ^ Ordered 'Seq' of 'Pub'keys.
-  , tweaks :: !(Seq Tweak)
-  -- ^ 'Seq' of 'Tweak's.
-  , msg :: !ByteString
-  -- ^ Message to be signed.
-  , cachedKeyAggCtx :: !KeyAggContext
-  -- ^ Cached 'KeyAggContext' to avoid recomputation.
-  }
-
-{- | Creates a 'SessionContext'.
-
-The order in which the 'Pub'keys are presented will be preserved.
-A specific ordering of 'Pub'keys will uniquely determine the aggregated 'Pub'key.
-
-If the same keys are provided again in a different sorting order, a different
-aggregated 'Pub'key will result. It is recommended to sort keys ahead of time
-using 'sortPublicKeys' before creating a 'SessionContext'.
-
-== NOTE
-
-Internally it validates if all keys, the resulting aggregated key, and the
-aggregated public nonce are not points at infinity, if the tweaks are within the
-curve order, and if the length of the collection of keys is not bigger than 32 bits.
--}
-mkSessionContext ::
-  (Traversable t) =>
-  -- | Aggregated 'PubNonce'.
-  PubNonce ->
-  -- | 'Pub'keys.
-  t Pub ->
-  -- | 'Tweak's.
-  t Tweak ->
-  -- | Message to be signed.
-  ByteString ->
-  -- | Resulting 'SessionContext'.
-  Either MuSig2Error SessionContext
-mkSessionContext aggNonce pks tweaks msg
-  | Seq.null pks' = Left EmptyPublicKeyCollection
-  | Seq.length pks' > fromIntegral (maxBound :: Word32) = Left TooManyPublicKeys
-  | Seq.length tweaks' > fromIntegral (maxBound :: Word32) = Left TooManyTweaks
-  | otherwise = do
-      traverse_ validatePublicKey pks'
-      traverse_ (validateTweakValue . getTweak) tweaks'
-      keyCtx <- if Seq.null tweaks' then mkKeyAggContext pks' Nothing else mkKeyAggContext pks' Nothing >>= \baseCtx -> foldM applyTweak baseCtx tweaks'
-      Right (SessionContext aggNonce pks' tweaks' msg keyCtx)
- where
-  pks' = Seq.fromList (toList pks)
-  tweaks' = Seq.fromList (toList tweaks)
-
-{- | Gets the signing nonce as a 'Projective' following
-[BIP-0327 algorithm and recommendations](https://github.com/bitcoin/bips/blob/master/bip-0327.mediawiki#dealing-with-infinity-in-nonce-aggregation).
--}
-getSigningNonce :: SessionContext -> Either MuSig2Error Projective
-getSigningNonce ctx = do
-  let
-    b = getSigningNonceCoeff ctx
-    aggNonce = ctx.aggNonce
-  -- BIP 327: R' = R1 + b⋅R2, where R1 and R2 may be the point at infinity
-  r2b <- liftMaybe (ScalarMultiplicationFailed "r2 * b") $ mulScalar aggNonce.r2 b
-  let finalNonce = add aggNonce.r1 r2b
-  -- BIP 327: R = G if R' is infinite
-  Right (if finalNonce == _CURVE_ZERO then _CURVE_G else finalNonce)
-
-{- | Gets the signing nonce coefficient following
-[BIP-0327 algorithm and recommendations](https://github.com/bitcoin/bips/blob/master/bip-0327.mediawiki#dealing-with-infinity-in-nonce-aggregation).
--}
-getSigningNonceCoeff :: SessionContext -> Integer
-getSigningNonceCoeff ctx =
-  let
-    aggNonce = ctx.aggNonce
-    aggPubKey = q (cachedKeyAggCtx ctx)
-    msg = ctx.msg
-    -- BIP 327: aggnonce is encoded with cbytes_ext (infinity as 33 zero bytes)
-    nonceBytes = cbytesExt aggNonce.r1 <> cbytesExt aggNonce.r2
-    qBytes = xBytes aggPubKey
-    preimage = nonceBytes <> qBytes <> msg
-   in
-    bytesToInteger $ hashTagModQ "MuSig/noncecoef" preimage
-
-{- | Gets the signing challenge hash as a 'ByteString' following
-[BIP-0327 algorithm](https://github.com/bitcoin/bips/blob/master/bip-0327.mediawiki).
-
-Note that the signing challenge hash is the naming convention from the
-[MuSig2 paper, page 6](https://eprint.iacr.org/2020/1261).
-In the BIP-0327 it is referred as @e@.
--}
-getSigningHash :: SessionContext -> Either MuSig2Error ByteString
-getSigningHash ctx = do
-  nonce <- getSigningNonce ctx
-  let
-    aggPubKey = q (cachedKeyAggCtx ctx)
-    qBytes = xBytes aggPubKey
-    msg = ctx.msg
-    r = xBytes nonce
-    preimage = r <> qBytes <> msg
-  Right (hashTagModQ "BIP0340/challenge" preimage)
-
--- | Tweak that can be added to an aggregated 'Pub'key.
-data Tweak
-  = {- | X-only tweak required by Taproot tweaking to add script paths to a Taproot output.
-    See [BIP341](https://github.com/bitcoin/bips/blob/master/bip-0341.mediawiki).
-    -}
-    XOnlyTweak !Integer
-  | {- | Plain tweak that can be used to derive child aggregated 'Pub'keys per
-    [BIP32](https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki)
-    -}
-    PlainTweak !Integer
-  deriving (Read, Show, Eq, Ord, Generic)
-
--- | Retrieves the 'Integer' from 'Tweak'.
-getTweak :: Tweak -> Integer
-getTweak (XOnlyTweak int) = int
-getTweak (PlainTweak int) = int
-
-applyTweak :: KeyAggContext -> Tweak -> Either MuSig2Error KeyAggContext
-applyTweak ctx newTweak = do
-  let pubkey = q ctx
-      mAccTweak = tacc ctx
-      gaccIn = gacc ctx
-      accTweakVal = maybe 0 getTweak mAccTweak
-  t <- validateTweakValue (getTweak newTweak)
-  case newTweak of
-    PlainTweak _ -> do
-      let g = 1
-      pubkeyMul <- liftMaybe (ScalarMultiplicationFailed "pubkey * g") $ mulScalar pubkey g
-      tG <- liftMaybe (ScalarMultiplicationFailed "t * G") $ mulScalar _CURVE_G t
-      let tweakedPk = add pubkeyMul tG
-          newAccTweak = modQ (t + (g * accTweakVal))
-          newGacc = modQ (g * gaccIn)
-      if tweakedPk == _CURVE_ZERO
-        then Left TweakResultAtInfinity
-        else Right ctx{q = tweakedPk, tacc = Just (PlainTweak newAccTweak), gacc = newGacc}
-    XOnlyTweak _ -> do
-      evenPubkey <- liftMaybe InvalidPointFormat (isEvenPub pubkey)
-      let g = if evenPubkey then 1 else curveOrder - 1
-      pubkeyMul <- liftMaybe (ScalarMultiplicationFailed "pubkey * g") $ mulScalar pubkey g
-      tG <- liftMaybe (ScalarMultiplicationFailed "t * G") $ mulScalar _CURVE_G t
-      let tweakedPk = add pubkeyMul tG
-          newAccTweak = modQ (t + (g * accTweakVal))
-          newGacc = modQ (g * gaccIn)
-      if tweakedPk == _CURVE_ZERO
-        then Left TweakResultAtInfinity
-        else Right ctx{q = tweakedPk, tacc = Just (XOnlyTweak newAccTweak), gacc = newGacc}
-
--- | Manual 'Ord' implementation of 'Projective' for lexicography sorting.
-instance Ord Projective where
-  compare x y = compare (serialize_point x) (serialize_point y)
-
--- | 'Data.Semigroup' implementation of 'Projective' for algebraic sound combination of points.
-instance Semigroup Projective where
-  (<>) :: Projective -> Projective -> Projective
-  (<>) = add
-
--- | 'Data.Monoid' implementation of 'Projective' for algebraic sound combination of points.
-instance Monoid Projective where
-  mempty :: Projective
-  mempty = _CURVE_ZERO
-
--- | Lexicographically 'Data.Sequence.sort's a 'Traversable' of 'Pub'keys.
-sortPublicKeys :: (Traversable t) => t Pub -> Seq Pub
-sortPublicKeys = Seq.sort . Seq.fromList . toList
-
--- | Gets the aggregated public key from a 'KeyAggContext'.
-aggregatedPubkey :: KeyAggContext -> Pub
-aggregatedPubkey = q
-
-{- | Secret nonce.
-
-The secret nonce provides randomness, blinding a signer's private key when
-signing.
-
-== SECURITY: Single-Use Requirement
-
-A 'SecNonce' /must/ be used to 'sign' at most one message. Reusing the same
-'SecNonce' across two different messages or session contexts allows an
-adversary to algebraically recover the signer's private key.
-
-This library does not enforce single-use semantics at the type level. It is
-the caller's responsibility to ensure that each 'SecNonce' is consumed
-exactly once and then discarded. Generate a fresh nonce (via 'secNonceGen')
-for every signing session.
-
-If you want to follow
-[BIP-0327](https://github.com/bitcoin/bips/blob/master/bip-0327.mediawiki)
-suggestions, then use 'secNonceGen' otherwise use 'mkSecNonce'.
-
-@since 0.2.0
--}
-mkSecNonce ::
-  -- | Public key this nonce is bound to.
-  Pub ->
-  -- | First secret scalar.
-  Integer ->
-  -- | Second secret scalar.
-  Integer ->
-  Either MuSig2Error SecNonce
-mkSecNonce pub k1 k2 = do
-  _ <- validatePublicKey pub
-  k1' <- validateSecretScalar "k1" k1
-  k2' <- validateSecretScalar "k2" k2
-  Right SecNonce{secNonceK1Internal = k1', secNonceK2Internal = k2', secNoncePubKeyInternal = pub}
-
--- | Required and Optional data to generate a 'SecNonce'.
-data SecNonceGenParams = SecNonceGenParams
-  { _pk :: Pub
-  -- ^ 'Pub'lic key: mandatory.
-  , _sk :: Maybe SecKey
-  -- ^ Secret key: optional.
-  , _aggpk :: Maybe Pub
-  -- ^ Aggregated 'Pub'lic key: optional.
-  , _msg :: Maybe ByteString
-  -- ^ Message: optional.
-  , _extraIn :: Maybe ByteString
-  -- Auxiliary input: optional.
-  }
-  deriving (Eq, Ord, Generic)
-
--- | Default approach to generate 'SecNonce's with the only required 'Pub'lic key.
-defaultSecNonceGenParams :: Pub -> SecNonceGenParams
-defaultSecNonceGenParams pk =
-  SecNonceGenParams
-    { _pk = pk
-    , _sk = Nothing
-    , _aggpk = Nothing
-    , _msg = Nothing
-    , _extraIn = Nothing
-    }
-
-{- | Generates a 'SecNonce' using the inputs and algorithms from
-[BIP-0327](https://github.com/bitcoin/bips/blob/master/bip-0327.mediawiki).
-
-Tries to get the entropy from the system's underlying Cryptographic Secure
-Pseudorandom Number Generator (CSPRNG) using the
-[@entropy@](https://hackage.haskell.org/package/entropy) package.
-
-== WARNING
-
-Make sure that you have access to a good CSPRNG in your system before calling
-this function.
--}
-secNonceGen :: SecNonceGenParams -> IO (Either MuSig2Error SecNonce)
-secNonceGen params = loop
- where
-  loop = do
-    rand <- getEntropy 32
-    case secNonceGenWithRand rand params of
-      Left ZeroNonceGenerated -> loop
-      other -> pure other
-
-{- | Generates a 'SecNonce' using a given random 'ByteString' and the inputs and
-algorithms from
-[BIP-0327](https://github.com/bitcoin/bips/blob/master/bip-0327.mediawiki).
-
-== WARNING
-
-You should probably use 'secNonceGen'.
-Use this function if you really have a randomly-generated 'ByteString'.
--}
-secNonceGenWithRand :: ByteString -> SecNonceGenParams -> Either MuSig2Error SecNonce
-secNonceGenWithRand rand _params@(SecNonceGenParams{_pk = pkPoint, ..}) = do
-  if BS.length rand /= 32
-    then Left (InvalidRandomBytesLength (BS.length rand))
-    else Right ()
-  _ <- validatePublicKey pkPoint
-  traverse_ validatePublicKey _aggpk
-  case _sk of
-    Nothing -> Right ()
-    Just (SecKey skScalar) -> do
-      skScalar' <- validateSecretScalar "secret key" skScalar
-      expectedPk <- liftMaybe KeyDerivationFailed $ derive_pub (fromInteger skScalar')
-      if expectedPk == pkPoint
-        then Right ()
-        else Left SecretKeyPublicKeyMismatch
-  let
-    -- Step 2: Optional sk XOR (with tagged hash for safety)
-    rand' = case _sk of
-      Just (SecKey skScalar) ->
-        let skBytes = integerToBytes32 skScalar
-            auxHash = hashTag "MuSig/aux" rand
-         in xorByteStrings skBytes auxHash
-      Nothing -> rand
-
-    -- Steps 3-5: Defaults for optionals
-    pkBytes = serialize_point pkPoint
-    aggpkBytes = maybe "" (BS.drop 1 . serialize_point) _aggpk
-    msgPrefixed = case _msg of
-      Nothing -> BS.singleton 0
-      Just m ->
-        let len = fromIntegral (BS.length m) :: Word64
-            lenBytes = LBS.toStrict . runPut $ putWord64be len
-         in BS.singleton 1 `BS.append` lenBytes `BS.append` m
-    extraInBytes = fromMaybe "" _extraIn
-
-    -- Steps 6-8: Hash for k1/k2
-    mkInput :: Word8 -> ByteString
-    mkInput i =
-      rand'
-        `BS.append` (BS.singleton . fromIntegral $ BS.length pkBytes)
-        `BS.append` pkBytes
-        `BS.append` (BS.singleton . fromIntegral $ BS.length aggpkBytes)
-        `BS.append` aggpkBytes
-        `BS.append` msgPrefixed
-        `BS.append` (LBS.toStrict . runPut . putWord32be . fromIntegral $ BS.length extraInBytes)
-        `BS.append` extraInBytes
-        `BS.append` BS.singleton i
-
-    k1' = modQ . bytesToInteger $ hashTag "MuSig/nonce" (mkInput 0)
-    k2' = modQ . bytesToInteger $ hashTag "MuSig/nonce" (mkInput 1)
-  if k1' == 0 || k2' == 0
-    then Left ZeroNonceGenerated
-    else mkSecNonce pkPoint k1' k2'
-
-{- | Public nonce.
-
-Represents a public nonce derived from a secret nonce. It is composed
-of two public points, 'r1' and 'r2', derived by base-point multiplying
-the two scalars in a 'SecNonce'.
-
-A 'PubNonce' can be derived from a 'SecNonce' using 'publicNonce'.
--}
-data PubNonce = PubNonce
-  { r1 :: Pub
-  -- ^ First public point.
-  , r2 :: Pub
-  -- ^ Second public point.
-  }
-  deriving (Eq, Ord, Show)
-
--- | Generates a 'PubNonce' from a 'SecNonce'.
-publicNonce :: SecNonce -> Either MuSig2Error PubNonce
-publicNonce secNonce = do
-  let (k1, k2) = secNonceScalars secNonce
-  r1' <- liftMaybe (ScalarMultiplicationFailed "k1 * G") $ mul _CURVE_G (fromInteger k1)
-  r2' <- liftMaybe (ScalarMultiplicationFailed "k2 * G") $ mul _CURVE_G (fromInteger k2)
-  Right (PubNonce r1' r2')
-
--- | 'Data.Semigroup' implementation of 'PubNonce' for algebraic sound combination of public nonces.
-instance Semigroup PubNonce where
-  (<>) :: PubNonce -> PubNonce -> PubNonce
-  a <> b = PubNonce{r1 = r1Agg, r2 = r2Agg}
-   where
-    r1Agg = add a.r1 b.r1
-    r2Agg = add a.r2 b.r2
-
--- | 'Data.Monoid' implementation of 'PubNonce' for algebraic sound combination of public nonces.
-instance Monoid PubNonce where
-  mempty :: PubNonce
-  mempty = PubNonce _CURVE_ZERO _CURVE_ZERO
-
-{- | Aggregates a 'Traversable' of 'PubNonce's using the
-[Nonce Aggregation algorithm in BIP-0327](https://github.com/bitcoin/bips/blob/master/bip-0327.mediawiki).
-
-Fails with 'InvalidPointFormat' if any individual 'PubNonce' contains the
-point at infinity. The resulting aggregate nonce may contain the point at
-infinity.
--}
-aggNonces :: (Traversable t) => t PubNonce -> Either MuSig2Error PubNonce
-aggNonces nonces
-  | Seq.null noncesSeq = Left EmptyNonceCollection
-  | any hasInfinity noncesSeq = Left InvalidPointFormat
-  | otherwise = case Seq.viewl noncesSeq of
-      Seq.EmptyL -> Left EmptyNonceCollection
-      x Seq.:< xs -> Right $! foldl' (<>) x xs
- where
-  noncesSeq = Seq.fromList (toList nonces)
-  hasInfinity (PubNonce a b) = a == _CURVE_ZERO || b == _CURVE_ZERO
+{- |
+Module: Crypto.Curve.Secp256k1.MuSig2
+Copyright: (c) 2025 Jose Storopoli
+License: MIT
+Maintainer: Jose Storopoli <jose@storopoli.com>
+
+[BIP-327](https://github.com/bitcoin/bips/blob/master/bip-0327.mediawiki)
+[MuSig2](https://eprint.iacr.org/2020/1261) multi-signatures on secp256k1:
+\(n\) signers produce one ordinary
+[BIP-340](https://github.com/bitcoin/bips/blob/master/bip-0340.mediawiki)
+Schnorr signature for their aggregate public key, in two rounds.
+
+1. Key aggregation: everyone runs 'keyAgg' on the same list of public keys
+   (optionally sorted with 'keySort') and applies the same tweaks, e.g.
+   'applyTaprootTweak'.
+2. Round one: each signer runs 'nonceGen' and sends its t'PubNonce' to the
+   others (or to a coordinator), who aggregate them with 'nonceAgg'.
+3. Round two: everyone opens the same 'Session' with 'newSession'; each signer
+   runs 'sign' once (it consumes the secret nonce) and sends its
+   'PartialSignature'.
+4. The aggregator checks each partial signature with 'partialSigVerify' and
+   combines them with 'partialSigAgg'. Anyone can check the result with
+   'verify' against 'aggXOnlyPubKey'.
+
+"Crypto.Curve.Secp256k1.MuSig2.Coordinator" runs both rounds for a
+coordinator that receives the contributions as bytes: it decodes and verifies
+each one and blames the signer of an invalid, conflicting or missing one.
+
+Values sent between signers are encoded and decoded with 'Encode', in the
+BIP-327 byte formats. Decoding validates: every value of a type exported here
+is valid by construction.
+
+== Security considerations
+
+* __Each nonce signs once.__ Signing twice with the same secret nonce, in
+  any two sessions, lets the other signers compute your secret key. A
+  t'SecNonce' from 'nonceGen' is one-shot: 'sign' atomically marks it used
+  before doing anything else, so a second 'sign' with it (or with any copy
+  of it, from any thread) returns 'SecNonceAlreadyUsed'. A failed 'sign'
+  uses the nonce up too: after any 'SignError', generate a new nonce and
+  start again from round one. t'SecNonce' cannot be encoded, shown, compared
+  or rebuilt from its parts, and 'nonceGen' always draws fresh randomness.
+  "Crypto.Curve.Secp256k1.MuSig2.Unsafe" has the escape hatches
+  (caller-supplied randomness, counters, export and import of secret nonces)
+  that this protection cannot cover.
+
+* __Bind nonces to the session when you can.__ If the aggregate key or the
+  message is known in round one, pass them to 'nonceGen' (see
+  t'NonceInputs'): 'sign' then refuses any other session
+  ('SecNonceSessionMismatch'), and they add protection should the random
+  number generator fail.
+
+* __Signers without randomness__ can use 'deterministicSign' (BIP-327
+  @DeterministicSign@) if they are the last to send their public nonce, after
+  receiving everyone else's.
+
+* __Verify partial signatures.__ 'partialSigAgg' does not check its inputs;
+  run 'partialSigVerify' on every partial signature you did not make, so a
+  wrong one is attributed to its signer instead of producing an invalid
+  signature ("Crypto.Curve.Secp256k1.MuSig2.Coordinator" does this). 'sign'
+  checks its own result.
+
+* __Constant-time arithmetic on secrets.__ Secret keys and nonces are never
+  held in an 'Integer'. They are parsed, range-checked, reduced from hashes,
+  combined (\(k_1 + b k_2\) and \(k + e a d\) in 'sign'), negated and
+  encoded with the fixed-width, constant-time Montgomery arithmetic of
+  @ppad-fixed@, and multiplied with the generator by @ppad-secp256k1@'s
+  timing-safe wNAF. Caveats:
+
+    * Public values (key aggregation coefficients, nonce coefficients,
+      challenges, tweaks, partial signatures, public keys and nonces) use
+      variable-time 'Integer' arithmetic and curve operations, by design.
+
+    * Constant time is a property of the machine code, which GHC does not
+      guarantee. The Haskell code has no branch or memory access that
+      depends on a secret (checked in GHC Core); with the @llvm@ flag on
+      x86_64, LLVM's conversion of conditional moves into branches is
+      disabled, as in @ppad-fixed@ and @ppad-secp256k1@. Other code
+      generators and architectures are not audited.
+
+* __Zeroization is best-effort.__ The scalars of a t'SecNonce' live in a
+  pinned buffer (which the garbage collector never copies) that 'sign'
+  zero-fills when it consumes the nonce. Everything else is an ordinary
+  Haskell value that is not wiped and may be copied by the garbage collector:
+  secret keys, the intermediate values computed from the nonce while
+  signing (fixed-width words, but still heap values), and the buffer of a
+  nonce that is dropped without being used.
+
+* __Randomness.__ 'nonceGen' reads 32 bytes from the operating system's
+  random number generator (@getrandom@ on Linux, via the @entropy@ package).
+  Passing the optional t'NonceInputs' adds protection should it fail.
+
+== Usage
+
+Two signers (this example is compiled and run by the test suite; it needs
+the @OverloadedStrings@ language extension):
+
+> import Control.Exception (Exception, throwIO)
+> import qualified Crypto.Curve.Secp256k1.MuSig2 as MuSig2
+> import qualified Data.ByteString as BS
+> import Data.List.NonEmpty (NonEmpty (..))
+> import qualified Data.List.NonEmpty as NE
+
+> -- | Throws the error of a 'Left'.
+> orThrow :: (Exception e) => Either e a -> IO a
+> orThrow = either throwIO pure
+>
+> -- | Two signers sign a message; returns whether the signature verifies.
+> example :: IO Bool
+> example = do
+>   -- Each signer has a secret key and publishes its public key.
+>   -- (Fixed keys for the example only: never hard-code real keys.)
+>   sk1 <- orThrow (MuSig2.secKeyFromBytes (BS.replicate 32 0x11))
+>   sk2 <- orThrow (MuSig2.secKeyFromBytes (BS.replicate 32 0x22))
+>   let pk1 = MuSig2.secKeyPubKey sk1
+>       pk2 = MuSig2.secKeyPubKey sk2
+>
+>   -- Everyone aggregates the same list of public keys, here sorted.
+>   keyAggCtx <- orThrow (MuSig2.keyAgg (MuSig2.keySort (pk1 :| [pk2])))
+>   let aggKey = MuSig2.aggXOnlyPubKey keyAggCtx
+>       msg = "i approve of this message"
+>
+>   -- Each signer generates a fresh nonce and publishes the public part.
+>   (secNonce1, pubNonce1) <- MuSig2.nonceGen pk1 MuSig2.noNonceInputs >>= orThrow
+>   (secNonce2, pubNonce2) <- MuSig2.nonceGen pk2 MuSig2.noNonceInputs >>= orThrow
+>
+>   -- Values travel as bytes; decoding validates them.
+>   received <- orThrow (MuSig2.decode (MuSig2.encode pubNonce2))
+>
+>   -- Everyone aggregates the public nonces and opens the same session.
+>   let session = MuSig2.newSession keyAggCtx (MuSig2.nonceAgg (pubNonce1 :| [received])) msg
+>
+>   -- Each signer signs once with its nonce and publishes its partial signature.
+>   -- 'sign' consumes the secret nonce: signing again with it fails.
+>   psig1 <- MuSig2.sign secNonce1 sk1 session >>= orThrow
+>   psig2 <- MuSig2.sign secNonce2 sk2 session >>= orThrow
+>
+>   -- The aggregator checks each partial signature, then aggregates them.
+>   let valid =
+>         MuSig2.partialSigVerify session pk1 pubNonce1 psig1
+>           && MuSig2.partialSigVerify session pk2 pubNonce2 psig2
+>       signature = MuSig2.partialSigAgg session (psig1 :| [psig2])
+>
+>   -- The result is an ordinary BIP-340 signature for the aggregate key.
+>   pure (valid && MuSig2.verify aggKey msg signature)
+
+== Taproot
+
+A Taproot output key is the aggregate key tweaked with 'applyTaprootTweak':
+
+> -- | Three signers spend a Taproot output by key path.
+> taprootExample :: IO Bool
+> taprootExample = do
+>   sks <- traverse (orThrow . MuSig2.secKeyFromBytes . BS.replicate 32) (0x33 :| [0x44, 0x55])
+>   let pks = fmap MuSig2.secKeyPubKey sks
+>
+>   -- The internal key is the aggregate key; the output key commits to the
+>   -- script tree's merkle root ('Nothing' for a key-path-only output, BIP-86).
+>   internal <- orThrow (MuSig2.keyAgg (MuSig2.keySort pks))
+>   output <- orThrow (MuSig2.applyTaprootTweak (Just (BS.replicate 32 0xAB)) internal)
+>   let outputKey = MuSig2.aggXOnlyPubKey output
+>       sighash = BS.replicate 32 0x01
+>
+>   -- Binding the nonces to the key and message adds protection against bad randomness.
+>   let inputs sk =
+>         MuSig2.noNonceInputs
+>           { MuSig2.nonceSecKey = Just sk
+>           , MuSig2.nonceAggPubKey = Just outputKey
+>           , MuSig2.nonceMessage = Just sighash
+>           }
+>   nonces <- traverse (\sk -> MuSig2.nonceGen (MuSig2.secKeyPubKey sk) (inputs sk) >>= orThrow) sks
+>
+>   -- Sessions are opened on the tweaked context: the tweak lives in the context only.
+>   let session = MuSig2.newSession output (MuSig2.nonceAgg (fmap snd nonces)) sighash
+>   psigs <- traverse (\(sk, (secNonce, _)) -> MuSig2.sign secNonce sk session >>= orThrow) (NE.zip sks nonces)
+>   let signature = MuSig2.partialSigAgg session psigs
+>   pure (MuSig2.verify outputKey sighash signature)
+-}
+module Crypto.Curve.Secp256k1.MuSig2 (
+  -- * Keys
+  SecKey,
+  secKeyFromBytes,
+  secKeyToBytes,
+  secKeyPubKey,
+  PubKey,
+  pubKeyFromPoint,
+  pubKeyPoint,
+  XOnlyPubKey,
+  pubKeyXOnly,
+
+  -- * Encodings
+  Encode (..),
+
+  -- * Key aggregation
+  KeyAggContext,
+  keySort,
+  keyAgg,
+  aggPubKey,
+  aggXOnlyPubKey,
+  keyAggPubKeys,
+  signerIndex,
+
+  -- ** Tweaks
+  Tweak,
+  tweakFromBytes,
+  applyPlainTweak,
+  applyXOnlyTweak,
+  applyTaprootTweak,
+
+  -- * Nonces
+  SecNonce,
+  PubNonce,
+  AggNonce,
+  NonceInputs (..),
+  noNonceInputs,
+  nonceGen,
+  nonceAgg,
+
+  -- * Signing
+  Session,
+  newSession,
+  sessionKeyAgg,
+  PartialSignature,
+  sign,
+  deterministicSign,
+  partialSigVerify,
+  partialSigAgg,
+  Signature,
+  verify,
+
+  -- * Errors
+  DecodeError (..),
+  KeyAggError (..),
+  NonceGenError (..),
+  SignError (..),
+) where
+
+import Crypto.Curve.Secp256k1.MuSig2.Internal.Error (DecodeError (..), KeyAggError (..), NonceGenError (..), SignError (..))
+import Crypto.Curve.Secp256k1.MuSig2.Internal.KeyAgg (
+  KeyAggContext,
+  aggPubKey,
+  aggXOnlyPubKey,
+  applyPlainTweak,
+  applyTaprootTweak,
+  applyXOnlyTweak,
+  keyAgg,
+  keyAggPubKeys,
+  keySort,
+  signerIndex,
+ )
+import Crypto.Curve.Secp256k1.MuSig2.Internal.Nonce (NonceInputs (..), SecNonce, noNonceInputs, nonceAgg, nonceGen)
+import Crypto.Curve.Secp256k1.MuSig2.Internal.Session (Session, deterministicSign, newSession, partialSigAgg, partialSigVerify, sessionKeyAgg, sign, verify)
+import Crypto.Curve.Secp256k1.MuSig2.Internal.Types (
+  AggNonce,
+  Encode (..),
+  PartialSignature,
+  PubKey,
+  PubNonce,
+  SecKey,
+  Signature,
+  Tweak,
+  XOnlyPubKey,
+  pubKeyFromPoint,
+  pubKeyPoint,
+  pubKeyXOnly,
+  secKeyFromBytes,
+  secKeyPubKey,
+  secKeyToBytes,
+  tweakFromBytes,
+ )
diff --git a/lib/Crypto/Curve/Secp256k1/MuSig2/Coordinator.hs b/lib/Crypto/Curve/Secp256k1/MuSig2/Coordinator.hs
new file mode 100644
--- /dev/null
+++ b/lib/Crypto/Curve/Secp256k1/MuSig2/Coordinator.hs
@@ -0,0 +1,393 @@
+{- |
+Module: Crypto.Curve.Secp256k1.MuSig2.Coordinator
+Copyright: (c) 2025 Jose Storopoli
+License: MIT
+Maintainer: Jose Storopoli <jose@storopoli.com>
+
+A coordinator for BIP-327 signing sessions: it collects the signers'
+contributions as bytes from the network, decodes and verifies each one as it
+arrives, and blames the signer responsible for anything wrong.
+
+The coordinator can be one of the signers or a separate party. It runs two
+rounds:
+
+1. __Public nonces.__ 'newNonceRound' on the session's key aggregation
+   context (with all tweaks applied), 'receivePubNonce' for each signer's
+   encoded t'PubNonce', then 'finishNonceRound', which gives the aggregate
+   nonce to send back to every signer.
+2. __Partial signatures.__ 'newSigRound' on the collected nonces and the
+   message, 'receivePartialSig' for each signer's encoded
+   t'PartialSignature' (each one is checked with 'partialSigVerify'), then
+   'finishSigRound', which aggregates them and checks the final BIP-340
+   signature.
+
+Signers are identified by their index in 'keyAggPubKeys', from \(0\). A
+public key that appears more than once in the key list belongs to as many
+signers, each with its own index, nonce and partial signature.
+
+Every function is pure and every value is immutable, so the rounds are safe
+to share between threads. To receive from several threads, keep the round in
+an @IORef@ (updated with @atomicModifyIORef'@), an @MVar@ or a @TVar@.
+
+== Blame
+
+'receivePubNonce' and 'receivePartialSig' return a t'Blame' naming the
+signer and the reason, and leave the round unchanged: the caller decides
+whether to abort the session or wait for the signer to send a valid
+contribution. A signer may send the same bytes again (a network retry is not
+an error), but a different contribution from a signer whose contribution was
+accepted is a 'DuplicateContribution'. The finishing functions blame every
+signer whose contribution is still missing. Blames carry no secrets.
+
+== Trust
+
+The coordinator learns nothing secret and cannot forge signatures, so the
+signers need not trust it: BIP-327 treats the nonce aggregator as untrusted,
+and a coordinator that sends a wrong aggregate nonce can only make the
+session fail. Its blame, however, is only as reliable as the coordinator
+itself: a signer that wants to check the other signers must receive their
+public nonces and partial signatures and run 'nonceAgg' and
+'partialSigVerify' itself.
+
+Signers who receive the aggregate nonce from a coordinator 'decode' it as an
+t'AggNonce', open the session with 'newSession' on the same key aggregation
+context and message, and 'Crypto.Curve.Secp256k1.MuSig2.sign'.
+
+The coordinator does not support
+'Crypto.Curve.Secp256k1.MuSig2.deterministicSign', whose signer sends its
+public nonce together with its partial signature, after the other signers'
+nonces are aggregated.
+
+== Example
+
+A coordinator collects the contributions of three signers. This example is
+compiled and run by the test suite; it needs the @OverloadedStrings@
+language extension and uses @orThrow@ from the example in
+"Crypto.Curve.Secp256k1.MuSig2".
+
+> import Control.Monad (foldM)
+> import qualified Crypto.Curve.Secp256k1.MuSig2 as MuSig2
+> import qualified Crypto.Curve.Secp256k1.MuSig2.Coordinator as Coordinator
+> import Data.Bifunctor (first)
+> import qualified Data.ByteString as BS
+> import Data.List.NonEmpty (NonEmpty (..))
+> import qualified Data.List.NonEmpty as NE
+
+> -- | A coordinator collects three signers' nonces and partial signatures as bytes.
+> coordinatorExample :: IO Bool
+> coordinatorExample = do
+>   sks <- traverse (orThrow . MuSig2.secKeyFromBytes . BS.replicate 32) (0x66 :| [0x77, 0x88])
+>   -- Signer i is the one with the i-th public key of the context.
+>   keyAggCtx <- orThrow (MuSig2.keyAgg (fmap MuSig2.secKeyPubKey sks))
+>   let msg = "pay Carol 1 BTC"
+>
+>   -- Round one: each signer sends its encoded public nonce, in any order.
+>   nonces <- traverse (\sk -> MuSig2.nonceGen (MuSig2.secKeyPubKey sk) MuSig2.noNonceInputs >>= orThrow) (NE.toList sks)
+>   nonceRound <-
+>     orThrow $
+>       foldM
+>         (\r (i, (_, pubNonce)) -> Coordinator.receivePubNonce i (MuSig2.encode pubNonce) r)
+>         (Coordinator.newNonceRound keyAggCtx)
+>         (zip [0 ..] nonces)
+>   -- Fails if a nonce is missing (here reporting only the first such signer).
+>   collected <- orThrow (first NE.head (Coordinator.finishNonceRound nonceRound))
+>
+>   -- The coordinator sends the aggregate nonce to every signer, who decodes it
+>   -- and opens the session.
+>   aggNonce <- orThrow (MuSig2.decode (MuSig2.encode (Coordinator.collectedAggNonce collected)))
+>   let session = MuSig2.newSession keyAggCtx aggNonce msg
+>
+>   -- Round two: each signer sends its encoded partial signature. The
+>   -- coordinator verifies each one and blames the signer of an invalid one.
+>   psigs <- traverse (\(sk, (secNonce, _)) -> MuSig2.sign secNonce sk session >>= orThrow) (zip (NE.toList sks) nonces)
+>   sigRound <-
+>     orThrow $
+>       foldM
+>         (\r (i, psig) -> Coordinator.receivePartialSig i (MuSig2.encode psig) r)
+>         (Coordinator.newSigRound collected msg)
+>         (zip [0 ..] psigs)
+>   -- Aggregates the partial signatures and verifies the result.
+>   signature <- orThrow (Coordinator.finishSigRound sigRound)
+>   pure (MuSig2.verify (MuSig2.aggXOnlyPubKey keyAggCtx) msg signature)
+-}
+module Crypto.Curve.Secp256k1.MuSig2.Coordinator (
+  -- * Blame
+  Blame (..),
+  BlameReason (..),
+
+  -- * Round one: public nonces
+  NonceRound,
+  newNonceRound,
+  receivePubNonce,
+  nonceRoundMissing,
+  finishNonceRound,
+  CollectedNonces,
+  collectedKeyAgg,
+  collectedPubNonces,
+  collectedAggNonce,
+
+  -- * Round two: partial signatures
+  SigRound,
+  newSigRound,
+  sigRoundSession,
+  receivePartialSig,
+  sigRoundMissing,
+  finishSigRound,
+  SigRoundError (..),
+) where
+
+import Control.DeepSeq (NFData (..), rwhnf)
+import Control.Exception (Exception)
+import Crypto.Curve.Secp256k1.MuSig2 (
+  AggNonce,
+  DecodeError,
+  Encode (..),
+  KeyAggContext,
+  PartialSignature,
+  PubKey,
+  PubNonce,
+  Session,
+  Signature,
+  aggXOnlyPubKey,
+  keyAggPubKeys,
+  newSession,
+  nonceAgg,
+  partialSigAgg,
+  partialSigVerify,
+  sessionKeyAgg,
+  verify,
+ )
+import Data.Bifunctor (first)
+import Data.ByteString (ByteString)
+import Data.Foldable (toList)
+import Data.IntMap.Strict (IntMap)
+import qualified Data.IntMap.Strict as IntMap
+import Data.List.NonEmpty (NonEmpty (..), nonEmpty)
+import Data.Sequence (Seq)
+import qualified Data.Sequence as Seq
+
+-- Blame ----------------------------------------------------------------------
+
+-- | A signer who misbehaved, and how.
+data Blame = Blame
+  { blameSigner :: !Int
+  -- ^ The signer's index in 'keyAggPubKeys' (for 'UnknownSigner', the index it claimed).
+  , blameReason :: !BlameReason
+  -- ^ What the signer did wrong.
+  }
+  deriving (Eq, Show)
+
+instance Exception Blame
+
+instance NFData Blame where
+  rnf = rwhnf
+
+-- | Why a signer is blamed.
+data BlameReason
+  = -- | The signer's public nonce does not decode (wrong length, invalid or infinite point).
+    InvalidPubNonceEncoding !DecodeError
+  | -- | The signer's partial signature does not decode (wrong length, not below \(n\)).
+    InvalidPartialSigEncoding !DecodeError
+  | {- | The signer's partial signature fails 'partialSigVerify' for its
+    public key and public nonce: it is wrong, or it is another signer's.
+    -}
+    InvalidPartialSignature
+  | -- | The signer already sent a different, accepted contribution in this round.
+    DuplicateContribution
+  | -- | The index is not a signer of the session (negative, or not below the number of keys).
+    UnknownSigner
+  | -- | The round was finished without the signer's contribution.
+    MissingContribution
+  deriving (Eq, Show)
+
+instance NFData BlameReason where
+  rnf = rwhnf
+
+-- | Contributions by signer index: all of them, or the blame of every missing one.
+collect :: Int -> IntMap a -> Either (NonEmpty Blame) (NonEmpty a)
+collect size received = case nonEmpty [Blame i MissingContribution | Left i <- toList entries] of
+  Just missing -> Left missing
+  Nothing -> traverse (first (\i -> Blame i MissingContribution :| [])) entries
+ where
+  entries = fmap (\i -> maybe (Left i) Right (IntMap.lookup i received)) (0 :| [1 .. size - 1])
+
+-- | The indices in \([0, size)\) without a contribution.
+missingFrom :: Int -> IntMap a -> [Int]
+missingFrom size received = filter (`IntMap.notMember` received) [0 .. size - 1]
+
+-- Round one ---------------------------------------------------------------------
+
+{- | Round one in progress: the public nonces received so far, by signer
+index.
+-}
+data NonceRound = NonceRound
+  { nrKeyAgg :: !KeyAggContext
+  , nrSize :: !Int
+  , nrNonces :: !(IntMap PubNonce)
+  }
+
+instance NFData NonceRound where
+  rnf (NonceRound ctx size nonces) = rnf ctx `seq` rnf size `seq` rnf nonces
+
+{- | Starts round one for the signers of a key aggregation context, with no
+nonce received yet.
+
+Pass the context the session will use, with all tweaks applied:
+'newSigRound' opens the session on it.
+-}
+newNonceRound :: KeyAggContext -> NonceRound
+newNonceRound ctx = NonceRound ctx (length (keyAggPubKeys ctx)) IntMap.empty
+
+{- | Receives a signer's encoded public nonce (66 bytes).
+
+Blames the signer with 'UnknownSigner', 'DuplicateContribution' (a
+different nonce was already accepted from it; the same bytes again are
+accepted and change nothing) or 'InvalidPubNonceEncoding'. On 'Left' the
+round is unchanged.
+-}
+receivePubNonce ::
+  -- | Signer index.
+  Int ->
+  -- | The encoded public nonce.
+  ByteString ->
+  NonceRound ->
+  Either Blame NonceRound
+receivePubNonce i bytes nr
+  | i < 0 || i >= nrSize nr = blame UnknownSigner
+  | Just prev <- IntMap.lookup i (nrNonces nr) =
+      if encode prev == bytes then Right nr else blame DuplicateContribution
+  | otherwise = case decode bytes of
+      Left err -> blame (InvalidPubNonceEncoding err)
+      Right pn -> Right nr{nrNonces = IntMap.insert i pn (nrNonces nr)}
+ where
+  blame = Left . Blame i
+
+-- | The signers whose public nonce has not been received yet, in increasing order.
+nonceRoundMissing :: NonceRound -> [Int]
+nonceRoundMissing nr = missingFrom (nrSize nr) (nrNonces nr)
+
+{- | Ends round one: aggregates the public nonces (BIP-327 @NonceAgg@).
+Blames every signer whose nonce is missing with 'MissingContribution', in
+increasing index order.
+-}
+finishNonceRound :: NonceRound -> Either (NonEmpty Blame) CollectedNonces
+finishNonceRound nr = do
+  pns <- collect (nrSize nr) (nrNonces nr)
+  Right (CollectedNonces (nrKeyAgg nr) pns (nonceAgg pns))
+
+{- | The result of round one: every signer's public nonce and their
+aggregate.
+-}
+data CollectedNonces = CollectedNonces
+  { cnKeyAgg :: !KeyAggContext
+  , cnPubNonces :: !(NonEmpty PubNonce)
+  , cnAggNonce :: !AggNonce
+  }
+
+instance NFData CollectedNonces where
+  rnf (CollectedNonces ctx pns agg) = rnf ctx `seq` rnf pns `seq` rnf agg
+
+-- | The key aggregation context the round was started with.
+collectedKeyAgg :: CollectedNonces -> KeyAggContext
+collectedKeyAgg = cnKeyAgg
+
+-- | Every signer's public nonce, in signer order.
+collectedPubNonces :: CollectedNonces -> NonEmpty PubNonce
+collectedPubNonces = cnPubNonces
+
+-- | The aggregate nonce, to send to every signer ('encode' it).
+collectedAggNonce :: CollectedNonces -> AggNonce
+collectedAggNonce = cnAggNonce
+
+-- Round two --------------------------------------------------------------------
+
+{- | Round two in progress: the session, and the verified partial signatures
+received so far, by signer index.
+-}
+data SigRound = SigRound
+  { srSession :: !Session
+  , srMessage :: !ByteString
+  , srSigners :: !(Seq (PubKey, PubNonce))
+  , srPsigs :: !(IntMap PartialSignature)
+  }
+
+instance NFData SigRound where
+  rnf (SigRound ses msg signers psigs) = rnf ses `seq` rnf msg `seq` rnf signers `seq` rnf psigs
+
+{- | Starts round two: opens the session ('newSession') on the key
+aggregation context and aggregate nonce of round one, for the message.
+-}
+newSigRound :: CollectedNonces -> ByteString -> SigRound
+newSigRound cn msg =
+  SigRound
+    { srSession = newSession (cnKeyAgg cn) (cnAggNonce cn) msg
+    , srMessage = msg
+    , srSigners = Seq.fromList (zip (toList (keyAggPubKeys (cnKeyAgg cn))) (toList (cnPubNonces cn)))
+    , srPsigs = IntMap.empty
+    }
+
+-- | The session the partial signatures are verified in (the coordinator can sign in it too).
+sigRoundSession :: SigRound -> Session
+sigRoundSession = srSession
+
+{- | Receives a signer's encoded partial signature (32 bytes) and verifies it
+with 'partialSigVerify' against the signer's public key and public nonce.
+
+Blames the signer with 'UnknownSigner', 'DuplicateContribution' (a
+different partial signature was already accepted from it; the same bytes
+again are accepted and change nothing), 'InvalidPartialSigEncoding' or
+'InvalidPartialSignature'. On 'Left' the round is unchanged.
+-}
+receivePartialSig ::
+  -- | Signer index.
+  Int ->
+  -- | The encoded partial signature.
+  ByteString ->
+  SigRound ->
+  Either Blame SigRound
+receivePartialSig i bytes sr = case Seq.lookup i (srSigners sr) of
+  Nothing -> blame UnknownSigner
+  Just (pk, pn) -> case IntMap.lookup i (srPsigs sr) of
+    Just prev -> if encode prev == bytes then Right sr else blame DuplicateContribution
+    Nothing -> case decode bytes of
+      Left err -> blame (InvalidPartialSigEncoding err)
+      Right psig
+        | partialSigVerify (srSession sr) pk pn psig -> Right sr{srPsigs = IntMap.insert i psig (srPsigs sr)}
+        | otherwise -> blame InvalidPartialSignature
+ where
+  blame = Left . Blame i
+
+-- | The signers whose partial signature has not been accepted yet, in increasing order.
+sigRoundMissing :: SigRound -> [Int]
+sigRoundMissing sr = missingFrom (Seq.length (srSigners sr)) (srPsigs sr)
+
+-- | Why round two cannot produce a signature.
+data SigRoundError
+  = -- | Partial signatures are missing: blames each of those signers with 'MissingContribution'.
+    SigRoundBlame !(NonEmpty Blame)
+  | {- | Every partial signature verified, but their aggregate is not a valid
+    BIP-340 signature. This happens if the final nonce is the point at
+    infinity, for which BIP-327 substitutes the generator: the signers'
+    nonces cancel out, which takes every signer colluding (an honest signer's
+    nonce is unpredictable) or negligible luck. Otherwise the coordinator
+    itself is faulty (a bug or, e.g., a bit flip). No single signer can be
+    blamed.
+    -}
+    FinalSignatureInvalid
+  deriving (Eq, Show)
+
+instance Exception SigRoundError
+
+instance NFData SigRoundError where
+  rnf = rwhnf
+
+{- | Ends round two: aggregates the partial signatures (BIP-327
+@PartialSigAgg@) and checks the result with 'verify' against the session's
+'aggXOnlyPubKey' before returning it.
+-}
+finishSigRound :: SigRound -> Either SigRoundError Signature
+finishSigRound sr = do
+  psigs <- first SigRoundBlame (collect (Seq.length (srSigners sr)) (srPsigs sr))
+  let ses = srSession sr
+      sig = partialSigAgg ses psigs
+  if verify (aggXOnlyPubKey (sessionKeyAgg ses)) (srMessage sr) sig then Right sig else Left FinalSignatureInvalid
diff --git a/lib/Crypto/Curve/Secp256k1/MuSig2/Internal.hs b/lib/Crypto/Curve/Secp256k1/MuSig2/Internal.hs
deleted file mode 100644
--- a/lib/Crypto/Curve/Secp256k1/MuSig2/Internal.hs
+++ /dev/null
@@ -1,207 +0,0 @@
-{-# LANGUAGE DeriveGeneric #-}
-{-# LANGUAGE FlexibleInstances #-}
-{-# LANGUAGE OverloadedStrings #-}
-{-# OPTIONS_GHC -Wno-orphans #-}
-{-# OPTIONS_GHC -Wno-x-partial #-}
-
-{- |
-Module: Crypto.Curve.Secp256k1.MuSig2.Internal
-Copyright: (c) 2025 Jose Storopoli
-License: MIT
-Maintainer: Jose Storopoli <jose@storopoli.com>
-
-Internal MuSig2 functions - not part of the public API.
--}
-module Crypto.Curve.Secp256k1.MuSig2.Internal (
-  -- Pubkey functions
-  aggPublicKeys,
-  -- Key aggregation
-  computeKeyAggCoef,
-  getSecondKey,
-  -- SecNonce internals (not re-exported from public API)
-  SecNonce (..),
-  secNonceScalars,
-  -- utils/misc
-  isEvenPub,
-  xBytes,
-  cbytesExt,
-  mulScalar,
-  bytesToInteger,
-  integerToBytes32,
-  xorByteStrings,
-  encodeLen,
-  hashTag,
-  hashTagModQ,
-  hashProjectivesTag,
-  modQ,
-  curveOrder,
-) where
-
-import Crypto.Curve.Secp256k1 (Projective, Pub, add, mul, serialize_point, _CURVE_ZERO)
-import Crypto.Hash.SHA256 (hash)
-import Data.Bits (shiftR, xor, (.&.))
-import Data.ByteString (ByteString)
-import qualified Data.ByteString as BS
-import Data.ByteString.Builder (toLazyByteString, word64BE)
-import qualified Data.ByteString.Lazy as BSL
-import Data.Foldable (Foldable (fold), find, toList)
-import qualified Data.Foldable as F
-import Data.Maybe (fromMaybe)
-import Data.Sequence (Seq)
-import qualified Data.Sequence as Seq
-import Data.Traversable ()
-import GHC.Generics (Generic)
-
--- | Secret nonce (internal representation). See public API for documentation.
-data SecNonce = SecNonce
-  { secNonceK1Internal :: !Integer
-  -- ^ First secret scalar.
-  , secNonceK2Internal :: !Integer
-  -- ^ Second secret scalar.
-  , secNoncePubKeyInternal :: !Pub
-  -- ^ Public key this nonce is bound to.
-  }
-  deriving (Generic)
-
--- | Returns the two secret scalars contained in a 'SecNonce'.
-secNonceScalars :: SecNonce -> (Integer, Integer)
-secNonceScalars secNonce = (secNonceK1Internal secNonce, secNonceK2Internal secNonce)
-
-{- | Aggregates a 'Traversable' of 'Pub'keys using the
-[Key Aggregation algorithm in BIP-0327](https://github.com/bitcoin/bips/blob/master/bip-0327.mediawiki).
-
-The algorith can be briefly described as
-
-\[
-f(pk_1, \dots, pk_u) = a_i \cdot pk_i
-\]
-
-where \(pk_i\) is the \(i\)th participant's public key and \(a_i\) is the
-respective public key aggregation coefficient.
-
-== WARNING
-
-'aggPublicKeys' do not sort the keys and aggregates public keys according to the
-ordering of the 'Traversable' provided.
--}
-aggPublicKeys :: (Traversable t) => t Pub -> Maybe Pub
-aggPublicKeys pks
-  | Seq.null pksSeq = Nothing
-  | otherwise = do
-      mulResults <- traverse (uncurry aggPk) (Seq.zip coefs pksSeq)
-      pure $ fold1WithDefault _CURVE_ZERO mulResults
- where
-  pksSeq = Seq.fromList (toList pks)
-  coefs = fmap (fromInteger . (`computeKeyAggCoef` pksSeq)) pksSeq
-  aggPk i p = mul p i -- mul takes first point then scalar (i is now Wider)
-  -- Safe fold1 that handles empty sequences
-  fold1WithDefault def xs = case Seq.viewl xs of
-    Seq.EmptyL -> def
-    x Seq.:< xs' -> F.foldl' add x xs'
-
-{- | Computes the key aggregation coefficient from:
-
-1. Desired key to compute the key aggregation coefficient
-2. 'Seq' of 'Pub'keys
--}
-computeKeyAggCoef :: Pub -> Seq Pub -> Integer
-computeKeyAggCoef pk pks =
-  let pk2 = getSecondKey pks
-      hashKeys = hashProjectivesTag "KeyAgg list" pks
-      taggedHash = hashTag "KeyAgg coefficient" (hashKeys <> serialize_point pk)
-   in if pk == pk2 then 1 else modQ $ bytesToInteger taggedHash
-
-{- | Returns the first second key that is different from the first key in
-a 'Seq' of 'Pub'keys.
-
-Returns the point at infinity, i.e. zero'th point of monoidal identity.
--}
-getSecondKey :: Seq Pub -> Pub
-getSecondKey pks =
-  case Seq.viewl pks of
-    Seq.EmptyL -> _CURVE_ZERO
-    pk1 Seq.:< _ ->
-      let pk2 = find (/= pk1) pks
-       in fromMaybe _CURVE_ZERO pk2
-
--- | "Taghashes" a 'Seq' of 'Projective's by concatenating all their 'ByteString' representations together.
-hashProjectivesTag :: ByteString -> Seq Projective -> ByteString
-hashProjectivesTag tag ps = hashTag tag $ fold byteStrings
- where
-  byteStrings = fmap serialize_point ps
-
-{- | Tagged hashes used in [BIP-0327](https://github.com/bitcoin/bips/blob/master/bip-0327.mediawiki).
-
-Takes a tag and a string.
--}
-hashTag :: ByteString -> ByteString -> ByteString
-hashTag t s = hash (taggedHash <> taggedHash <> s)
- where
-  taggedHash = hash t
-
-{- | Tagged hashes used in [BIP-0327](https://github.com/bitcoin/bips/blob/master/bip-0327.mediawiki)
-modulo the curve order.
-
-Takes a tag and a string.
--}
-hashTagModQ :: ByteString -> ByteString -> ByteString
-hashTagModQ t s = hashModQ taggedHash
- where
-  taggedHash = hashTag t s
-  hashModQ h = integerToBytes32 $ modQ $ bytesToInteger h
-
--- | Converts a SHA-256 'ByteString' to an 'Integer'.
-bytesToInteger :: ByteString -> Integer
-bytesToInteger = BS.foldl' (\acc b -> acc * 256 + fromIntegral b) 0
-
--- | Converts an 'Integer' to a 32-byte big-endian 'ByteString'.
-integerToBytes32 :: Integer -> ByteString
-integerToBytes32 i = BS.pack [fromInteger ((i `shiftR` (8 * (31 - j))) .&. 0xff) | j <- [0 .. 31]]
-
--- | @XOR@s two 'ByteString's of same length.
-xorByteStrings :: ByteString -> ByteString -> ByteString
-xorByteStrings = BS.packZipWith xor
-
--- | Returns the 8-byte big-endian encoding of the length of a 'ByteString'.
-encodeLen :: ByteString -> ByteString
-encodeLen bs = BSL.toStrict . toLazyByteString . word64BE . fromIntegral $ BS.length bs
-
--- | Checks if a 'Pub'key is even. Returns 'Nothing' for invalid compressed point formats.
-isEvenPub :: Pub -> Maybe Bool
-isEvenPub pub = case BS.unpack (serialize_point pub) of
-  (0x02 : _) -> Just True -- even y-coordinate
-  (0x03 : _) -> Just False -- odd y-coordinate
-  _ -> Nothing
-
--- | Gets the X-coordinate from a 'Pub'lic key as 'ByteString'
-xBytes :: Pub -> ByteString
-xBytes pk = BS.drop 1 $ serialize_point pk
-
-{- | Serializes a point as 33 bytes, encoding the point at infinity as 33 zero
-bytes (@cbytes_ext@ in
-[BIP-0327](https://github.com/bitcoin/bips/blob/master/bip-0327.mediawiki)).
--}
-cbytesExt :: Projective -> ByteString
-cbytesExt p
-  | p == _CURVE_ZERO = BS.replicate 33 0
-  | otherwise = serialize_point p
-
-{- | Multiplies a point by a scalar reduced modulo the curve order.
-
-Unlike 'mul', a scalar that is \(0 \bmod n\) yields the point at infinity
-instead of failing.
--}
-mulScalar :: Projective -> Integer -> Maybe Projective
-mulScalar p k
-  | k' == 0 = Just _CURVE_ZERO
-  | otherwise = mul p (fromInteger k')
- where
-  k' = modQ k
-
--- | The secp256k1 curve order (a mathematical constant).
-curveOrder :: Integer
-curveOrder = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141
-
--- | Modular reduction by the curve order.
-modQ :: Integer -> Integer
-modQ x = x `mod` curveOrder
diff --git a/lib/Crypto/Curve/Secp256k1/MuSig2/Unsafe.hs b/lib/Crypto/Curve/Secp256k1/MuSig2/Unsafe.hs
new file mode 100644
--- /dev/null
+++ b/lib/Crypto/Curve/Secp256k1/MuSig2/Unsafe.hs
@@ -0,0 +1,149 @@
+{- |
+Module: Crypto.Curve.Secp256k1.MuSig2.Unsafe
+Copyright: (c) 2025 Jose Storopoli
+License: MIT
+Maintainer: Jose Storopoli <jose@storopoli.com>
+
+Escape hatches from the guarantees of "Crypto.Curve.Secp256k1.MuSig2".
+
+__Do not use this module unless you know exactly why you need it.__ Every
+function here can make you reuse a nonce, and signing twice with the same
+nonce, in any two sessions, lets the other signers compute your secret key.
+
+* 'nonceGenWithRand' and 'nonceGenCounter' generate nonces
+  deterministically from their inputs: if the random bytes (or the counter)
+  ever repeat, so does the nonce. Use them for test vectors, or with a
+  counter you can prove never repeats; otherwise use
+  'Crypto.Curve.Secp256k1.MuSig2.nonceGen'.
+
+* 'secNonceToBytes' and 'secNonceFromBytes' move a secret nonce out of the
+  process and back, e.g. to keep it on disk between the two rounds of a
+  session. The library can only prevent reuse within one process: storing
+  the bytes and importing them twice (or restoring a backup, or a snapshot
+  of a virtual machine) reuses the nonce. Delete the bytes before signing
+  with the imported nonce, and never keep a copy.
+
+* 'signWithoutVerification' skips the check of the partial signature that
+  'Crypto.Curve.Secp256k1.MuSig2.sign' does, so a fault during signing goes
+  unnoticed. Use it only if you verify the partial signature yourself or
+  cannot afford the time.
+
+For a signer who cannot rely on randomness at all, prefer
+'Crypto.Curve.Secp256k1.MuSig2.deterministicSign', which is safe when the
+signer sends its nonce last.
+-}
+module Crypto.Curve.Secp256k1.MuSig2.Unsafe (
+  -- * Deterministic nonce generation
+  nonceGenWithRand,
+  nonceGenCounter,
+
+  -- * Secret nonce import and export
+  secNonceToBytes,
+  secNonceFromBytes,
+
+  -- * Signing
+  signWithoutVerification,
+) where
+
+import Crypto.Curve.Secp256k1.MuSig2.Internal.Error (DecodeError, NonceGenError, SignError)
+import Crypto.Curve.Secp256k1.MuSig2.Internal.Nonce (NonceInputs, SecNonce)
+import qualified Crypto.Curve.Secp256k1.MuSig2.Internal.Nonce as Nonce
+import Crypto.Curve.Secp256k1.MuSig2.Internal.Session (Session)
+import qualified Crypto.Curve.Secp256k1.MuSig2.Internal.Session as Session
+import Crypto.Curve.Secp256k1.MuSig2.Internal.Types (PartialSignature, PubKey, PubNonce, SecKey)
+import Data.ByteString (ByteString)
+import Data.Word (Word64)
+
+{- | BIP-327 @NonceGen@ with caller-supplied randomness instead of the
+operating system's.
+
+__Deterministic: the same random bytes and inputs give the same nonce.__
+Reusing the bytes for two sessions reuses the nonce and leaks the secret
+key. The bytes must be 32 bytes of fresh, uniformly random data used for
+nothing else; this function exists for test vectors and for callers with
+their own vetted random number generator.
+
+Each call returns a fresh one-shot t'SecNonce', so two calls with the same
+bytes give two nonces with the same secret scalars, which
+'Crypto.Curve.Secp256k1.MuSig2.sign' cannot tell apart. (It is in 'IO',
+although deterministic, so that one call creates exactly one t'SecNonce':
+GHC may evaluate a pure thunk twice when two threads force it at once.)
+
+Fails with 'Crypto.Curve.Secp256k1.MuSig2.InvalidRandLength' if the bytes
+are not 32 long, with 'Crypto.Curve.Secp256k1.MuSig2.NonceIsZero' with
+negligible probability, and otherwise as
+'Crypto.Curve.Secp256k1.MuSig2.nonceGen'.
+-}
+nonceGenWithRand ::
+  -- | 32 random bytes, never reused.
+  ByteString ->
+  -- | The signer's public key.
+  PubKey ->
+  NonceInputs ->
+  IO (Either NonceGenError (SecNonce, PubNonce))
+nonceGenWithRand = Nonce.nonceGenWithRand
+
+{- | Counter-based nonce generation (BIP-327 @CounterNonceGen@), compatible
+with libsecp256k1's @secp256k1_musig_nonce_gen_counter@: @NonceGen@ with the
+secret key always hashed in (the 'Crypto.Curve.Secp256k1.MuSig2.nonceSecKey'
+of the inputs is ignored) and the random bytes
+@bytes(8, counter) || bytes(24, 0)@.
+
+__The counter must never repeat for the same secret key__, across restarts,
+backups and every device holding the key: a repeated counter with the same
+inputs repeats the nonce and leaks the secret key. Use it only where a
+reliable non-repeating counter is easier to get than randomness. Each call
+returns a fresh one-shot t'SecNonce', like 'nonceGenWithRand'.
+
+Fails with 'Crypto.Curve.Secp256k1.MuSig2.NonceIsZero' with negligible
+probability, and otherwise as 'Crypto.Curve.Secp256k1.MuSig2.nonceGen'.
+-}
+nonceGenCounter ::
+  -- | The signer's secret key.
+  SecKey ->
+  -- | A counter value never used before with this key.
+  Word64 ->
+  NonceInputs ->
+  IO (Either NonceGenError (SecNonce, PubNonce))
+nonceGenCounter = Nonce.nonceGenCounter
+
+{- | Exports a secret nonce in the 97-byte BIP-327 encoding
+@bytes(32, k1) || bytes(32, k2) || pk@, __consuming it__: the t'SecNonce'
+(and every copy of it) can no longer sign. 'Nothing' if it was already used
+or exported.
+
+The encoding does not carry the aggregate key or message the nonce may have
+been generated with, so a nonce imported back with 'secNonceFromBytes' is no
+longer bound to them.
+
+The bytes are as secret as the secret key, and importing them more than once
+reuses the nonce: see the module documentation.
+-}
+secNonceToBytes :: SecNonce -> IO (Maybe ByteString)
+secNonceToBytes = Nonce.secNonceToBytes
+
+{- | Imports a secret nonce from its 97-byte BIP-327 encoding, as a fresh
+one-shot t'SecNonce'. Checks that both scalars are in \([1, n)\) (a nonce
+zeroed by another BIP-327 implementation after use is rejected with
+'Crypto.Curve.Secp256k1.MuSig2.ScalarZero') and that the public key is a
+valid encoding.
+
+__Each encoding must be imported at most once__: the library cannot know
+that two imports are the same nonce. See the module documentation.
+-}
+secNonceFromBytes :: ByteString -> IO (Either DecodeError SecNonce)
+secNonceFromBytes = Nonce.secNonceFromBytes
+
+{- | 'Crypto.Curve.Secp256k1.MuSig2.sign' without the verification of the
+partial signature before it is returned.
+
+Consumes the nonce exactly like 'Crypto.Curve.Secp256k1.MuSig2.sign' and
+makes the same checks, except that it never returns
+'Crypto.Curve.Secp256k1.MuSig2.SelfVerificationFailed': a fault during
+signing (a bug, a bit flip, a fault attack) then goes unnoticed and the
+faulty partial signature is released, which can leak the secret key. It
+saves the elliptic curve multiplications of the check, which are nearly all
+the work of signing once the 'Session' exists.
+-}
+signWithoutVerification :: SecNonce -> SecKey -> Session -> IO (Either SignError PartialSignature)
+signWithoutVerification = Session.signWithoutVerification
diff --git a/musig2.cabal b/musig2.cabal
--- a/musig2.cabal
+++ b/musig2.cabal
@@ -1,6 +1,6 @@
 cabal-version:      3.0
 name:               musig2
-version:            0.2.1
+version:            0.3.0
 synopsis:           MuSig2 library
 license:            MIT
 license-file:       LICENSE
@@ -9,11 +9,17 @@
 homepage:           https://github.com/storopoli/musig2
 category:           Cryptography
 build-type:         Simple
-tested-with:        GHC ==9.8.4 || ==9.10.3 || ==9.12.4 || ==9.14.1
-extra-doc-files:    CHANGELOG
+tested-with:        GHC ==9.10.3 || ==9.12.4 || ==9.14.1
+extra-doc-files:
+  CHANGELOG
+  README.md
+
 extra-source-files:
+  scripts/gen-diff-corpus.py
   test/vectors/bip327/*.json
   test/vectors/bip327/README.md
+  test/vectors/diff/corpus.json
+  test/vectors/diff/README.md
 
 description:
   Pure BIP0327 MuSig2 (partial)signatures with tweak support on the elliptic curve secp256k1.
@@ -27,82 +33,119 @@
   default:     False
   manual:      True
 
-library
-  default-language: Haskell2010
-  hs-source-dirs:   lib
-  ghc-options:      -Wall
-
+common llvm
   if flag(llvm)
     ghc-options: -fllvm -O2
 
-  exposed-modules:  Crypto.Curve.Secp256k1.MuSig2
-  other-modules:    Crypto.Curve.Secp256k1.MuSig2.Internal
+    -- Keep LLVM from turning constant-time selects back into branches, as
+    -- ppad-secp256k1 does for code that inlines ppad-fixed primitives.
+    if arch(x86_64)
+      ghc-options: -optlc=-x86-cmov-converter=false
+
+-- Dependencies and source directories of the implementation, shared by the
+-- public library and the private internal library below.
+common implementation
+  default-language: Haskell2010
+  hs-source-dirs:   lib internal
+  ghc-options:      -Wall
   build-depends:
-    , base            >=4.19   && <5
-    , binary          >=0.8    && <0.9
-    , bytestring      >=0.9    && <0.13
-    , containers      >=0.6    && <0.9
-    , entropy         >=0.4    && <0.5
-    , ppad-secp256k1  >=0.5.10 && <0.6
-    , ppad-sha256     >=0.3.2  && <0.4
+    , base            >=4.20    && <5
+    , bytestring      >=0.11    && <0.13
+    , containers      >=0.6     && <0.9
+    , deepseq         >=1.4     && <1.7
+    , entropy         >=0.4.1.6 && <0.5
+    , ppad-fixed      >=0.2.2   && <0.3
+    , ppad-secp256k1  >=0.5.10  && <0.6
+    , ppad-sha256     >=0.3.5   && <0.4
 
+-- The implementation modules are other-modules here (not a dependency on the
+-- internal library) so that Haddock documents everything the public module
+-- re-exports: cabal does not link the Haddock interface of a sublibrary.
+library
+  import:          llvm, implementation
+  exposed-modules:
+    Crypto.Curve.Secp256k1.MuSig2
+    Crypto.Curve.Secp256k1.MuSig2.Coordinator
+    Crypto.Curve.Secp256k1.MuSig2.Unsafe
+
+  other-modules:
+    Crypto.Curve.Secp256k1.MuSig2.Internal.Error
+    Crypto.Curve.Secp256k1.MuSig2.Internal.Hash
+    Crypto.Curve.Secp256k1.MuSig2.Internal.KeyAgg
+    Crypto.Curve.Secp256k1.MuSig2.Internal.Nonce
+    Crypto.Curve.Secp256k1.MuSig2.Internal.OneShot
+    Crypto.Curve.Secp256k1.MuSig2.Internal.Point
+    Crypto.Curve.Secp256k1.MuSig2.Internal.Scalar
+    Crypto.Curve.Secp256k1.MuSig2.Internal.Session
+    Crypto.Curve.Secp256k1.MuSig2.Internal.Types
+
+-- The same sources with every module exposed, for the test suite and the
+-- benchmarks. Private: library users cannot depend on it, so the constructors
+-- the internal modules export stay out of their reach.
+library internal
+  import:          llvm, implementation
+  visibility:      private
+  exposed-modules:
+    Crypto.Curve.Secp256k1.MuSig2
+    Crypto.Curve.Secp256k1.MuSig2.Coordinator
+    Crypto.Curve.Secp256k1.MuSig2.Internal.Error
+    Crypto.Curve.Secp256k1.MuSig2.Internal.Hash
+    Crypto.Curve.Secp256k1.MuSig2.Internal.KeyAgg
+    Crypto.Curve.Secp256k1.MuSig2.Internal.Nonce
+    Crypto.Curve.Secp256k1.MuSig2.Internal.OneShot
+    Crypto.Curve.Secp256k1.MuSig2.Internal.Point
+    Crypto.Curve.Secp256k1.MuSig2.Internal.Scalar
+    Crypto.Curve.Secp256k1.MuSig2.Internal.Session
+    Crypto.Curve.Secp256k1.MuSig2.Internal.Types
+    Crypto.Curve.Secp256k1.MuSig2.Unsafe
+
 test-suite musig2-tests
+  import:           llvm
   type:             exitcode-stdio-1.0
   default-language: Haskell2010
-  hs-source-dirs:   test lib
+  hs-source-dirs:   test
   main-is:          Main.hs
   other-modules:
-    AggPartialsProperty
     ApplyTweaks
     Bip327Regressions
-    Crypto.Curve.Secp256k1.MuSig2
-    Crypto.Curve.Secp256k1.MuSig2.Internal
-    MonoidProjective
-    MonoidPubNonce
-    NonceGenProperty
+    CoordinatorRounds
+    DiffCorpus
+    Encoding
+    Example
+    Generators
+    NonceSafety
     OfficialVectors
-    ParityPub
+    Properties
+    Scalars
     SignVerify
-    SignVerifyProperty
-    SignVerifyTweakProperty
     Util
 
-  ghc-options:      -rtsopts -Wall
-
-  if flag(llvm)
-    ghc-options: -fllvm -O2
-
+  ghc-options:      -threaded -rtsopts -with-rtsopts=-N -Wall
   build-depends:
     , aeson              >=2.0  && <2.4
-    , base               >=4.19 && <5
+    , base               >=4.20 && <5
     , base16-bytestring
-    , binary
     , bytestring
-    , containers
     , directory
-    , entropy
     , filepath
+    , musig2:internal
+    , ppad-fixed
     , ppad-secp256k1
     , ppad-sha256
+    , QuickCheck
     , tasty
     , tasty-hunit
     , tasty-quickcheck
 
 benchmark musig2-bench
+  import:           llvm
   type:             exitcode-stdio-1.0
   default-language: Haskell2010
   hs-source-dirs:   bench
   main-is:          Main.hs
-  ghc-options:      -rtsopts -O2 -Wall -fno-warn-orphans
-
-  if flag(llvm)
-    ghc-options: -fllvm
-
+  ghc-options:      -rtsopts -O2 -Wall
   build-depends:
-    , base               >=4.19 && <5
-    , base16-bytestring
+    , base             >=4.20 && <5
     , bytestring
     , criterion
-    , deepseq
-    , musig2
-    , ppad-secp256k1
+    , musig2:internal
diff --git a/scripts/gen-diff-corpus.py b/scripts/gen-diff-corpus.py
new file mode 100644
--- /dev/null
+++ b/scripts/gen-diff-corpus.py
@@ -0,0 +1,383 @@
+"""Generate the BIP-327 differential test corpus, test/vectors/diff/corpus.json.
+
+Every expected value in the corpus is computed by the BIP-327 reference
+implementation, reference.py from the bitcoin/bips repository, taken at
+commit b34d9f751791d4feb22feff4f2ed00bcac83961b (SHA-256 of reference.py
+below). test/DiffCorpus.hs replays every session through the library's public
+API and compares the results byte for byte.
+
+Regenerate (from the package root, with Python 3.9 or newer; the committed
+file was made with Python 3.14):
+
+    git clone https://github.com/bitcoin/bips /path/to/bips
+    git -C /path/to/bips checkout b34d9f751791d4feb22feff4f2ed00bcac83961b
+    python3 -I scripts/gen-diff-corpus.py /path/to/bips/bip-0327/reference.py \\
+        > test/vectors/diff/corpus.json
+
+(about a minute on 16 cores; it uses every core), then update the SHA-256
+of corpus.json in test/DiffCorpus.hs and in test/vectors/diff/README.md. The
+output depends only on SEED and reference.py: regenerating with the same
+inputs gives the same bytes. The script refuses any reference.py whose
+SHA-256 differs from REFERENCE_SHA256, because it executes that file.
+
+The corpus has two parts:
+
+* "nonce_gen": standalone NonceGen cases, covering every combination of
+  absent, empty and non-empty optional inputs, with the expected secret nonce
+  (97-byte encoding) and public nonce.
+* "sessions": complete signing sessions with 1 to 8 signers (some with
+  duplicate keys, some with every key equal), optionally sorted with KeySort,
+  chains of plain, x-only and BIP-341 Taproot tweaks (tweaks 0 and n - 1,
+  x-only tweaks of keys with odd y so that gacc = n - 1, and tweaks whose
+  result is infinity), empty, 32-byte and longer-than-255-byte messages,
+  nonces from NonceGen bound to every combination of the optional inputs,
+  DeterministicSign signers, imported secret nonces whose aggregate has a half
+  (or both) at infinity, the partial signatures, the final signature, and
+  PartialSigVerify cases that must fail.
+
+Field reference (all byte strings are lower-case hex):
+
+  nonce_gen[]: rand, pk, sk (or null), aggpk (or null), msg (or null),
+    extra_in (or null), secnonce, pubnonce
+  sessions[]:
+    id, sks (signer order), key_sort_input (or null: a permutation of the
+    public keys whose KeySort is the signer order), q (KeyAgg before the
+    tweaks; null without tweaks), tweaks[] ({"plain"/"xonly": tweak} or
+    {"taproot": merkle root or null}), tweak_error (null, or
+    "TweakResultAtInfinity" from the last tweak, in which case nothing below
+    is present), aggpk (Q after the tweaks, 33 bytes), gacc_neg
+    (gacc = n - 1), msg,
+    signers[]: nonce, pubnonce, psig. The nonce is one of
+      {"rand", "bind", "extra_in"}: NonceGen with these random bytes and
+        extra input, given the signer's secret key if bind has bit 1 set,
+        the session's x-only aggregate key if bit 2, its message if bit 4;
+      {"secnonce"}: an imported secret nonce;
+      {"det_rand"}: DeterministicSign (always the last signer), with this
+        auxiliary randomness (or null), and the other signers' aggregate
+        nonce as aggothernonce.
+    aggnonce, sig, sig_valid (false only when both halves of the aggregate
+    nonce are infinity, so that BIP-327 substitutes G for the final nonce),
+    bad_verify[]: {kind, signer, other, expected}, where kind is one of
+      plus_one (psig + 1), zero (psig 0), out_of_range (psig = n),
+      wrong_signer (signer's psig checked as other's), swapped_nonces (the
+      public nonces of signer and other swapped), wrong_msg (msg || 0x00).
+
+Run only with `python3 -I`, so that nothing from the working directory or
+the environment is imported.
+"""
+
+import functools
+import hashlib
+import importlib.util
+import json
+import multiprocessing
+import random
+import sys
+
+BIPS_COMMIT = "b34d9f751791d4feb22feff4f2ed00bcac83961b"
+REFERENCE_SHA256 = "1167993fe159c39c004f74d9046e931ae700a2ce9203c4cf58a51a000c1294e8"
+SEED = 327
+SESSIONS = 300
+NONCE_GEN_CASES = 48
+
+
+def load_reference(path):
+    with open(path, "rb") as f:
+        digest = hashlib.sha256(f.read()).hexdigest()
+    if digest != REFERENCE_SHA256:
+        sys.exit(f"{path}: SHA-256 {digest}, expected {REFERENCE_SHA256} (bips commit {BIPS_COMMIT})")
+    spec = importlib.util.spec_from_file_location("bip327_reference", path)
+    module = importlib.util.module_from_spec(spec)
+    spec.loader.exec_module(module)
+    return module
+
+
+ref = load_reference(sys.argv[1]) if len(sys.argv) == 2 else sys.exit(__doc__)
+n = ref.n
+G = ref.G
+
+# KeyAgg and the tweaks are recomputed by every Sign and PartialSigVerify call
+# of the reference implementation. They are pure, so caching them changes no
+# result, only the running time.
+_key_agg_and_tweak = ref.key_agg_and_tweak
+
+
+@functools.lru_cache(maxsize=64)
+def _cached_key_agg_and_tweak(pubkeys, tweaks, is_xonly):
+    return _key_agg_and_tweak(list(pubkeys), list(tweaks), list(is_xonly))
+
+
+ref.key_agg_and_tweak = lambda pubkeys, tweaks, is_xonly: _cached_key_agg_and_tweak(
+    tuple(pubkeys), tuple(tweaks), tuple(is_xonly))
+
+
+def h(b):
+    return None if b is None else b.hex()
+
+
+def b32(i):
+    return i.to_bytes(32, "big")
+
+
+def random_scalar(rng):
+    return rng.randrange(1, n)
+
+
+def random_xonly(rng):
+    return ref.xbytes(ref.point_mul(G, random_scalar(rng)))
+
+
+def opt_bytes(rng, state, maxlen):
+    """'absent' -> None, 'empty' -> b'', 'bytes' -> 1..maxlen random bytes."""
+    if state == "absent":
+        return None
+    if state == "empty":
+        return b""
+    return rng.randbytes(rng.randrange(1, maxlen + 1))
+
+
+# NonceGen ------------------------------------------------------------------------
+
+def nonce_gen_case(rng, i):
+    states = ("absent", "empty", "bytes")
+    # Cycle through all 2 * 2 * 3 * 3 = 36 combinations, then random ones.
+    combo = i if i < 36 else rng.randrange(36)
+    use_sk, use_aggpk = combo & 1, (combo >> 1) & 1
+    msg_state, extra_state = states[(combo >> 2) % 3], states[(combo >> 2) // 3]
+    d = random_scalar(rng)
+    sk = b32(d) if use_sk else None
+    pk = ref.individual_pk(b32(d))
+    aggpk = random_xonly(rng) if use_aggpk else None
+    msg = opt_bytes(rng, msg_state, 300)
+    extra_in = opt_bytes(rng, extra_state, 16)
+    rand = rng.randbytes(32)
+    secnonce, pubnonce = ref.nonce_gen_internal(rand, sk, pk, aggpk, msg, extra_in)
+    return {
+        "rand": h(rand), "pk": h(pk), "sk": h(sk), "aggpk": h(aggpk), "msg": h(msg),
+        "extra_in": h(extra_in), "secnonce": h(bytes(secnonce)), "pubnonce": h(pubnonce),
+    }
+
+
+# Sessions --------------------------------------------------------------------------
+
+def tap_tweak(Q, merkle_root):
+    t = ref.int_from_bytes(ref.tagged_hash("TapTweak", ref.xbytes(Q) + (merkle_root or b"")))
+    assert t < n
+    return t
+
+
+def gen_keys(rng, idx, u):
+    if u >= 2 and idx % 23 == 0:
+        return [random_scalar(rng)] * u  # every key equal: no second key
+    if u >= 2 and idx % 4 == 0:
+        pool = [random_scalar(rng) for _ in range(1 if u == 2 else rng.randrange(2, u))]
+        keys = [rng.choice(pool) for _ in range(u)]
+        keys[rng.randrange(u)] = keys[rng.randrange(u)]
+        return keys
+    return [random_scalar(rng) for _ in range(u)]
+
+
+def gen_tweaks(rng, idx, ctx, qd):
+    """Tweak specs, the tweaks as ApplyTweak arguments, and the context after
+    them (None if the last tweak fails). qd is the discrete log of Q."""
+    count = rng.choice([0, 0, 1, 1, 2, 3, 4])
+    kill = idx % 50 == 7  # the last tweak makes Q infinity
+    if kill:
+        count = max(count, 1)
+    specs, tweaks, is_xonly = [], [], []
+    for k in range(count):
+        kind = rng.choice(["plain", "xonly", "xonly", "taproot"])
+        if kill and k == count - 1:
+            kind = rng.choice(["plain", "xonly"])
+        g = n - 1 if kind != "plain" and not ref.has_even_y(ctx.Q) else 1
+        if kill and k == count - 1:
+            t = (-g * qd) % n
+            specs.append({kind: h(b32(t))})
+        elif kind == "taproot":
+            root = rng.choice([None, rng.randbytes(32)])
+            t = tap_tweak(ctx.Q, root)
+            specs.append({"taproot": h(root)})
+        else:
+            t = rng.choice([0, n - 1, rng.randrange(1, 1000), random_scalar(rng), random_scalar(rng)])
+            specs.append({kind: h(b32(t))})
+        tweaks.append(b32(t))
+        is_xonly.append(kind != "plain")
+        try:
+            ctx = ref.apply_tweak(ctx, b32(t), kind != "plain")
+        except ValueError:
+            assert kill and k == count - 1
+            return specs, tweaks, is_xonly, None
+        assert not (kill and k == count - 1), "tweak to infinity did not fail"
+        qd = (g * qd + t) % n
+        assert ref.point_mul(G, qd) == ctx.Q
+    return specs, tweaks, is_xonly, ctx
+
+
+def gen_msg(rng, idx):
+    m = idx % 10
+    if m == 0:
+        return b""
+    if m == 1:
+        return rng.randbytes(rng.randrange(256, 301))
+    if m in (2, 3, 4):
+        return rng.randbytes(32)
+    return rng.randbytes(rng.randrange(1, 65))
+
+
+# Signer counts, cycled through: every count from 1 to 8, mostly small ones
+# to keep the corpus small.
+SIGNER_COUNTS = [1, 2, 2, 3, 1, 2, 4, 2, 3, 5, 1, 2, 3, 6, 2, 1, 2, 3, 2, 7, 1, 2, 3, 4, 2, 1, 2, 3, 8, 2]
+
+
+def gen_session(rng, idx):
+    u = SIGNER_COUNTS[idx % len(SIGNER_COUNTS)]
+    ds = gen_keys(rng, idx, u)
+    pubkeys = [ref.individual_pk(b32(d)) for d in ds]
+    key_sort_input = None
+    if idx % 5 == 1:
+        key_sort_input = list(pubkeys)
+        rng.shuffle(key_sort_input)
+        order = sorted(range(u), key=lambda i: pubkeys[i])
+        ds = [ds[i] for i in order]
+        pubkeys = [pubkeys[i] for i in order]
+        assert pubkeys == ref.key_sort(list(key_sort_input))
+    session = {
+        "id": idx,
+        "sks": [h(b32(d)) for d in ds],
+        "key_sort_input": None if key_sort_input is None else [h(pk) for pk in key_sort_input],
+    }
+    ctx0 = ref.key_agg(pubkeys)
+    qd0 = sum(ref.key_agg_coeff(pubkeys, pk) * d for pk, d in zip(pubkeys, ds)) % n
+    specs, tweaks, is_xonly, ctx = gen_tweaks(rng, idx, ctx0, qd0)
+    session["q"] = h(ref.cbytes(ctx0.Q)) if specs else None
+    session["tweaks"] = specs
+    if ctx is None:
+        session["tweak_error"] = "TweakResultAtInfinity"
+        return session
+    session["tweak_error"] = None
+    assert ctx == ref.key_agg_and_tweak(pubkeys, tweaks, is_xonly)
+    msg = gen_msg(rng, idx)
+    aggpk = ref.xbytes(ctx.Q)
+    session.update({"aggpk": h(ref.cbytes(ctx.Q)), "gacc_neg": ctx.gacc == n - 1, "msg": h(msg)})
+
+    # Nonces: NonceGen for every signer, except for an imported nonce that
+    # cancels the others' (a half of the aggregate nonce at infinity) or a
+    # DeterministicSign signer, always the last one.
+    special = None
+    if u >= 2 and idx % 12 in (5, 6, 7):
+        special = ("r1inf", "r2inf", "bothinf")[idx % 12 - 5]
+    elif u >= 2 and idx % 6 == 3:
+        special = "det"
+    signers, secnonces, pubnonces = [], [], []
+    for i, d in enumerate(ds):
+        if special is not None and i == u - 1:
+            break
+        combo = (idx * 5 + i) % 24  # every combination of bindings and extra input
+        bind_sk, bind_aggpk, bind_msg = bool(combo & 1), bool(combo & 2), bool(combo & 4)
+        extra_in = opt_bytes(rng, ("absent", "empty", "bytes")[combo // 8], 16)
+        rand = rng.randbytes(32)
+        secnonce, pubnonce = ref.nonce_gen_internal(
+            rand, b32(d) if bind_sk else None, pubkeys[i], aggpk if bind_aggpk else None, msg if bind_msg else None, extra_in)
+        signers.append({"nonce": {"rand": h(rand), "bind": combo % 8, "extra_in": h(extra_in)}, "pubnonce": h(pubnonce)})
+        secnonces.append(secnonce)
+        pubnonces.append(pubnonce)
+    if special in ("r1inf", "r2inf", "bothinf"):
+        k1 = (-sum(ref.int_from_bytes(bytes(s[0:32])) for s in secnonces)) % n
+        k2 = (-sum(ref.int_from_bytes(bytes(s[32:64])) for s in secnonces)) % n
+        if special == "r2inf":
+            k1 = random_scalar(rng)
+        if special == "r1inf":
+            k2 = random_scalar(rng)
+        assert k1 != 0 and k2 != 0
+        secnonce = bytearray(b32(k1) + b32(k2) + pubkeys[-1])
+        pubnonce = ref.cbytes(ref.point_mul(G, k1)) + ref.cbytes(ref.point_mul(G, k2))
+        signers.append({"nonce": {"secnonce": h(bytes(secnonce))}, "pubnonce": h(pubnonce)})
+        secnonces.append(secnonce)
+        pubnonces.append(pubnonce)
+    det_psig = None
+    if special == "det":
+        det_rand = rng.choice([None, rng.randbytes(32)])
+        aggothernonce = ref.nonce_agg(pubnonces)
+        pubnonce, det_psig = ref.deterministic_sign(b32(ds[-1]), aggothernonce, pubkeys, tweaks, is_xonly, msg, det_rand)
+        signers.append({"nonce": {"det_rand": h(det_rand)}, "pubnonce": h(pubnonce)})
+        pubnonces.append(pubnonce)
+    aggnonce = ref.nonce_agg(pubnonces)
+    session["aggnonce"] = h(aggnonce)
+    session_ctx = ref.SessionContext(aggnonce, pubkeys, tweaks, is_xonly, msg)
+    psigs = [ref.sign(secnonces[i], b32(ds[i]), session_ctx) for i in range(len(secnonces))]
+    if det_psig is not None:
+        psigs.append(det_psig)
+    for signer, psig in zip(signers, psigs):
+        signer["psig"] = h(psig)
+    session["signers"] = signers
+    sig = ref.partial_sig_agg(psigs, session_ctx)
+    session["sig"] = h(sig)
+    # Invalid only if both halves of the aggregate nonce are infinity: the
+    # final nonce is then infinity too, and BIP-327 substitutes G for it.
+    session["sig_valid"] = schnorr_verify_any_length(msg, aggpk, sig)
+    assert session["sig_valid"] == (special != "bothinf")
+
+    # PartialSigVerify cases that must fail: one per session, of each kind in turn.
+    bad = []
+    kinds = ["plus_one", "zero", "out_of_range", "wrong_msg"] + (["wrong_signer", "swapped_nonces"] if u >= 2 else [])
+    for kind in [kinds[(idx // 2) % len(kinds)]]:
+        i = rng.randrange(u)
+        j = rng.choice([x for x in range(u) if x != i]) if kind in ("wrong_signer", "swapped_nonces") else None
+        s_i = ref.int_from_bytes(psigs[i])
+        psig, nonces, vmsg, checked = psigs[i], list(pubnonces), msg, i
+        if kind == "plus_one":
+            psig = b32((s_i + 1) % n)
+        elif kind == "zero":
+            psig = b32(0)
+        elif kind == "out_of_range":
+            psig = b32(n)
+        elif kind == "wrong_msg":
+            vmsg = msg + b"\x00"
+        elif kind == "wrong_signer":
+            checked = j
+        else:
+            nonces[i], nonces[j] = nonces[j], nonces[i]
+        expected = ref.partial_sig_verify(psig, nonces, pubkeys, tweaks, is_xonly, vmsg, checked)
+        assert not expected
+        bad.append({"kind": kind, "signer": i, "other": j, "expected": expected})
+    session["bad_verify"] = bad
+    return session
+
+
+def schnorr_verify_any_length(msg, pubkey, sig):
+    """BIP-340 verification without reference.py's 32-byte message restriction."""
+    P = ref.lift_x(pubkey)
+    r = ref.int_from_bytes(sig[0:32])
+    s = ref.int_from_bytes(sig[32:64])
+    if P is None or r >= ref.p or s >= n:
+        return False
+    e = ref.int_from_bytes(ref.tagged_hash("BIP0340/challenge", sig[0:32] + pubkey + msg)) % n
+    R = ref.point_add(ref.point_mul(G, s), ref.point_mul(P, n - e))
+    return R is not None and ref.has_even_y(R) and ref.x(R) == r
+
+
+def generate(job):
+    """One case, from its own random number generator: the output does not
+    depend on how the cases are spread over processes."""
+    name, i = job
+    rng = random.Random(f"musig2 differential corpus/{SEED}/{name}/{i}")
+    try:
+        case = (nonce_gen_case if name == "nonce_gen" else gen_session)(rng, i)
+    except Exception as e:
+        raise RuntimeError(f"{name} #{i}: {e!r}") from e
+    return json.dumps(case, separators=(",", ":"))
+
+
+def main():
+    out = sys.stdout
+    header = {"bips_commit": BIPS_COMMIT, "reference_sha256": REFERENCE_SHA256, "seed": SEED}
+    out.write("{\n" + ",\n".join(f"{json.dumps(k)}: {json.dumps(v)}" for k, v in header.items()) + ",\n")
+    with multiprocessing.get_context("fork").Pool() as pool:
+        for name, count in (("nonce_gen", NONCE_GEN_CASES), ("sessions", SESSIONS)):
+            cases = pool.map(generate, [(name, i) for i in range(count)], chunksize=1)
+            out.write(f'"{name}": [\n' + ",\n".join(cases) + "\n]" + ("," if name == "nonce_gen" else "") + "\n")
+    out.write("}\n")
+
+
+if __name__ == "__main__":
+    main()
diff --git a/test/AggPartialsProperty.hs b/test/AggPartialsProperty.hs
deleted file mode 100644
--- a/test/AggPartialsProperty.hs
+++ /dev/null
@@ -1,73 +0,0 @@
-{-# LANGUAGE OverloadedRecordDot #-}
-{-# LANGUAGE OverloadedStrings #-}
-
-module AggPartialsProperty (propertyAggPartials) where
-
-import Crypto.Curve.Secp256k1 (Pub)
-import Crypto.Curve.Secp256k1.MuSig2 (PubNonce, SessionContext, aggNonces, aggPartials, mkSessionContext, partialSigVerify, publicNonce, sign)
-import Data.ByteString (ByteString)
-import qualified Data.ByteString as BS
-import Test.Tasty
-import Test.Tasty.QuickCheck as QC
-import Util (SignerMaterial (..), unsafeRight)
-
-propertyAggPartials :: TestTree
-propertyAggPartials =
-  testGroup
-    "aggPartials Properties"
-    [ testProperty "Aggregated partials from valid signatures" prop_aggValidPartials
-    , testProperty "Aggregation is deterministic" prop_aggDeterministic
-    , testProperty "All partial sigs verify before aggregation" prop_partialsVerifyBeforeAgg
-    , testProperty "Aggregation with single signer equals partial sig" prop_singleSignerAgg
-    ]
-
-mkTwoSignerContext :: SignerMaterial -> SignerMaterial -> ByteString -> ([PubNonce], [Pub], SessionContext)
-mkTwoSignerContext signer1 signer2 msg =
-  let pubNonces = [unsafeRight $ publicNonce signer1.signerSecNonce, unsafeRight $ publicNonce signer2.signerSecNonce]
-      pubkeys = [signer1.signerPubKey, signer2.signerPubKey]
-      aggNonce = unsafeRight $ aggNonces pubNonces
-      ctx = unsafeRight $ mkSessionContext aggNonce pubkeys [] msg
-   in (pubNonces, pubkeys, ctx)
-
--- | Property: Aggregating valid partial signatures produces a consistent result
-prop_aggValidPartials :: SignerMaterial -> SignerMaterial -> ByteString -> Property
-prop_aggValidPartials signer1 signer2 msg =
-  let (_, _, ctx) = mkTwoSignerContext signer1 signer2 msg
-      partialSig1 = unsafeRight $ sign signer1.signerSecNonce signer1.signerSecKey ctx
-      partialSig2 = unsafeRight $ sign signer2.signerSecNonce signer2.signerSecKey ctx
-      aggregated = unsafeRight $ aggPartials [partialSig1, partialSig2] ctx
-   in BS.length aggregated === 64
-
--- | Property: Aggregation is deterministic - same inputs produce same output
-prop_aggDeterministic :: SignerMaterial -> SignerMaterial -> ByteString -> Property
-prop_aggDeterministic signer1 signer2 msg =
-  let (_, _, ctx) = mkTwoSignerContext signer1 signer2 msg
-      partialSig1 = unsafeRight $ sign signer1.signerSecNonce signer1.signerSecKey ctx
-      partialSig2 = unsafeRight $ sign signer2.signerSecNonce signer2.signerSecKey ctx
-      partialSigs = [partialSig1, partialSig2]
-      aggregated1 = unsafeRight $ aggPartials partialSigs ctx
-      aggregated2 = unsafeRight $ aggPartials partialSigs ctx
-   in aggregated1 === aggregated2
-
--- | Property: All partial signatures should verify individually before aggregation
-prop_partialsVerifyBeforeAgg :: SignerMaterial -> SignerMaterial -> ByteString -> Property
-prop_partialsVerifyBeforeAgg signer1 signer2 msg =
-  let (pubNonces, pubkeys, ctx) = mkTwoSignerContext signer1 signer2 msg
-      partialSig1 = unsafeRight $ sign signer1.signerSecNonce signer1.signerSecKey ctx
-      partialSig2 = unsafeRight $ sign signer2.signerSecNonce signer2.signerSecKey ctx
-      verify1 = partialSigVerify partialSig1 pubNonces pubkeys [] msg 0
-      verify2 = partialSigVerify partialSig2 pubNonces pubkeys [] msg 1
-   in verify1 === Right True .&&. verify2 === Right True
-
--- | Property: For a single signer, aggregation should work correctly
-prop_singleSignerAgg :: SignerMaterial -> ByteString -> Property
-prop_singleSignerAgg signer msg =
-  let pubNonce = unsafeRight $ publicNonce signer.signerSecNonce
-      pubNonces = [pubNonce]
-      pubkeys = [signer.signerPubKey]
-      aggNonce = unsafeRight $ aggNonces pubNonces
-      ctx = unsafeRight $ mkSessionContext aggNonce pubkeys [] msg
-      partialSig = unsafeRight $ sign signer.signerSecNonce signer.signerSecKey ctx
-      aggregated = unsafeRight $ aggPartials [partialSig] ctx
-      verifyResult = partialSigVerify partialSig pubNonces pubkeys [] msg 0
-   in verifyResult === Right True .&&. BS.length aggregated === 64
diff --git a/test/ApplyTweaks.hs b/test/ApplyTweaks.hs
--- a/test/ApplyTweaks.hs
+++ b/test/ApplyTweaks.hs
@@ -1,80 +1,38 @@
 {-# LANGUAGE OverloadedStrings #-}
 
+-- | Tweak test vectors from the Rust @musig2@ crate (@test_aggregation_context_tweaks@).
 module ApplyTweaks (testApplyTweaks) where
 
-import Crypto.Curve.Secp256k1 (Pub, parse_point)
-import Crypto.Curve.Secp256k1.MuSig2 (Tweak (..), aggregatedPubkey, applyTweak, mkKeyAggContext)
-import Crypto.Curve.Secp256k1.MuSig2.Internal (bytesToInteger, hashTag)
-import Data.ByteString (ByteString)
-import Data.Maybe (fromJust)
+import Control.Monad ((>=>))
+import Crypto.Curve.Secp256k1.MuSig2 (PubKey, aggPubKey, applyPlainTweak, applyTaprootTweak, applyXOnlyTweak, encode, keyAgg)
+import Data.List.NonEmpty (NonEmpty (..))
 import Test.Tasty
 import Test.Tasty.HUnit
-import Util (decodeHex, extractXOnly, parsePoint, unsafeRight)
-
--- | Computes taproot tweak from pubkey and merkle root.
-computeTaprootTweak :: Pub -> ByteString -> Integer
-computeTaprootTweak pubkey merkleRoot =
-  let pubkeyXOnly = extractXOnly pubkey
-      tweakHash = hashTag "TapTweak" (pubkeyXOnly <> merkleRoot)
-   in bytesToInteger tweakHash
+import Util (decodeHex, hexOf, tweakFromInt, unsafeDecode, unsafeRight)
 
--- | Test pubkeys from the Rust's `musig2` crate `test_aggregation_context_tweaks`.
-testPubkeys :: [Pub]
+testPubkeys :: NonEmpty PubKey
 testPubkeys =
-  map
-    parsePoint
-    [ "03935F972DA013F80AE011890FA89B67A27B7BE6CCB24D3274D18B2D4067F261A9"
-    , "02F9308A019258C31049344F85F89D5229B531C845836F99B08601F113BCE036F9"
-    , "02DFF1D77F2A671C5F36183726DB2341BE58FEAE1DA2DECED843240F7B502BA659"
-    ]
-
--- | Test case: Sequence of tweaks matching `test_aggregation_context_tweaks` from Rust's `musig2` crate.
-testTweakSequence :: TestTree
-testTweakSequence =
-  testCase "Tweak sequence" $ do
-    let keyAggCtx1 = unsafeRight $ mkKeyAggContext testPubkeys Nothing
-
-    -- Apply first X-only tweak
-    let tweak1 = XOnlyTweak 0xE8F791FF9225A2AF0102AFFF4A9A723D9612A682A25EBE79802B263CDFCD83BB
-        keyAggCtx2 = unsafeRight $ applyTweak keyAggCtx1 tweak1
-
-    -- Apply second X-only tweak
-    let tweak2 = XOnlyTweak 0xAE2EA797CC0FE72AC5B97B97F3C6957D7E4199A167A58EB08BCAFFDA70AC0455
-        keyAggCtx3 = unsafeRight $ applyTweak keyAggCtx2 tweak2
-
-    -- Apply third plain tweak
-    let tweak3 = PlainTweak 0xF52ECBC565B3D8BEA2DFD5B75A4F457E54369809322E4120831626F290FA87E0
-        keyAggCtx4 = unsafeRight $ applyTweak keyAggCtx3 tweak3
-
-    -- Apply fourth plain tweak
-    let tweak4 = PlainTweak 0x1969AD73CC177FA0B4FCED6DF1F7BF9907E665FDE9BA196A74FED0A3CF5AEF9D
-        finalKeyAggCtx = unsafeRight $ applyTweak keyAggCtx4 tweak4
-        finalAggPk = aggregatedPubkey finalKeyAggCtx
-        expected = fromJust $ parse_point $ decodeHex "0269434B39A026A4AAC9E6C1AEBDD3993FFA581C8F7F21B6FAAE15608057F5CE85"
-
-    expected @=? finalAggPk
-
--- | Test case: Taproot tweak with merkle root matching `test_aggregation_context_tweaks` from Rust's `musig2` crate.
-testTaprootTweak :: TestTree
-testTaprootTweak =
-  testCase "Taproot tweak with merkle root" $ do
-    let keyAggCtx = unsafeRight $ mkKeyAggContext testPubkeys Nothing
-        originalPk = aggregatedPubkey keyAggCtx
-        merkleRootBytes = decodeHex "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
-        -- Compute proper taproot tweak hash
-        taprootTweakValue = computeTaprootTweak originalPk merkleRootBytes
-        taprootTweak = XOnlyTweak taprootTweakValue
-        tweakedCtx = unsafeRight $ applyTweak keyAggCtx taprootTweak
-        tweakedPk = aggregatedPubkey tweakedCtx
-        expected = fromJust $ parse_point $ decodeHex "024650cca5e389f62e960f66ca0400927a7727fc6e84b9c38a1fd9a80271377ceb"
-
-    expected @=? tweakedPk
+  fmap
+    unsafeDecode
+    ( "03935F972DA013F80AE011890FA89B67A27B7BE6CCB24D3274D18B2D4067F261A9"
+        :| [ "02F9308A019258C31049344F85F89D5229B531C845836F99B08601F113BCE036F9"
+           , "02DFF1D77F2A671C5F36183726DB2341BE58FEAE1DA2DECED843240F7B502BA659"
+           ]
+    )
 
--- | Test vectors the Rust's `musig2` crate `test_aggregation_context_tweaks`.
 testApplyTweaks :: TestTree
 testApplyTweaks =
   testGroup
-    "applying tweaks"
-    [ testTweakSequence
-    , testTaprootTweak
+    "applying tweaks (Rust musig2 crate vectors)"
+    [ testCase "x-only, x-only, plain, plain" $ do
+        let tweaks =
+              applyXOnlyTweak (tweakFromInt 0xE8F791FF9225A2AF0102AFFF4A9A723D9612A682A25EBE79802B263CDFCD83BB)
+                >=> applyXOnlyTweak (tweakFromInt 0xAE2EA797CC0FE72AC5B97B97F3C6957D7E4199A167A58EB08BCAFFDA70AC0455)
+                >=> applyPlainTweak (tweakFromInt 0xF52ECBC565B3D8BEA2DFD5B75A4F457E54369809322E4120831626F290FA87E0)
+                >=> applyPlainTweak (tweakFromInt 0x1969AD73CC177FA0B4FCED6DF1F7BF9907E665FDE9BA196A74FED0A3CF5AEF9D)
+            ctx = unsafeRight (keyAgg testPubkeys >>= tweaks)
+        hexOf (encode (aggPubKey ctx)) @?= "0269434B39A026A4AAC9E6C1AEBDD3993FFA581C8F7F21B6FAAE15608057F5CE85"
+    , testCase "Taproot tweak with a merkle root" $ do
+        let ctx = unsafeRight (keyAgg testPubkeys >>= applyTaprootTweak (Just (decodeHex "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA")))
+        hexOf (encode (aggPubKey ctx)) @?= "024650CCA5E389F62E960F66CA0400927A7727FC6E84B9C38A1FD9A80271377CEB"
     ]
diff --git a/test/Bip327Regressions.hs b/test/Bip327Regressions.hs
--- a/test/Bip327Regressions.hs
+++ b/test/Bip327Regressions.hs
@@ -1,6 +1,6 @@
 {-# LANGUAGE OverloadedStrings #-}
 
-{- | Regression tests for BIP-0327 conformance bugs fixed in 0.2.1.
+{- | Regression tests for BIP-0327 conformance bugs fixed in 0.2.1, ported to the 0.3 API.
 
 Expected values come from the official BIP-0327 test vectors or, for cases the
 official vectors do not cover, from the BIP-0327 reference implementation
@@ -8,32 +8,16 @@
 -}
 module Bip327Regressions (testBip327Regressions) where
 
-import Control.Monad (zipWithM)
-import Crypto.Curve.Secp256k1 (Pub, derive_pub, parse_point, serialize_point, verify_schnorr, _CURVE_G, _CURVE_ZERO)
-import Crypto.Curve.Secp256k1.MuSig2 (
-  MuSig2Error (..),
-  PubNonce (..),
-  SecKey (..),
-  SecNonce,
-  Tweak (..),
-  aggNonces,
-  aggPartials,
-  aggregatedPubkey,
-  applyTweak,
-  mkKeyAggContext,
-  mkSessionContext,
-  partialSigVerify,
-  publicNonce,
-  sign,
- )
-import Crypto.Curve.Secp256k1.MuSig2.Internal (integerToBytes32)
+import Control.Monad (foldM, zipWithM)
+import Crypto.Curve.Secp256k1.MuSig2
+import Crypto.Curve.Secp256k1.MuSig2.Internal.Nonce (secNoncePubNonce)
 import Data.ByteString (ByteString)
 import qualified Data.ByteString as BS
-import Data.Foldable (foldlM)
-import Data.Maybe (fromMaybe)
+import Data.List.NonEmpty (NonEmpty (..))
+import qualified Data.List.NonEmpty as NE
 import Test.Tasty
 import Test.Tasty.HUnit
-import Util (decodeHex, parsePoint, parsePubNonce, parseScalar, unsafeMkSecNonce, unsafeRight)
+import Util (decodeHex, hexOf, psigFromInt, secKeyFromInt, secNonceFromInts, tweakFromInt, unsafeDecode, unsafeRight)
 
 testBip327Regressions :: TestTree
 testBip327Regressions =
@@ -43,72 +27,58 @@
     , testCase "Signer pubkey not in list of pubkeys (sign_verify sign_error #0)" signerNotInList
     , testGroup "PartialSigAgg with gacc = n - 1" (zipWith gaccCase [0 :: Int ..] gaccCases)
     , testGroup "ApplyTweak with t = 0" [zeroTweak False, zeroTweak True]
-    , testCase "NonceAgg rejects a public nonce containing infinity" nonceAggRejectsInfinity
+    , testCase "PubNonce decoding rejects a half at infinity" pubNonceRejectsInfinity
     , testCase "PartialSigVerify of a zero partial signature returns False" zeroPartialSig
     ]
 
 -- Material from sign_verify_vectors.json ------------------------------------
 
 svSecKey :: SecKey
-svSecKey = SecKey (parseScalar "7FB9E0E687ADA1EEBF7ECFE2F21E73EBDB51A7D450948DFE8D76D7F2D1007671")
+svSecKey = unsafeRight (secKeyFromBytes (decodeHex "7FB9E0E687ADA1EEBF7ECFE2F21E73EBDB51A7D450948DFE8D76D7F2D1007671"))
 
-svPubkeys :: [Pub]
+svPubkeys :: NonEmpty PubKey
 svPubkeys =
-  map
-    parsePoint
-    [ "03935F972DA013F80AE011890FA89B67A27B7BE6CCB24D3274D18B2D4067F261A9"
-    , "02F9308A019258C31049344F85F89D5229B531C845836F99B08601F113BCE036F9"
-    , "02DFF1D77F2A671C5F36183726DB2341BE58FEAE1DA2DECED843240F7B502BA661"
-    ]
-
--- | Public key of 'svSecKey' (first entry of 'svPubkeys').
-svSignerPubkey :: Pub
-svSignerPubkey = parsePoint "03935F972DA013F80AE011890FA89B67A27B7BE6CCB24D3274D18B2D4067F261A9"
+  fmap
+    unsafeDecode
+    ( "03935F972DA013F80AE011890FA89B67A27B7BE6CCB24D3274D18B2D4067F261A9"
+        :| [ "02F9308A019258C31049344F85F89D5229B531C845836F99B08601F113BCE036F9"
+           , "02DFF1D77F2A671C5F36183726DB2341BE58FEAE1DA2DECED843240F7B502BA661"
+           ]
+    )
 
-svPubNonces :: [PubNonce]
+svPubNonces :: NonEmpty PubNonce
 svPubNonces =
-  map
-    parsePubNonce
-    [ "0337C87821AFD50A8644D820A8F3E02E499C931865C2360FB43D0A0D20DAFE07EA0287BF891D2A6DEAEBADC909352AA9405D1428C15F4B75F04DAE642A95C2548480"
-    , "0279BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F817980279BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798"
-    , "032DE2662628C90B03F5E720284EB52FF7D71F4284F627B68A853D78C78E1FFE9303E4C5524E83FFE1493B9077CF1CA6BEB2090C93D930321071AD40B2F44E599046"
-    , "0237C87821AFD50A8644D820A8F3E02E499C931865C2360FB43D0A0D20DAFE07EA0387BF891D2A6DEAEBADC909352AA9405D1428C15F4B75F04DAE642A95C2548480"
-    ]
+  fmap
+    unsafeDecode
+    ( "0337C87821AFD50A8644D820A8F3E02E499C931865C2360FB43D0A0D20DAFE07EA0287BF891D2A6DEAEBADC909352AA9405D1428C15F4B75F04DAE642A95C2548480"
+        :| [ "0279BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F817980279BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798"
+           , "032DE2662628C90B03F5E720284EB52FF7D71F4284F627B68A853D78C78E1FFE9303E4C5524E83FFE1493B9077CF1CA6BEB2090C93D930321071AD40B2F44E599046"
+           ]
+    )
 
 svMsg :: ByteString
 svMsg = decodeHex "F95466D086770E689964664219266FE5ED215C92AE20BAB5C9D79ADDDDF3C0CF"
 
-svSecNonce :: SecNonce
+-- | A fresh copy of the vectors' secret nonce (each one signs once).
+svSecNonce :: IO SecNonce
 svSecNonce =
-  unsafeMkSecNonce
-    svSignerPubkey
-    (parseScalar "508B81A611F100A6B2B6B29656590898AF488BCF2E1F55CF22E5CFB84421FE61")
-    (parseScalar "FA27FD49B1D50085B481285E1CA205D55C82CC1B31FF5CD54A489829355901F7")
-
--- | Parses a 33-byte @cbytes_ext@ encoding (33 zero bytes is infinity).
-pointExt :: ByteString -> Pub
-pointExt h
-  | bytes == BS.replicate 33 0 = _CURVE_ZERO
-  | otherwise = fromMaybe (error "invalid point") (parse_point bytes)
- where
-  bytes = decodeHex h
-
--- | Parses a 66-byte aggregate nonce encoded with @cbytes_ext@.
-aggNonceExt :: ByteString -> PubNonce
-aggNonceExt h = PubNonce (pointExt (BS.take 66 h)) (pointExt (BS.drop 66 h))
+  secNonceFromInts
+    0x508B81A611F100A6B2B6B29656590898AF488BCF2E1F55CF22E5CFB84421FE61
+    0xFA27FD49B1D50085B481285E1CA205D55C82CC1B31FF5CD54A489829355901F7
+    (NE.head svPubkeys)
 
-toHex32 :: Integer -> ByteString
-toHex32 = integerToBytes32
+session :: NonEmpty PubKey -> ByteString -> Session
+session keys aggHex = newSession (unsafeRight (keyAgg keys)) (unsafeDecode aggHex) svMsg
 
 -- Aggregate nonce with infinity ---------------------------------------------
 
 -- | (label, keys, aggnonce, expected partial signature, expected xbytes(R))
-infinityCases :: [(String, [Pub], ByteString, ByteString, ByteString)]
+infinityCases :: [(String, NonEmpty PubKey, ByteString, ByteString, ByteString)]
 infinityCases =
   [ -- official sign_verify valid #3
 
     ( "R1 = R2 = infinity (official sign_verify valid #3)"
-    , take 2 svPubkeys
+    , NE.fromList (NE.take 2 svPubkeys)
     , "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     , "AE386064B26105404798F75DE2EB9AF5EDA5387B064B83D049CB7C5E08879531"
     , "79BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798"
@@ -137,77 +107,87 @@
     )
   ]
 
-infinityCase :: (String, [Pub], ByteString, ByteString, ByteString) -> TestTree
+infinityCase :: (String, NonEmpty PubKey, ByteString, ByteString, ByteString) -> TestTree
 infinityCase (label, keys, aggHex, expectedPsig, expectedRx) = testCase label $ do
-  let ctx = unsafeRight $ mkSessionContext (aggNonceExt aggHex) keys [] svMsg
-      psig = unsafeRight $ sign svSecNonce svSecKey ctx
-      sig = unsafeRight $ aggPartials [0 :: Integer] ctx
-  toHex32 psig @?= decodeHex expectedPsig
-  BS.take 32 sig @?= decodeHex expectedRx
+  let ses = session keys aggHex
+      sig = partialSigAgg ses (psigFromInt 0 :| [])
+  psig <- svSecNonce >>= \sn -> unsafeRight <$> sign sn svSecKey ses
+  hexOf (encode psig) @?= hexOf (decodeHex expectedPsig)
+  hexOf (BS.take 32 (encode sig)) @?= hexOf (decodeHex expectedRx)
 
 -- Signer not in list ----------------------------------------------------------
 
 signerNotInList :: Assertion
 signerNotInList = do
-  let aggNonce = aggNonceExt "028465FCF0BBDBCF443AABCCE533D42B4B5A10966AC09A49655E8C42DAAB8FCD61037496A3CC86926D452CAFCFD55D25972CA1675D549310DE296BFF42F72EEEA8C9"
-      ctx = unsafeRight $ mkSessionContext aggNonce (drop 1 svPubkeys) [] svMsg
-  sign svSecNonce svSecKey ctx @?= Left SecretKeyPublicKeyMismatch
+  let ses = session (NE.fromList (NE.tail svPubkeys)) "028465FCF0BBDBCF443AABCCE533D42B4B5A10966AC09A49655E8C42DAAB8FCD61037496A3CC86926D452CAFCFD55D25972CA1675D549310DE296BFF42F72EEEA8C9"
+  sn <- svSecNonce
+  result <- sign sn svSecKey ses
+  either Just (const Nothing) result @?= Just SignerNotInSession
 
 -- gacc = n - 1 ------------------------------------------------------------------
 
+data TweakKind = Plain Integer | XOnly Integer
+
 -- | (secret keys, secret nonces, tweaks, expected partial sigs, expected signature)
-gaccCases :: [([Integer], [(Integer, Integer)], [Tweak], [ByteString], ByteString)]
+gaccCases :: [([Integer], [(Integer, Integer)], [TweakKind], [ByteString], ByteString)]
 gaccCases =
   [
     ( [0x1118, 0x222F]
     , [(0xAAAB, 0xBBBC), (0xCCCD, 0xDDDE)]
-    , [XOnlyTweak 0x1234567890ABCDEF]
+    , [XOnly 0x1234567890ABCDEF]
     , ["036D45ADBF14F99296EA524AB2B6DF08B9C74E172B463671BBDC6EEB64F35659", "B3576E442485F4457A7D14F11643322900CECEB3C2086160866D93E3B0592D80"]
     , "5D56B500773C4BDB1D12E588DE0CD2420BB5C4740B54C59443CC02D32C820A2ABAF22138DE1A3B920468B3325C0C298FEFCCA7C37123034353C4A308C1D9B880"
     )
   ,
     ( [0x1118, 0x222F]
     , [(0xAAAB, 0xBBBC), (0xCCCD, 0xDDDE)]
-    , [PlainTweak 0x1111, XOnlyTweak 0x2222]
+    , [Plain 0x1111, XOnly 0x2222]
     , ["AD330CCA8F1404AD4EF335592C22C3CBAFCD426E9010E9C7D26DE4E3BBCD1D12", "43CA5A1DD8CE93809555521478E46FED6DD826D1F78A96173BE310F229C5E813"]
     , "9B545290252036652491EA299A0FF359B1C8AD200406AE590A6CECF645D48B9E0F74CA8D4B552D7FDF7D3A0F03EB712DFEA36AA9C711CA191DD6B54EB63E4441"
     )
   ]
 
-gaccCase :: Int -> ([Integer], [(Integer, Integer)], [Tweak], [ByteString], ByteString) -> TestTree
+applyKind :: KeyAggContext -> TweakKind -> Either KeyAggError KeyAggContext
+applyKind ctx (Plain t) = applyPlainTweak (tweakFromInt t) ctx
+applyKind ctx (XOnly t) = applyXOnlyTweak (tweakFromInt t) ctx
+
+gaccCase :: Int -> ([Integer], [(Integer, Integer)], [TweakKind], [ByteString], ByteString) -> TestTree
 gaccCase i (sks, ks, tweaks, expectedPsigs, expectedSig) = testCase ("case " <> show i) $ do
   let msg = decodeHex "599C67EA410D005B9DA90817CF03ED3B1C868E4DA4EDF00A5880B0082C237869"
-      pubs = map (fromMaybe (error "derive_pub") . derive_pub . fromInteger) sks
-      secNonces = zipWith (\p (k1, k2) -> unsafeMkSecNonce p k1 k2) pubs ks
-      aggNonce = unsafeRight $ traverse publicNonce secNonces >>= aggNonces
-      ctx = unsafeRight $ mkSessionContext aggNonce pubs tweaks msg
-      psigs = unsafeRight $ zipWithM (\sn d -> sign sn (SecKey d) ctx) secNonces sks
-      sig = unsafeRight $ aggPartials psigs ctx
-      keyCtx = unsafeRight $ mkKeyAggContext pubs Nothing >>= \c -> foldlM applyTweak c tweaks
-  map toHex32 psigs @?= map decodeHex expectedPsigs
-  sig @?= decodeHex expectedSig
-  assertBool "aggregated signature verifies" (verify_schnorr msg (aggregatedPubkey keyCtx) sig)
+      secKeys = map secKeyFromInt sks
+      pubs = map secKeyPubKey secKeys
+      ctx = unsafeRight (keyAgg (NE.fromList pubs) >>= \c -> foldM applyKind c tweaks)
+  secNonces <- zipWithM (\p (k1, k2) -> secNonceFromInts k1 k2 p) pubs ks
+  let ses = newSession ctx (nonceAgg (NE.fromList (map secNoncePubNonce secNonces))) msg
+  psigs <- unsafeRight . sequence <$> zipWithM (\sn sk -> sign sn sk ses) secNonces secKeys
+  let sig = partialSigAgg ses (NE.fromList psigs)
+  map (hexOf . encode) psigs @?= map (hexOf . decodeHex) expectedPsigs
+  hexOf (encode sig) @?= hexOf (decodeHex expectedSig)
+  assertBool "aggregated signature verifies" (verify (aggXOnlyPubKey ctx) msg sig)
 
 -- t = 0 -----------------------------------------------------------------------
 
 zeroTweak :: Bool -> TestTree
 zeroTweak isXOnly = testCase (if isXOnly then "x-only" else "plain") $ do
-  let tweak = if isXOnly then XOnlyTweak 0 else PlainTweak 0
+  let apply = if isXOnly then applyXOnlyTweak else applyPlainTweak
       expected =
         if isXOnly
           then "0254240C76B8F2999143301A99C7F721EE57EEE0BCE401DF3AFEAA9AE218C70F23"
           else "0354240C76B8F2999143301A99C7F721EE57EEE0BCE401DF3AFEAA9AE218C70F23"
-      ctx = unsafeRight $ mkKeyAggContext (take 2 svPubkeys) (Just tweak)
-  serialize_point (aggregatedPubkey ctx) @?= decodeHex expected
+      ctx = unsafeRight (keyAgg (NE.fromList (NE.take 2 svPubkeys)) >>= apply (tweakFromInt 0))
+  hexOf (encode (aggPubKey ctx)) @?= expected
 
 -- NonceAgg / PartialSigVerify ---------------------------------------------------
 
-nonceAggRejectsInfinity :: Assertion
-nonceAggRejectsInfinity = do
-  let good = parsePubNonce "0337C87821AFD50A8644D820A8F3E02E499C931865C2360FB43D0A0D20DAFE07EA0287BF891D2A6DEAEBADC909352AA9405D1428C15F4B75F04DAE642A95C2548480"
-  aggNonces [good, PubNonce _CURVE_ZERO (r2 good)] @?= Left InvalidPointFormat
-  aggNonces [good, PubNonce (r1 good) _CURVE_ZERO] @?= Left InvalidPointFormat
-  partialSigVerify 1 (PubNonce _CURVE_ZERO _CURVE_G : drop 1 (take 3 svPubNonces)) svPubkeys [] svMsg 0 @?= Left InvalidPointFormat
+pubNonceRejectsInfinity :: Assertion
+pubNonceRejectsInfinity = do
+  let good = encode (NE.head svPubNonces)
+      decodePubNonce :: ByteString -> Either DecodeError PubNonce
+      decodePubNonce = decode
+  decodePubNonce (BS.replicate 33 0 <> BS.drop 33 good) @?= Left PointAtInfinity
+  decodePubNonce (BS.take 33 good <> BS.replicate 33 0) @?= Left PointAtInfinity
 
 zeroPartialSig :: Assertion
-zeroPartialSig = partialSigVerify 0 (take 3 svPubNonces) svPubkeys [] svMsg 0 @?= Right False
+zeroPartialSig = do
+  let ses = newSession (unsafeRight (keyAgg svPubkeys)) (nonceAgg svPubNonces) svMsg
+  partialSigVerify ses (NE.head svPubkeys) (NE.head svPubNonces) (psigFromInt 0) @?= False
diff --git a/test/CoordinatorRounds.hs b/test/CoordinatorRounds.hs
new file mode 100644
--- /dev/null
+++ b/test/CoordinatorRounds.hs
@@ -0,0 +1,401 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE TupleSections #-}
+
+{- | Tests of "Crypto.Curve.Secp256k1.MuSig2.Coordinator": honest rounds
+produce a valid signature whatever the order contributions arrive in, and
+every kind of misbehavior is blamed on exactly the signers responsible.
+-}
+module CoordinatorRounds (testCoordinator) where
+
+import Control.Monad (foldM, forM)
+import Crypto.Curve.Secp256k1.MuSig2
+import Crypto.Curve.Secp256k1.MuSig2.Coordinator
+import Crypto.Curve.Secp256k1.MuSig2.Internal.Scalar (curveOrder, integerToBytes32)
+import Crypto.Curve.Secp256k1.MuSig2.Internal.Types (PartialSignature (..))
+import Crypto.Curve.Secp256k1.MuSig2.Unsafe (nonceGenWithRand)
+import Data.ByteString (ByteString)
+import qualified Data.ByteString as BS
+import Data.Either (fromRight, isRight)
+import Data.List (sortOn)
+import Data.List.NonEmpty (NonEmpty (..))
+import qualified Data.List.NonEmpty as NE
+import Generators (TweakOp, applyTweakOp, genMessage, genNonZeroScalar, genTweakOp)
+import Test.Tasty
+import Test.Tasty.HUnit
+import Test.Tasty.QuickCheck
+import Util (secKeyFromInt, unsafeRight)
+
+testCoordinator :: TestTree
+testCoordinator =
+  testGroup
+    "Coordinator"
+    [ testGroup
+        "round one"
+        [ testCase "honest signers: the aggregate nonce is nonceAgg of the nonces in signer order" nonceRoundHonest
+        , testCase "an invalid encoding is blamed on its sender, with the decoding error" nonceRoundBadEncoding
+        , testCase "an index outside the key list is an unknown signer" nonceRoundUnknown
+        , testCase "a second, different nonce is a duplicate; the same bytes again are accepted" nonceRoundDuplicate
+        , testCase "finishing blames every signer whose nonce is missing, in order" nonceRoundMissingBlame
+        , testCase "a rejected contribution leaves the round unchanged, and the signer can send again" nonceRoundRetry
+        ]
+    , testGroup
+        "round two"
+        [ testCase "honest signers (two share a key): the signature verifies" sigRoundHonest
+        , testCase "an invalid encoding is blamed on its sender, with the decoding error" sigRoundBadEncoding
+        , testCase "a wrong partial signature is invalid" sigRoundCorrupt
+        , testCase "another signer's partial signature is invalid, even for the same key" sigRoundOtherSigners
+        , testCase "a second, different partial signature is a duplicate; the same bytes again are accepted" sigRoundDuplicate
+        , testCase "an index outside the key list is an unknown signer" sigRoundUnknown
+        , testCase "finishing blames every signer whose partial signature is missing" sigRoundMissingBlame
+        , testCase "the coordinator can sign in sigRoundSession" sigRoundCoordinatorSigns
+        ]
+    , testGroup
+        "properties"
+        [ testProperty "honest contributions in any order give the same aggregate nonce and a valid signature" prop_orderIndependent
+        , testProperty "round one blames exactly the misbehaving signers" prop_nonceRoundBlame
+        , testProperty "round two blames exactly the misbehaving signers" prop_sigRoundBlame
+        ]
+    ]
+
+-- Fixtures ---------------------------------------------------------------------
+
+-- | A session: secret keys in signer order (duplicates allowed), the context and the message.
+data Fixture = Fixture
+  { fxSecKeys :: NonEmpty SecKey
+  , fxCtx :: KeyAggContext
+  , fxMsg :: ByteString
+  }
+
+-- | Three signers, the first and last sharing a key, under a Taproot tweak.
+fixture :: Fixture
+fixture = Fixture sks ctx "coordinator test"
+ where
+  sks = fmap secKeyFromInt (3 :| [5, 3])
+  ctx = unsafeRight (keyAgg (fmap secKeyPubKey sks) >>= applyTaprootTweak Nothing)
+
+signerCount :: Fixture -> Int
+signerCount = length . fxSecKeys
+
+-- | A nonce for every signer, deterministic in the signer index and a seed.
+nonces :: Fixture -> Int -> IO [(SecNonce, PubNonce)]
+nonces fx seed = forM (zip [0 ..] (NE.toList (fxSecKeys fx))) $ \(i, sk) ->
+  unsafeRight <$> nonceGenWithRand (rand i) (secKeyPubKey sk) noNonceInputs
+ where
+  rand :: Int -> ByteString
+  rand i = integerToBytes32 (toInteger seed * 1000 + toInteger i + 1)
+
+-- | The encoded public nonce of a signer.
+pubNonceOf :: [(SecNonce, PubNonce)] -> Int -> ByteString
+pubNonceOf ns i = encode (snd (ns !! i))
+
+-- | Receives every public nonce in signer order.
+receiveAllNonces :: Fixture -> [PubNonce] -> NonceRound
+receiveAllNonces fx pns = unsafeRight (foldM (\r (i, pn) -> receivePubNonce i (encode pn) r) (newNonceRound (fxCtx fx)) (zip [0 ..] pns))
+
+-- | Round one done honestly, and every signer's partial signature for the resulting session.
+honestRoundTwo :: Fixture -> IO (CollectedNonces, [PartialSignature])
+honestRoundTwo fx = do
+  ns <- nonces fx 1
+  let collected = unsafeRight (finishNonceRound (receiveAllNonces fx (map snd ns)))
+      ses = sigRoundSession (newSigRound collected (fxMsg fx))
+  psigs <- forM (zip (NE.toList (fxSecKeys fx)) ns) $ \(sk, (sn, _)) -> unsafeRight <$> sign sn sk ses
+  pure (collected, psigs)
+
+receiveAllPsigs :: CollectedNonces -> ByteString -> [(Int, PartialSignature)] -> Either Blame SigRound
+receiveAllPsigs collected msg = foldM (\r (i, psig) -> receivePartialSig i (encode psig) r) (newSigRound collected msg)
+
+-- | Adds one to a partial signature.
+corrupt :: PartialSignature -> PartialSignature
+corrupt (PartialSignature s) = PartialSignature ((s + 1) `mod` curveOrder)
+
+-- | The error of a 'Left'.
+blameOf :: Either e a -> Maybe e
+blameOf = either Just (const Nothing)
+
+-- Round one --------------------------------------------------------------------
+
+nonceRoundHonest :: Assertion
+nonceRoundHonest = do
+  ns <- nonces fixture 1
+  let pns = map snd ns
+      collected = unsafeRight (finishNonceRound (receiveAllNonces fixture pns))
+  NE.toList (collectedPubNonces collected) @?= pns
+  encode (collectedAggNonce collected) @?= encode (nonceAgg (NE.fromList pns))
+  encode (aggXOnlyPubKey (collectedKeyAgg collected)) @?= encode (aggXOnlyPubKey (fxCtx fixture))
+
+nonceRoundBadEncoding :: Assertion
+nonceRoundBadEncoding = do
+  ns <- nonces fixture 1
+  let good = pubNonceOf ns 0
+      r = newNonceRound (fxCtx fixture)
+      receive bytes = blameOf (receivePubNonce 1 bytes r)
+  receive (BS.take 65 good) @?= Just (Blame 1 (InvalidPubNonceEncoding (InvalidLength 66 65)))
+  receive (BS.cons 0x04 (BS.drop 1 good)) @?= Just (Blame 1 (InvalidPubNonceEncoding InvalidPoint))
+  receive (BS.take 33 good <> BS.replicate 33 0) @?= Just (Blame 1 (InvalidPubNonceEncoding PointAtInfinity))
+  receive BS.empty @?= Just (Blame 1 (InvalidPubNonceEncoding (InvalidLength 66 0)))
+
+nonceRoundUnknown :: Assertion
+nonceRoundUnknown = do
+  ns <- nonces fixture 1
+  let good = pubNonceOf ns 0
+      r = newNonceRound (fxCtx fixture)
+  blameOf (receivePubNonce (-1) good r) @?= Just (Blame (-1) UnknownSigner)
+  blameOf (receivePubNonce 3 good r) @?= Just (Blame 3 UnknownSigner)
+  -- Checked before decoding: an unknown index is blamed whatever it sends.
+  blameOf (receivePubNonce 7 "junk" r) @?= Just (Blame 7 UnknownSigner)
+
+nonceRoundDuplicate :: Assertion
+nonceRoundDuplicate = do
+  ns <- nonces fixture 1
+  other <- nonces fixture 2
+  let r = unsafeRight (receivePubNonce 0 (pubNonceOf ns 0) (newNonceRound (fxCtx fixture)))
+  blameOf (receivePubNonce 0 (pubNonceOf other 0) r) @?= Just (Blame 0 DuplicateContribution)
+  -- An invalid second contribution is a duplicate too.
+  blameOf (receivePubNonce 0 "junk" r) @?= Just (Blame 0 DuplicateContribution)
+  -- A retry with the same bytes changes nothing.
+  fmap nonceRoundMissing (receivePubNonce 0 (pubNonceOf ns 0) r) @?= Right [1, 2]
+
+nonceRoundMissingBlame :: Assertion
+nonceRoundMissingBlame = do
+  ns <- nonces fixture 1
+  let r = unsafeRight (receivePubNonce 1 (encode (snd (ns !! 1))) (newNonceRound (fxCtx fixture)))
+  nonceRoundMissing (newNonceRound (fxCtx fixture)) @?= [0, 1, 2]
+  nonceRoundMissing r @?= [0, 2]
+  blameOf (finishNonceRound r) @?= Just (Blame 0 MissingContribution :| [Blame 2 MissingContribution])
+
+nonceRoundRetry :: Assertion
+nonceRoundRetry = do
+  ns <- nonces fixture 1
+  let r0 = newNonceRound (fxCtx fixture)
+  blameOf (receivePubNonce 2 "junk" r0) @?= Just (Blame 2 (InvalidPubNonceEncoding (InvalidLength 66 4)))
+  -- The caller keeps r0; the signer sends a valid nonce afterwards.
+  let r = receiveAllNonces fixture (map snd ns)
+  assertBool "finishes" (isRight (finishNonceRound r))
+  nonceRoundMissing r0 @?= [0, 1, 2]
+
+-- Round two --------------------------------------------------------------------
+
+sigRoundHonest :: Assertion
+sigRoundHonest = do
+  (collected, psigs) <- honestRoundTwo fixture
+  let sr = unsafeRight (receiveAllPsigs collected (fxMsg fixture) (zip [0 ..] psigs))
+      ses = sigRoundSession sr
+  sigRoundMissing sr @?= []
+  sig <- either (assertFailure . show) pure (finishSigRound sr)
+  sig @?= partialSigAgg ses (NE.fromList psigs)
+  assertBool "verify" (verify (aggXOnlyPubKey (fxCtx fixture)) (fxMsg fixture) sig)
+
+sigRoundBadEncoding :: Assertion
+sigRoundBadEncoding = do
+  (collected, psigs) <- honestRoundTwo fixture
+  let sr = newSigRound collected (fxMsg fixture)
+      receive bytes = blameOf (receivePartialSig 2 bytes sr)
+  receive (BS.take 31 (encode (psigs !! 1))) @?= Just (Blame 2 (InvalidPartialSigEncoding (InvalidLength 32 31)))
+  receive (integerToBytes32 curveOrder) @?= Just (Blame 2 (InvalidPartialSigEncoding ScalarOutOfRange))
+  receive (BS.replicate 32 0xFF) @?= Just (Blame 2 (InvalidPartialSigEncoding ScalarOutOfRange))
+
+sigRoundCorrupt :: Assertion
+sigRoundCorrupt = do
+  (collected, psigs) <- honestRoundTwo fixture
+  let sr = newSigRound collected (fxMsg fixture)
+  blameOf (receivePartialSig 1 (encode (corrupt (psigs !! 1))) sr) @?= Just (Blame 1 InvalidPartialSignature)
+  blameOf (receivePartialSig 1 (BS.replicate 32 0) sr) @?= Just (Blame 1 InvalidPartialSignature)
+
+sigRoundOtherSigners :: Assertion
+sigRoundOtherSigners = do
+  (collected, psigs) <- honestRoundTwo fixture
+  let sr = newSigRound collected (fxMsg fixture)
+      sends i j = blameOf (receivePartialSig i (encode (psigs !! j)) sr)
+  sends 0 1 @?= Just (Blame 0 InvalidPartialSignature)
+  -- Signers 0 and 2 share a key but not a nonce.
+  sends 0 2 @?= Just (Blame 0 InvalidPartialSignature)
+  sends 2 0 @?= Just (Blame 2 InvalidPartialSignature)
+
+sigRoundDuplicate :: Assertion
+sigRoundDuplicate = do
+  (collected, psigs) <- honestRoundTwo fixture
+  let sr = unsafeRight (receivePartialSig 1 (encode (psigs !! 1)) (newSigRound collected (fxMsg fixture)))
+  blameOf (receivePartialSig 1 (encode (corrupt (psigs !! 1))) sr) @?= Just (Blame 1 DuplicateContribution)
+  fmap sigRoundMissing (receivePartialSig 1 (encode (psigs !! 1)) sr) @?= Right [0, 2]
+
+sigRoundUnknown :: Assertion
+sigRoundUnknown = do
+  (collected, psigs) <- honestRoundTwo fixture
+  let sr = newSigRound collected (fxMsg fixture)
+  blameOf (receivePartialSig 3 (encode (psigs !! 1)) sr) @?= Just (Blame 3 UnknownSigner)
+  blameOf (receivePartialSig (-5) (encode (psigs !! 1)) sr) @?= Just (Blame (-5) UnknownSigner)
+
+sigRoundMissingBlame :: Assertion
+sigRoundMissingBlame = do
+  (collected, psigs) <- honestRoundTwo fixture
+  let sr = unsafeRight (receiveAllPsigs collected (fxMsg fixture) [(1, psigs !! 1)])
+  sigRoundMissing sr @?= [0, 2]
+  blameOf (finishSigRound sr) @?= Just (SigRoundBlame (Blame 0 MissingContribution :| [Blame 2 MissingContribution]))
+  blameOf (finishSigRound (newSigRound collected (fxMsg fixture)))
+    @?= Just (SigRoundBlame (Blame 0 MissingContribution :| [Blame 1 MissingContribution, Blame 2 MissingContribution]))
+
+sigRoundCoordinatorSigns :: Assertion
+sigRoundCoordinatorSigns = do
+  -- Signer 1 coordinates: it signs in the round's own session.
+  ns <- nonces fixture 3
+  let collected = unsafeRight (finishNonceRound (receiveAllNonces fixture (map snd ns)))
+      sr0 = newSigRound collected (fxMsg fixture)
+  psigs <- forM (zip (NE.toList (fxSecKeys fixture)) ns) $ \(sk, (sn, _)) -> unsafeRight <$> sign sn sk (sigRoundSession sr0)
+  sr <- either (assertFailure . show) pure (foldM (\r (i, psig) -> receivePartialSig i (encode psig) r) sr0 (zip [0 ..] psigs))
+  assertBool "signature" (either (const False) (verify (aggXOnlyPubKey (fxCtx fixture)) (fxMsg fixture)) (finishSigRound sr))
+
+-- Properties -------------------------------------------------------------------
+
+-- | A random session: secret keys (with repeats), tweaks, a message, nonce randomness.
+data Scenario = Scenario
+  { scKeys :: [Integer]
+  , scTweaks :: [TweakOp]
+  , scMsg :: ByteString
+  , scSeed :: Int
+  }
+  deriving (Show)
+
+genScenario :: Gen Scenario
+genScenario = do
+  u <- choose (1, 6)
+  pool <- vectorOf u genNonZeroScalar
+  keys <- vectorOf u (elements pool)
+  tweaks <- choose (0, 3) >>= (`vectorOf` genTweakOp)
+  Scenario keys tweaks <$> genMessage <*> arbitrary
+
+-- | The fixture of a scenario; tweaks that fail are skipped.
+scenarioFixture :: Scenario -> Fixture
+scenarioFixture sc = Fixture sks ctx (scMsg sc)
+ where
+  sks = NE.fromList (map secKeyFromInt (scKeys sc))
+  ctx0 = unsafeRight (keyAgg (fmap secKeyPubKey sks))
+  ctx = foldl (\c op -> fromRight c (applyTweakOp c op)) ctx0 (scTweaks sc)
+
+-- | Runs both rounds honestly, receiving contributions in the given orders.
+runHonest :: Fixture -> Int -> [Int] -> [Int] -> IO (Either String (AggNonce, Signature))
+runHonest fx seed order1 order2 = do
+  ns <- nonces fx seed
+  let pns = map snd ns
+  case showLeft (foldM (\r i -> receivePubNonce i (encode (pns !! i)) r) (newNonceRound (fxCtx fx)) order1) >>= showLeft . finishNonceRound of
+    Left err -> pure (Left err)
+    Right collected -> do
+      let sr0 = newSigRound collected (fxMsg fx)
+      psigs <- forM (zip (NE.toList (fxSecKeys fx)) ns) $ \(sk, (sn, _)) -> unsafeRight <$> sign sn sk (sigRoundSession sr0)
+      pure $ do
+        sr <- showLeft (foldM (\r i -> receivePartialSig i (encode (psigs !! i)) r) sr0 order2)
+        sig <- showLeft (finishSigRound sr)
+        Right (collectedAggNonce collected, sig)
+ where
+  showLeft :: (Show e) => Either e a -> Either String a
+  showLeft = either (Left . show) Right
+
+prop_orderIndependent :: Property
+prop_orderIndependent = forAll genScenario $ \sc -> do
+  let fx = scenarioFixture sc
+      idx = [0 .. signerCount fx - 1]
+  forAll ((,,,) <$> shuffle idx <*> shuffle idx <*> shuffle idx <*> shuffle idx) $ \(a1, a2, b1, b2) -> ioProperty $ do
+    ra <- runHonest fx (scSeed sc) a1 a2
+    rb <- runHonest fx (scSeed sc) b1 b2
+    pure $ case (ra, rb) of
+      (Right (aggA, sigA), Right (aggB, sigB)) ->
+        counterexample "results differ" (aggA == aggB && sigA == sigB)
+          .&&. counterexample "signature does not verify" (verify (aggXOnlyPubKey (fxCtx fx)) (fxMsg fx) sigA)
+      _ -> counterexample (show (ra, rb)) False
+
+-- | How a signer behaves in one round.
+data Behavior
+  = Honest
+  | -- | Sends a truncated encoding.
+    BadEncoding
+  | -- | Sends nothing.
+    Silent
+  | -- | Sends its contribution, then a different one.
+    Equivocates
+  | -- | Round two: sends its partial signature plus one.
+    Corrupts
+  | -- | Round two: sends the next signer's partial signature.
+    SendsOthers
+  deriving (Eq, Show)
+
+-- | A message from a signer index, and the blame it must cause (if any).
+type Message = (Int, ByteString, Maybe BlameReason)
+
+{- | Delivers the messages in order (the round is unchanged after a blame)
+and returns the blames, then the blames of finishing.
+-}
+deliver :: (Int -> ByteString -> r -> Either Blame r) -> r -> [Message] -> (r, [Blame])
+deliver receive r0 msgs = (final, received)
+ where
+  (final, received) = foldl step (r0, []) msgs
+  step (r, bs) (i, bytes, _) = either (\b -> (r, bs <> [b])) (,bs) (receive i bytes r)
+
+-- | Behaviors for every signer, and contributions from unknown indices.
+genBehaviors :: [Behavior] -> Int -> Gen ([Behavior], [Int])
+genBehaviors choices u = do
+  bs <- vectorOf u (frequency [(4, pure Honest), (1, elements choices)])
+  unknown <- sublistOf [-1, u, u + 3]
+  pure (bs, unknown)
+
+{- | Expected blames: those of the messages, plus 'MissingContribution' for
+every signer that never got a contribution accepted.
+-}
+expectedBlames :: [Message] -> [Behavior] -> [Blame]
+expectedBlames msgs bs = sortOn show ([Blame i why | (i, _, Just why) <- msgs] <> [Blame i MissingContribution | (i, b) <- zip [0 ..] bs, b `elem` [Silent, BadEncoding, Corrupts, SendsOthers]])
+
+prop_nonceRoundBlame :: Property
+prop_nonceRoundBlame = forAll genScenario $ \sc -> do
+  let fx = scenarioFixture sc
+  forAll (genBehaviors [BadEncoding, Silent, Equivocates] (signerCount fx)) $ \(bs, unknown) -> ioProperty $ do
+    ns <- nonces fx (scSeed sc)
+    others <- nonces fx (scSeed sc + 1)
+    let pn i = encode (snd (ns !! i))
+        firsts =
+          [ (i, bytes, why)
+          | (i, b) <- zip [0 ..] bs
+          , (bytes, why) <- case b of
+              Silent -> []
+              BadEncoding -> [(BS.take 65 (pn i), Just (InvalidPubNonceEncoding (InvalidLength 66 65)))]
+              _ -> [(pn i, Nothing)]
+          ]
+            <> [(i, pn 0, Just UnknownSigner) | i <- unknown]
+        seconds = [(i, encode (snd (others !! i)), Just DuplicateContribution) | (i, Equivocates) <- zip [0 ..] bs]
+    pure . forAll (shuffle firsts) $ \shuffled ->
+      let msgs = shuffled <> seconds
+          (final, received) = deliver receivePubNonce (newNonceRound (fxCtx fx)) msgs
+          finishing = either NE.toList (const []) (finishNonceRound final)
+       in counterexample (show (map (\(i, _, r) -> (i, r)) msgs)) $
+            sortOn show (received <> finishing) === expectedBlames msgs bs
+
+prop_sigRoundBlame :: Property
+prop_sigRoundBlame = forAll genScenario $ \sc -> do
+  let fx = scenarioFixture sc
+      u = signerCount fx
+      choices = [BadEncoding, Silent, Equivocates, Corrupts] <> [SendsOthers | u >= 2]
+  forAll (genBehaviors choices u) $ \(bs, unknown) -> ioProperty $ do
+    ns <- nonces fx (scSeed sc)
+    let collected = unsafeRight (finishNonceRound (receiveAllNonces fx (map snd ns)))
+        sr0 = newSigRound collected (fxMsg fx)
+    psigs <- forM (zip (NE.toList (fxSecKeys fx)) ns) $ \(sk, (sn, _)) -> unsafeRight <$> sign sn sk (sigRoundSession sr0)
+    let ps i = psigs !! i
+        firsts =
+          [ (i, bytes, why)
+          | (i, b) <- zip [0 ..] bs
+          , (bytes, why) <- case b of
+              Silent -> []
+              BadEncoding -> [(BS.take 31 (encode (ps i)), Just (InvalidPartialSigEncoding (InvalidLength 32 31)))]
+              Corrupts -> [(encode (corrupt (ps i)), Just InvalidPartialSignature)]
+              SendsOthers -> [(encode (ps ((i + 1) `mod` u)), Just InvalidPartialSignature)]
+              _ -> [(encode (ps i), Nothing)]
+          ]
+            <> [(i, encode (ps 0), Just UnknownSigner) | i <- unknown]
+        seconds = [(i, encode (corrupt (ps i)), Just DuplicateContribution) | (i, Equivocates) <- zip [0 ..] bs]
+    pure . forAll (shuffle firsts) $ \shuffled ->
+      let msgs = shuffled <> seconds
+          (final, received) = deliver receivePartialSig sr0 msgs
+       in counterexample (show (map (\(i, _, r) -> (i, r)) msgs)) $ case finishSigRound final of
+            Right sig ->
+              counterexample "a signature despite misbehavior" (all (`elem` [Honest, Equivocates]) bs)
+                .&&. counterexample "the signature does not verify" (verify (aggXOnlyPubKey (fxCtx fx)) (fxMsg fx) sig)
+                .&&. sortOn show received === expectedBlames msgs bs
+            Left (SigRoundBlame missing) -> sortOn show (received <> NE.toList missing) === expectedBlames msgs bs
+            Left FinalSignatureInvalid -> counterexample "FinalSignatureInvalid" False
diff --git a/test/DiffCorpus.hs b/test/DiffCorpus.hs
new file mode 100644
--- /dev/null
+++ b/test/DiffCorpus.hs
@@ -0,0 +1,410 @@
+{-# LANGUAGE OverloadedStrings #-}
+
+{- | The differential corpus in @test\/vectors\/diff\/corpus.json@: NonceGen
+cases and complete signing sessions whose expected values were computed by
+the BIP-327 reference implementation (@scripts\/gen-diff-corpus.py@ documents
+the format and how to regenerate it).
+
+Every session is replayed through the public API (with
+'nonceGenWithRand' and 'secNonceFromBytes' from
+"Crypto.Curve.Secp256k1.MuSig2.Unsafe" for reproducible nonces) and through
+"Crypto.Curve.Secp256k1.MuSig2.Coordinator", and every value is compared
+byte for byte. The file is pinned by its SHA-256, and a coverage test checks
+that it still contains every kind of case it is meant to.
+-}
+module DiffCorpus (diffCorpusTests) where
+
+import Control.Monad (foldM, forM, forM_, unless, zipWithM_)
+import Crypto.Curve.Secp256k1.MuSig2
+import Crypto.Curve.Secp256k1.MuSig2.Coordinator (
+  SigRoundError (..),
+  collectedAggNonce,
+  finishNonceRound,
+  finishSigRound,
+  newNonceRound,
+  newSigRound,
+  receivePartialSig,
+  receivePubNonce,
+ )
+import Crypto.Curve.Secp256k1.MuSig2.Internal.KeyAgg (KeyAggContext (..))
+import Crypto.Curve.Secp256k1.MuSig2.Internal.Nonce (secNoncePubNonce)
+import Crypto.Curve.Secp256k1.MuSig2.Internal.Scalar (bytesToInteger, curveOrder, integerToBytes32)
+import Crypto.Curve.Secp256k1.MuSig2.Unsafe (nonceGenWithRand, secNonceFromBytes, secNonceToBytes)
+import qualified Crypto.Hash.SHA256 as SHA256
+import Data.Aeson (FromJSON (..), Value, eitherDecodeFileStrict, withObject, (.:))
+import qualified Data.Aeson.KeyMap as KeyMap
+import Data.Aeson.Types (Parser, parseEither)
+import Data.Bits (testBit)
+import Data.ByteString (ByteString)
+import qualified Data.ByteString as BS
+import qualified Data.ByteString.Base16 as B16
+import qualified Data.ByteString.Char8 as BC
+import Data.Either (rights)
+import Data.Foldable (for_)
+import Data.List (nub)
+import Data.List.NonEmpty (NonEmpty (..), nonEmpty)
+import qualified Data.List.NonEmpty as NE
+import Data.Maybe (fromMaybe, isJust)
+import System.Environment (lookupEnv)
+import Test.Tasty
+import Test.Tasty.HUnit
+import Util (Hex (..), hexOf, strictObject)
+
+-- | Environment variable that overrides the corpus path.
+corpusVar :: String
+corpusVar = "MUSIG2_DIFF_CORPUS"
+
+-- | SHA-256 of the corpus file, also recorded in @test\/vectors\/diff\/README.md@.
+corpusSha256 :: String
+corpusSha256 = "ee7da0d791afd3a1ffe423c2886e5ec6744069a3b7ba56371bedf48ef99247f3"
+
+-- | Builds the corpus test tree; any loading problem becomes a failing test.
+diffCorpusTests :: IO TestTree
+diffCorpusTests = do
+  path <- fromMaybe "test/vectors/diff/corpus.json" <$> lookupEnv corpusVar
+  decoded <- eitherDecodeFileStrict path
+  let loaded = decoded >>= parseEither parseCorpus
+  pure . testGroup "Differential corpus (reference.py)" $
+    testCase "corpus.json matches the pinned SHA-256" (integrity path) : case loaded of
+      Left err -> [testCase "load corpus.json" (assertFailure (path <> ": " <> err <> " (set " <> corpusVar <> " to its path)"))]
+      Right corpus ->
+        [ testCase "the corpus covers every kind of case" (coverage corpus)
+        , testGroup "NonceGen" (zipWith (\i c -> testCase ("#" <> show i) (nonceGenCase c)) [0 :: Int ..] (cNonceGen corpus))
+        , testGroup "sessions" [testCase (sessionName s) (runSession s) | s <- cSessions corpus]
+        ]
+
+integrity :: FilePath -> Assertion
+integrity path = do
+  contents <- BS.readFile path
+  assertEqual "sha256" corpusSha256 (BC.unpack (B16.encode (SHA256.hash contents)))
+
+-- Corpus format -------------------------------------------------------------------
+
+data Corpus = Corpus
+  { cNonceGen :: [NonceGenCase]
+  , cSessions :: [SessionCase]
+  }
+
+data NonceGenCase = NonceGenCase
+  { ngRand :: ByteString
+  , ngPk :: ByteString
+  , ngSk :: Maybe ByteString
+  , ngAggPk :: Maybe ByteString
+  , ngMsg :: Maybe ByteString
+  , ngExtraIn :: Maybe ByteString
+  , ngSecNonce :: ByteString
+  , ngPubNonce :: ByteString
+  }
+
+data TweakSpec = TweakPlain ByteString | TweakXOnly ByteString | TweakTaproot (Maybe ByteString)
+
+data SessionCase = SessionCase
+  { sId :: Int
+  , sSecKeys :: [ByteString]
+  , sKeySortInput :: Maybe [ByteString]
+  , sQ :: Maybe ByteString
+  , sTweaks :: [TweakSpec]
+  , sOutcome :: Either String SessionResult
+  -- ^ The error of the last tweak, or the session.
+  }
+
+data SessionResult = SessionResult
+  { srAggPk :: ByteString
+  , srGaccNeg :: Bool
+  , srMsg :: ByteString
+  , srSigners :: [SignerCase]
+  , srAggNonce :: ByteString
+  , srSig :: ByteString
+  , srSigValid :: Bool
+  , srBadVerify :: [BadVerify]
+  }
+
+data NonceSource
+  = -- | NonceGen: random bytes, bindings (bit 0: secret key, 1: aggregate key, 2: message), extra input.
+    FromNonceGen ByteString Int (Maybe ByteString)
+  | Imported ByteString
+  | Deterministic (Maybe ByteString)
+
+data SignerCase = SignerCase
+  { sgNonce :: NonceSource
+  , sgPubNonce :: ByteString
+  , sgPsig :: ByteString
+  }
+
+data BadVerify = BadVerify
+  { bvKind :: String
+  , bvSigner :: Int
+  , bvOther :: Maybe Int
+  , bvExpected :: Bool
+  }
+
+hex :: Value -> Parser ByteString
+hex v = unHex <$> parseJSON v
+
+parseCorpus :: Value -> Parser Corpus
+parseCorpus = strictObject "corpus" ["bips_commit", "reference_sha256", "seed", "nonce_gen", "sessions"] $ \o -> do
+  commit <- o .: "bips_commit"
+  unless (commit == ("b34d9f751791d4feb22feff4f2ed00bcac83961b" :: String)) $ fail ("unexpected bips commit " <> commit)
+  Corpus <$> (o .: "nonce_gen" >>= traverse parseNonceGen) <*> (o .: "sessions" >>= traverse parseSession)
+
+parseNonceGen :: Value -> Parser NonceGenCase
+parseNonceGen = strictObject "nonce_gen case" ["rand", "pk", "sk", "aggpk", "msg", "extra_in", "secnonce", "pubnonce"] $ \o ->
+  NonceGenCase
+    <$> (o .: "rand" >>= hex)
+    <*> (o .: "pk" >>= hex)
+    <*> (o .: "sk" >>= traverse hex)
+    <*> (o .: "aggpk" >>= traverse hex)
+    <*> (o .: "msg" >>= traverse hex)
+    <*> (o .: "extra_in" >>= traverse hex)
+    <*> (o .: "secnonce" >>= hex)
+    <*> (o .: "pubnonce" >>= hex)
+
+parseTweak :: Value -> Parser TweakSpec
+parseTweak = withObject "tweak" $ \o -> case KeyMap.toList o of
+  [("plain", v)] -> TweakPlain <$> hex v
+  [("xonly", v)] -> TweakXOnly <$> hex v
+  [("taproot", v)] -> TweakTaproot <$> (parseJSON v >>= traverse hex)
+  _ -> fail "a tweak is {\"plain\" | \"xonly\": tweak} or {\"taproot\": merkle root}"
+
+parseSession :: Value -> Parser SessionCase
+parseSession v = do
+  tweakError <- withObject "session" (.: "tweak_error") v
+  let common = ["id", "sks", "key_sort_input", "q", "tweaks", "tweak_error"]
+      session = ["aggpk", "gacc_neg", "msg", "signers", "aggnonce", "sig", "sig_valid", "bad_verify"]
+  strictObject "session" (common <> maybe session (const []) (tweakError :: Maybe String)) (body tweakError) v
+ where
+  body tweakError o = do
+    outcome <- case tweakError of
+      Just err -> pure (Left err)
+      Nothing ->
+        fmap Right $
+          SessionResult
+            <$> (o .: "aggpk" >>= hex)
+            <*> o .: "gacc_neg"
+            <*> (o .: "msg" >>= hex)
+            <*> (o .: "signers" >>= traverse parseSigner)
+            <*> (o .: "aggnonce" >>= hex)
+            <*> (o .: "sig" >>= hex)
+            <*> o .: "sig_valid"
+            <*> (o .: "bad_verify" >>= traverse parseBadVerify)
+    SessionCase
+      <$> o .: "id"
+      <*> (o .: "sks" >>= traverse hex)
+      <*> (o .: "key_sort_input" >>= traverse (traverse hex))
+      <*> (o .: "q" >>= traverse hex)
+      <*> (o .: "tweaks" >>= traverse parseTweak)
+      <*> pure outcome
+
+parseSigner :: Value -> Parser SignerCase
+parseSigner = strictObject "signer" ["nonce", "pubnonce", "psig"] $ \o ->
+  SignerCase <$> (o .: "nonce" >>= parseNonce) <*> (o .: "pubnonce" >>= hex) <*> (o .: "psig" >>= hex)
+ where
+  parseNonce = withObject "nonce" $ \o -> case KeyMap.keys o of
+    ks
+      | ks `sameAs` ["rand", "bind", "extra_in"] -> FromNonceGen <$> (o .: "rand" >>= hex) <*> o .: "bind" <*> (o .: "extra_in" >>= traverse hex)
+      | ks `sameAs` ["secnonce"] -> Imported <$> (o .: "secnonce" >>= hex)
+      | ks `sameAs` ["det_rand"] -> Deterministic <$> (o .: "det_rand" >>= traverse hex)
+    _ -> fail "unknown nonce source"
+  sameAs ks expected = length ks == length expected && all (`elem` expected) ks
+
+parseBadVerify :: Value -> Parser BadVerify
+parseBadVerify = strictObject "bad_verify" ["kind", "signer", "other", "expected"] $ \o ->
+  BadVerify <$> o .: "kind" <*> o .: "signer" <*> o .: "other" <*> o .: "expected"
+
+-- Coverage ------------------------------------------------------------------------
+
+-- | Every kind of case the generator is meant to produce is in the corpus.
+coverage :: Corpus -> Assertion
+coverage corpus = do
+  let sessions = cSessions corpus
+      results = rights (map sOutcome sessions)
+      signers = concatMap srSigners results
+      nonceGenStates = [(isJust (ngSk c), isJust (ngAggPk c), presence (ngMsg c), presence (ngExtraIn c)) | c <- cNonceGen corpus]
+      bindings = [(bind, presence extra) | FromNonceGen _ bind extra <- map sgNonce signers]
+      tweakValues = [t | s <- sessions, spec <- sTweaks s, Just t <- [plainOrXOnly spec]]
+      msgLengths = map (BS.length . srMsg) results
+      aggNonceHalves = [(BS.take 33 (srAggNonce r) == zero33, BS.drop 33 (srAggNonce r) == zero33) | r <- results]
+      zero33 = BS.replicate 33 0
+      count what n = assertBool ("the corpus has no " <> what) (n > (0 :: Int))
+  forM_ [1 .. 8] $ \u -> count (show u <> "-signer session") (length [s | s <- sessions, length (sSecKeys s) == u])
+  count "session with duplicate keys" (length [s | s <- sessions, nub (sSecKeys s) /= sSecKeys s, length (nub (sSecKeys s)) > 1])
+  count "session where every key is equal" (length [s | s <- sessions, length (sSecKeys s) > 1, length (nub (sSecKeys s)) == 1])
+  count "KeySort case" (length [s | s <- sessions, isJust (sKeySortInput s)])
+  count "plain tweak" (length [() | s <- sessions, TweakPlain _ <- sTweaks s])
+  count "x-only tweak" (length [() | s <- sessions, TweakXOnly _ <- sTweaks s])
+  count "Taproot tweak without merkle root" (length [() | s <- sessions, TweakTaproot Nothing <- sTweaks s])
+  count "Taproot tweak with a merkle root" (length [() | s <- sessions, TweakTaproot (Just _) <- sTweaks s])
+  count "tweak 0" (length (filter (== integerToBytes32 0) tweakValues))
+  count "tweak n - 1" (length (filter (== integerToBytes32 (curveOrder - 1)) tweakValues))
+  count "session with gacc = n - 1" (length (filter srGaccNeg results))
+  count "tweak to infinity" (length [s | s <- sessions, either (== "TweakResultAtInfinity") (const False) (sOutcome s)])
+  count "empty message" (length (filter (== 0) msgLengths))
+  count "32-byte message" (length (filter (== 32) msgLengths))
+  count "message over 255 bytes" (length (filter (> 255) msgLengths))
+  forM_ [(sk, aggpk, m, e) | sk <- [False, True], aggpk <- [False, True], m <- states, e <- states] $ \st ->
+    count ("NonceGen case with inputs " <> show st) (length (filter (== st) nonceGenStates))
+  forM_ [(bind, e) | bind <- [0 .. 7], e <- states] $ \st ->
+    count ("session nonce with bindings and extra input " <> show st) (length (filter (== st) bindings))
+  count "imported nonce" (length [() | Imported _ <- map sgNonce signers])
+  count "DeterministicSign without randomness" (length [() | Deterministic Nothing <- map sgNonce signers])
+  count "DeterministicSign with randomness" (length [() | Deterministic (Just _) <- map sgNonce signers])
+  forM_ [(True, False), (False, True), (True, True)] $ \halves ->
+    count ("aggregate nonce with infinity halves " <> show halves) (length (filter (== halves) aggNonceHalves))
+  count "invalid final signature" (length (filter (not . srSigValid) results))
+  forM_ ["plus_one", "zero", "out_of_range", "wrong_msg", "wrong_signer", "swapped_nonces"] $ \kind ->
+    count ("PartialSigVerify case " <> kind) (length [() | r <- results, b <- srBadVerify r, bvKind b == kind])
+ where
+  states = [Absent, Empty, NonEmpty]
+  plainOrXOnly spec = case spec of
+    TweakPlain t -> Just t
+    TweakXOnly t -> Just t
+    TweakTaproot _ -> Nothing
+
+data Presence = Absent | Empty | NonEmpty deriving (Eq, Show)
+
+presence :: Maybe ByteString -> Presence
+presence = maybe Absent (\b -> if BS.null b then Empty else NonEmpty)
+
+-- Running the cases ---------------------------------------------------------------
+
+lib :: (Show e) => String -> Either e a -> IO a
+lib what = either (\e -> assertFailure (what <> " failed: " <> show e)) pure
+
+decodeAs :: (Encode a) => String -> ByteString -> IO a
+decodeAs what = lib ("decode " <> what) . decode
+
+nonEmptyIO :: String -> [a] -> IO (NonEmpty a)
+nonEmptyIO what = maybe (assertFailure ("empty " <> what)) pure . nonEmpty
+
+assertBytes :: String -> ByteString -> ByteString -> Assertion
+assertBytes what expected actual = assertEqual what (hexOf expected) (hexOf actual)
+
+nonceGenCase :: NonceGenCase -> Assertion
+nonceGenCase c = do
+  pk <- decodeAs "pk" (ngPk c)
+  sk <- traverse (lib "secKeyFromBytes" . secKeyFromBytes) (ngSk c)
+  aggpk <- traverse (decodeAs "aggpk") (ngAggPk c)
+  let inputs = NonceInputs{nonceSecKey = sk, nonceAggPubKey = aggpk, nonceMessage = ngMsg c, nonceExtraInput = ngExtraIn c}
+  (sn, pn) <- nonceGenWithRand (ngRand c) pk inputs >>= lib "NonceGen"
+  assertBytes "pubnonce" (ngPubNonce c) (encode pn)
+  exported <- secNonceToBytes sn >>= maybe (assertFailure "a fresh nonce cannot be exported") pure
+  assertBytes "secnonce" (ngSecNonce c) exported
+
+sessionName :: SessionCase -> String
+sessionName s =
+  "#" <> show (sId s) <> " (" <> show (length (sSecKeys s)) <> " signers, " <> show (length (sTweaks s)) <> " tweaks" <> extra <> ")"
+ where
+  extra = case sOutcome s of
+    Left err -> ", " <> err
+    Right r -> concat [", " <> what | (what, True) <- [("DeterministicSign", any isDet (srSigners r)), ("imported nonce", any isImported (srSigners r))]]
+  isDet sg = case sgNonce sg of Deterministic _ -> True; _ -> False
+  isImported sg = case sgNonce sg of Imported _ -> True; _ -> False
+
+applyTweakSpec :: TweakSpec -> KeyAggContext -> IO (Either KeyAggError KeyAggContext)
+applyTweakSpec spec ctx = case spec of
+  TweakPlain t -> (`applyPlainTweak` ctx) <$> decodeAs "tweak" t
+  TweakXOnly t -> (`applyXOnlyTweak` ctx) <$> decodeAs "tweak" t
+  TweakTaproot root -> pure (applyTaprootTweak root ctx)
+
+runSession :: SessionCase -> Assertion
+runSession s = do
+  sks <- traverse (lib "secKeyFromBytes" . secKeyFromBytes) (sSecKeys s)
+  let pks = map secKeyPubKey sks
+  pksNE <- nonEmptyIO "key list" pks
+  for_ (sKeySortInput s) $ \input -> do
+    keys <- traverse (decodeAs "pubkey") input >>= nonEmptyIO "KeySort input"
+    keySort keys @?= pksNE
+  ctx0 <- lib "KeyAgg" (keyAgg pksNE)
+  for_ (sQ s) $ \q -> assertBytes "KeyAgg Q (before the tweaks)" q (encode (aggPubKey ctx0))
+  case sOutcome s of
+    Left err -> do
+      assertEqual "expected error" "TweakResultAtInfinity" err
+      (before, lastTweak) <- maybe (assertFailure "no tweak") pure (unsnoc (sTweaks s))
+      ctx <- foldM (\c spec -> applyTweakSpec spec c >>= lib "ApplyTweak") ctx0 before
+      result <- applyTweakSpec lastTweak ctx
+      either Just (const Nothing) result @?= Just TweakResultAtInfinity
+    Right r -> do
+      ctx <- foldM (\c spec -> applyTweakSpec spec c >>= lib "ApplyTweak") ctx0 (sTweaks s)
+      runSigning sks ctx r
+ where
+  unsnoc xs = (\ne -> (NE.init ne, NE.last ne)) <$> nonEmpty xs
+
+-- | A signer's secret nonce, or its deterministic signing still to do.
+data Pending = Signing SecNonce PubNonce | DetSigning (Maybe ByteString)
+
+runSigning :: [SecKey] -> KeyAggContext -> SessionResult -> Assertion
+runSigning sks ctx r = do
+  assertBytes "aggpk (Q after the tweaks)" (srAggPk r) (encode (aggPubKey ctx))
+  assertEqual "gacc = n - 1" (srGaccNeg r) (kacGaccNeg ctx)
+  assertEqual "one signer per key" (length sks) (length (srSigners r))
+  let msg = srMsg r
+      aggpk = aggXOnlyPubKey ctx
+      pks = map secKeyPubKey sks
+  -- Round one.
+  pending <- forM (zip sks (srSigners r)) $ \(sk, sg) -> case sgNonce sg of
+    FromNonceGen rand bind extra -> do
+      let inputs =
+            NonceInputs
+              { nonceSecKey = if testBit bind 0 then Just sk else Nothing
+              , nonceAggPubKey = if testBit bind 1 then Just aggpk else Nothing
+              , nonceMessage = if testBit bind 2 then Just msg else Nothing
+              , nonceExtraInput = extra
+              }
+      (sn, pn) <- nonceGenWithRand rand (secKeyPubKey sk) inputs >>= lib "NonceGen"
+      assertBytes "pubnonce (NonceGen)" (sgPubNonce sg) (encode pn)
+      pure (Signing sn pn)
+    Imported bytes -> do
+      sn <- secNonceFromBytes bytes >>= lib "secNonceFromBytes"
+      assertBytes "pubnonce (imported)" (sgPubNonce sg) (encode (secNoncePubNonce sn))
+      pure (Signing sn (secNoncePubNonce sn))
+    Deterministic rand -> pure (DetSigning rand)
+  let others = [pn | Signing _ pn <- pending]
+  detResults <- forM [(sk, rand) | (sk, DetSigning rand) <- zip sks pending] $ \(sk, rand) -> do
+    aggOther <- nonceAgg <$> nonEmptyIO "other signers' nonces" others
+    lib "DeterministicSign" (deterministicSign sk aggOther ctx msg rand)
+  pubNonces <- nonEmptyIO "nonces" (others <> map fst detResults)
+  let aggNonce = nonceAgg pubNonces
+      ses = newSession ctx aggNonce msg
+  assertBytes "aggnonce" (srAggNonce r) (encode aggNonce)
+  -- Round two (DeterministicSign signers are last).
+  signed <- forM [(sk, sn) | (sk, Signing sn _) <- zip sks pending] $ \(sk, sn) -> sign sn sk ses >>= lib "Sign"
+  let psigs = signed <> map snd detResults
+  zipWithM_ (\i (sg, psig) -> assertBytes ("psig " <> show i) (sgPsig sg) (encode psig)) [0 :: Int ..] (zip (srSigners r) psigs)
+  zipWithM_ (\i (pk, (pn, psig)) -> assertBool ("partialSigVerify " <> show i) (partialSigVerify ses pk pn psig)) [0 :: Int ..] (zip pks (zip (NE.toList pubNonces) psigs))
+  psigsNE <- nonEmptyIO "partial signatures" psigs
+  let sig = partialSigAgg ses psigsNE
+  assertBytes "sig" (srSig r) (encode sig)
+  assertEqual "BIP-340 verification" (srSigValid r) (verify aggpk msg sig)
+  forM_ (srBadVerify r) (badVerify ctx msg pks (NE.toList pubNonces) psigs)
+  -- The same session through the coordinator.
+  round1 <- lib "receivePubNonce" (foldM (\rd (i, sg) -> receivePubNonce i (sgPubNonce sg) rd) (newNonceRound ctx) (zip [0 ..] (srSigners r)))
+  collected <- lib "finishNonceRound" (finishNonceRound round1)
+  assertBytes "coordinator aggnonce" (srAggNonce r) (encode (collectedAggNonce collected))
+  round2 <- lib "receivePartialSig" (foldM (\rd (i, sg) -> receivePartialSig i (sgPsig sg) rd) (newSigRound collected msg) (zip [0 ..] (srSigners r)))
+  case finishSigRound round2 of
+    Right coordSig -> assertBool "coordinator: valid signature" (srSigValid r) >> assertBytes "coordinator sig" (srSig r) (encode coordSig)
+    Left FinalSignatureInvalid -> assertBool "coordinator: FinalSignatureInvalid for a valid signature" (not (srSigValid r))
+    Left err -> assertFailure ("finishSigRound: " <> show err)
+
+-- | A PartialSigVerify case that the reference implementation evaluated.
+badVerify :: KeyAggContext -> ByteString -> [PubKey] -> [PubNonce] -> [PartialSignature] -> BadVerify -> Assertion
+badVerify ctx msg pks pns psigs b = do
+  let i = bvSigner b
+      needsOther = bvKind b `elem` ["wrong_signer", "swapped_nonces"]
+  assertEqual "other signer given exactly for wrong_signer and swapped_nonces" needsOther (isJust (bvOther b))
+  let other = fromMaybe i (bvOther b)
+      s = bytesToInteger (encode (psigs !! i))
+      check ses checked nonces psigBytes = case decode psigBytes of
+        Left _ -> False -- BIP-327 PartialSigVerify fails for s >= n
+        Right psig -> partialSigVerify ses (pks !! checked) (nonces !! checked) psig
+      session nonces = newSession ctx (nonceAgg (NE.fromList nonces))
+      swapped = [if k == i then pns !! other else if k == other then pns !! i else pn | (k, pn) <- zip [0 ..] pns]
+  result <- case bvKind b of
+    "plus_one" -> pure (check (session pns msg) i pns (integerToBytes32 ((s + 1) `mod` curveOrder)))
+    "zero" -> pure (check (session pns msg) i pns (integerToBytes32 0))
+    "out_of_range" -> pure (check (session pns msg) i pns (integerToBytes32 curveOrder))
+    "wrong_msg" -> pure (check (session pns (msg <> BS.singleton 0)) i pns (encode (psigs !! i)))
+    "wrong_signer" -> pure (check (session pns msg) other pns (encode (psigs !! i)))
+    "swapped_nonces" -> pure (check (session swapped msg) i swapped (encode (psigs !! i)))
+    kind -> assertFailure ("unknown PartialSigVerify case " <> kind)
+  assertEqual ("PartialSigVerify " <> bvKind b <> " (signer " <> show i <> ")") (bvExpected b) result
diff --git a/test/Encoding.hs b/test/Encoding.hs
new file mode 100644
--- /dev/null
+++ b/test/Encoding.hs
@@ -0,0 +1,141 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE ScopedTypeVariables #-}
+{-# LANGUAGE TypeApplications #-}
+
+{- | Encodings: every 'Encode' instance round-trips, and decoders reject
+everything that is not a canonical encoding.
+-}
+module Encoding (testEncoding) where
+
+import Crypto.Curve.Secp256k1 (Projective (..), _CURVE_G, _CURVE_ZERO)
+import Crypto.Curve.Secp256k1.MuSig2 (
+  AggNonce,
+  DecodeError (..),
+  Encode (..),
+  PartialSignature,
+  PubKey,
+  PubNonce,
+  Signature,
+  Tweak,
+  XOnlyPubKey,
+  pubKeyFromPoint,
+  pubKeyPoint,
+  pubKeyXOnly,
+  secKeyFromBytes,
+  secKeyPubKey,
+  secKeyToBytes,
+ )
+import Crypto.Curve.Secp256k1.MuSig2.Internal.Scalar (curveOrder, fieldSize, integerToBytes32)
+import Crypto.Curve.Secp256k1.MuSig2.Internal.Types (Signature (..))
+import Data.ByteString (ByteString)
+import qualified Data.ByteString as BS
+import Data.Proxy (Proxy (..))
+import Generators
+import Test.Tasty
+import Test.Tasty.HUnit
+import Test.Tasty.QuickCheck
+import Util (isOnCurveX)
+
+testEncoding :: TestTree
+testEncoding =
+  testGroup
+    "Encodings"
+    [ testGroup
+        "round trips"
+        [ roundTrip "PubKey" 33 genPubKey
+        , roundTrip "XOnlyPubKey" 32 (pubKeyXOnly <$> genPubKey)
+        , roundTrip "PubNonce" 66 genPubNonce
+        , roundTrip "AggNonce (halves may be infinity)" 66 genAggNonce
+        , roundTrip "PartialSignature" 32 genPartialSignature
+        , roundTrip "Tweak" 32 genTweak
+        , roundTrip "Signature" 64 genSignature
+        , testProperty "SecKey through secKeyFromBytes/secKeyToBytes" $
+            forAll genNonZeroScalar $ \d ->
+              fmap secKeyToBytes (secKeyFromBytes (integerToBytes32 d)) === Right (integerToBytes32 d)
+        , testProperty "pubKeyFromPoint . pubKeyPoint" . forAll genPubKey $ \pk ->
+            pubKeyFromPoint (pubKeyPoint pk) === Right pk
+        , testProperty "Eq and Ord agree with the encoding" . forAll ((,) <$> genPubKey <*> genPubKey) $ \(a, b) ->
+            (a == b) === (encode a == encode b) .&&. compare a b === compare (encode a) (encode b)
+        ]
+    , testGroup
+        "wrong lengths"
+        [ wrongLength (Proxy :: Proxy PubKey) 33
+        , wrongLength (Proxy :: Proxy XOnlyPubKey) 32
+        , wrongLength (Proxy :: Proxy PubNonce) 66
+        , wrongLength (Proxy :: Proxy AggNonce) 66
+        , wrongLength (Proxy :: Proxy PartialSignature) 32
+        , wrongLength (Proxy :: Proxy Tweak) 32
+        , wrongLength (Proxy :: Proxy Signature) 64
+        , testProperty "SecKey" . forAll (lengthOtherThan 32) $ \b ->
+            either Just (const Nothing) (secKeyFromBytes b) === Just (InvalidLength 32 (BS.length b))
+        , testCase "PubKey rejects the 32-byte x-only and 65-byte uncompressed forms" $ do
+            let pk = secKeyPubKey (unsafeSecKey 7)
+            decodeAs @PubKey (BS.drop 1 (encode pk)) @?= Left (InvalidLength 33 32)
+            decodeAs @PubKey (BS.replicate 65 4) @?= Left (InvalidLength 33 65)
+        ]
+    , testGroup
+        "invalid points"
+        [ testProperty "PubKey: prefix other than 02/03" . forAll ((,) <$> genPubKey <*> prefixByte) $ \(pk, p) ->
+            decodeAs @PubKey (BS.cons p (BS.drop 1 (encode pk))) === Left InvalidPoint
+        , testProperty "PubKey: x not below p" . forAll ((,) <$> elements [2, 3] <*> choose (fieldSize, 2 ^ (256 :: Int) - 1)) $ \(p, x) ->
+            decodeAs @PubKey (BS.cons p (integerToBytes32 x)) === Left InvalidPoint
+        , testProperty "PubKey: x not on the curve" . forAll ((,) <$> elements [2, 3] <*> offCurveX) $ \(p, x) ->
+            decodeAs @PubKey (BS.cons p (integerToBytes32 x)) === Left InvalidPoint
+        , testProperty "XOnlyPubKey: x not on the curve or not below p" . forAll (oneof [offCurveX, choose (fieldSize, 2 ^ (256 :: Int) - 1)]) $ \x ->
+            decodeAs @XOnlyPubKey (integerToBytes32 x) === Left InvalidPoint
+        , testCase "PubKey: infinity (33 zero bytes)" $ decodeAs @PubKey (BS.replicate 33 0) @?= Left PointAtInfinity
+        , testProperty "PubNonce: rejects infinity in either half" . forAll genPubNonce $ \pn ->
+            decodeAs @PubNonce (BS.replicate 33 0 <> BS.drop 33 (encode pn)) === Left PointAtInfinity
+              .&&. decodeAs @PubNonce (BS.take 33 (encode pn) <> BS.replicate 33 0) === Left PointAtInfinity
+        , testCase "AggNonce: accepts infinity in both halves" $
+            fmap encode (decodeAs @AggNonce (BS.replicate 66 0)) @?= Right (BS.replicate 66 0)
+        , testProperty "PubNonce and AggNonce: invalid point in either half" . forAll ((,) <$> genPubNonce <*> offCurveX) $ \(pn, x) ->
+            let bad = BS.cons 2 (integerToBytes32 x)
+             in decodeAs @PubNonce (bad <> BS.drop 33 (encode pn)) === Left InvalidPoint
+                  .&&. decodeAs @AggNonce (BS.take 33 (encode pn) <> bad) === Left InvalidPoint
+        , testCase "pubKeyFromPoint: infinity and points off the curve" $ do
+            pubKeyFromPoint _CURVE_ZERO @?= Left PointAtInfinity
+            pubKeyFromPoint (Projective 1 1 1) @?= Left InvalidPoint
+            fmap encode (pubKeyFromPoint _CURVE_G) @?= Right (encode (secKeyPubKey (unsafeSecKey 1)))
+        ]
+    , testGroup
+        "scalars out of range"
+        [ testProperty "PartialSignature, Tweak: >= n" . forAll aboveOrder $ \s ->
+            decodeAs @PartialSignature (integerToBytes32 s) === Left ScalarOutOfRange
+              .&&. decodeAs @Tweak (integerToBytes32 s) === Left ScalarOutOfRange
+        , testCase "PartialSignature, Tweak: 0 and n - 1 are valid" $ do
+            fmap encode (decodeAs @PartialSignature (integerToBytes32 0)) @?= Right (integerToBytes32 0)
+            fmap encode (decodeAs @Tweak (integerToBytes32 (curveOrder - 1))) @?= Right (integerToBytes32 (curveOrder - 1))
+        , testProperty "Signature: s >= n" . forAll ((,) <$> choose (0, fieldSize - 1) <*> aboveOrder) $ \(r, s) ->
+            decodeAs @Signature (integerToBytes32 r <> integerToBytes32 s) === Left ScalarOutOfRange
+        , testProperty "Signature: r >= p" . forAll (choose (fieldSize, 2 ^ (256 :: Int) - 1)) $ \r ->
+            decodeAs @Signature (integerToBytes32 r <> integerToBytes32 1) === Left InvalidPoint
+        , testProperty "SecKey: >= n" . forAll aboveOrder $ \d ->
+            either Just (const Nothing) (secKeyFromBytes (integerToBytes32 d)) === Just ScalarOutOfRange
+        , testCase "SecKey: zero" $
+            either Just (const Nothing) (secKeyFromBytes (BS.replicate 32 0)) @?= Just ScalarZero
+        ]
+    ]
+ where
+  unsafeSecKey d = either (error . show) id (secKeyFromBytes (integerToBytes32 d))
+  genSignature = do
+    r <- choose (0, fieldSize - 1)
+    s <- genScalar
+    pure (Signature (integerToBytes32 r <> integerToBytes32 s))
+  prefixByte = fromIntegral <$> (choose (0, 255 :: Int) `suchThat` (`notElem` [2, 3]))
+  aboveOrder = oneof [pure curveOrder, choose (curveOrder, 2 ^ (256 :: Int) - 1)]
+  offCurveX = choose (0, fieldSize - 1) `suchThat` (not . isOnCurveX)
+
+decodeAs :: forall a. (Encode a) => ByteString -> Either DecodeError a
+decodeAs = decode
+
+roundTrip :: forall a. (Encode a, Eq a, Show a) => String -> Int -> Gen a -> TestTree
+roundTrip name len gen = testProperty name . forAll gen $ \x ->
+  decode (encode x) === Right x .&&. BS.length (encode x) === len
+
+lengthOtherThan :: Int -> Gen ByteString
+lengthOtherThan n = choose (0, 100) `suchThat` (/= n) >>= genBytes
+
+wrongLength :: forall a. (Encode a, Show a, Eq a) => Proxy a -> Int -> TestTree
+wrongLength _ n = testProperty ("length /= " <> show n) . forAll (lengthOtherThan n) $ \b ->
+  (decode b :: Either DecodeError a) === Left (InvalidLength n (BS.length b))
diff --git a/test/Example.hs b/test/Example.hs
new file mode 100644
--- /dev/null
+++ b/test/Example.hs
@@ -0,0 +1,168 @@
+{-# LANGUAGE OverloadedStrings #-}
+
+{- | The usage examples of the README and of the "Crypto.Curve.Secp256k1.MuSig2"
+documentation, compiled and run by the test suite. Keep the three copies in
+sync.
+-}
+module Example (testExample, example, taprootExample, coordinatorExample) where
+
+import Control.Exception (Exception, throwIO)
+import Control.Monad (foldM)
+import qualified Crypto.Curve.Secp256k1.MuSig2 as MuSig2
+import qualified Crypto.Curve.Secp256k1.MuSig2.Coordinator as Coordinator
+import Data.Bifunctor (first)
+import qualified Data.ByteString as BS
+import Data.List (isInfixOf)
+import Data.List.NonEmpty (NonEmpty (..))
+import qualified Data.List.NonEmpty as NE
+import Test.Tasty
+import Test.Tasty.HUnit
+
+testExample :: TestTree
+testExample =
+  testGroup
+    "documentation examples"
+    [ testCase "2-of-2 signing" (example >>= assertBool "signature verifies")
+    , testCase "Taproot key-path spend" (taprootExample >>= assertBool "signature verifies")
+    , testCase "coordinator" (coordinatorExample >>= assertBool "signature verifies")
+    , testCase "the README and the module documentation show this code verbatim" docsInSync
+    ]
+
+{- | The code between the markers below must appear verbatim in README.md and,
+behind Haddock bird tracks, in the module header of
+"Crypto.Curve.Secp256k1.MuSig2" (the first two examples) or
+"Crypto.Curve.Secp256k1.MuSig2.Coordinator" (the coordinator example).
+-}
+docsInSync :: Assertion
+docsInSync = do
+  source <- readFile "test/Example.hs"
+  readme <- readFile "README.md"
+  let trim = dropWhile null . reverse . dropWhile null . reverse
+      region from to = trim (takeWhile (/= to) (drop 1 (dropWhile (/= from) (lines source))))
+      bird l = if null l then ">" else "> " <> l
+      inHeader file b = do
+        header <- readFile file
+        assertBool (file <> " contains the example") (unlines (map bird b) `isInfixOf` header)
+      blocks =
+        [ (region "-- example start" "-- taproot start", "lib/Crypto/Curve/Secp256k1/MuSig2.hs")
+        , (region "-- taproot start" "-- coordinator start", "lib/Crypto/Curve/Secp256k1/MuSig2.hs")
+        , (region "-- coordinator start" "-- example end", "lib/Crypto/Curve/Secp256k1/MuSig2/Coordinator.hs")
+        ]
+  mapM_ (\(b, _) -> assertBool "README.md contains the example" (unlines b `isInfixOf` readme)) blocks
+  mapM_ (\(b, file) -> inHeader file b) blocks
+
+-- example start
+
+-- | Throws the error of a 'Left'.
+orThrow :: (Exception e) => Either e a -> IO a
+orThrow = either throwIO pure
+
+-- | Two signers sign a message; returns whether the signature verifies.
+example :: IO Bool
+example = do
+  -- Each signer has a secret key and publishes its public key.
+  -- (Fixed keys for the example only: never hard-code real keys.)
+  sk1 <- orThrow (MuSig2.secKeyFromBytes (BS.replicate 32 0x11))
+  sk2 <- orThrow (MuSig2.secKeyFromBytes (BS.replicate 32 0x22))
+  let pk1 = MuSig2.secKeyPubKey sk1
+      pk2 = MuSig2.secKeyPubKey sk2
+
+  -- Everyone aggregates the same list of public keys, here sorted.
+  keyAggCtx <- orThrow (MuSig2.keyAgg (MuSig2.keySort (pk1 :| [pk2])))
+  let aggKey = MuSig2.aggXOnlyPubKey keyAggCtx
+      msg = "i approve of this message"
+
+  -- Each signer generates a fresh nonce and publishes the public part.
+  (secNonce1, pubNonce1) <- MuSig2.nonceGen pk1 MuSig2.noNonceInputs >>= orThrow
+  (secNonce2, pubNonce2) <- MuSig2.nonceGen pk2 MuSig2.noNonceInputs >>= orThrow
+
+  -- Values travel as bytes; decoding validates them.
+  received <- orThrow (MuSig2.decode (MuSig2.encode pubNonce2))
+
+  -- Everyone aggregates the public nonces and opens the same session.
+  let session = MuSig2.newSession keyAggCtx (MuSig2.nonceAgg (pubNonce1 :| [received])) msg
+
+  -- Each signer signs once with its nonce and publishes its partial signature.
+  -- 'sign' consumes the secret nonce: signing again with it fails.
+  psig1 <- MuSig2.sign secNonce1 sk1 session >>= orThrow
+  psig2 <- MuSig2.sign secNonce2 sk2 session >>= orThrow
+
+  -- The aggregator checks each partial signature, then aggregates them.
+  let valid =
+        MuSig2.partialSigVerify session pk1 pubNonce1 psig1
+          && MuSig2.partialSigVerify session pk2 pubNonce2 psig2
+      signature = MuSig2.partialSigAgg session (psig1 :| [psig2])
+
+  -- The result is an ordinary BIP-340 signature for the aggregate key.
+  pure (valid && MuSig2.verify aggKey msg signature)
+
+-- taproot start
+
+-- | Three signers spend a Taproot output by key path.
+taprootExample :: IO Bool
+taprootExample = do
+  sks <- traverse (orThrow . MuSig2.secKeyFromBytes . BS.replicate 32) (0x33 :| [0x44, 0x55])
+  let pks = fmap MuSig2.secKeyPubKey sks
+
+  -- The internal key is the aggregate key; the output key commits to the
+  -- script tree's merkle root ('Nothing' for a key-path-only output, BIP-86).
+  internal <- orThrow (MuSig2.keyAgg (MuSig2.keySort pks))
+  output <- orThrow (MuSig2.applyTaprootTweak (Just (BS.replicate 32 0xAB)) internal)
+  let outputKey = MuSig2.aggXOnlyPubKey output
+      sighash = BS.replicate 32 0x01
+
+  -- Binding the nonces to the key and message adds protection against bad randomness.
+  let inputs sk =
+        MuSig2.noNonceInputs
+          { MuSig2.nonceSecKey = Just sk
+          , MuSig2.nonceAggPubKey = Just outputKey
+          , MuSig2.nonceMessage = Just sighash
+          }
+  nonces <- traverse (\sk -> MuSig2.nonceGen (MuSig2.secKeyPubKey sk) (inputs sk) >>= orThrow) sks
+
+  -- Sessions are opened on the tweaked context: the tweak lives in the context only.
+  let session = MuSig2.newSession output (MuSig2.nonceAgg (fmap snd nonces)) sighash
+  psigs <- traverse (\(sk, (secNonce, _)) -> MuSig2.sign secNonce sk session >>= orThrow) (NE.zip sks nonces)
+  let signature = MuSig2.partialSigAgg session psigs
+  pure (MuSig2.verify outputKey sighash signature)
+
+-- coordinator start
+
+-- | A coordinator collects three signers' nonces and partial signatures as bytes.
+coordinatorExample :: IO Bool
+coordinatorExample = do
+  sks <- traverse (orThrow . MuSig2.secKeyFromBytes . BS.replicate 32) (0x66 :| [0x77, 0x88])
+  -- Signer i is the one with the i-th public key of the context.
+  keyAggCtx <- orThrow (MuSig2.keyAgg (fmap MuSig2.secKeyPubKey sks))
+  let msg = "pay Carol 1 BTC"
+
+  -- Round one: each signer sends its encoded public nonce, in any order.
+  nonces <- traverse (\sk -> MuSig2.nonceGen (MuSig2.secKeyPubKey sk) MuSig2.noNonceInputs >>= orThrow) (NE.toList sks)
+  nonceRound <-
+    orThrow $
+      foldM
+        (\r (i, (_, pubNonce)) -> Coordinator.receivePubNonce i (MuSig2.encode pubNonce) r)
+        (Coordinator.newNonceRound keyAggCtx)
+        (zip [0 ..] nonces)
+  -- Fails if a nonce is missing (here reporting only the first such signer).
+  collected <- orThrow (first NE.head (Coordinator.finishNonceRound nonceRound))
+
+  -- The coordinator sends the aggregate nonce to every signer, who decodes it
+  -- and opens the session.
+  aggNonce <- orThrow (MuSig2.decode (MuSig2.encode (Coordinator.collectedAggNonce collected)))
+  let session = MuSig2.newSession keyAggCtx aggNonce msg
+
+  -- Round two: each signer sends its encoded partial signature. The
+  -- coordinator verifies each one and blames the signer of an invalid one.
+  psigs <- traverse (\(sk, (secNonce, _)) -> MuSig2.sign secNonce sk session >>= orThrow) (zip (NE.toList sks) nonces)
+  sigRound <-
+    orThrow $
+      foldM
+        (\r (i, psig) -> Coordinator.receivePartialSig i (MuSig2.encode psig) r)
+        (Coordinator.newSigRound collected msg)
+        (zip [0 ..] psigs)
+  -- Aggregates the partial signatures and verifies the result.
+  signature <- orThrow (Coordinator.finishSigRound sigRound)
+  pure (MuSig2.verify (MuSig2.aggXOnlyPubKey keyAggCtx) msg signature)
+
+-- example end
diff --git a/test/Generators.hs b/test/Generators.hs
new file mode 100644
--- /dev/null
+++ b/test/Generators.hs
@@ -0,0 +1,114 @@
+{- | QuickCheck generators.
+
+Plain 'Gen' values used with @forAll@/@forAllShow@, so the test suite defines
+no orphan 'Arbitrary' instances for library types. Secrets have no 'Show'
+instance; properties show them through 'secKeyToBytes'.
+
+Scalars are drawn from the full range \([0, n)\) (not QuickCheck's small
+integers), with extra weight on the edge cases \(0\), \(1\) and \(n - 1\).
+-}
+module Generators (
+  genScalar,
+  genNonZeroScalar,
+  genSecKey,
+  genPubKey,
+  genTweak,
+  TweakOp (..),
+  genTweakOp,
+  applyTweakOp,
+  genBytes,
+  genMessage,
+  genRand,
+  genPubNonce,
+  genAggNonce,
+  genPartialSignature,
+  showSecKey,
+) where
+
+import Crypto.Curve.Secp256k1 (Projective, _CURVE_ZERO)
+import Crypto.Curve.Secp256k1.MuSig2 (
+  AggNonce,
+  KeyAggContext,
+  KeyAggError,
+  PartialSignature,
+  PubKey,
+  PubNonce,
+  SecKey,
+  Tweak,
+  applyPlainTweak,
+  applyTaprootTweak,
+  applyXOnlyTweak,
+  secKeyPubKey,
+  secKeyToBytes,
+ )
+import Crypto.Curve.Secp256k1.MuSig2.Internal.Point (mulGPublic)
+import Crypto.Curve.Secp256k1.MuSig2.Internal.Scalar (curveOrder)
+import Crypto.Curve.Secp256k1.MuSig2.Internal.Types (mkAggNonce, mkPubNonce)
+import Data.ByteString (ByteString)
+import qualified Data.ByteString as BS
+import Test.Tasty.QuickCheck (Gen, arbitrary, choose, frequency, oneof, vectorOf)
+import Util (hexOf, psigFromInt, secKeyFromInt, tweakFromInt)
+
+-- | A scalar in \([0, n)\), uniform with extra weight on the edges.
+genScalar :: Gen Integer
+genScalar = frequency [(1, pure 0), (1, pure 1), (1, pure (curveOrder - 1)), (7, choose (0, curveOrder - 1))]
+
+-- | A scalar in \([1, n)\).
+genNonZeroScalar :: Gen Integer
+genNonZeroScalar = frequency [(1, pure 1), (1, pure (curveOrder - 1)), (8, choose (1, curveOrder - 1))]
+
+genSecKey :: Gen SecKey
+genSecKey = secKeyFromInt <$> genNonZeroScalar
+
+genPubKey :: Gen PubKey
+genPubKey = secKeyPubKey <$> genSecKey
+
+genTweak :: Gen Tweak
+genTweak = tweakFromInt <$> genScalar
+
+-- | A tweak to apply to a key aggregation context.
+data TweakOp
+  = Plain Tweak
+  | XOnly Tweak
+  | -- | BIP-341 Taproot tweak with an optional 32-byte merkle root.
+    Taproot (Maybe ByteString)
+  deriving (Show)
+
+genTweakOp :: Gen TweakOp
+genTweakOp = oneof [Plain <$> genTweak, XOnly <$> genTweak, Taproot <$> oneof [pure Nothing, Just <$> genBytes 32]]
+
+applyTweakOp :: KeyAggContext -> TweakOp -> Either KeyAggError KeyAggContext
+applyTweakOp ctx op = case op of
+  Plain t -> applyPlainTweak t ctx
+  XOnly t -> applyXOnlyTweak t ctx
+  Taproot root -> applyTaprootTweak root ctx
+
+genBytes :: Int -> Gen ByteString
+genBytes n = BS.pack <$> vectorOf n arbitrary
+
+-- | Messages: empty, 32 bytes (the usual sighash), or any length up to 100.
+genMessage :: Gen ByteString
+genMessage = oneof [pure BS.empty, genBytes 32, choose (0, 100) >>= genBytes]
+
+-- | 32 random bytes.
+genRand :: Gen ByteString
+genRand = genBytes 32
+
+pointOf :: Integer -> Gen Projective
+pointOf k = pure (mulGPublic k)
+
+genPubNonce :: Gen PubNonce
+genPubNonce = mkPubNonce <$> (genNonZeroScalar >>= pointOf) <*> (genNonZeroScalar >>= pointOf)
+
+-- | An aggregate nonce; either half may be infinity.
+genAggNonce :: Gen AggNonce
+genAggNonce = mkAggNonce <$> half <*> half
+ where
+  half = frequency [(1, pure _CURVE_ZERO), (4, genNonZeroScalar >>= pointOf)]
+
+genPartialSignature :: Gen PartialSignature
+genPartialSignature = psigFromInt <$> genScalar
+
+-- | Shows a secret key's bytes, for counterexamples.
+showSecKey :: SecKey -> String
+showSecKey = hexOf . secKeyToBytes
diff --git a/test/Main.hs b/test/Main.hs
--- a/test/Main.hs
+++ b/test/Main.hs
@@ -1,30 +1,29 @@
 module Main where
 
-import AggPartialsProperty (propertyAggPartials)
 import ApplyTweaks (testApplyTweaks)
 import Bip327Regressions (testBip327Regressions)
-import MonoidProjective (propertyMonoidProjective)
-import MonoidPubNonce (propertyMonoidPubNonce)
-import NonceGenProperty (propertyNonceGen)
+import CoordinatorRounds (testCoordinator)
+import DiffCorpus (diffCorpusTests)
+import Encoding (testEncoding)
+import Example (testExample)
+import NonceSafety (testNonceSafety)
 import OfficialVectors (officialVectorTests)
-import ParityPub (testParityPub)
+import Properties (testProtocol)
+import Scalars (testScalars)
 import SignVerify (testSignVerify)
-import SignVerifyProperty (propertySignVerify)
-import SignVerifyTweakProperty (propertySignVerifyTweak)
 import Test.Tasty
 
 -- | Unit tests.
 unitTests :: TestTree
-unitTests = testGroup "Unit Tests" [testParityPub, testApplyTweaks, testSignVerify, testBip327Regressions]
+unitTests = testGroup "Unit Tests" [testExample, testSignVerify, testNonceSafety, testApplyTweaks, testBip327Regressions, testCoordinator]
 
 -- | Property tests.
 propertyTests :: TestTree
-propertyTests = testGroup "Property Tests" [propertyMonoidProjective, propertyNonceGen, propertyMonoidPubNonce, propertySignVerify, propertySignVerifyTweak, propertyAggPartials]
-
--- | Tests.
-tests :: TestTree -> TestTree
-tests officialVectors = testGroup "All Tests" [officialVectors, unitTests, propertyTests]
+propertyTests = testGroup "Property Tests" [testEncoding, testScalars, testProtocol]
 
 -- | Run all tests.
 main :: IO ()
-main = officialVectorTests >>= defaultMain . tests
+main = do
+  officialVectors <- officialVectorTests
+  diffCorpus <- diffCorpusTests
+  defaultMain (testGroup "All Tests" [officialVectors, diffCorpus, unitTests, propertyTests])
diff --git a/test/MonoidProjective.hs b/test/MonoidProjective.hs
deleted file mode 100644
--- a/test/MonoidProjective.hs
+++ /dev/null
@@ -1,34 +0,0 @@
-{-# LANGUAGE OverloadedStrings #-}
-{-# OPTIONS_GHC -Wno-unrecognised-pragmas #-}
-
-{-# HLINT ignore "Monoid law, right identity" #-}
-{-# HLINT ignore "Monoid law, left identity" #-}
-
-module MonoidProjective (propertyMonoidProjective) where
-
-import Crypto.Curve.Secp256k1 (Projective (..))
-import Crypto.Curve.Secp256k1.MuSig2 ()
-import Test.Tasty
-import Test.Tasty.QuickCheck as QC
-import Util ()
-
-propertyMonoidProjective :: TestTree
-propertyMonoidProjective =
-  testGroup
-    "Monoid Laws for Projective"
-    [ testProperty "Left Identity" prop_leftIdentity
-    , testProperty "Right Identity" prop_rightIdentity
-    , testProperty "Associativity" prop_associativity
-    ]
-
--- | Left identity 'Monoid' law.
-prop_leftIdentity :: Projective -> Property
-prop_leftIdentity x = mempty <> x === x
-
--- | Right identity 'Monoid' law.
-prop_rightIdentity :: Projective -> Property
-prop_rightIdentity x = x <> mempty === x
-
--- | Associativity 'Monoid' law.
-prop_associativity :: Projective -> Projective -> Projective -> Property
-prop_associativity x y z = (x <> y) <> z === x <> (y <> z)
diff --git a/test/MonoidPubNonce.hs b/test/MonoidPubNonce.hs
deleted file mode 100644
--- a/test/MonoidPubNonce.hs
+++ /dev/null
@@ -1,33 +0,0 @@
-{-# LANGUAGE OverloadedStrings #-}
-{-# OPTIONS_GHC -Wno-unrecognised-pragmas #-}
-
-{-# HLINT ignore "Monoid law, right identity" #-}
-{-# HLINT ignore "Monoid law, left identity" #-}
-
-module MonoidPubNonce (propertyMonoidPubNonce) where
-
-import Crypto.Curve.Secp256k1.MuSig2 (PubNonce)
-import Test.Tasty
-import Test.Tasty.QuickCheck as QC
-import Util ()
-
-propertyMonoidPubNonce :: TestTree
-propertyMonoidPubNonce =
-  testGroup
-    "Monoid Laws for PubNonce"
-    [ testProperty "Left Identity" prop_leftIdentity
-    , testProperty "Right Identity" prop_rightIdentity
-    , testProperty "Associativity" prop_associativity
-    ]
-
--- | Left identity 'Monoid' law.
-prop_leftIdentity :: PubNonce -> Property
-prop_leftIdentity x = mempty <> x === x
-
--- | Right identity 'Monoid' law.
-prop_rightIdentity :: PubNonce -> Property
-prop_rightIdentity x = x <> mempty === x
-
--- | Associativity 'Monoid' law.
-prop_associativity :: PubNonce -> PubNonce -> PubNonce -> Property
-prop_associativity x y z = (x <> y) <> z === x <> (y <> z)
diff --git a/test/NonceGenProperty.hs b/test/NonceGenProperty.hs
deleted file mode 100644
--- a/test/NonceGenProperty.hs
+++ /dev/null
@@ -1,52 +0,0 @@
-{-# LANGUAGE OverloadedStrings #-}
-
-module NonceGenProperty (propertyNonceGen) where
-
-import Crypto.Curve.Secp256k1 (derive_pub, mul, _CURVE_G)
-import Crypto.Curve.Secp256k1.MuSig2 (PubNonce (..), SecKey (..), SecNonceGenParams (..), publicNonce, secNonceGenWithRand)
-import Crypto.Curve.Secp256k1.MuSig2.Internal (curveOrder, hashTag, integerToBytes32, secNonceScalars, xorByteStrings)
-import Data.ByteString ()
-import Data.Maybe (fromMaybe)
-import Test.Tasty
-import Test.Tasty.QuickCheck as QC
-import Util (Rand32 (..), Scalar (..), unsafeRight)
-
-propertyNonceGen :: TestTree
-propertyNonceGen =
-  testGroup
-    "secNonceGenWithRand Properties"
-    [ testProperty "Valid Nonce Range" prop_validRange
-    , testProperty "Correct Public Nonce Computation" prop_correctPubNonce
-    , testProperty "Secret Key XOR Consistency" prop_skConsistency
-    ]
-
--- | Property: Generated k1 and k2 are in the valid range [1, Q-1]
-prop_validRange :: Rand32 -> SecNonceGenParams -> Property
-prop_validRange (Rand32 rand) params =
-  let (k1, k2) = secNonceScalars (unsafeRight $ secNonceGenWithRand rand params)
-   in (1 <= k1 && k1 < curveOrder) .&&. (1 <= k2 && k2 < curveOrder)
-
--- | Property: The public nonce points correspond to G multiplied by k1 and k2
-prop_correctPubNonce :: Rand32 -> SecNonceGenParams -> Property
-prop_correctPubNonce (Rand32 rand) params =
-  let sn = unsafeRight $ secNonceGenWithRand rand params
-      (k1, k2) = secNonceScalars sn
-      PubNonce nonceR1 nonceR2 = unsafeRight $ publicNonce sn
-   in nonceR1 === fromMaybe (error "Failed to multiply scalar by generator") (mul _CURVE_G (fromInteger k1))
-        .&&. nonceR2
-          === fromMaybe (error "Failed to multiply scalar by generator") (mul _CURVE_G (fromInteger k2))
-
--- | Property: Generating with sk provided is equivalent to XORing rand with the aux hash and generating without sk
-prop_skConsistency :: Rand32 -> SecNonceGenParams -> Scalar -> Property
-prop_skConsistency (Rand32 rand) params (Scalar sk) =
-  let pkForSk = case derive_pub (fromInteger sk) of
-        Just pub -> pub
-        Nothing -> error "Failed to derive pubkey for property"
-      paramsNoSk = params{_pk = pkForSk, _sk = Nothing}
-      paramsWithSk = params{_pk = pkForSk, _sk = Just (SecKey sk)}
-      auxHash = hashTag "MuSig/aux" rand
-      skBytes = integerToBytes32 sk
-      rand' = xorByteStrings skBytes auxHash
-      (k1l, k2l) = secNonceScalars (unsafeRight $ secNonceGenWithRand rand paramsWithSk)
-      (k1r, k2r) = secNonceScalars (unsafeRight $ secNonceGenWithRand rand' paramsNoSk)
-   in k1l === k1r .&&. k2l === k2r
diff --git a/test/NonceSafety.hs b/test/NonceSafety.hs
new file mode 100644
--- /dev/null
+++ b/test/NonceSafety.hs
@@ -0,0 +1,344 @@
+{-# LANGUAGE OverloadedStrings #-}
+
+{- | One-shot secret nonces, session binding, the "Crypto.Curve.Secp256k1.MuSig2.Unsafe"
+functions and 'deterministicSign' beyond the official vectors.
+-}
+module NonceSafety (testNonceSafety) where
+
+import Control.Concurrent (forkIO, getNumCapabilities)
+import Control.Concurrent.MVar (newEmptyMVar, putMVar, readMVar, takeMVar)
+import Control.Monad (forM_, replicateM, void)
+import Crypto.Curve.Secp256k1.MuSig2
+import Crypto.Curve.Secp256k1.MuSig2.Internal.Nonce (peekSecNonce, secNonceIsUsed, secNoncePubNonce)
+import Crypto.Curve.Secp256k1.MuSig2.Unsafe
+import Data.ByteString (ByteString)
+import qualified Data.ByteString as BS
+import Data.Either (lefts, rights)
+import Data.IORef (newIORef, readIORef)
+import Data.List.NonEmpty (NonEmpty (..))
+import Data.Maybe (isJust)
+import Data.Word (Word64)
+import Test.Tasty
+import Test.Tasty.HUnit
+import Util (failsWith, pubNonceFromInts, secKeyFromInt, unsafeRight)
+
+testNonceSafety :: TestTree
+testNonceSafety =
+  testGroup
+    "nonce safety"
+    [ testGroup
+        "one-shot secret nonces"
+        [ testCase "a second sign with the same nonce returns SecNonceAlreadyUsed" secondSign
+        , testCase "copies of the handle share the used state" copiesShareState
+        , testCase "sign zero-fills the nonce's buffer" signWipes
+        , testCase "concurrent signing with one nonce succeeds exactly once" concurrentSign
+        , testCase "a failed sign (wrong key, signer not in session) consumes the nonce" failuresConsume
+        ]
+    , testGroup
+        "session binding"
+        [ testCase "a nonce bound to an aggregate key refuses other sessions" bindAggPubKey
+        , testCase "a nonce bound to a message refuses other messages" bindMessage
+        , testCase "a nonce bound to the session's key and message signs" bindMatches
+        ]
+    , testGroup
+        "Unsafe"
+        [ testCase "secNonceToBytes consumes the nonce" exportConsumes
+        , testCase "secNonceFromBytes . secNonceToBytes signs like the original" exportImport
+        , testCase "secNonceFromBytes validates its input" importValidates
+        , testCase "nonceGenWithRand rejects random bytes that are not 32 long" randLength
+        , testCase "nonceGenWithRand is deterministic and each result is a fresh nonce" withRandFresh
+        , testCase "nonceGenCounter is NonceGen with bytes(8, counter) || 0^24 and the secret key" counterIsNonceGen
+        , testCase "signWithoutVerification gives the same partial signature as sign" withoutVerification
+        ]
+    , testGroup
+        "deterministicSign"
+        [ testCase "the last signer signs deterministically in a 3-signer session" detSignSession
+        , testCase "same inputs give the same output; rand, message and aggothernonce change it" detSignDeterministic
+        , testCase "rejects auxiliary randomness that is not 32 bytes" detSignRandLength
+        , testCase "rejects an aggothernonce with a half at infinity" detSignInfinity
+        , testCase "rejects a signer outside the key list" detSignNotInSession
+        ]
+    ]
+
+-- Fixtures ---------------------------------------------------------------------
+
+sk1, sk2, sk3 :: SecKey
+sk1 = secKeyFromInt 0x1111
+sk2 = secKeyFromInt 0x2222
+sk3 = secKeyFromInt 0x3333
+
+pk1, pk2, pk3 :: PubKey
+pk1 = secKeyPubKey sk1
+pk2 = secKeyPubKey sk2
+pk3 = secKeyPubKey sk3
+
+ctx12 :: KeyAggContext
+ctx12 = unsafeRight (keyAgg (pk1 :| [pk2]))
+
+msgA, msgB :: ByteString
+msgA = "message A"
+msgB = "message B"
+
+-- | A fresh nonce for a key, from a counter (deterministic test setup).
+nonceFor :: SecKey -> NonceInputs -> Word64 -> IO (SecNonce, PubNonce)
+nonceFor sk inputs n = unsafeRight <$> nonceGenCounter sk n inputs
+
+-- | Another signer's public nonce (any valid points will do).
+pubNonceFor :: Integer -> PubNonce
+pubNonceFor n = pubNonceFromInts (1000 + n) (2000 + n)
+
+-- | A session for signers 1 and 2 with the given nonces.
+sessionWith :: KeyAggContext -> ByteString -> PubNonce -> PubNonce -> Session
+sessionWith ctx m a b = newSession ctx (nonceAgg (a :| [b])) m
+
+failure :: Either e a -> Maybe e
+failure = either Just (const Nothing)
+
+-- | Signer 1's nonce (with the given inputs), signer 2's nonce, and their session.
+setup :: NonceInputs -> KeyAggContext -> ByteString -> IO (SecNonce, Session)
+setup inputs ctx m = do
+  (sn, pn) <- nonceFor sk1 inputs 1
+  pure (sn, sessionWith ctx m pn (pubNonceFor 1))
+
+-- One-shot ----------------------------------------------------------------------
+
+secondSign :: Assertion
+secondSign = do
+  (sn, ses) <- setup noNonceInputs ctx12 msgA
+  result <- sign sn sk1 ses
+  assertBool "first sign succeeds" (isJust (either (const Nothing) Just result))
+  failsWith SecNonceAlreadyUsed (sign sn sk1 ses)
+  -- also with another session
+  (_, sesB) <- setup noNonceInputs ctx12 msgB
+  failsWith SecNonceAlreadyUsed (sign sn sk1 sesB)
+
+copiesShareState :: Assertion
+copiesShareState = do
+  (sn, ses) <- setup noNonceInputs ctx12 msgA
+  -- A copy kept elsewhere (in a mutable reference, in a list).
+  ref <- newIORef sn
+  let copies = [sn, sn]
+  copy <- readIORef ref
+  void (sign copy sk1 ses)
+  forM_ copies $ \c -> failsWith SecNonceAlreadyUsed (sign c sk1 ses)
+  secNonceIsUsed sn >>= assertBool "the original is marked used"
+
+signWipes :: Assertion
+signWipes = do
+  (sn, ses) <- setup noNonceInputs ctx12 msgA
+  fresh <- peekSecNonce sn
+  assertBool "the buffer holds the scalars before use" (BS.any (/= 0) fresh)
+  secNonceIsUsed sn >>= assertBool "fresh" . not
+  void (sign sn sk1 ses)
+  wiped <- peekSecNonce sn
+  wiped @?= BS.replicate 64 0
+
+concurrentSign :: Assertion
+concurrentSign = do
+  caps <- getNumCapabilities
+  let threads = max 16 (4 * caps)
+  -- Many rounds, each racing all threads on one fresh nonce.
+  forM_ [1 .. 50 :: Word64] $ \round' -> do
+    (sn, pn) <- nonceFor sk1 noNonceInputs round'
+    let ses = sessionWith ctx12 msgA pn (pubNonceFor (toInteger round'))
+    start <- newEmptyMVar
+    dones <- replicateM threads newEmptyMVar
+    forM_ dones $ \done -> forkIO $ do
+      readMVar start
+      sign sn sk1 ses >>= putMVar done
+    putMVar start ()
+    results <- traverse takeMVar dones
+    let ok = rights results
+        errs = lefts results
+    length ok @?= 1
+    errs @?= replicate (threads - 1) SecNonceAlreadyUsed
+    assertBool "the signature verifies" (all (partialSigVerify ses pk1 pn) ok)
+
+failuresConsume :: Assertion
+failuresConsume = do
+  -- SecNonceKeyMismatch
+  (sn, ses) <- setup noNonceInputs ctx12 msgA
+  failsWith SecNonceKeyMismatch (sign sn sk2 ses)
+  failsWith SecNonceAlreadyUsed (sign sn sk1 ses)
+  -- SignerNotInSession
+  (sn3, pn3) <- nonceFor sk3 noNonceInputs 1
+  let ses3 = sessionWith ctx12 msgA pn3 (pubNonceFor 1)
+      ctx13 = unsafeRight (keyAgg (pk1 :| [pk3]))
+  failsWith SignerNotInSession (sign sn3 sk3 ses3)
+  failsWith SecNonceAlreadyUsed (sign sn3 sk3 (sessionWith ctx13 msgA pn3 pn3))
+  peekSecNonce sn3 >>= (@?= BS.replicate 64 0)
+
+-- Session binding ---------------------------------------------------------------
+
+bindAggPubKey :: Assertion
+bindAggPubKey = do
+  let ctx13 = unsafeRight (keyAgg (pk1 :| [pk3]))
+  (sn, ses) <- setup noNonceInputs{nonceAggPubKey = Just (aggXOnlyPubKey ctx13)} ctx12 msgA
+  failsWith SecNonceSessionMismatch (sign sn sk1 ses)
+  -- The failed attempt consumed it.
+  (_, ses13) <- setup noNonceInputs ctx13 msgA
+  failsWith SecNonceAlreadyUsed (sign sn sk1 ses13)
+  -- The untweaked key does not match a tweaked session either.
+  let tweaked = unsafeRight (applyTaprootTweak Nothing ctx12)
+  (sn', ses') <- setup noNonceInputs{nonceAggPubKey = Just (aggXOnlyPubKey ctx12)} tweaked msgA
+  failsWith SecNonceSessionMismatch (sign sn' sk1 ses')
+
+bindMessage :: Assertion
+bindMessage = do
+  (sn, ses) <- setup noNonceInputs{nonceMessage = Just msgA} ctx12 msgB
+  failsWith SecNonceSessionMismatch (sign sn sk1 ses)
+  -- An empty message is a message too.
+  (sn', ses') <- setup noNonceInputs{nonceMessage = Just ""} ctx12 msgA
+  failsWith SecNonceSessionMismatch (sign sn' sk1 ses')
+
+bindMatches :: Assertion
+bindMatches = do
+  let tweaked = unsafeRight (applyTaprootTweak Nothing ctx12)
+      inputs = noNonceInputs{nonceAggPubKey = Just (aggXOnlyPubKey tweaked), nonceMessage = Just msgA}
+  (sn, pn) <- nonceFor sk1 inputs 7
+  let ses = sessionWith tweaked msgA pn (pubNonceFor 7)
+  psig <- sign sn sk1 ses >>= either (assertFailure . show) pure
+  assertBool "partialSigVerify" (partialSigVerify ses pk1 pn psig)
+
+-- Unsafe --------------------------------------------------------------------------
+
+exportConsumes :: Assertion
+exportConsumes = do
+  (sn, ses) <- setup noNonceInputs ctx12 msgA
+  exported <- secNonceToBytes sn
+  fmap BS.length exported @?= Just 97
+  secNonceToBytes sn >>= (@?= Nothing)
+  failsWith SecNonceAlreadyUsed (sign sn sk1 ses)
+  peekSecNonce sn >>= (@?= BS.replicate 64 0)
+  -- and a used nonce cannot be exported
+  (sn', ses') <- setup noNonceInputs ctx12 msgB
+  void (sign sn' sk1 ses')
+  secNonceToBytes sn' >>= (@?= Nothing)
+
+exportImport :: Assertion
+exportImport = do
+  (snA, ses) <- setup noNonceInputs ctx12 msgA
+  (snB, _) <- setup noNonceInputs ctx12 msgA -- same scalars, separate handle
+  bytes <- secNonceToBytes snA >>= maybe (assertFailure "export failed") pure
+  BS.drop 64 bytes @?= encode pk1
+  imported <- secNonceFromBytes bytes >>= either (assertFailure . show) pure
+  secNoncePubNonce imported @?= secNoncePubNonce snB
+  a <- sign imported sk1 ses
+  b <- sign snB sk1 ses
+  assertBool "both sign" (isJust (either (const Nothing) Just a))
+  a @?= b
+
+importValidates :: Assertion
+importValidates = do
+  (sn, _) <- setup noNonceInputs ctx12 msgA
+  bytes <- secNonceToBytes sn >>= maybe (assertFailure "export failed") pure
+  let err b = failure <$> secNonceFromBytes b
+  err (BS.take 96 bytes) >>= (@?= Just (InvalidLength 97 96))
+  err (BS.replicate 32 0 <> BS.drop 32 bytes) >>= (@?= Just ScalarZero)
+  err (BS.take 32 bytes <> BS.replicate 32 0xFF <> BS.drop 64 bytes) >>= (@?= Just ScalarOutOfRange)
+  err (BS.take 64 bytes <> BS.replicate 33 0) >>= (@?= Just PointAtInfinity)
+  err (BS.take 64 bytes <> BS.cons 0x04 (BS.drop 65 bytes)) >>= (@?= Just InvalidPoint)
+
+randLength :: Assertion
+randLength = do
+  failsWith (InvalidRandLength 31) (nonceGenWithRand (BS.replicate 31 1) pk1 noNonceInputs)
+  failsWith (InvalidRandLength 33) (nonceGenWithRand (BS.replicate 33 1) pk1 noNonceInputs)
+
+withRandFresh :: Assertion
+withRandFresh = do
+  let gen r inputs = unsafeRight <$> nonceGenWithRand (BS.replicate 32 r) pk1 inputs
+  (sn, pn) <- gen 9 noNonceInputs
+  (sn', pn') <- gen 9 noNonceInputs
+  (_, other) <- gen 8 noNonceInputs
+  (_, extra) <- gen 9 noNonceInputs{nonceExtraInput = Just ""}
+  pn' @?= pn
+  assertBool "other bytes give another nonce" (other /= pn)
+  -- BIP-327: an absent extra input is the empty one.
+  extra @?= pn
+  -- Each call is its own handle: using one does not use the other.
+  let ses = sessionWith ctx12 msgA pn (pubNonceFor 1)
+  a <- sign sn sk1 ses
+  failsWith SecNonceAlreadyUsed (sign sn sk1 ses)
+  b <- sign sn' sk1 ses
+  assertBool "signs" (isJust (either (const Nothing) Just a))
+  a @?= b
+
+counterIsNonceGen :: Assertion
+counterIsNonceGen = do
+  let counter = 0x0102030405060708 :: Word64
+      rand = BS.pack [1 .. 8] <> BS.replicate 24 0
+      inputs = noNonceInputs{nonceMessage = Just msgA, nonceAggPubKey = Just (aggXOnlyPubKey ctx12)}
+  (snC, pnC) <- unsafeRight <$> nonceGenCounter sk1 counter inputs
+  (snR, pnR) <- unsafeRight <$> nonceGenWithRand rand pk1 inputs{nonceSecKey = Just sk1}
+  pnC @?= pnR
+  bC <- secNonceToBytes snC
+  bR <- secNonceToBytes snR
+  bC @?= bR
+  -- The nonceSecKey field is ignored; the counter matters.
+  ignored <- nonceGenCounter sk1 counter inputs{nonceSecKey = Just sk2}
+  fmap snd (either (const Nothing) Just ignored) @?= Just pnC
+  next <- nonceGenCounter sk1 (counter + 1) inputs
+  assertBool "another counter gives another nonce" (fmap snd (either (const Nothing) Just next) /= Just pnC)
+
+withoutVerification :: Assertion
+withoutVerification = do
+  (snA, ses) <- setup noNonceInputs ctx12 msgA
+  (snB, _) <- setup noNonceInputs ctx12 msgA
+  a <- sign snA sk1 ses
+  b <- signWithoutVerification snB sk1 ses
+  assertBool "signs" (isJust (either (const Nothing) Just a))
+  a @?= b
+  failsWith SecNonceAlreadyUsed (signWithoutVerification snB sk1 ses)
+
+-- deterministicSign ----------------------------------------------------------------
+
+ctx123 :: KeyAggContext
+ctx123 = unsafeRight (keyAgg (pk1 :| [pk2, pk3]) >>= applyTaprootTweak (Just (BS.replicate 32 0xAB)))
+
+detSignSession :: Assertion
+detSignSession = do
+  let m = BS.replicate 32 0x42
+  -- Signers 1 and 2 use nonceGen and send their public nonces first.
+  let gen sk = nonceGen (secKeyPubKey sk) noNonceInputs{nonceSecKey = Just sk} >>= either (assertFailure . show) pure
+  (sn1, pn1) <- gen sk1
+  (sn2, pn2) <- gen sk2
+  let aggOther = nonceAgg (pn1 :| [pn2])
+  -- Signer 3 signs deterministically, last.
+  (pn3, psig3) <- either (assertFailure . show) pure (deterministicSign sk3 aggOther ctx123 m Nothing)
+  let ses = newSession ctx123 (nonceAgg (pn1 :| [pn2, pn3])) m
+  psig1 <- sign sn1 sk1 ses >>= either (assertFailure . show) pure
+  psig2 <- sign sn2 sk2 ses >>= either (assertFailure . show) pure
+  assertBool "partialSigVerify of the deterministic signer" (partialSigVerify ses pk3 pn3 psig3)
+  assertBool "the signature verifies" (verify (aggXOnlyPubKey ctx123) m (partialSigAgg ses (psig1 :| [psig2, psig3])))
+
+detSignDeterministic :: Assertion
+detSignDeterministic = do
+  let aggOther = nonceAgg (pubNonceFor 3 :| [pubNonceFor 4])
+      aggOther' = nonceAgg (pubNonceFor 3 :| [pubNonceFor 5])
+      run a m r = unsafeRight (deterministicSign sk3 a ctx123 m r)
+      base = run aggOther msgA Nothing
+  run aggOther msgA Nothing @?= base
+  run aggOther msgA (Just (BS.replicate 32 1)) @?= run aggOther msgA (Just (BS.replicate 32 1))
+  let differs what x = assertBool what (fst x /= fst base && snd x /= snd base)
+  differs "rand" (run aggOther msgA (Just (BS.replicate 32 0)))
+  differs "message" (run aggOther msgB Nothing)
+  differs "aggothernonce" (run aggOther' msgA Nothing)
+
+detSignRandLength :: Assertion
+detSignRandLength = do
+  let aggOther = nonceAgg (pubNonceFor 3 :| [])
+  failure (deterministicSign sk3 aggOther ctx123 msgA (Just (BS.replicate 31 0))) @?= Just (InvalidAuxRandLength 31)
+  failure (deterministicSign sk3 aggOther ctx123 msgA (Just BS.empty)) @?= Just (InvalidAuxRandLength 0)
+
+detSignInfinity :: Assertion
+detSignInfinity = do
+  let pn = pubNonceFor 3
+      half = BS.take 33 (encode pn)
+      agg b = unsafeRight (decode b) :: AggNonce
+  failure (deterministicSign sk3 (agg (BS.replicate 33 0 <> half)) ctx123 msgA Nothing) @?= Just AggOtherNonceAtInfinity
+  failure (deterministicSign sk3 (agg (half <> BS.replicate 33 0)) ctx123 msgA Nothing) @?= Just AggOtherNonceAtInfinity
+
+detSignNotInSession :: Assertion
+detSignNotInSession = do
+  let aggOther = nonceAgg (pubNonceFor 3 :| [])
+  failure (deterministicSign sk3 aggOther ctx12 msgA Nothing) @?= Just SignerNotInSession
diff --git a/test/OfficialVectors.hs b/test/OfficialVectors.hs
--- a/test/OfficialVectors.hs
+++ b/test/OfficialVectors.hs
@@ -1,71 +1,59 @@
 {-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE TupleSections #-}
 
 {- | Official BIP-0327 test vectors, read at test time from the JSON files
 vendored in @test\/vectors\/bip327@ (see the @README.md@ there for the
 upstream commit and checksums).
 
-Every case that the public API can express is run with exact-output
-assertions. Cases that need something the library does not offer (parsing
-invalid byte encodings and blaming the signer who sent them, or
-DeterministicSign) are listed one by one in the
-\"Not expressible through the public API\" group, so the coverage gap is
-visible in the test output instead of being skipped silently. For invalid
-encodings, that group still checks that @parse_point@ rejects exactly the
-contribution the vector blames.
+Every case runs with exact-output assertions. Invalid encodings are decoded
+with 'decode', contribution by contribution in the order the reference
+implementation parses them, and the first failure must be exactly the
+contribution (and signer) the vector blames. The @NonceAgg@ and
+@PartialSigAgg@ cases also run through
+"Crypto.Curve.Secp256k1.MuSig2.Coordinator": it must produce the expected
+aggregate nonce and signature, and blame exactly the vector's signer.
 
 The parsers reject unknown fields, unknown error types and unknown error
 messages, so an updated vector file cannot be silently half-run.
 -}
 module OfficialVectors (officialVectorTests) where
 
-import Control.Monad (filterM, foldM, unless, zipWithM)
-import Crypto.Curve.Secp256k1 (Pub, derive_pub, parse_point, serialize_point, verify_schnorr, _CURVE_ZERO)
-import Crypto.Curve.Secp256k1.MuSig2 (
-  MuSig2Error (..),
-  PubNonce (..),
-  SecKey (..),
-  SecNonceGenParams (..),
-  Tweak (..),
-  aggNonces,
-  aggPartials,
-  aggregatedPubkey,
-  applyTweak,
-  mkKeyAggContext,
-  mkSecNonce,
-  mkSessionContext,
-  partialSigVerify,
-  publicNonce,
-  secNonceGenWithRand,
-  sign,
-  sortPublicKeys,
- )
-import Crypto.Curve.Secp256k1.MuSig2.Internal (
-  SecNonce (..),
-  bytesToInteger,
-  cbytesExt,
-  curveOrder,
-  integerToBytes32,
-  secNonceScalars,
-  xBytes,
+import Control.Monad (filterM, foldM, void, zipWithM, (>=>))
+import Crypto.Curve.Secp256k1.MuSig2
+import Crypto.Curve.Secp256k1.MuSig2.Coordinator (
+  Blame (..),
+  BlameReason (..),
+  CollectedNonces,
+  collectedAggNonce,
+  finishNonceRound,
+  finishSigRound,
+  newNonceRound,
+  newSigRound,
+  receivePartialSig,
+  receivePubNonce,
  )
+import Crypto.Curve.Secp256k1.MuSig2.Internal.Nonce (secNoncePubNonce)
+import Crypto.Curve.Secp256k1.MuSig2.Internal.Scalar (bytesToInteger, curveOrder)
+import Crypto.Curve.Secp256k1.MuSig2.Unsafe (nonceGenWithRand, secNonceFromBytes, secNonceToBytes)
 import qualified Crypto.Hash.SHA256 as SHA256
 import Data.Aeson (FromJSON (..), Value, eitherDecodeFileStrict, withObject, (.:), (.:?))
 import qualified Data.Aeson.Key as Key
-import qualified Data.Aeson.KeyMap as KeyMap
 import Data.Aeson.Types (Object, Parser, parseEither)
+import Data.Bifunctor (first)
 import Data.ByteString (ByteString)
 import qualified Data.ByteString as BS
 import qualified Data.ByteString.Base16 as B16
 import qualified Data.ByteString.Char8 as BC
-import Data.Char (toUpper)
-import Data.Either (lefts, rights)
-import Data.Foldable (toList)
-import Data.Maybe (fromMaybe, isJust)
+import Data.Either (lefts)
+import Data.List.NonEmpty (NonEmpty (..), nonEmpty)
+import qualified Data.List.NonEmpty as NE
+import Data.Maybe (fromMaybe)
 import System.Directory (doesFileExist, getCurrentDirectory, makeAbsolute)
 import System.Environment (lookupEnv)
 import System.FilePath ((</>))
 import Test.Tasty
 import Test.Tasty.HUnit
+import Util (Hex (..), hexOf, secKeyFromInt, strictObject)
 
 -- Locating and loading the vector files ---------------------------------------
 
@@ -172,21 +160,6 @@
 
 -- JSON parsing ---------------------------------------------------------------
 
--- | Hex-encoded bytes.
-newtype Hex = Hex {unHex :: ByteString}
-
-instance FromJSON Hex where
-  parseJSON v = do
-    s <- parseJSON v
-    either (fail . (("invalid hex " <> show s <> ": ") <>)) (pure . Hex) (B16.decode (BC.pack s))
-
--- | Like 'withObject', but fails on fields outside the allowed list.
-strictObject :: String -> [Key.Key] -> (Object -> Parser a) -> Value -> Parser a
-strictObject what allowed k = withObject what $ \o -> do
-  let unknown = filter (`notElem` allowed) (KeyMap.keys o)
-  unless (null unknown) $ fail (what <> ": unexpected fields " <> show (map Key.toString unknown))
-  k o
-
 hexField :: Object -> Key.Key -> Parser ByteString
 hexField o k = unHex <$> o .: k
 
@@ -225,10 +198,10 @@
   { kaPubkeys :: [ByteString]
   , kaTweaks :: [ByteString]
   , kaValid :: [([Int], ByteString)]
-  , kaError :: [KeyAggError]
+  , kaError :: [KeyAggErrorCase]
   }
 
-data KeyAggError = KeyAggError
+data KeyAggErrorCase = KeyAggErrorCase
   { kaeKeys :: [Int]
   , kaeTweaks :: [Int]
   , kaeXOnly :: [Bool]
@@ -245,7 +218,7 @@
     o .: "error_test_cases"
       >>= traverse
         ( strictObject "key_agg error case" ["key_indices", "tweak_indices", "is_xonly", "error", "comment"] $ \c ->
-            KeyAggError <$> c .: "key_indices" <*> c .: "tweak_indices" <*> c .: "is_xonly" <*> c .: "error" <*> c .:? "comment"
+            KeyAggErrorCase <$> c .: "key_indices" <*> c .: "tweak_indices" <*> c .: "is_xonly" <*> c .: "error" <*> c .:? "comment"
         )
   pure (KeyAggVectors pubkeys tweaks valid errs)
 
@@ -464,62 +437,108 @@
         <*> (if isError then Left <$> c .: "error" else Right <$> hexField c "expected")
         <*> c .:? "comment"
 
--- | Only the case comments are read: DeterministicSign is not implemented.
-data DetSignVectors = DetSignVectors [Maybe String] [Maybe String]
+data DetSignVectors = DetSignVectors
+  { dsSk :: ByteString
+  , dsPubkeys :: [ByteString]
+  , dsMsgs :: [ByteString]
+  , dsValid :: [DetSignCase]
+  , dsError :: [DetSignCase]
+  }
 
+-- | A det_sign case: valid cases carry the expected (pubnonce, psig), error cases carry @error@.
+data DetSignCase = DetSignCase
+  { dscRand :: Maybe ByteString
+  , dscAggOtherNonce :: ByteString
+  , dscKeys :: [Int]
+  , dscTweaks :: [ByteString]
+  , dscXOnly :: [Bool]
+  , dscMsg :: Int
+  , dscSigner :: Int
+  , dscOutcome :: Either VectorError (ByteString, ByteString)
+  , dscComment :: Maybe String
+  }
+
 parseDetSign :: Value -> Parser DetSignVectors
 parseDetSign = strictObject "det_sign" ["sk", "pubkeys", "msgs", "valid_test_cases", "error_test_cases"] $ \o ->
   DetSignVectors
-    <$> (o .: "valid_test_cases" >>= traverse comment)
-    <*> (o .: "error_test_cases" >>= traverse comment)
+    <$> hexField o "sk"
+    <*> hexList o "pubkeys"
+    <*> hexList o "msgs"
+    <*> (o .: "valid_test_cases" >>= traverse (detSignCase False))
+    <*> (o .: "error_test_cases" >>= traverse (detSignCase True))
  where
-  comment = withObject "det_sign case" (.:? "comment")
+  detSignCase isError =
+    strictObject "det_sign case" ["rand", "aggothernonce", "key_indices", "tweaks", "is_xonly", "msg_index", "signer_index", if isError then "error" else "expected", "comment"] $ \c ->
+      DetSignCase
+        <$> nullableHexField c "rand"
+        <*> hexField c "aggothernonce"
+        <*> c .: "key_indices"
+        <*> hexList c "tweaks"
+        <*> c .: "is_xonly"
+        <*> c .: "msg_index"
+        <*> c .: "signer_index"
+        <*> (if isError then Left <$> c .: "error" else Right <$> (hexList c "expected" >>= pair))
+        <*> c .:? "comment"
+  pair [pn, psig] = pure (pn, psig)
+  pair other = fail ("det_sign: expected [pubnonce, psig], got " <> show (length other) <> " values")
 
--- BIP-0327 encodings ------------------------------------------------------------
+-- Library steps ------------------------------------------------------------------
 
--- | @cpoint@: a 33-byte compressed point (@parse_point@ checks the 0x02/0x03 tag, @x < p@ and that @x@ is on the curve).
-cpoint :: ByteString -> Maybe Pub
-cpoint b
-  | BS.length b == 33 = parse_point b
-  | otherwise = Nothing
+-- | A failure of any library step (or a malformed vector).
+data Failure
+  = FDecode DecodeError
+  | FKeyAgg KeyAggError
+  | FSign SignError
+  | FVector String
+  deriving (Eq, Show)
 
--- | @cpoint_ext@: like 'cpoint', but 33 zero bytes is the point at infinity.
-cpointExt :: ByteString -> Maybe Pub
-cpointExt b
-  | b == BS.replicate 33 0 = Just _CURVE_ZERO
-  | otherwise = cpoint b
+decodeF :: (Encode a) => ByteString -> Either Failure a
+decodeF = first FDecode . decode
 
--- | A 66-byte public nonce.
-pubNonceFromBytes :: ByteString -> Maybe PubNonce
-pubNonceFromBytes b
-  | BS.length b == 66 = PubNonce <$> cpoint (BS.take 33 b) <*> cpoint (BS.drop 33 b)
-  | otherwise = Nothing
+nonEmptyF :: String -> [a] -> Either Failure (NonEmpty a)
+nonEmptyF what = maybe (Left (FVector ("empty " <> what <> " list"))) Right . nonEmpty
 
--- | A 66-byte aggregate nonce (either half may be infinity).
-aggNonceFromBytes :: ByteString -> Maybe PubNonce
-aggNonceFromBytes b
-  | BS.length b == 66 = PubNonce <$> cpointExt (BS.take 33 b) <*> cpointExt (BS.drop 33 b)
-  | otherwise = Nothing
+-- | Decodes and applies tweaks (raw bytes, is_xonly) in order.
+applyTweaks :: [(ByteString, Bool)] -> KeyAggContext -> Either Failure KeyAggContext
+applyTweaks ts ctx0 = foldM step ctx0 ts
+ where
+  step ctx (b, xonly) = do
+    t <- decodeF b
+    first FKeyAgg ((if xonly then applyXOnlyTweak else applyPlainTweak) t ctx)
 
--- | Serializes an aggregate nonce with @cbytes_ext@.
-aggNonceBytes :: PubNonce -> ByteString
-aggNonceBytes (PubNonce a b) = cbytesExt a <> cbytesExt b
+-- | KeyAgg of encoded keys, then the tweaks.
+keyAggBytes :: [ByteString] -> [(ByteString, Bool)] -> Either Failure KeyAggContext
+keyAggBytes keys ts = do
+  pks <- traverse decodeF keys >>= nonEmptyF "pubkey"
+  first FKeyAgg (keyAgg pks) >>= applyTweaks ts
 
-pubNonceBytes :: PubNonce -> ByteString
-pubNonceBytes (PubNonce a b) = serialize_point a <> serialize_point b
+-- | Opens a session from encoded inputs and signs with an encoded secret nonce.
+signBytes :: SecKey -> ByteString -> [ByteString] -> [(ByteString, Bool)] -> ByteString -> ByteString -> IO (Either Failure PartialSignature)
+signBytes sk secnonce keys ts aggnonce m = case (,) <$> keyAggBytes keys ts <*> decodeF aggnonce of
+  Left err -> pure (Left err)
+  Right (ctx, agg) -> do
+    imported <- secNonceFromBytes secnonce
+    case imported of
+      Left err -> pure (Left (FDecode err))
+      Right sn -> first FSign <$> sign sn sk (newSession ctx agg m)
 
--- | A 97-byte secret nonce: @k1 || k2 || pk@.
-secNonceFromBytes :: ByteString -> Either String (Integer, Integer, Pub)
-secNonceFromBytes b
-  | BS.length b /= 97 = Left ("secnonce must be 97 bytes, got " <> show (BS.length b))
-  | otherwise = do
-      pk <- note "secnonce public key does not parse" (cpoint (BS.drop 64 b))
-      Right (bytesToInteger (BS.take 32 b), bytesToInteger (BS.take 32 (BS.drop 32 b)), pk)
+{- | DeterministicSign from encoded inputs, in the order the reference
+implementation parses them: public keys and tweaks, then aggothernonce.
+-}
+detSignBytes :: SecKey -> ByteString -> [ByteString] -> [(ByteString, Bool)] -> ByteString -> Maybe ByteString -> Either Failure (PubNonce, PartialSignature)
+detSignBytes sk aggOther keys ts m rand = do
+  ctx <- keyAggBytes keys ts
+  agg <- decodeF aggOther
+  first FSign (deterministicSign sk agg ctx m rand)
 
-secNonceBytes :: SecNonce -> ByteString
-secNonceBytes sn =
-  let (k1, k2) = secNonceScalars sn
-   in integerToBytes32 k1 <> integerToBytes32 k2 <> serialize_point (secNoncePubKeyInternal sn)
+-- | PartialSigVerify as BIP-327 defines it: aggregates the given nonces itself.
+verifyBytes :: [ByteString] -> [ByteString] -> [(ByteString, Bool)] -> ByteString -> Int -> PartialSignature -> Either Failure Bool
+verifyBytes nonces keys ts m signer psig = do
+  pns <- traverse decodeF nonces >>= nonEmptyF "pubnonce"
+  ctx <- keyAggBytes keys ts
+  pk <- first FVector (at "pubkey" (NE.toList (keyAggPubKeys ctx)) signer)
+  pn <- first FVector (at "pubnonce" (NE.toList pns) signer)
+  pure (partialSigVerify (newSession ctx (nonceAgg pns) m) pk pn psig)
 
 -- Helpers --------------------------------------------------------------------
 
@@ -532,68 +551,74 @@
   x : _ | i >= 0 -> Right x
   _ -> Left (what <> " index " <> show i <> " is out of range")
 
--- | Selects and decodes entries of a vector table.
-select :: String -> (ByteString -> Maybe a) -> [ByteString] -> [Int] -> Either String [a]
-select what decode table = traverse $ \i -> at what table i >>= note (what <> " #" <> show i <> " does not parse") . decode
+-- | Selects entries of a vector table.
+select :: String -> [ByteString] -> [Int] -> Either String [ByteString]
+select what table = traverse (at what table)
 
-mkTweaks :: [ByteString] -> [Int] -> [Bool] -> Either String [Tweak]
-mkTweaks table idxs xonly
+tweakSpecs :: [ByteString] -> [Int] -> [Bool] -> Either String [(ByteString, Bool)]
+tweakSpecs table idxs xonly
   | length idxs /= length xonly = Left "tweak_indices and is_xonly differ in length"
-  | otherwise = zipWithM (\i x -> (if x then XOnlyTweak else PlainTweak) . bytesToInteger <$> at "tweak" table i) idxs xonly
-
-tweakValue :: Tweak -> Integer
-tweakValue (XOnlyTweak t) = t
-tweakValue (PlainTweak t) = t
-
--- | Aggregate key after applying the tweaks in order (KeyAgg + ApplyTweak).
-tweakedKeyAgg :: [Pub] -> [Tweak] -> Either MuSig2Error Pub
-tweakedKeyAgg pks tweaks = aggregatedPubkey <$> (mkKeyAggContext pks Nothing >>= \ctx -> foldM applyTweak ctx tweaks)
+  | otherwise = zipWithM (\i x -> (,x) <$> at "tweak" table i) idxs xonly
 
-{- | The library error that corresponds to a reference-implementation
+{- | The library failure that corresponds to a reference-implementation
 @ValueError@ message. Unknown messages fail, so new error cases need an
 explicit mapping.
 -}
-libraryErrorFor :: [Tweak] -> Maybe (Integer, Integer) -> String -> Either String MuSig2Error
-libraryErrorFor tweaks secnonce message = case message of
-  "The tweak must be less than n." -> case filter (>= curveOrder) (map tweakValue tweaks) of
-    t : _ -> Right (TweakOutOfRange t)
-    [] -> Left "vector expects an out-of-range tweak but none is >= n"
-  "The result of tweaking cannot be infinity." -> Right TweakResultAtInfinity
-  "The signer's pubkey must be included in the list of pubkeys." -> Right SecretKeyPublicKeyMismatch
-  "first secnonce value is out of range." -> scalarError "k1" . fst <$> note "no secnonce in case" secnonce
-  "second secnonce value is out of range." -> scalarError "k2" . snd <$> note "no secnonce in case" secnonce
-  other -> Left ("no library error is mapped to the BIP-0327 error message " <> show other)
+expectedFailure :: [(ByteString, Bool)] -> Maybe ByteString -> String -> Either String Failure
+expectedFailure tweaks secnonce message = case message of
+  -- A tweak >= n cannot be decoded into a 'Tweak'.
+  "The tweak must be less than n." ->
+    if any ((>= curveOrder) . bytesToInteger . fst) tweaks
+      then Right (FDecode ScalarOutOfRange)
+      else Left "vector expects an out-of-range tweak but none is >= n"
+  "The result of tweaking cannot be infinity." -> Right (FKeyAgg TweakResultAtInfinity)
+  "The signer's pubkey must be included in the list of pubkeys." -> Right (FSign SignerNotInSession)
+  -- An out-of-range secnonce scalar cannot be decoded into a 'SecNonce'.
+  "first secnonce value is out of range." -> scalarFailure . BS.take 32 <$> note "no secnonce in case" secnonce
+  "second secnonce value is out of range." -> scalarFailure . BS.take 32 . BS.drop 32 <$> note "no secnonce in case" secnonce
+  other -> Left ("no library failure is mapped to the BIP-0327 error message " <> show other)
  where
-  scalarError label k = if k == 0 then SecretScalarZero label else SecretScalarOutOfRange label
+  scalarFailure b = FDecode (if bytesToInteger b == 0 then ScalarZero else ScalarOutOfRange)
 
-{- | A contribution as the reference implementation checks it: kind, signer
-index (if any), and whether its encoding is valid.
+valueError :: VectorError -> Either String String
+valueError (ValueError m) = Right m
+valueError err = Left ("expected a value error, got " <> show err)
+
+{- | A contribution in the order the reference implementation parses it:
+kind, signer index (if any), and the result of decoding it.
 -}
-type Contribution = (String, Maybe Int, Bool)
+type Contribution = (String, Maybe Int, Either DecodeError ())
 
-contributions :: String -> (ByteString -> Bool) -> [ByteString] -> [Int] -> Either String [Contribution]
-contributions kind valid table = zipWithM (\signer i -> (\b -> (kind, Just signer, valid b)) <$> at kind table i) [0 ..]
+contributions :: String -> (ByteString -> Either DecodeError ()) -> [ByteString] -> [Int] -> Either String [Contribution]
+contributions kind dec table = zipWithM (\signer i -> (\b -> (kind, Just signer, dec b)) <$> at kind table i) [0 ..]
 
--- | The contribution the reference implementation would blame first.
-firstInvalid :: [Contribution] -> Maybe (String, Maybe Int)
-firstInvalid cs = case [(kind, signer) | (kind, signer, False) <- cs] of
+asPubKey, asPubNonce, asAggNonce, asPsig :: ByteString -> Either DecodeError ()
+asPubKey = void . (decode :: ByteString -> Either DecodeError PubKey)
+asPubNonce = void . (decode :: ByteString -> Either DecodeError PubNonce)
+asAggNonce = void . (decode :: ByteString -> Either DecodeError AggNonce)
+asPsig = void . (decode :: ByteString -> Either DecodeError PartialSignature)
+
+-- | The first contribution that does not decode.
+firstInvalid :: [Contribution] -> Maybe (String, Maybe Int, DecodeError)
+firstInvalid cs = case [(kind, signer, err) | (kind, signer, Left err) <- cs] of
   c : _ -> Just c
   [] -> Nothing
 
-{- | For an @invalid_contribution@ that needs byte-level parsing: checks that
-@parse_point@ rejects exactly the blamed contribution and nothing before it.
+{- | An @invalid_contribution@ case: decoding must fail first at exactly the
+blamed contribution, with an invalid point (or, for a partial signature, a
+scalar out of range).
 -}
 encodingCase :: String -> VectorError -> Either String [Contribution] -> TestTree
-encodingCase name err cs =
-  testCase (name <> " [only the encoding is checked; the library has no byte-level parser that blames signers]") $ do
-    contribs <- expectRight "vector" cs
-    case err of
-      InvalidContribution signer kind -> firstInvalid contribs @?= Just (kind, signer)
-      ValueError m -> assertFailure ("expected an invalid_contribution error, got value error " <> show m)
+encodingCase name err cs = testCase name $ do
+  contribs <- expectRight "vector" cs
+  case err of
+    InvalidContribution signer kind ->
+      firstInvalid contribs @?= Just (kind, signer, if kind == "psig" then ScalarOutOfRange else InvalidPoint)
+    ValueError m -> assertFailure ("expected an invalid_contribution error, got value error " <> show m)
 
--- | Whether an error is an invalid encoding of a point-based contribution.
+-- | Whether an error is an invalid encoding of a contribution.
 isEncodingError :: VectorError -> Bool
-isEncodingError (InvalidContribution _ kind) = kind `elem` ["pubkey", "pubnonce", "aggnonce", "aggothernonce"]
+isEncodingError (InvalidContribution _ kind) = kind `elem` ["pubkey", "pubnonce", "aggnonce", "psig"]
 isEncodingError (ValueError _) = False
 
 expectRight :: String -> Either String a -> IO a
@@ -602,14 +627,11 @@
 expectLib :: (Show e) => String -> Either e a -> IO a
 expectLib ctx = either (\err -> assertFailure (ctx <> " failed: " <> show err)) pure
 
-expectLibError :: MuSig2Error -> Either MuSig2Error a -> Assertion
-expectLibError expected result = case result of
+expectFailure :: Failure -> Either Failure a -> Assertion
+expectFailure expected result = case result of
   Left err -> err @?= expected
   Right _ -> assertFailure ("expected Left " <> show expected <> ", got Right")
 
-hexOf :: ByteString -> String
-hexOf = map toUpper . BC.unpack . B16.encode
-
 assertBytes :: String -> ByteString -> ByteString -> Assertion
 assertBytes what expected actual = assertEqual what (hexOf expected) (hexOf actual)
 
@@ -625,13 +647,8 @@
 
 -- Tests ----------------------------------------------------------------------
 
--- | Tests run against the library, and cases listed as not expressible.
-data FileTests = FileTests [TestTree] [TestTree]
-
 vectorTests :: Vectors -> [TestTree]
-vectorTests vs =
-  [testGroup file run | (file, FileTests run _) <- files, not (null run)]
-    <> [testGroup "Not expressible through the public API" [testGroup file skipped | (file, FileTests _ skipped) <- files, not (null skipped)]]
+vectorTests vs = [testGroup file run | (file, run) <- files]
  where
   files =
     [ ("key_sort_vectors.json", keySortTests (vKeySort vs))
@@ -644,218 +661,209 @@
     , ("det_sign_vectors.json", detSignTests (vDetSign vs))
     ]
 
-keySortTests :: KeySortVectors -> FileTests
+keySortTests :: KeySortVectors -> [TestTree]
 keySortTests (KeySortVectors pubkeys sorted) =
-  FileTests
-    [ testCase "KeySort" $ do
-        pks <- expectRight "pubkeys" (select "pubkey" cpoint pubkeys [0 .. length pubkeys - 1])
-        map (hexOf . serialize_point) (toList (sortPublicKeys pks)) @?= map hexOf sorted
-    ]
-    []
+  [ testCase "KeySort" $ do
+      pks <- expectLib "decode" (traverse decodeF pubkeys >>= nonEmptyF "pubkey")
+      map (hexOf . encode) (NE.toList (keySort (pks :: NonEmpty PubKey))) @?= map hexOf sorted
+  ]
 
-keyAggTests :: KeyAggVectors -> FileTests
-keyAggTests v =
-  FileTests (zipWith validCase [0 ..] (kaValid v) <> rights errs) (lefts errs)
+keyAggTests :: KeyAggVectors -> [TestTree]
+keyAggTests v = zipWith validCase [0 ..] (kaValid v) <> zipWith errorCase [0 ..] (kaError v)
  where
-  errs = zipWith errorCase [0 ..] (kaError v)
   validCase i (keyIdxs, expected) = testCase (caseName "valid" i Nothing) $ do
-    pks <- expectRight "vector" (select "pubkey" cpoint (kaPubkeys v) keyIdxs)
-    ctx <- expectLib "KeyAgg" (mkKeyAggContext pks Nothing)
-    assertBytes "xbytes(Q)" expected (xBytes (aggregatedPubkey ctx))
+    keys <- expectRight "vector" (select "pubkey" (kaPubkeys v) keyIdxs)
+    ctx <- expectLib "KeyAgg" (keyAggBytes keys [])
+    assertBytes "xbytes(Q)" expected (encode (aggXOnlyPubKey ctx))
   errorCase i c
-    | isEncodingError (kaeError c) =
-        Left $ encodingCase name (kaeError c) (contributions "pubkey" (isJust . cpoint) (kaPubkeys v) (kaeKeys c))
-    | otherwise = Right . testCase name $ do
-        pks <- expectRight "vector" (select "pubkey" cpoint (kaPubkeys v) (kaeKeys c))
-        tweaks <- expectRight "vector" (mkTweaks (kaTweaks v) (kaeTweaks c) (kaeXOnly c))
-        expected <- expectRight "vector" (valueError (kaeError c) >>= libraryErrorFor tweaks Nothing)
-        expectLibError expected (tweakedKeyAgg pks tweaks)
+    | isEncodingError (kaeError c) = encodingCase name (kaeError c) (contributions "pubkey" asPubKey (kaPubkeys v) (kaeKeys c))
+    | otherwise = testCase name $ do
+        keys <- expectRight "vector" (select "pubkey" (kaPubkeys v) (kaeKeys c))
+        tweaks <- expectRight "vector" (tweakSpecs (kaTweaks v) (kaeTweaks c) (kaeXOnly c))
+        expected <- expectRight "vector" (valueError (kaeError c) >>= expectedFailure tweaks Nothing)
+        expectFailure expected (keyAggBytes keys tweaks)
    where
-    name = caseName "error" i (kaeComment c)
-
-valueError :: VectorError -> Either String String
-valueError (ValueError m) = Right m
-valueError err = Left ("expected a value error, got " <> show err)
+    name = caseName "error" (i :: Int) (kaeComment c)
 
-nonceGenTests :: [NonceGenCase] -> FileTests
-nonceGenTests cases = FileTests (zipWith run [0 ..] cases) []
+nonceGenTests :: [NonceGenCase] -> [TestTree]
+nonceGenTests = zipWith run [0 ..]
  where
   run :: Int -> NonceGenCase -> TestTree
   run i c = testCase (caseName "case" i (ngComment c)) $ do
-    pk <- expectRight "pk" (note "does not parse" (cpoint (ngPk c)))
-    -- The library takes aggpk as a point; the vector gives 32-byte x-only bytes,
-    -- so lift it (even y) and check that it serializes back to the same bytes.
-    aggpk <- traverse (\b -> expectRight "aggpk" (note "is not a valid x-only key" (if BS.length b == 32 then parse_point b else Nothing))) (ngAggpk c)
-    assertEqual "aggpk round-trips through the x-only lift" (fmap hexOf (ngAggpk c)) (fmap (hexOf . xBytes) aggpk)
-    let params =
-          SecNonceGenParams
-            { _pk = pk
-            , _sk = SecKey . bytesToInteger <$> ngSk c
-            , _aggpk = aggpk
-            , _msg = ngMsg c
-            , _extraIn = ngExtraIn c
-            }
-    sn <- expectLib "NonceGen" (secNonceGenWithRand (ngRand c) params)
-    assertBytes "secnonce" (ngSecnonce c) (secNonceBytes sn)
-    pn <- expectLib "publicNonce" (publicNonce sn)
-    assertBytes "pubnonce" (ngPubnonce c) (pubNonceBytes pn)
+    (pk, inputs) <- expectLib "decode" $ do
+      pk <- decodeF (ngPk c)
+      sk <- traverse (first FDecode . secKeyFromBytes) (ngSk c)
+      aggpk <- traverse decodeF (ngAggpk c)
+      pure (pk, NonceInputs{nonceSecKey = sk, nonceAggPubKey = aggpk, nonceMessage = ngMsg c, nonceExtraInput = ngExtraIn c})
+    (sn, pn) <- nonceGenWithRand (ngRand c) pk inputs >>= expectLib "NonceGen"
+    exported <- secNonceToBytes sn >>= maybe (assertFailure "a fresh nonce cannot be exported") pure
+    assertBytes "secnonce" (ngSecnonce c) exported
+    assertBytes "pubnonce" (ngPubnonce c) (encode pn)
 
-nonceAggTests :: NonceAggVectors -> FileTests
-nonceAggTests v = FileTests (zipWith validCase [0 ..] (naValid v) <> rights errs) (lefts errs)
+nonceAggTests :: NonceAggVectors -> [TestTree]
+nonceAggTests v = zipWith validCase [0 ..] (naValid v) <> zipWith errorCase [0 ..] (naError v)
  where
-  errs = zipWith errorCase [0 ..] (naError v)
   validCase i (idxs, expected, comment) = testCase (caseName "valid" i comment) $ do
-    nonces <- expectRight "vector" (select "pnonce" pubNonceFromBytes (naPnonces v) idxs)
-    agg <- expectLib "NonceAgg" (aggNonces nonces)
-    assertBytes "aggnonce (infinity as 33 zero bytes)" expected (aggNonceBytes agg)
-  errorCase i (idxs, err, comment)
-    | isEncodingError err = Left (encodingCase name err (contributions "pubnonce" (isJust . pubNonceFromBytes) (naPnonces v) idxs))
-    | otherwise = Right (testCase name (assertFailure ("no library check for " <> show err)))
+    nonces <- expectRight "vector" (select "pnonce" (naPnonces v) idxs)
+    pns <- expectLib "decode" (traverse decodeF nonces >>= nonEmptyF "pubnonce")
+    assertBytes "aggnonce (infinity as 33 zero bytes)" expected (encode (nonceAgg pns))
+    ctx <- expectLib "KeyAgg" (placeholderKeyAgg (length nonces))
+    collected <- expectLib "coordinator" (coordinateNonces ctx nonces)
+    assertBytes "coordinator aggnonce" expected (encode (collectedAggNonce collected))
+  errorCase i (idxs, err, comment) = case err of
+    InvalidContribution (Just signer) "pubnonce" -> testGroup name [encodingCase "decode" err contribs, coordinatorCase signer]
+    _ -> testCase name (assertFailure ("no library check for " <> show err))
    where
-    name = caseName "error" i comment
+    name = caseName "error" (i :: Int) comment
+    contribs = contributions "pubnonce" asPubNonce (naPnonces v) idxs
+    -- Each nonce is received on its own: the coordinator blames exactly the vector's signer.
+    coordinatorCase signer = testCase "the coordinator blames the signer" $ do
+      nonces <- expectRight "vector" (select "pnonce" (naPnonces v) idxs)
+      ctx <- expectLib "KeyAgg" (placeholderKeyAgg (length nonces))
+      lefts [receivePubNonce j b (newNonceRound ctx) | (j, b) <- zip [0 ..] nonces]
+        @?= [Blame signer (InvalidPubNonceEncoding InvalidPoint)]
 
-signVerifyTests :: SignVerifyVectors -> FileTests
+{- | A key aggregation context for @u@ signers, for nonce aggregation vectors
+(which have no keys: nonce aggregation does not depend on them).
+-}
+placeholderKeyAgg :: Int -> Either Failure KeyAggContext
+placeholderKeyAgg u = nonEmptyF "pubkey" [secKeyPubKey (secKeyFromInt k) | k <- [1 .. toInteger u]] >>= first FKeyAgg . keyAgg
+
+-- | Round one of the coordinator, receiving the encoded nonces in signer order.
+coordinateNonces :: KeyAggContext -> [ByteString] -> Either String CollectedNonces
+coordinateNonces ctx nonces = do
+  r <- first show (foldM (\r (j, b) -> receivePubNonce j b r) (newNonceRound ctx) (zip [0 ..] nonces))
+  first show (finishNonceRound r)
+
+signVerifyTests :: SignVerifyVectors -> [TestTree]
 signVerifyTests v =
-  FileTests
-    ( [ testCase "setup: sk derives pubkeys[0]" $ do
-          p <- expectRight "derive_pub" (note "failed" (derive_pub (fromInteger (bytesToInteger (svSk v)))))
-          pk0 <- expectRight "vector" (at "pubkey" (svPubkeys v) 0)
-          assertBytes "pubkey" pk0 (serialize_point p)
-      , testCase "setup: secnonces[0] has public nonce pnonces[0]" $ do
-          sn <- secnonce 0
-          pn <- expectLib "publicNonce" (publicNonce sn)
-          pn0 <- expectRight "vector" (at "pnonce" (svPnonces v) 0)
-          assertBytes "pubnonce" pn0 (pubNonceBytes pn)
-      ]
-        <> zipWith validCase [0 ..] (svValid v)
-        <> rights signErrs
-        <> zipWith verifyFailCase [0 ..] (svVerifyFail v)
-        <> rights verifyErrs
-    )
-    (lefts signErrs <> lefts verifyErrs)
+  [ testCase "setup: sk derives pubkeys[0]" $ do
+      pk0 <- expectRight "vector" (at "pubkey" (svPubkeys v) 0)
+      sk <- secKey
+      assertBytes "pubkey" pk0 (encode (secKeyPubKey sk))
+  , testCase "setup: secnonces[0] has public nonce pnonces[0]" $ do
+      sn <- expectRight "vector" (at "secnonce" (svSecnonces v) 0) >>= (secNonceFromBytes >=> expectLib "secnonce")
+      pn0 <- expectRight "vector" (at "pnonce" (svPnonces v) 0)
+      assertBytes "pubnonce" pn0 (encode (secNoncePubNonce sn))
+  ]
+    <> zipWith validCase [0 ..] (svValid v)
+    <> zipWith signErrorCase [0 ..] (svSignError v)
+    <> zipWith verifyFailCase [0 ..] (svVerifyFail v)
+    <> zipWith verifyErrorCase [0 ..] (svVerifyError v)
  where
-  sk = SecKey (bytesToInteger (svSk v))
-  secnonce j = do
-    (k1, k2, pk) <- expectRight "vector" (at "secnonce" (svSecnonces v) j >>= secNonceFromBytes)
-    expectLib "mkSecNonce" (mkSecNonce pk k1 k2)
-  signErrs = zipWith signErrorCase [0 ..] (svSignError v)
-  verifyErrs = zipWith verifyErrorCase [0 ..] (svVerifyError v)
+  secKey = expectLib "secKeyFromBytes" (secKeyFromBytes (svSk v))
 
   validCase i c =
     testGroup
       (caseName "valid" i (svvComment c))
       [ testCase "NonceAgg reproduces the aggnonce" $ do
-          (_, nonces, _, _) <- inputs
-          expected <- expectRight "vector" (at "aggnonce" (svAggnonces v) (svvAggnonce c))
-          agg <- expectLib "NonceAgg" (aggNonces nonces)
-          assertBytes "aggnonce" expected (aggNonceBytes agg)
+          (_, nonces, agg, _) <- inputs
+          pns <- expectLib "decode" (traverse decodeF nonces >>= nonEmptyF "pubnonce")
+          assertBytes "aggnonce" agg (encode (nonceAgg pns))
       , testCase "Sign returns the expected partial signature" $ do
-          (pks, _, agg, m) <- inputs
-          sn <- secnonce 0
-          psig <- expectLib "Sign" (mkSessionContext agg pks [] m >>= sign sn sk)
-          assertBytes "psig" (svvExpected c) (integerToBytes32 psig)
+          (keys, _, agg, m) <- inputs
+          sk <- secKey
+          sn <- expectRight "vector" (at "secnonce" (svSecnonces v) 0)
+          psig <- signBytes sk sn keys [] agg m >>= expectLib "Sign"
+          assertBytes "psig" (svvExpected c) (encode psig)
       , testCase "PartialSigVerify accepts the expected partial signature" $ do
-          (pks, nonces, _, m) <- inputs
-          partialSigVerify (bytesToInteger (svvExpected c)) nonces pks [] m (svvSigner c) @?= Right True
+          (keys, nonces, _, m) <- inputs
+          psig <- expectLib "decode psig" (decodeF (svvExpected c))
+          verifyBytes nonces keys [] m (svvSigner c) psig @?= Right True
       ]
    where
     inputs = expectRight "vector" $ do
-      pks <- select "pubkey" cpoint (svPubkeys v) (svvKeys c)
-      nonces <- select "pnonce" pubNonceFromBytes (svPnonces v) (svvNonces c)
-      agg <- at "aggnonce" (svAggnonces v) (svvAggnonce c) >>= note "aggnonce does not parse" . aggNonceFromBytes
+      keys <- select "pubkey" (svPubkeys v) (svvKeys c)
+      nonces <- select "pnonce" (svPnonces v) (svvNonces c)
+      agg <- at "aggnonce" (svAggnonces v) (svvAggnonce c)
       m <- at "msg" (svMsgs v) (svvMsg c)
-      pure (pks, nonces, agg, m)
+      pure (keys, nonces, agg, m)
 
   signErrorCase i c
     | isEncodingError (sseError c) =
-        Left . encodingCase name (sseError c) $ do
-          keys <- contributions "pubkey" (isJust . cpoint) (svPubkeys v) (sseKeys c)
+        encodingCase name (sseError c) $ do
+          keys <- contributions "pubkey" asPubKey (svPubkeys v) (sseKeys c)
           agg <- at "aggnonce" (svAggnonces v) (sseAggnonce c)
           -- Sign parses the pubkeys (KeyAgg) before the aggregate nonce.
-          pure (keys <> [("aggnonce", Nothing, isJust (aggNonceFromBytes agg))])
-    | otherwise = Right . testCase name $ do
-        (pks, agg, m, (k1, k2, snPk)) <- expectRight "vector" $ do
-          pks <- select "pubkey" cpoint (svPubkeys v) (sseKeys c)
-          agg <- at "aggnonce" (svAggnonces v) (sseAggnonce c) >>= note "aggnonce does not parse" . aggNonceFromBytes
+          pure (keys <> [("aggnonce", Nothing, asAggNonce agg)])
+    | otherwise = testCase name $ do
+        (keys, agg, m, sn) <- expectRight "vector" $ do
+          keys <- select "pubkey" (svPubkeys v) (sseKeys c)
+          agg <- at "aggnonce" (svAggnonces v) (sseAggnonce c)
           m <- at "msg" (svMsgs v) (sseMsg c)
-          sn <- at "secnonce" (svSecnonces v) (sseSecnonce c) >>= secNonceFromBytes
-          pure (pks, agg, m, sn)
-        expected <- expectRight "vector" (valueError (sseError c) >>= libraryErrorFor [] (Just (k1, k2)))
-        expectLibError expected $ do
-          sn <- mkSecNonce snPk k1 k2
-          mkSessionContext agg pks [] m >>= sign sn sk
+          sn <- at "secnonce" (svSecnonces v) (sseSecnonce c)
+          pure (keys, agg, m, sn)
+        expected <- expectRight "vector" (valueError (sseError c) >>= expectedFailure [] (Just sn))
+        sk <- secKey
+        signBytes sk sn keys [] agg m >>= expectFailure expected
    where
-    name = caseName "sign_error" i (sseComment c)
+    name = caseName "sign_error" (i :: Int) (sseComment c)
 
   verifyInputs c = expectRight "vector" $ do
-    pks <- select "pubkey" cpoint (svPubkeys v) (svfKeys c)
-    nonces <- select "pnonce" pubNonceFromBytes (svPnonces v) (svfNonces c)
+    keys <- select "pubkey" (svPubkeys v) (svfKeys c)
+    nonces <- select "pnonce" (svPnonces v) (svfNonces c)
     m <- at "msg" (svMsgs v) (svfMsg c)
-    pure (pks, nonces, m)
+    pure (keys, nonces, m)
 
-  verifyFailCase i c = testCase (caseName "verify_fail" i (svfComment c) <> outOfRangeNote) $ do
-    (pks, nonces, m) <- verifyInputs c
-    partialSigVerify s nonces pks [] m (svfSigner c) @?= expected
-   where
-    s = bytesToInteger (svfSig c)
-    -- The reference implementation returns False for s >= n; the library
-    -- reports that input as an error instead.
-    (expected, outOfRangeNote)
-      | s >= curveOrder = (Left PartialSignatureOutOfRange, " [library: Left PartialSignatureOutOfRange]")
-      | otherwise = (Right False, "")
+  -- BIP-327 returns False for s >= n; such a partial signature does not decode.
+  verifyFailCase i c = testCase (caseName "verify_fail" i (svfComment c)) $ do
+    (keys, nonces, m) <- verifyInputs c
+    if bytesToInteger (svfSig c) >= curveOrder
+      then (decodeF (svfSig c) :: Either Failure PartialSignature) @?= Left (FDecode ScalarOutOfRange)
+      else do
+        psig <- expectLib "decode psig" (decodeF (svfSig c))
+        verifyBytes nonces keys [] m (svfSigner c) psig @?= Right False
 
   verifyErrorCase i c = case svfError c of
     Just err
       | isEncodingError err ->
-          Left . encodingCase name err $ do
+          encodingCase name err $ do
             -- PartialSigVerify aggregates (parses) the pubnonces before the pubkeys.
-            nonces <- contributions "pubnonce" (isJust . pubNonceFromBytes) (svPnonces v) (svfNonces c)
-            keys <- contributions "pubkey" (isJust . cpoint) (svPubkeys v) (svfKeys c)
+            nonces <- contributions "pubnonce" asPubNonce (svPnonces v) (svfNonces c)
+            keys <- contributions "pubkey" asPubKey (svPubkeys v) (svfKeys c)
             pure (nonces <> keys)
-    other -> Right (testCase name (assertFailure ("no library check for " <> show other)))
+    other -> testCase name (assertFailure ("no library check for " <> show other))
    where
-    name = caseName "verify_error" i (svfComment c)
+    name = caseName "verify_error" (i :: Int) (svfComment c)
 
-tweakTests :: TweakVectors -> FileTests
-tweakTests v = FileTests (zipWith (run "valid") [0 ..] (twValid v) <> zipWith (run "error") [0 ..] (twError v)) []
+tweakTests :: TweakVectors -> [TestTree]
+tweakTests v = zipWith (run "valid") [0 ..] (twValid v) <> zipWith (run "error") [0 ..] (twError v)
  where
-  sk = SecKey (bytesToInteger (twSk v))
+  run :: String -> Int -> TweakCase -> TestTree
   run section i c = case tcOutcome c of
     Right expected ->
       testGroup
         name
         [ testCase "NonceAgg reproduces the aggnonce" $ do
-            (_, nonces, _, _) <- inputs
-            agg <- expectLib "NonceAgg" (aggNonces nonces)
-            assertBytes "aggnonce" (twAggnonce v) (aggNonceBytes agg)
+            (_, nonces, _) <- inputs
+            pns <- expectLib "decode" (traverse decodeF nonces >>= nonEmptyF "pubnonce")
+            assertBytes "aggnonce" (twAggnonce v) (encode (nonceAgg pns))
         , testCase "Sign returns the expected partial signature" $ do
-            (pks, _, tweaks, agg) <- inputs
-            sn <- secnonce
-            psig <- expectLib "Sign" (mkSessionContext agg pks tweaks (twMsg v) >>= sign sn sk)
-            assertBytes "psig" expected (integerToBytes32 psig)
+            (keys, _, tweaks) <- inputs
+            sk <- secKey
+            psig <- signBytes sk (twSecnonce v) keys tweaks (twAggnonce v) (twMsg v) >>= expectLib "Sign"
+            assertBytes "psig" expected (encode psig)
         , testCase "PartialSigVerify accepts the expected partial signature" $ do
-            (pks, nonces, tweaks, _) <- inputs
-            partialSigVerify (bytesToInteger expected) nonces pks tweaks (twMsg v) (tcSigner c) @?= Right True
+            (keys, nonces, tweaks) <- inputs
+            psig <- expectLib "decode psig" (decodeF expected)
+            verifyBytes nonces keys tweaks (twMsg v) (tcSigner c) psig @?= Right True
         ]
     Left err -> testCase name $ do
-      (pks, _, tweaks, agg) <- inputs
-      sn <- secnonce
-      libErr <- expectRight "vector" (valueError err >>= libraryErrorFor tweaks Nothing)
-      expectLibError libErr (mkSessionContext agg pks tweaks (twMsg v) >>= sign sn sk)
+      (keys, _, tweaks) <- inputs
+      sk <- secKey
+      expected <- expectRight "vector" (valueError err >>= expectedFailure tweaks Nothing)
+      signBytes sk (twSecnonce v) keys tweaks (twAggnonce v) (twMsg v) >>= expectFailure expected
    where
     name = caseName section i (tcComment c)
     inputs = expectRight "vector" $ do
-      pks <- select "pubkey" cpoint (twPubkeys v) (tcKeys c)
-      nonces <- select "pnonce" pubNonceFromBytes (twPnonces v) (tcNonces c)
-      tweaks <- mkTweaks (twTweaks v) (tcTweaks c) (tcXOnly c)
-      agg <- note "aggnonce does not parse" (aggNonceFromBytes (twAggnonce v))
-      pure (pks, nonces, tweaks, agg)
-  secnonce = do
-    (k1, k2, pk) <- expectRight "vector" (secNonceFromBytes (twSecnonce v))
-    expectLib "mkSecNonce" (mkSecNonce pk k1 k2)
+      keys <- select "pubkey" (twPubkeys v) (tcKeys c)
+      nonces <- select "pnonce" (twPnonces v) (tcNonces c)
+      tweaks <- tweakSpecs (twTweaks v) (tcTweaks c) (tcXOnly c)
+      pure (keys, nonces, tweaks)
+  secKey = expectLib "secKeyFromBytes" (secKeyFromBytes (twSk v))
 
-sigAggTests :: SigAggVectors -> FileTests
-sigAggTests v = FileTests (zipWith (run "valid") [0 ..] (saValid v) <> zipWith (run "error") [0 ..] (saError v)) []
+sigAggTests :: SigAggVectors -> [TestTree]
+sigAggTests v = zipWith (run "valid") [0 ..] (saValid v) <> zipWith (run "error") [0 ..] (saError v)
  where
   run :: String -> Int -> SigAggCase -> TestTree
   run section i c = case sacOutcome c of
@@ -863,38 +871,111 @@
       testGroup
         name
         [ testCase "NonceAgg reproduces the aggnonce" $ do
-            (_, nonces, _, _, _) <- inputs
-            agg <- expectLib "NonceAgg" (aggNonces nonces)
-            assertBytes "aggnonce" (sacAggnonce c) (aggNonceBytes agg)
+            (_, nonces, _, _) <- inputs
+            pns <- expectLib "decode" (traverse decodeF nonces >>= nonEmptyF "pubnonce")
+            assertBytes "aggnonce" (sacAggnonce c) (encode (nonceAgg pns))
         , testCase "PartialSigAgg returns the expected signature" $ do
-            sig <- aggregate
-            assertBytes "sig" expected sig
-        , testCase "the expected signature is a valid BIP-340 signature for the tweaked key" $ do
-            (pks, _, tweaks, _, _) <- inputs
-            q <- expectLib "KeyAgg" (tweakedKeyAgg pks tweaks)
-            assertBool "verify_schnorr" (verify_schnorr (saMsg v) q expected)
+            (sig, _) <- aggregate
+            assertBytes "sig" expected (encode sig)
+        , testCase "the expected signature is a valid BIP-340 signature for aggXOnlyPubKey" $ do
+            (_, ctx) <- aggregate
+            sig <- expectLib "decode sig" (decodeF expected)
+            assertBool "verify" (verify (aggXOnlyPubKey ctx) (saMsg v) sig)
+        , testCase "the coordinator reproduces the aggnonce, accepts every partial signature and returns the signature" $ do
+            (keys, nonces, tweaks, psigs) <- inputs
+            ctx <- expectLib "KeyAgg" (keyAggBytes keys tweaks)
+            collected <- expectLib "round one" (coordinateNonces ctx nonces)
+            assertBytes "aggnonce" (sacAggnonce c) (encode (collectedAggNonce collected))
+            r <- expectLib "round two" (foldM (\r (j, b) -> receivePartialSig j b r) (newSigRound collected (saMsg v)) (zip [0 ..] psigs))
+            sig <- expectLib "finishSigRound" (finishSigRound r)
+            assertBytes "sig" expected (encode sig)
         ]
-    Left (InvalidContribution (Just signer) "psig") -> testCase (name <> " [library cannot report the signer index]") $ do
-      (pks, _, tweaks, agg, psigs) <- inputs
-      blamed <- expectRight "vector" (at "psig" psigs signer)
-      assertBool "the blamed psig is out of range" (blamed >= curveOrder)
-      expectLibError PartialSignatureOutOfRange (mkSessionContext agg pks tweaks (saMsg v) >>= aggPartials psigs)
+    Left err@(InvalidContribution (Just signer) "psig") ->
+      testGroup
+        name
+        [ encodingCase "decode" err (contributions "psig" asPsig (saPsigs v) (sacPsigs c))
+        , -- PartialSigAgg only range-checks, so the other partial signatures
+          -- of the vector need not verify in this session (and do not): only
+          -- the vector's signer is checked.
+          testCase "the coordinator blames the signer" $ do
+            (keys, nonces, tweaks, psigs) <- inputs
+            ctx <- expectLib "KeyAgg" (keyAggBytes keys tweaks)
+            collected <- expectLib "round one" (coordinateNonces ctx nonces)
+            psig <- expectRight "vector" (at "psig" psigs signer)
+            lefts [receivePartialSig signer psig (newSigRound collected (saMsg v))]
+              @?= [Blame signer (InvalidPartialSigEncoding ScalarOutOfRange)]
+        ]
     Left err -> testCase name (assertFailure ("no library check for " <> show err))
    where
     name = caseName section i (sacComment c)
     inputs = expectRight "vector" $ do
-      pks <- select "pubkey" cpoint (saPubkeys v) (sacKeys c)
-      nonces <- select "pnonce" pubNonceFromBytes (saPnonces v) (sacNonces c)
-      tweaks <- mkTweaks (saTweaks v) (sacTweaks c) (sacXOnly c)
-      agg <- note "aggnonce does not parse" (aggNonceFromBytes (sacAggnonce c))
-      psigs <- traverse (fmap bytesToInteger . at "psig" (saPsigs v)) (sacPsigs c)
-      pure (pks, nonces, tweaks, agg, psigs)
+      keys <- select "pubkey" (saPubkeys v) (sacKeys c)
+      nonces <- select "pnonce" (saPnonces v) (sacNonces c)
+      tweaks <- tweakSpecs (saTweaks v) (sacTweaks c) (sacXOnly c)
+      psigs <- select "psig" (saPsigs v) (sacPsigs c)
+      pure (keys, nonces, tweaks, psigs)
     aggregate = do
-      (pks, _, tweaks, agg, psigs) <- inputs
-      expectLib "PartialSigAgg" (mkSessionContext agg pks tweaks (saMsg v) >>= aggPartials psigs)
+      (keys, _, tweaks, psigs) <- inputs
+      expectLib "PartialSigAgg" $ do
+        ctx <- keyAggBytes keys tweaks
+        agg <- decodeF (sacAggnonce c)
+        ps <- traverse decodeF psigs >>= nonEmptyF "psig"
+        pure (partialSigAgg (newSession ctx agg (saMsg v)) ps, ctx)
 
-detSignTests :: DetSignVectors -> FileTests
-detSignTests (DetSignVectors valid errs) =
-  FileTests [] (zipWith (skip "valid") [0 ..] valid <> zipWith (skip "error") [0 ..] errs)
+detSignTests :: DetSignVectors -> [TestTree]
+detSignTests v =
+  testCase "setup: sk derives pubkeys[0]" (do pk0 <- expectRight "vector" (at "pubkey" (dsPubkeys v) 0); sk <- secKey; assertBytes "pubkey" pk0 (encode (secKeyPubKey sk)))
+    : zipWith (run "valid") [0 ..] (dsValid v)
+      <> zipWith (run "error") [0 ..] (dsError v)
  where
-  skip section i comment = testCase (caseName section i comment <> " [SKIPPED: DeterministicSign is not implemented]") (pure ())
+  secKey = expectLib "secKeyFromBytes" (secKeyFromBytes (dsSk v))
+  run :: String -> Int -> DetSignCase -> TestTree
+  run section i c = case dscOutcome c of
+    Right (expectedNonce, expectedPsig) ->
+      testGroup
+        name
+        [ testCase "DeterministicSign returns the expected public nonce and partial signature" $ do
+            (pn, psig) <- detSign
+            assertBytes "pubnonce" expectedNonce (encode pn)
+            assertBytes "psig" expectedPsig (encode psig)
+        , testCase "PartialSigVerify accepts it in the session of aggothernonce and the public nonce" $ do
+            (keys, tweaks, m) <- inputs
+            (pn, psig) <- detSign
+            sk <- secKey
+            -- NonceAgg((aggothernonce, pubnonce)): aggothernonce parses as a public nonce.
+            other <- expectLib "decode aggothernonce" (decodeF (dscAggOtherNonce c))
+            ctx <- expectLib "KeyAgg" (keyAggBytes keys tweaks)
+            pk <- expectRight "vector" (at "pubkey" (NE.toList (keyAggPubKeys ctx)) (dscSigner c))
+            pk @?= secKeyPubKey sk
+            assertBool "partialSigVerify" (partialSigVerify (newSession ctx (nonceAgg (other :| [pn])) m) pk pn psig)
+        ]
+    Left err@(InvalidContribution (Just _) "pubkey") ->
+      encodingCase name err $ do
+        keys <- contributions "pubkey" asPubKey (dsPubkeys v) (dscKeys c)
+        pure (keys <> [("aggothernonce", Nothing, asAggNonce (dscAggOtherNonce c))])
+    -- BIP-327 blames the nonce aggregator both for an invalid encoding (which
+    -- does not decode to an 'AggNonce') and for a half at infinity (which
+    -- 'deterministicSign' rejects).
+    Left (InvalidContribution Nothing "aggothernonce") -> testCase name $ do
+      (keys, tweaks, m) <- inputs
+      sk <- secKey
+      ctx <- expectLib "KeyAgg" (keyAggBytes keys tweaks)
+      case decode (dscAggOtherNonce c) of
+        Left decodeErr -> decodeErr @?= InvalidPoint
+        Right agg -> either Just (const Nothing) (deterministicSign sk agg ctx m (dscRand c)) @?= Just AggOtherNonceAtInfinity
+    Left err -> testCase name $ do
+      (keys, tweaks, m) <- inputs
+      sk <- secKey
+      expected <- expectRight "vector" (valueError err >>= expectedFailure tweaks Nothing)
+      expectFailure expected (detSignBytes sk (dscAggOtherNonce c) keys tweaks m (dscRand c))
+   where
+    name = caseName section i (dscComment c)
+    inputs = expectRight "vector" $ do
+      keys <- select "pubkey" (dsPubkeys v) (dscKeys c)
+      tweaks <- tweakSpecs (dscTweaks c) [0 .. length (dscTweaks c) - 1] (dscXOnly c)
+      m <- at "msg" (dsMsgs v) (dscMsg c)
+      pure (keys, tweaks, m)
+    detSign = do
+      (keys, tweaks, m) <- inputs
+      sk <- secKey
+      expectLib "DeterministicSign" (detSignBytes sk (dscAggOtherNonce c) keys tweaks m (dscRand c))
diff --git a/test/ParityPub.hs b/test/ParityPub.hs
deleted file mode 100644
--- a/test/ParityPub.hs
+++ /dev/null
@@ -1,18 +0,0 @@
-{-# LANGUAGE OverloadedStrings #-}
-
-module ParityPub (testParityPub) where
-
-import Crypto.Curve.Secp256k1.MuSig2.Internal (isEvenPub)
-import Test.Tasty
-import Test.Tasty.HUnit
-import Util (parsePoint)
-
--- | Some examples from [BIP-0327 test vectors](https://github.com/bitcoin/bips/tree/master/bip-0327/vectors).
-testParityPub :: TestTree
-testParityPub =
-  testGroup
-    "isEvenPub"
-    [ testCase "Even compressed key" $ isEvenPub (parsePoint "02DD308AFEC5777E13121FA72B9CC1B7CC0139715309B086C960E18FD969774EB8") @?= Just True
-    , testCase "Odd compressed key" $ isEvenPub (parsePoint "03DFF1D77F2A671C5F36183726DB2341BE58FEAE1DA2DECED843240F7B502BA659") @?= Just False
-    , testCase "X-only key" $ isEvenPub (parsePoint "6204DE8B083426DC6EAF9502D27024D53FC826BF7D2012148A0575435DF54B2B") @?= Just True
-    ]
diff --git a/test/Properties.hs b/test/Properties.hs
new file mode 100644
--- /dev/null
+++ b/test/Properties.hs
@@ -0,0 +1,251 @@
+{-# LANGUAGE OverloadedStrings #-}
+
+{- | Property tests of the whole protocol.
+
+The central property runs complete sessions (1 to 6 signers, sometimes with
+duplicate keys, random chains of plain, x-only and Taproot tweaks) and checks
+the final signature with BIP-340 verification against 'aggXOnlyPubKey'. The
+negative properties corrupt one input and check that verification fails.
+-}
+module Properties (testProtocol) where
+
+import Control.Monad (foldM, void)
+import Crypto.Curve.Secp256k1.MuSig2
+import Crypto.Curve.Secp256k1.MuSig2.Internal.KeyAgg (KeyAggContext (..))
+import Crypto.Curve.Secp256k1.MuSig2.Internal.Scalar (curveOrder, integerToBytes32)
+import Crypto.Curve.Secp256k1.MuSig2.Internal.Types (PartialSignature (..), Tweak (..))
+import Crypto.Curve.Secp256k1.MuSig2.Unsafe (nonceGenWithRand)
+import qualified Crypto.Hash.SHA256 as SHA256
+import Data.Bifunctor (first)
+import Data.ByteString (ByteString)
+import qualified Data.ByteString as BS
+import Data.List (elemIndex, sort)
+import Data.List.NonEmpty (NonEmpty (..))
+import qualified Data.List.NonEmpty as NE
+import Data.Maybe (fromMaybe)
+import Generators
+import Test.Tasty
+import Test.Tasty.HUnit
+import Test.Tasty.QuickCheck
+import Util (unsafeRight)
+
+testProtocol :: TestTree
+testProtocol =
+  testGroup
+    "Protocol properties"
+    [ localOption (QuickCheckTests 200) $
+        testProperty "end to end: every partial signature verifies and the signature verifies against aggXOnlyPubKey" prop_endToEnd
+    , testProperty "a corrupted partial signature (s + 1) fails partialSigVerify and the final verify" prop_corruptedPartialSig
+    , testProperty "a partial signature checked with another signer's nonce fails" prop_wrongNonce
+    , testProperty "a partial signature checked in a session for another message fails" prop_wrongMessage
+    , testProperty "signerIndex and partialSigVerify, for every signer index" prop_everySignerIndex
+    , testProperty "sign rejects a nonce for another key and a key outside the session" prop_signRejects
+    , testProperty "keySort is invariant under permutation and sorts by encoding" prop_keySort
+    , testProperty "plain tweaks commute and add up" prop_plainTweaksAdd
+    , testProperty "applyTaprootTweak is the BIP-341 TapTweak as an x-only tweak" prop_taprootIsXOnly
+    , testCase "nonceGen draws fresh randomness on every call" nonceGenFresh
+    , testCase "nonceGen rejects a secret key for another public key" nonceGenKeyMismatch
+    ]
+
+-- Scenarios --------------------------------------------------------------------
+
+data Signer = Signer
+  { signerSecKey :: SecKey
+  , signerRand :: ByteString
+  , signerBind :: (Bool, Bool, Bool, Maybe ByteString)
+  -- ^ Bind the nonce to the secret key, the aggregate key, the message; extra input.
+  }
+
+data Scenario = Scenario
+  { scSigners :: NonEmpty Signer
+  , scSortKeys :: Bool
+  , scTweaks :: [TweakOp]
+  , scMessage :: ByteString
+  }
+
+instance Show Scenario where
+  show sc =
+    unlines $
+      [ "signers (secret key, rand, binding):"
+      ]
+        <> [ "  " <> showSecKey (signerSecKey s) <> " " <> show (signerRand s) <> " " <> show (signerBind s)
+           | s <- NE.toList (scSigners sc)
+           ]
+        <> [ "sorted: " <> show (scSortKeys sc)
+           , "tweaks: " <> show (scTweaks sc)
+           , "message: " <> show (scMessage sc)
+           ]
+
+genScenario :: Gen Scenario
+genScenario = do
+  n <- choose (1, 6)
+  sks <- vectorOf n genSecKey
+  -- Sometimes a signer reuses another signer's key (each with its own nonce).
+  sks' <- case sks of
+    sk0 : _ : _ -> frequency [(3, pure sks), (1, (\j -> take j sks <> [sk0] <> drop (j + 1) sks) <$> choose (1, n - 1))]
+    _ -> pure sks
+  signers <- traverse (\sk -> Signer sk <$> genRand <*> genBind) sks'
+  Scenario (NE.fromList signers) <$> arbitrary <*> (choose (0, 4) >>= (`vectorOf` genTweakOp)) <*> genMessage
+ where
+  genBind = (,,,) <$> arbitrary <*> arbitrary <*> arbitrary <*> oneof [pure Nothing, Just <$> genMessage]
+
+data Run = Run
+  { runCtx :: KeyAggContext
+  , runPubKeys :: NonEmpty PubKey
+  -- ^ In signer order (not the aggregation order).
+  , runPubNonces :: NonEmpty PubNonce
+  , runSession :: Session
+  , runPsigs :: NonEmpty PartialSignature
+  , runSignature :: Signature
+  }
+
+runScenario :: Scenario -> IO (Either String Run)
+runScenario sc = case setup of
+  Left err -> pure (Left err)
+  Right ctx -> do
+    generated <- traverse (nonceFor ctx) signers
+    case first show (sequence generated) of
+      Left err -> pure (Left err)
+      Right nonces -> do
+        let session = newSession ctx (nonceAgg (fmap snd nonces)) msg
+        signed <- traverse (\(s, (sn, _)) -> sign sn (signerSecKey s) session) (NE.zip signers nonces)
+        pure $ do
+          psigs <- first show (sequence signed)
+          pure (Run ctx pks (fmap snd nonces) session psigs (partialSigAgg session psigs))
+ where
+  signers = scSigners sc
+  pks = fmap (secKeyPubKey . signerSecKey) signers
+  msg = scMessage sc
+  setup = do
+    ctx0 <- first show (keyAgg (if scSortKeys sc then keySort pks else pks))
+    first show (foldM applyTweakOp ctx0 (scTweaks sc))
+  nonceFor ctx s =
+    let sk = signerSecKey s
+        (bindSk, bindAgg, bindMsg, extra) = signerBind s
+        inputs =
+          NonceInputs
+            { nonceSecKey = if bindSk then Just sk else Nothing
+            , nonceAggPubKey = if bindAgg then Just (aggXOnlyPubKey ctx) else Nothing
+            , nonceMessage = if bindMsg then Just msg else Nothing
+            , nonceExtraInput = extra
+            }
+     in nonceGenWithRand (signerRand s) (secKeyPubKey sk) inputs
+
+-- | Runs a scenario and a property on its result.
+withRun :: (Testable p) => (Scenario -> Run -> p) -> Property
+withRun k = forAll genScenario $ \sc -> ioProperty $ do
+  result <- runScenario sc
+  pure $ case result of
+    Left err -> counterexample err False
+    Right r ->
+      tabulate "signers" [show (length (scSigners sc))]
+        . classify (kacGaccNeg (runCtx r)) "gacc = n - 1"
+        . classify (any isTaproot (scTweaks sc)) "Taproot tweak"
+        . classify (hasDuplicates (runPubKeys r)) "duplicate keys"
+        $ property (k sc r)
+ where
+  isTaproot (Taproot _) = True
+  isTaproot _ = False
+  hasDuplicates pks = length (NE.nub pks) /= length pks
+
+-- | Picks a signer index.
+withSigner :: (Testable p) => Run -> (Int -> p) -> Property
+withSigner r = forAll (choose (0, length (runPubKeys r) - 1))
+
+at :: NonEmpty a -> Int -> a
+at xs i = NE.toList xs !! i
+
+-- Properties --------------------------------------------------------------------
+
+prop_endToEnd :: Property
+prop_endToEnd = withRun $ \sc r ->
+  let ctx = runCtx r
+   in counterexample "partialSigVerify" (and (zipWith3 (partialSigVerify (runSession r)) (NE.toList (runPubKeys r)) (NE.toList (runPubNonces r)) (NE.toList (runPsigs r))))
+        .&&. counterexample "verify" (verify (aggXOnlyPubKey ctx) (scMessage sc) (runSignature r))
+        .&&. encode (aggXOnlyPubKey ctx) === BS.drop 1 (encode (aggPubKey ctx))
+
+prop_corruptedPartialSig :: Property
+prop_corruptedPartialSig = withRun $ \sc r -> withSigner r $ \j ->
+  let PartialSignature s = at (runPsigs r) j
+      bad = PartialSignature ((s + 1) `mod` curveOrder)
+      psigs = NE.fromList [if i == j then bad else p | (i, p) <- zip [0 ..] (NE.toList (runPsigs r))]
+   in not (partialSigVerify (runSession r) (at (runPubKeys r) j) (at (runPubNonces r) j) bad)
+        .&&. not (verify (aggXOnlyPubKey (runCtx r)) (scMessage sc) (partialSigAgg (runSession r) psigs))
+
+prop_wrongNonce :: Property
+prop_wrongNonce = withRun $ \_ r ->
+  let n = length (runPubKeys r)
+   in n > 1 ==> withSigner r $ \j -> forAll ((\d -> (j + d) `mod` n) <$> choose (1, n - 1)) $ \k ->
+        not (partialSigVerify (runSession r) (at (runPubKeys r) j) (at (runPubNonces r) k) (at (runPsigs r) j))
+
+prop_wrongMessage :: Property
+prop_wrongMessage = withRun $ \sc r -> withSigner r $ \j ->
+  let msg' = BS.cons 0 (scMessage sc)
+      session' = newSession (runCtx r) (nonceAgg (runPubNonces r)) msg'
+   in not (partialSigVerify session' (at (runPubKeys r) j) (at (runPubNonces r) j) (at (runPsigs r) j))
+        .&&. not (verify (aggXOnlyPubKey (runCtx r)) msg' (runSignature r))
+
+{- | For every index i of the key list: signerIndex finds the first occurrence
+of the key, and signer j's partial signature verifies exactly for its own key.
+-}
+prop_everySignerIndex :: Property
+prop_everySignerIndex = withRun $ \_ r -> withSigner r $ \j ->
+  let ctx = runCtx r
+      keys = NE.toList (keyAggPubKeys ctx)
+      pkJ = at (runPubKeys r) j
+      check i pk =
+        counterexample ("index " <> show i) $
+          signerIndex ctx pk === elemIndex pk keys
+            .&&. partialSigVerify (runSession r) pk (at (runPubNonces r) j) (at (runPsigs r) j) === (pk == pkJ)
+   in conjoin (zipWith check [0 :: Int ..] keys)
+
+prop_signRejects :: Property
+prop_signRejects = withRun $ \_ r -> forAllShow genSecKey showSecKey $ \outsider -> withSigner r $ \j ->
+  let session = runSession r
+      outsiderPk = secKeyPubKey outsider
+   in notElem outsiderPk (runPubKeys r) ==> ioProperty $ do
+        (outsiderNonce, _) <- nonceGenWithRand (BS.replicate 32 7) outsiderPk noNonceInputs >>= either (fail . show) pure
+        result <- sign outsiderNonce outsider session
+        pure $
+          void result === Left SignerNotInSession
+            .&&. signerIndex (runCtx r) outsiderPk === Nothing
+            .&&. not (partialSigVerify session outsiderPk (at (runPubNonces r) j) (at (runPsigs r) j))
+
+prop_keySort :: Property
+prop_keySort = forAll (choose (1, 8) >>= (`vectorOf` genPubKey)) $ \keys -> forAll (shuffle keys) $ \perm ->
+  let sorted = keySort (NE.fromList keys)
+   in sorted === keySort (NE.fromList perm)
+        .&&. map encode (NE.toList sorted) === sort (map encode keys)
+        .&&. fmap aggPubKey (keyAgg sorted) === fmap aggPubKey (keyAgg (keySort (NE.fromList perm)))
+
+prop_plainTweaksAdd :: Property
+prop_plainTweaksAdd = forAll ((,,) <$> genKeys <*> genTweak <*> genTweak) $ \(keys, t1, t2) ->
+  let ctx = unsafeRight (keyAgg keys)
+      apply ts = fmap aggPubKey (foldM (flip applyPlainTweak) ctx ts)
+      Tweak a = t1
+      Tweak b = t2
+      sumT = Tweak ((a + b) `mod` curveOrder)
+   in apply [t1, t2] === apply [t2, t1] .&&. apply [t1, t2] === apply [sumT]
+ where
+  genKeys = (:|) <$> genPubKey <*> (choose (0, 3) >>= (`vectorOf` genPubKey))
+
+-- | Independent BIP-341 computation: t = hash_TapTweak(xbytes(Q) || root).
+prop_taprootIsXOnly :: Property
+prop_taprootIsXOnly = forAll ((,) <$> genPubKey <*> oneof [pure Nothing, Just <$> genBytes 32]) $ \(pk, root) ->
+  let ctx = unsafeRight (keyAgg (pk :| []))
+      tagHash = SHA256.hash "TapTweak"
+      t = SHA256.hash (tagHash <> tagHash <> encode (aggXOnlyPubKey ctx) <> fromMaybe BS.empty root)
+   in fmap aggPubKey (applyTaprootTweak root ctx) === fmap aggPubKey (applyXOnlyTweak (unsafeRight (decode t)) ctx)
+
+nonceGenFresh :: Assertion
+nonceGenFresh = do
+  let pk = secKeyPubKey (unsafeRight (secKeyFromBytes (integerToBytes32 3)))
+  a <- nonceGen pk noNonceInputs
+  b <- nonceGen pk noNonceInputs
+  assertBool "two calls give different public nonces" (fmap snd a /= fmap snd b)
+
+nonceGenKeyMismatch :: Assertion
+nonceGenKeyMismatch = do
+  let sk n = unsafeRight (secKeyFromBytes (integerToBytes32 n))
+  result <- nonceGen (secKeyPubKey (sk 3)) noNonceInputs{nonceSecKey = Just (sk 4)}
+  either Just (const Nothing) result @?= Just NonceSecKeyMismatch
diff --git a/test/Scalars.hs b/test/Scalars.hs
new file mode 100644
--- /dev/null
+++ b/test/Scalars.hs
@@ -0,0 +1,121 @@
+{-# LANGUAGE MultiWayIf #-}
+
+{- | The constant-time secret scalar arithmetic against an 'Integer'
+reference modulo \(n\), and the range checks of secret scalars and keys at
+their boundaries.
+-}
+module Scalars (testScalars) where
+
+import Crypto.Curve.Secp256k1 (neg, _CURVE_G)
+import Crypto.Curve.Secp256k1.MuSig2 (DecodeError (..), pubKeyPoint, secKeyFromBytes, secKeyPubKey, secKeyToBytes)
+import Crypto.Curve.Secp256k1.MuSig2.Internal.Scalar (
+  bytesToInteger,
+  curveOrder,
+  integerToBytes32,
+  secScalarFromBytes,
+  secScalarFromBytesModQ,
+  secScalarToBytes,
+  signScalar,
+  widerFromBytes,
+  widerToBytes,
+ )
+import qualified Data.ByteString as BS
+import qualified Data.Word.Wider as W
+import Generators (genBytes, genNonZeroScalar, genScalar)
+import Test.Tasty
+import Test.Tasty.HUnit
+import Test.Tasty.QuickCheck
+import Util (secScalarFromInt)
+
+testScalars :: TestTree
+testScalars =
+  testGroup
+    "Constant-time scalars"
+    [ testGroup
+        "byte conversions"
+        [ testProperty "widerFromBytes agrees with the Integer decoding" . forAll gen256 $ \x ->
+            W.from_vartime (widerFromBytes (integerToBytes32 x)) === x
+        , testProperty "widerToBytes . widerFromBytes = id" . forAll (genBytes 32) $ \b ->
+            widerToBytes (widerFromBytes b) === b
+        , testCase "edge values round-trip" $
+            mapM_ (\x -> widerToBytes (widerFromBytes (integerToBytes32 x)) @?= integerToBytes32 x) edges
+        ]
+    , testGroup
+        "reduction modulo n"
+        [ testProperty "secScalarFromBytesModQ is int(b) mod n" . forAll gen256 $ \x ->
+            reduced x === x `mod` curveOrder
+        , testCase "edge values: 0, 1, n - 1, n, n + 1, 2^256 - 2, 2^256 - 1" $
+            mapM_ (\x -> reduced x @?= x `mod` curveOrder) edges
+        ]
+    , testGroup
+        "signScalar"
+        [ testProperty "agrees with the Integer reference" $
+            forAll ((,,) <$> genNonZeroScalar <*> genNonZeroScalar <*> genNonZeroScalar) $ \(k1, k2, d) ->
+              forAll ((,,,) <$> arbitrary <*> arbitrary <*> genScalar <*> genScalar) $ \(negNonce, negKey, b, ea) ->
+                signScalar (secScalarFromInt k1) (secScalarFromInt k2) (secScalarFromInt d) negNonce negKey b ea
+                  === referenceSignScalar k1 k2 d negNonce negKey b ea
+        , testCase "k = k1 + b k2 = 0 (negating zero gives zero)" $
+            mapM_
+              ( \(negNonce, negKey) ->
+                  signScalar (secScalarFromInt (curveOrder - 1)) (secScalarFromInt 1) (secScalarFromInt 5) negNonce negKey 1 7
+                    @?= referenceSignScalar (curveOrder - 1) 1 5 negNonce negKey 1 7
+              )
+              [(False, False), (True, False), (False, True), (True, True)]
+        , testCase "public coefficients at the edges: 0, 1, n - 1" $
+            sequence_
+              [ signScalar (secScalarFromInt k1) (secScalarFromInt k2) (secScalarFromInt d) True True b ea
+                  @?= referenceSignScalar k1 k2 d True True b ea
+              | k1 <- [1, curveOrder - 1]
+              , k2 <- [1, curveOrder - 1]
+              , d <- [1, curveOrder - 1]
+              , b <- [0, 1, curveOrder - 1]
+              , ea <- [0, 1, curveOrder - 1]
+              ]
+        ]
+    , testGroup
+        "range checks"
+        [ testCase "secScalarFromBytes at the boundaries" $ do
+            failure (secScalarFromBytes (integerToBytes32 0)) @?= Just ScalarZero
+            failure (secScalarFromBytes (integerToBytes32 curveOrder)) @?= Just ScalarOutOfRange
+            failure (secScalarFromBytes (integerToBytes32 (2 ^ (256 :: Int) - 1))) @?= Just ScalarOutOfRange
+            failure (secScalarFromBytes (BS.replicate 31 1)) @?= Just (InvalidLength 32 31)
+            fmap secScalarToBytes (secScalarFromBytes (integerToBytes32 1)) @?= Right (integerToBytes32 1)
+            fmap secScalarToBytes (secScalarFromBytes (integerToBytes32 (curveOrder - 1))) @?= Right (integerToBytes32 (curveOrder - 1))
+        , testProperty "secScalarFromBytes accepts exactly [1, n)" . forAll gen256 $ \x ->
+            fmap secScalarToBytes (secScalarFromBytes (integerToBytes32 x))
+              === if
+                | x == 0 -> Left ScalarZero
+                | x >= curveOrder -> Left ScalarOutOfRange
+                | otherwise -> Right (integerToBytes32 x)
+        , testCase "secKeyFromBytes: 0, 1, n - 1, n, 2^256 - 1" $ do
+            failure (secKeyFromBytes (integerToBytes32 0)) @?= Just ScalarZero
+            failure (secKeyFromBytes (integerToBytes32 curveOrder)) @?= Just ScalarOutOfRange
+            failure (secKeyFromBytes (integerToBytes32 (2 ^ (256 :: Int) - 1))) @?= Just ScalarOutOfRange
+            let one = secKeyFromBytes (integerToBytes32 1)
+                minusOne = secKeyFromBytes (integerToBytes32 (curveOrder - 1))
+            fmap secKeyToBytes one @?= Right (integerToBytes32 1)
+            fmap secKeyToBytes minusOne @?= Right (integerToBytes32 (curveOrder - 1))
+            fmap (pubKeyPoint . secKeyPubKey) one @?= Right _CURVE_G
+            fmap (pubKeyPoint . secKeyPubKey) minusOne @?= Right (neg _CURVE_G)
+        ]
+    ]
+ where
+  reduced x = bytesToInteger (secScalarToBytes (secScalarFromBytesModQ (integerToBytes32 x)))
+  failure :: Either e a -> Maybe e
+  failure = either Just (const Nothing)
+
+-- | A 256-bit value, uniform or one of the 'edges'.
+gen256 :: Gen Integer
+gen256 = frequency [(1, elements edges), (4, choose (0, 2 ^ (256 :: Int) - 1)), (2, choose (curveOrder, 2 ^ (256 :: Int) - 1))]
+
+-- | Boundary values for 256-bit inputs.
+edges :: [Integer]
+edges = [0, 1, curveOrder - 1, curveOrder, curveOrder + 1, 2 ^ (256 :: Int) - 2, 2 ^ (256 :: Int) - 1]
+
+-- | The 'Integer' arithmetic 'signScalar' replaced.
+referenceSignScalar :: Integer -> Integer -> Integer -> Bool -> Bool -> Integer -> Integer -> Integer
+referenceSignScalar k1 k2 d negateNonce negateKey b ea =
+  let k = (k1 + b * k2) `mod` curveOrder
+      k' = if negateNonce then (curveOrder - k) `mod` curveOrder else k
+      d' = if negateKey then curveOrder - d else d
+   in (k' + ea * d') `mod` curveOrder
diff --git a/test/SignVerify.hs b/test/SignVerify.hs
--- a/test/SignVerify.hs
+++ b/test/SignVerify.hs
@@ -1,50 +1,61 @@
 {-# LANGUAGE OverloadedStrings #-}
 
-{- | Input validation in 'mkSecNonce', 'mkSessionContext' and 'sign'.
+{- | Input validation in nonce generation, key aggregation and signing.
 
-The BIP-0327 @sign_verify_vectors.json@ cases run in "OfficialVectors".
+The BIP-327 @sign_verify_vectors.json@ cases run in "OfficialVectors".
 -}
 module SignVerify (testSignVerify) where
 
-import Crypto.Curve.Secp256k1 (derive_pub, _CURVE_ZERO)
-import Crypto.Curve.Secp256k1.MuSig2 (MuSig2Error (..), SecKey (..), aggNonces, mkSecNonce, mkSessionContext, publicNonce, sign)
-import Data.Maybe (fromMaybe)
+import Crypto.Curve.Secp256k1.MuSig2
+import Crypto.Curve.Secp256k1.MuSig2.Internal.Scalar (curveOrder, integerToBytes32)
+import Crypto.Curve.Secp256k1.MuSig2.Unsafe (secNonceFromBytes)
+import qualified Data.ByteString as BS
+import Data.ByteString.Internal (ByteString (BS))
+import Data.List.NonEmpty (NonEmpty (..))
+import Foreign.ForeignPtr (mallocForeignPtrBytes)
 import Test.Tasty
 import Test.Tasty.HUnit
-import Util (parsePubNonce, unsafeMkSecNonce, unsafeRight)
-
-testInvalidSecNonce :: TestTree
-testInvalidSecNonce =
-  testCase "mkSecNonce rejects zero scalars" $
-    case mkSecNonce invalidSecNoncePub 1 0 of
-      Left (SecretScalarZero "k2") -> pure ()
-      Left err -> assertFailure $ "Expected SecretScalarZero \"k2\", got: Left " ++ show err
-      Right _ -> assertFailure "Expected Left, got Right"
- where
-  invalidSecNoncePub = fromMaybe (error "Failed to derive pubkey") $ derive_pub 1
-
-testContextRejectsInfinityPubkey :: TestTree
-testContextRejectsInfinityPubkey =
-  testCase "mkSessionContext rejects infinity public keys" $ do
-    let aggNonce = unsafeRight $ aggNonces [pubNonce]
-    case mkSessionContext aggNonce [_CURVE_ZERO] [] "msg" of
-      Left PublicKeyAtInfinity -> pure ()
-      _ -> assertFailure "Expected Left PublicKeyAtInfinity"
- where
-  -- First public nonce of BIP-0327 @sign_verify_vectors.json@.
-  pubNonce = parsePubNonce "0337C87821AFD50A8644D820A8F3E02E499C931865C2360FB43D0A0D20DAFE07EA0287BF891D2A6DEAEBADC909352AA9405D1428C15F4B75F04DAE642A95C2548480"
-
-testSignerKeyMismatch :: TestTree
-testSignerKeyMismatch =
-  testCase "sign rejects nonce/key mismatches" $ do
-    let signerPub = fromMaybe (error "Failed to derive signer pubkey") $ derive_pub 2
-        secNonce = unsafeMkSecNonce signerPub 5 7
-        aggNonce = unsafeRight $ aggNonces [unsafeRight $ publicNonce secNonce]
-        ctx = unsafeRight $ mkSessionContext aggNonce [signerPub] [] "msg"
-    sign secNonce (SecKey 3) ctx @?= Left SecretKeyPublicKeyMismatch
+import Util (failsWith, pubNonceFromInts, secKeyFromInt, secNonceFromInts, unsafeRight)
 
 testSignVerify :: TestTree
 testSignVerify =
   testGroup
-    "sign and verify input validation"
-    [testInvalidSecNonce, testContextRejectsInfinityPubkey, testSignerKeyMismatch]
+    "input validation"
+    [ testCase "secret nonce scalars must be in [1, n)" $ do
+        let pk = secKeyPubKey (secKeyFromInt 1)
+            err k1 k2 = either Just (const Nothing) <$> secNonceFromBytes (integerToBytes32 k1 <> integerToBytes32 k2 <> encode pk)
+        err 0 1 >>= (@?= Just ScalarZero)
+        err 1 0 >>= (@?= Just ScalarZero)
+        err curveOrder 1 >>= (@?= Just ScalarOutOfRange)
+        err 1 (curveOrder - 1) >>= (@?= Nothing)
+    , testCase "sign rejects a nonce generated for another key" $ do
+        let sk = secKeyFromInt 2
+            other = secKeyPubKey (secKeyFromInt 3)
+            ctx = unsafeRight (keyAgg (secKeyPubKey sk :| [other]))
+            session = newSession ctx (nonceAgg (pn 5 7 :| [])) "msg"
+        sn <- secNonceFromInts 5 7 other
+        failsWith SecNonceKeyMismatch (sign sn sk session)
+    , testCase "sign rejects a signer outside the key list" $ do
+        let sk = secKeyFromInt 2
+            others = secKeyPubKey (secKeyFromInt 3) :| [secKeyPubKey (secKeyFromInt 4)]
+            session = newSession (unsafeRight (keyAgg others)) (nonceAgg (pn 5 7 :| [])) "msg"
+        sn <- secNonceFromInts 5 7 (secKeyPubKey sk)
+        failsWith SignerNotInSession (sign sn sk session)
+    , testCase "nonceGen rejects extra input longer than 2^32 - 1 bytes" $ do
+        -- Only the length is read before the check fails, so a ByteString
+        -- with a fake length over a 1-byte buffer is enough.
+        fp <- mallocForeignPtrBytes 1
+        let huge = BS fp (2 ^ (32 :: Int))
+            pk = secKeyPubKey (secKeyFromInt 9)
+        result <- nonceGen pk noNonceInputs{nonceExtraInput = Just huge}
+        either Just (const Nothing) result @?= Just NonceExtraInputTooLong
+        ok <- nonceGen pk noNonceInputs{nonceExtraInput = Just (BS.replicate 100 1)}
+        either Just (const Nothing) ok @?= Nothing
+    , testCase "applyTaprootTweak rejects a merkle root that is not 32 bytes" $ do
+        let ctx = unsafeRight (keyAgg (secKeyPubKey (secKeyFromInt 9) :| []))
+        failure (applyTaprootTweak (Just (BS.replicate 31 0)) ctx) @?= Just (InvalidMerkleRootLength 31)
+    ]
+ where
+  failure :: Either e a -> Maybe e
+  failure = either Just (const Nothing)
+  pn = pubNonceFromInts
diff --git a/test/SignVerifyProperty.hs b/test/SignVerifyProperty.hs
deleted file mode 100644
--- a/test/SignVerifyProperty.hs
+++ /dev/null
@@ -1,68 +0,0 @@
-{-# LANGUAGE OverloadedRecordDot #-}
-{-# LANGUAGE OverloadedStrings #-}
-
-module SignVerifyProperty (propertySignVerify) where
-
-import Crypto.Curve.Secp256k1.MuSig2 (MuSig2Error (..), aggNonces, mkSessionContext, partialSigVerify, publicNonce, sign)
-import Crypto.Curve.Secp256k1.MuSig2.Internal (curveOrder)
-import Data.ByteString (ByteString)
-import Test.Tasty
-import Test.Tasty.QuickCheck as QC
-import Util (SignerMaterial (..), unsafeRight)
-
-propertySignVerify :: TestTree
-propertySignVerify =
-  testGroup
-    "sign and partialSigVerify Properties"
-    [ testProperty "Valid Signature Range" prop_validSignatureRange
-    , testProperty "Sign-Verify Roundtrip" prop_signVerifyRoundtrip
-    , testProperty "Signature Determinism" prop_signatureDeterminism
-    , testProperty "Invalid Signer Index Fails" prop_invalidSignerIndex
-    ]
-
--- | Property: Generated signatures are in the valid range \([0, Q-1]\).
-prop_validSignatureRange :: SignerMaterial -> ByteString -> Property
-prop_validSignatureRange signer msg =
-  let pubNonce = unsafeRight $ publicNonce signer.signerSecNonce
-      pubNonces = [pubNonce]
-      pubkeys = [signer.signerPubKey]
-      aggNonce = unsafeRight $ aggNonces pubNonces
-      ctx = unsafeRight $ mkSessionContext aggNonce pubkeys [] msg
-      sig = unsafeRight $ sign signer.signerSecNonce signer.signerSecKey ctx
-   in (sig >= 0) .&&. (sig < curveOrder)
-
--- | Property: A signature created with sign verifies with 'partialSigVerify'.
-prop_signVerifyRoundtrip :: SignerMaterial -> ByteString -> Property
-prop_signVerifyRoundtrip signer msg =
-  let pubNonce = unsafeRight $ publicNonce signer.signerSecNonce
-      pubNonces = [pubNonce]
-      pubkeys = [signer.signerPubKey]
-      aggNonce = unsafeRight $ aggNonces pubNonces
-      ctx = unsafeRight $ mkSessionContext aggNonce pubkeys [] msg
-      sig = unsafeRight $ sign signer.signerSecNonce signer.signerSecKey ctx
-      result = partialSigVerify sig pubNonces pubkeys [] msg 0
-   in result === Right True
-
--- | Property: Signing the same message with the same parameters produces the same signature.
-prop_signatureDeterminism :: SignerMaterial -> ByteString -> Property
-prop_signatureDeterminism signer msg =
-  let pubNonce = unsafeRight $ publicNonce signer.signerSecNonce
-      pubNonces = [pubNonce]
-      pubkeys = [signer.signerPubKey]
-      aggNonce = unsafeRight $ aggNonces pubNonces
-      ctx = unsafeRight $ mkSessionContext aggNonce pubkeys [] msg
-      sig1 = unsafeRight $ sign signer.signerSecNonce signer.signerSecKey ctx
-      sig2 = unsafeRight $ sign signer.signerSecNonce signer.signerSecKey ctx
-   in sig1 === sig2
-
--- | Property: Using an invalid signer index should fail verification.
-prop_invalidSignerIndex :: SignerMaterial -> ByteString -> Property
-prop_invalidSignerIndex signer msg =
-  let pubNonce = unsafeRight $ publicNonce signer.signerSecNonce
-      pubNonces = [pubNonce]
-      pubkeys = [signer.signerPubKey]
-      aggNonce = unsafeRight $ aggNonces pubNonces
-      ctx = unsafeRight $ mkSessionContext aggNonce pubkeys [] msg
-      sig = unsafeRight $ sign signer.signerSecNonce signer.signerSecKey ctx
-      result = partialSigVerify sig pubNonces pubkeys [] msg 1
-   in result === Left (InvalidSignerIndex 1)
diff --git a/test/SignVerifyTweakProperty.hs b/test/SignVerifyTweakProperty.hs
deleted file mode 100644
--- a/test/SignVerifyTweakProperty.hs
+++ /dev/null
@@ -1,88 +0,0 @@
-{-# LANGUAGE OverloadedRecordDot #-}
-{-# LANGUAGE OverloadedStrings #-}
-
-module SignVerifyTweakProperty (propertySignVerifyTweak) where
-
-import Crypto.Curve.Secp256k1 (Pub)
-import Crypto.Curve.Secp256k1.MuSig2 (PubNonce, SessionContext, Tweak (..), aggNonces, mkSessionContext, partialSigVerify, publicNonce, sign)
-import Crypto.Curve.Secp256k1.MuSig2.Internal (curveOrder)
-import Data.ByteString (ByteString)
-import Test.Tasty
-import Test.Tasty.QuickCheck
-import Util (SignerMaterial (..), unsafeRight)
-
-propertySignVerifyTweak :: TestTree
-propertySignVerifyTweak =
-  testGroup
-    "sign and partialSigVerify with Tweaks Properties"
-    [ testProperty "Valid Signature Range with Tweaks" prop_validSignatureRangeWithTweaks
-    , testProperty "Sign-Verify Roundtrip with Tweaks" prop_signVerifyRoundtripWithTweaks
-    , testProperty "Signature Determinism with Tweaks" prop_signatureDeterminismWithTweaks
-    , testProperty "Empty Tweaks Equals No Tweaks" prop_emptyTweaksEqualsNoTweaks
-    , testProperty "Plain Tweaks Are Commutative" prop_plainTweaksCommutative
-    ]
-
-mkTweakedContext :: SignerMaterial -> [Tweak] -> ByteString -> ([PubNonce], [Pub], SessionContext)
-mkTweakedContext signer tweaks msg =
-  let pubNonce = unsafeRight $ publicNonce signer.signerSecNonce
-      pubNonces = [pubNonce]
-      pubkeys = [signer.signerPubKey]
-      aggNonce = unsafeRight $ aggNonces pubNonces
-      ctx = unsafeRight $ mkSessionContext aggNonce pubkeys tweaks msg
-   in (pubNonces, pubkeys, ctx)
-
--- | Property: Generated signatures with tweaks are in the valid range \([0, Q-1]\).
-prop_validSignatureRangeWithTweaks :: SignerMaterial -> Property
-prop_validSignatureRangeWithTweaks signer =
-  forAll (resize 5 $ listOf arbitrary :: Gen [Tweak]) $ \tweaks ->
-    forAll (arbitrary :: Gen ByteString) $ \msg ->
-      let (_, _, ctx) = mkTweakedContext signer tweaks msg
-          sig = unsafeRight $ sign signer.signerSecNonce signer.signerSecKey ctx
-       in (sig >= 0) .&&. (sig < curveOrder)
-
--- | Property: A signature created with tweaks verifies with 'partialSigVerify'.
-prop_signVerifyRoundtripWithTweaks :: SignerMaterial -> Property
-prop_signVerifyRoundtripWithTweaks signer =
-  forAll (resize 5 $ listOf arbitrary :: Gen [Tweak]) $ \tweaks ->
-    forAll (arbitrary :: Gen ByteString) $ \msg ->
-      let (pubNonces, pubkeys, ctx) = mkTweakedContext signer tweaks msg
-          sig = unsafeRight $ sign signer.signerSecNonce signer.signerSecKey ctx
-          result = partialSigVerify sig pubNonces pubkeys tweaks msg 0
-       in result === Right True
-
--- | Property: Signing the same message with the same tweaks produces the same signature.
-prop_signatureDeterminismWithTweaks :: SignerMaterial -> Property
-prop_signatureDeterminismWithTweaks signer =
-  forAll (resize 5 $ listOf arbitrary :: Gen [Tweak]) $ \tweaks ->
-    forAll (arbitrary :: Gen ByteString) $ \msg ->
-      let (_, _, ctx) = mkTweakedContext signer tweaks msg
-          sig1 = unsafeRight $ sign signer.signerSecNonce signer.signerSecKey ctx
-          sig2 = unsafeRight $ sign signer.signerSecNonce signer.signerSecKey ctx
-       in sig1 === sig2
-
--- | Property: Empty tweaks should produce the same result as no tweaks.
-prop_emptyTweaksEqualsNoTweaks :: SignerMaterial -> ByteString -> Property
-prop_emptyTweaksEqualsNoTweaks signer msg =
-  let (_, _, ctxWithEmptyTweaks) = mkTweakedContext signer [] msg
-      sigWithEmptyTweaks = unsafeRight $ sign signer.signerSecNonce signer.signerSecKey ctxWithEmptyTweaks
-      (_, _, ctxWithNoTweaks) = mkTweakedContext signer [] msg
-      sigWithNoTweaks = unsafeRight $ sign signer.signerSecNonce signer.signerSecKey ctxWithNoTweaks
-   in sigWithEmptyTweaks === sigWithNoTweaks
-
--- | Property: Plain tweaks are commutative.
-prop_plainTweaksCommutative :: SignerMaterial -> Integer -> Integer -> ByteString -> Property
-prop_plainTweaksCommutative signer t1 t2 msg =
-  t1 > 0
-    && t1 < curveOrder
-    && t2 > 0
-    && t2 < curveOrder
-    && t1 /= t2
-    ==> let
-          tweak1 = PlainTweak t1
-          tweak2 = PlainTweak t2
-          (_, _, ctx1) = mkTweakedContext signer [tweak1, tweak2] msg
-          sig1 = unsafeRight $ sign signer.signerSecNonce signer.signerSecKey ctx1
-          (_, _, ctx2) = mkTweakedContext signer [tweak2, tweak1] msg
-          sig2 = unsafeRight $ sign signer.signerSecNonce signer.signerSecKey ctx2
-         in
-          sig1 === sig2
diff --git a/test/Util.hs b/test/Util.hs
--- a/test/Util.hs
+++ b/test/Util.hs
@@ -1,220 +1,104 @@
-{-# LANGUAGE InstanceSigs #-}
-{-# LANGUAGE OverloadedStrings #-}
-{-# LANGUAGE RecordWildCards #-}
-{-# OPTIONS_GHC -Wno-orphans #-}
-
-module Util (parsePoint, parseScalar, parsePubNonce, extractXOnly, decodeHex, Rand32 (..), Scalar (..), SignerMaterial (..), unsafeRight, unsafeMkSecNonce) where
+-- | Helpers shared by the test modules.
+module Util (
+  decodeHex,
+  hexOf,
+  unsafeRight,
+  unsafeDecode,
+  secKeyFromInt,
+  tweakFromInt,
+  psigFromInt,
+  secNonceFromInts,
+  secScalarFromInt,
+  pubNonceFromInts,
+  failsWith,
+  decodeEach,
+  isOnCurveX,
+  Hex (..),
+  strictObject,
+) where
 
-import Crypto.Curve.Secp256k1 (Projective, Pub, derive_pub, mul, parse_point, serialize_point, _CURVE_G, _CURVE_ZERO)
-import Crypto.Curve.Secp256k1.MuSig2 (PubNonce (..), SecKey (..), SecNonce, SecNonceGenParams (..), Tweak (..), mkSecNonce)
-import Crypto.Curve.Secp256k1.MuSig2.Internal (curveOrder, secNonceScalars)
+import Control.Monad (unless)
+import Crypto.Curve.Secp256k1.MuSig2 (DecodeError, Encode (..), PartialSignature, PubKey, PubNonce, SecKey, SecNonce, Tweak, secKeyFromBytes)
+import Crypto.Curve.Secp256k1.MuSig2.Internal.Nonce (pubNonceFromScalars, secNonceFromScalars)
+import Crypto.Curve.Secp256k1.MuSig2.Internal.Scalar (SecScalar, fieldSize, integerToBytes32, secScalarFromBytes)
+import Data.Aeson (FromJSON (..), Value, withObject)
+import qualified Data.Aeson.Key as Key
+import qualified Data.Aeson.KeyMap as KeyMap
+import Data.Aeson.Types (Object, Parser)
 import Data.ByteString (ByteString)
-import qualified Data.ByteString as BS
 import qualified Data.ByteString.Base16 as B16
-import Data.Maybe (fromJust, fromMaybe)
-import Test.Tasty.QuickCheck (Arbitrary (..), Gen, choose, frequency, vectorOf)
-
-{- | Parses a 'ByteString' into a 'Pub'key.
-
-This is a test YOLO function that blows up on your face if you don't
-supply proper string representations.
--}
-parsePoint :: ByteString -> Pub
-parsePoint s = case B16.decode s of
-  Left p -> error $ "cannot decode point" <> show p
-  Right p -> (fromJust . parse_point) p
-
--- | Parses a hex 'ByteString' into an 'Integer' scalar.
-parseScalar :: ByteString -> Integer
-parseScalar = BS.foldl' (\acc b -> acc * 256 + fromIntegral b) 0 . decodeHex
-
--- | Extracts X-coordinate from compressed point serialization.
-extractXOnly :: Pub -> ByteString
-extractXOnly = BS.drop 1 . serialize_point
+import qualified Data.ByteString.Char8 as BC
+import Data.Char (toUpper)
+import Data.Maybe (fromMaybe)
+import Test.Tasty.HUnit (Assertion, (@?=))
 
--- | Decodes hex string to 'ByteString'.
+-- | Decodes hex; fails the test on invalid input.
 decodeHex :: ByteString -> ByteString
-decodeHex h = case B16.decode h of
-  Right bs -> bs
-  Left _ -> error "Invalid hex string in test vector"
-
-{- | 'Arbitrary' instance for 'Projective'.
-
-Generate points as scalar multiples of the generator,
-including the identity with low probability (1%).
--}
-instance Arbitrary Projective where
-  arbitrary :: Gen Projective
-  arbitrary =
-    frequency
-      [ (1, return _CURVE_ZERO) -- Include identity occasionally
-      ,
-        ( 99
-        , do
-            scalar <- choose (0, curveOrder)
-            return (fromMaybe (error "Failed to multiply scalar by generator") $ mul _CURVE_G (fromInteger scalar))
-        )
-      ]
-
--- | Custom 'Gen' for 'ByteString' that generates maximum length of 1,024.
-arbitraryBS :: Gen ByteString
-arbitraryBS = do
-  len <- choose (0, 1024) :: Gen Int -- Limit size to avoid excessive memory use
-  BS.pack <$> vectorOf len arbitrary
-
-genNonZeroPub :: Gen Pub
-genNonZeroPub = do
-  scalar <- choose (1, curveOrder - 1)
-  pure $ fromMaybe (error "Failed to derive non-zero public key") $ derive_pub (fromInteger scalar)
-
--- | 'Arbitrary' instance for 'ByteString'.
-instance Arbitrary ByteString where
-  arbitrary = arbitraryBS
-
--- | Scalar type for testing secret keys.
-newtype Scalar = Scalar Integer deriving (Show, Eq)
-
--- | 'Arbitrary' instance for 'Scalar' to be within curve order.
-instance Arbitrary Scalar where
-  arbitrary = Scalar <$> choose (1, curveOrder - 1)
-
--- | 32-byte 'ByteString' for testing hashes.
-newtype Rand32 = Rand32 ByteString deriving (Show, Eq)
+decodeHex h = either (error . ("invalid hex in test: " <>)) id (B16.decode h)
 
--- | 'Arbitrary' instance for 'Rand32'.
-instance Arbitrary Rand32 where
-  arbitrary = Rand32 . BS.pack <$> vectorOf 32 arbitrary
+-- | Upper-case hex, as in the BIP-327 vector files.
+hexOf :: ByteString -> String
+hexOf = map toUpper . BC.unpack . B16.encode
 
 unsafeRight :: (Show e) => Either e a -> a
 unsafeRight = either (error . show) id
 
-unsafeMkSecNonce :: Pub -> Integer -> Integer -> SecNonce
-unsafeMkSecNonce pub k1 k2 = unsafeRight (mkSecNonce pub k1 k2)
-
-data SignerMaterial = SignerMaterial
-  { signerSecKey :: SecKey
-  , signerPubKey :: Pub
-  , signerSecNonce :: SecNonce
-  }
-
-{- | 'Arbitrary' instance for 'SecNonceGenParams'.
-
-Slightly biased towards 'Just' than 'Nothing'.
--}
-instance Arbitrary SecNonceGenParams where
-  arbitrary = do
-    _sk <- frequency [(2, return Nothing), (3, genMaybeSecKey)]
-    _pk <- case _sk of
-      Nothing -> genNonZeroPub
-      Just (SecKey sk) -> pure $ fromMaybe (error "Failed to derive pubkey from generated secret key") $ derive_pub (fromInteger sk)
-    _aggpk <- frequency [(2, return Nothing), (3, Just <$> genNonZeroPub)]
-    _msg <- frequency [(2, return Nothing), (3, Just <$> arbitraryBS)]
-    _extraIn <- frequency [(2, return Nothing), (3, Just <$> arbitraryBS)]
-    return SecNonceGenParams{..}
-   where
-    genMaybeSecKey :: Gen (Maybe SecKey)
-    genMaybeSecKey = do
-      (Scalar i) <- arbitrary
-      return $ Just (SecKey i)
-
-{- | 'Show' instance for 'SecNonceGenParams'.
-
-Should only used for testing purposes, hence why it is only defined in this test module.
--}
-instance Show SecNonceGenParams where
-  show (SecNonceGenParams _pk _sk _aggpk _msg _extraIn) =
-    let showMaybeBS mb = case mb of
-          Nothing -> "Nothing"
-          Just bs -> "Just (ByteString of length " ++ show (BS.length bs) ++ ")"
-        showSk msk = case msk of
-          Nothing -> "Nothing"
-          Just sk -> "Just " ++ show sk
-     in "SecNonceGenParams {_pk = "
-          ++ show _pk
-          ++ ", _sk = "
-          ++ showSk _sk
-          ++ ", _aggpk = "
-          ++ show _aggpk
-          ++ ", _msg = "
-          ++ showMaybeBS _msg
-          ++ ", _extraIn = "
-          ++ showMaybeBS _extraIn
-          ++ "}"
+-- | Decodes a hex encoding; fails the test on invalid input.
+unsafeDecode :: (Encode a) => ByteString -> a
+unsafeDecode = unsafeRight . decode . decodeHex
 
--- | 'Arbitrary' instance for 'PubNonce'.
-instance Arbitrary PubNonce where
-  arbitrary :: Gen PubNonce
-  arbitrary = do
-    r1' <- arbitrary
-    r2' <- arbitrary
-    return $ PubNonce{r1 = r1', r2 = r2'}
+-- | A secret key from a test scalar in \([1, n)\).
+secKeyFromInt :: Integer -> SecKey
+secKeyFromInt = unsafeRight . secKeyFromBytes . integerToBytes32
 
--- | 'Arbitrary' instace of 'SecNonce'.
-instance Arbitrary SecNonce where
-  arbitrary = do
-    scalar <- choose (1, curveOrder - 1)
-    let pub = fromMaybe (error "Failed to derive pubkey for SecNonce") $ derive_pub (fromInteger scalar)
-    k1 <- choose (1, curveOrder - 1)
-    k2 <- choose (1, curveOrder - 1)
-    pure (unsafeMkSecNonce pub k1 k2)
+-- | A secret scalar from a test scalar in \([1, n)\).
+secScalarFromInt :: Integer -> SecScalar
+secScalarFromInt = unsafeRight . secScalarFromBytes . integerToBytes32
 
-{- | 'Show' instance for 'SecNonce'.
+-- | The public nonce of two test scalars in \([1, n)\).
+pubNonceFromInts :: Integer -> Integer -> PubNonce
+pubNonceFromInts k1 k2 = fromMaybe (error "zero nonce") (pubNonceFromScalars (secScalarFromInt k1) (secScalarFromInt k2))
 
-Should only used for testing purposes, hence why it is only defined in this test module.
--}
-instance Show SecNonce where
-  show secNonce =
-    let (k1, k2) = secNonceScalars secNonce
-     in "SecNonce { k1=" ++ show k1 ++ ", k2=" ++ show k2 ++ "}"
+tweakFromInt :: Integer -> Tweak
+tweakFromInt = unsafeRight . decode . integerToBytes32
 
--- | 'Arbitrary' instace of 'SecKey'.
-instance Arbitrary SecKey where
-  arbitrary = do
-    sk <- choose (1, curveOrder - 1) -- Ensure non-zero
-    return (SecKey sk)
+psigFromInt :: Integer -> PartialSignature
+psigFromInt = unsafeRight . decode . integerToBytes32
 
-{- | 'Show' instance for 'SecKey'.
+-- | A fresh secret nonce from its scalars; fails the test if they are out of range.
+secNonceFromInts :: Integer -> Integer -> PubKey -> IO SecNonce
+secNonceFromInts k1 k2 pk = unsafeRight <$> secNonceFromScalars (secScalarFromInt k1) (secScalarFromInt k2) pk
 
-Should only used for testing purposes, hence why it is only defined in this test module.
+{- | Decodes each byte string in order; the first failure comes with its
+position, as BIP-327 blames the signer who sent it.
 -}
-instance Show SecKey where
-  show (SecKey int) = "SecKey " ++ show int
+decodeEach :: (Encode a) => [ByteString] -> Either (Int, DecodeError) [a]
+decodeEach = traverse (\(i, b) -> either (Left . (,) i) Right (decode b)) . zip [0 ..]
 
-instance Arbitrary SignerMaterial where
-  arbitrary = do
-    sk <- choose (1, curveOrder - 1)
-    let secKey = SecKey sk
-        pub = fromMaybe (error "Failed to derive pubkey for signer material") $ derive_pub (fromInteger sk)
-    k1 <- choose (1, curveOrder - 1)
-    k2 <- choose (1, curveOrder - 1)
-    pure
-      SignerMaterial
-        { signerSecKey = secKey
-        , signerPubKey = pub
-        , signerSecNonce = unsafeMkSecNonce pub k1 k2
-        }
+-- | Whether \(x < p\) is the x-coordinate of a point (Euler's criterion on \(x^3 + 7\)).
+isOnCurveX :: Integer -> Bool
+isOnCurveX x = x < fieldSize && powMod (x * x * x + 7) ((fieldSize - 1) `div` 2) fieldSize /= fieldSize - 1
+ where
+  powMod b e m = go (b `mod` m) e 1
+   where
+    go _ 0 acc = acc
+    go base k acc = go (base * base `mod` m) (k `div` 2) (if odd k then acc * base `mod` m else acc)
 
-instance Show SignerMaterial where
-  show signer =
-    "SignerMaterial { signerSecKey = "
-      ++ show (signerSecKey signer)
-      ++ ", signerSecNonce = "
-      ++ show (signerSecNonce signer)
-      ++ "}"
+-- | Runs an action that must fail with exactly the given error.
+failsWith :: (Eq e, Show e) => e -> IO (Either e a) -> Assertion
+failsWith expected action = action >>= \result -> either Just (const Nothing) result @?= Just expected
 
--- | 'Arbitrary' instance for 'Tweak'.
-instance Arbitrary Tweak where
-  arbitrary = do
-    tweakValue <- choose (1, curveOrder - 1) -- Ensure valid tweak value
-    isXOnly <- arbitrary
-    return $ if isXOnly then XOnlyTweak tweakValue else PlainTweak tweakValue
+-- | Hex-encoded bytes in JSON.
+newtype Hex = Hex {unHex :: ByteString}
 
-{- | Parses a 'ByteString' into a 'PubNonce'.
+instance FromJSON Hex where
+  parseJSON v = do
+    s <- parseJSON v
+    either (fail . (("invalid hex " <> show s <> ": ") <>)) (pure . Hex) (B16.decode (BC.pack s))
 
-Mostly used to parse BIP-0327 test vectors.
--}
-parsePubNonce :: ByteString -> PubNonce
-parsePubNonce bs = PubNonce{r1 = r1', r2 = r2'}
- where
-  r1' = parsePoint $ BS.take 66 bs
-  r2' = parsePoint $ BS.drop 66 bs
+-- | Like 'withObject', but fails on fields outside the allowed list.
+strictObject :: String -> [Key.Key] -> (Object -> Parser a) -> Value -> Parser a
+strictObject what allowed k = withObject what $ \o -> do
+  let unknown = filter (`notElem` allowed) (KeyMap.keys o)
+  unless (null unknown) $ fail (what <> ": unexpected fields " <> show (map Key.toString unknown))
+  k o
diff --git a/test/vectors/diff/README.md b/test/vectors/diff/README.md
new file mode 100644
--- /dev/null
+++ b/test/vectors/diff/README.md
@@ -0,0 +1,38 @@
+# Differential corpus
+
+`corpus.json` holds NonceGen cases and complete BIP-327 signing sessions whose
+expected values were computed by the BIP-327 reference implementation,
+[`reference.py`](https://github.com/bitcoin/bips/blob/b34d9f751791d4feb22feff4f2ed00bcac83961b/bip-0327/reference.py)
+at bips commit `b34d9f751791d4feb22feff4f2ed00bcac83961b` (SHA-256 of
+`reference.py`: `1167993fe159c39c004f74d9046e931ae700a2ce9203c4cf58a51a000c1294e8`).
+`test/DiffCorpus.hs` replays every case through the library's public API and
+the coordinator and compares every value byte for byte.
+
+It has 48 NonceGen cases and 300 sessions with 1 to 8 signers: duplicate and
+all-equal keys, KeySort, chains of plain, x-only and Taproot tweaks (including
+0, n - 1, gacc = n - 1 and tweaks to infinity), empty, 32-byte and longer
+than 255-byte messages, nonces bound to every combination of NonceGen's
+optional inputs, DeterministicSign signers, aggregate nonces with infinity
+halves, and failing PartialSigVerify cases. `scripts/gen-diff-corpus.py`
+describes every field.
+
+| File | SHA-256 |
+| --- | --- |
+| `corpus.json` | `ee7da0d791afd3a1ffe423c2886e5ec6744069a3b7ba56371bedf48ef99247f3` |
+
+The test suite checks this checksum (`corpusSha256` in `test/DiffCorpus.hs`)
+and that the corpus still covers each kind of case. Under `cabal test` the
+working directory is the package root; to run the test binary from elsewhere,
+set `MUSIG2_DIFF_CORPUS` to the path of `corpus.json`.
+
+To regenerate it, from the package root:
+
+```console
+$ git clone https://github.com/bitcoin/bips /path/to/bips
+$ git -C /path/to/bips checkout b34d9f751791d4feb22feff4f2ed00bcac83961b
+$ python3 -I scripts/gen-diff-corpus.py /path/to/bips/bip-0327/reference.py > test/vectors/diff/corpus.json
+```
+
+The output depends only on the seed in the script and on `reference.py`, so
+the same inputs give the same file. After changing the generator, update
+the checksum here and in `test/DiffCorpus.hs`.
diff --git a/test/vectors/diff/corpus.json b/test/vectors/diff/corpus.json
new file mode 100644
--- /dev/null
+++ b/test/vectors/diff/corpus.json
@@ -0,0 +1,357 @@
+{
+"bips_commit": "b34d9f751791d4feb22feff4f2ed00bcac83961b",
+"reference_sha256": "1167993fe159c39c004f74d9046e931ae700a2ce9203c4cf58a51a000c1294e8",
+"seed": 327,
+"nonce_gen": [
+{"rand":"98260a99c3bb10aeb8b5c4fb89f4b59bde7ac3b93acc427d826cba74d631e79d","pk":"03333b259807606841629a85e001eb91a307c80b8332f19b56376e475c7bcb491c","sk":null,"aggpk":null,"msg":null,"extra_in":null,"secnonce":"719d8eefad3687b5d273689efff4b366eb61098985036a1b56576e6adb2f90fee4c1ceb1c032e1e46b004595845b8e2d48ddb30380635f8dfd11765f0028ce7803333b259807606841629a85e001eb91a307c80b8332f19b56376e475c7bcb491c","pubnonce":"02e16312a5a303d8068e63555e848a3de51f70a489022b07ee885659f67515ccf3024ac024d59442efaf10b462af4ea58ffddc98adbbdc65118dad3e68708079764b"},
+{"rand":"c0e93680852b244587c318e57633f5e84ae17457e39f9a382a16c0902deff538","pk":"02d60a3db8ee2a2c04c7cea933bcf5a32952bf67bd4be60ba04a39ac23ede38a25","sk":"4e1c36d66b64e43d801805d5c28bcfeb50d80baeb9c21640d3dd86e9bf0752e0","aggpk":null,"msg":null,"extra_in":null,"secnonce":"4717b07120c661bc03dcfd45336dc07ee343b92d9eed4afc99a200fd5efd188e5dda011c398164b4eecc5bafd301575d06cc4176caffdd1c84dc3deaf33e4bd702d60a3db8ee2a2c04c7cea933bcf5a32952bf67bd4be60ba04a39ac23ede38a25","pubnonce":"03a6972af5c737b724c1409d43b86d7c62fab8d85ed63834972c5313e4a72d09f0030d888138c50081426b21cdb3dd6b3b27fa5be0665a28ba4fab99f97cd9700201"},
+{"rand":"4764952fe5201ca9cd6be97a6d735639607256e8e219a028374c79f9e35f8856","pk":"0349151d3ee805669fdc83e8b1c6fe9b98abc0e00d303ace18799ad49612bc214e","sk":null,"aggpk":"4176f07b665c30c51e5f0768166f4456b8e7de39348358b15d7856377116bd40","msg":null,"extra_in":null,"secnonce":"b18a1528a886731774b60f2e03aeba55adc6026d0720f61e3d20ebf501ac87b6117ec074e5f056a0efa5cacfb563199b07e71be31f2686d076ebb19c7bbb86d70349151d3ee805669fdc83e8b1c6fe9b98abc0e00d303ace18799ad49612bc214e","pubnonce":"034ef10d7305a8626a3040c6e0de607c5e1876f638a815fc8a446c15fc77ac2544022308e94e8490d382c521cd9c0963ea0be78107cebdee929b9955b48c50a1b8ec"},
+{"rand":"5043afbd7af656a247fcd6f70ee3948a6a4514e4504b690fc87cc32dd63d53db","pk":"020e8aa5bfa4841e71d8f67063f190a5345d81860ed03d5242482a2e97f20cb783","sk":"b9b83d899cfdddeb635576898c2cf430df171cc3778de9b8519969da8802c789","aggpk":"fdea2273bc386cbf257ade973b615ab5dea1d0ca7b8b28a7a70062f2f76b91ff","msg":null,"extra_in":null,"secnonce":"3150d15f915a114078d25cbb7afc64c87a6f22d2d61ecf1302d8eef7b72847cc634ac0de8156b2f7cd3f6079799f999bda4a69307f6efbb42896ddb7b4c8068b020e8aa5bfa4841e71d8f67063f190a5345d81860ed03d5242482a2e97f20cb783","pubnonce":"03e2612b18e87daf7b7fb87e7067fc6705e582b1dcabfb416658747295011b0c2603c66123425e3eda815cabe43e360241a05e65d7dcccc5a0a20b74ef10f859bb8f"},
+{"rand":"4f576a7271d3d991498c526068714d3291288fa6d1662440c233cc551676d29b","pk":"02228bce5d186c008eb3a7933d56fc8e1a51fe4dedd469219a06fe20efa09f1b20","sk":null,"aggpk":null,"msg":"","extra_in":null,"secnonce":"dc7c39921a017c6af969961872cf153b7959645a5b079d75b1c20207f68ed6df5cb50dfa3376adff520096e75e6d0c26980a31edb0e89bd853996e294ff533ec02228bce5d186c008eb3a7933d56fc8e1a51fe4dedd469219a06fe20efa09f1b20","pubnonce":"0358f718d1f9a68d9d36c8855359c58cdda81503eab912f128edf863c5087f74150312cdaa36a316f7ed36bf63d775e4082d7c01b40cf9aae587ae09f8e4bbebfb74"},
+{"rand":"803cef04442853168b791970919100ad7ec455657f399be7427c8e0964aae6bc","pk":"02dd7b704cba12ff28becbc731f8c538b43a8ea18ce2f8247bb93c5cfeec160458","sk":"09e16638ca8e8ab51eec60c41bfb2e65ecc031ba5fede1eff7f65c4c1d276167","aggpk":null,"msg":"","extra_in":null,"secnonce":"1f8a972aa7396b4cbf58851516d5960b60c61617640c3f4615564239bf251708ae126601b1ecab128a770b250dc10517415cb3e09ee7a6d0cfaa9ba3f29cac7b02dd7b704cba12ff28becbc731f8c538b43a8ea18ce2f8247bb93c5cfeec160458","pubnonce":"022483ca4d7f9a8beb167a763a97d58f529c0ff83309db3ae8fb3361ab5559343c037253a1f8b5ffccf1ad5526fcb28d48e76a98be0b44c0996ce59659bb55f1ec10"},
+{"rand":"343703c174d3be9781a69c992ac10ed64101b176e6bdb3f9428c23bfd8d22abd","pk":"03a8184ddd1adda5c299f6e5eb90e9ce27abb5cf6b823aacefc28a1b848a21e68e","sk":null,"aggpk":"0b34b5f4d29e3b04800cfa0dd12f481a7030d07c753777beedbe485c924646bc","msg":"","extra_in":null,"secnonce":"e6d0e03e7e281513afd4aa8ace62406e02304290448f5ae558c9c906038e33bfb4381b88b40af5116bcb8e336d078bb2f4c5a044085ed278972b80eebe0d608903a8184ddd1adda5c299f6e5eb90e9ce27abb5cf6b823aacefc28a1b848a21e68e","pubnonce":"028f00197d30dfbed8e6ddaba70f8703ae6006c74d370e0ae99f6c746212934346027ad81058f955d59038c37937a1c1de9ddb685ae045f52d43095091ccc264c7c2"},
+{"rand":"d9315d46ac3d7f3bfdc0aa23f759088bb62bef05ba94c6c7d10a4b021e00c582","pk":"03471b5630a8664604607c342b203cb70eb86a55e93872c4a2cf29a8f9031c12ed","sk":"51f016afef323ccf519412eea66cd912720162280c922f20057a4afc3f74689c","aggpk":"8001275722d0674de8ee79211d7d0c87db63a652d16e9e32bddcb0d2733607f8","msg":"","extra_in":null,"secnonce":"7f15a6075581ade1e0090d5d713796d5277d4cb8644df41a987c5f7c7ed281f6ea64d2592d5320419e8d1250d8f72d3e0b3b9eba680ecee720b9dee1ae1138fa03471b5630a8664604607c342b203cb70eb86a55e93872c4a2cf29a8f9031c12ed","pubnonce":"02c5e6ac97fc206831efa2296427f43ac4a4da23f259e427d99c60abdf1ccac85203dfc76c228f1821e82b9515c9f2f057651f27b6f3926a5834a58434c518223ffd"},
+{"rand":"a6d6f16de19c971457b152c4febfcf580426623b5f0b0247c1ef3614974ab1cf","pk":"02986406c357aa66e7e0c068102b1c857f7f4c4ce625874520aec613a7bf33f3c1","sk":null,"aggpk":null,"msg":"dd03e4074395dbf67f62b5937e95f396","extra_in":null,"secnonce":"549eba7a77605c359d33d7676a97ae65f850364d899575141e6d34f7075e89548c2f3e176b6b08543c7ab214348308be45e076c68725bcdcf039b83f300830fa02986406c357aa66e7e0c068102b1c857f7f4c4ce625874520aec613a7bf33f3c1","pubnonce":"039724daf24d8d470534b6a29191a39bee3c8b8688433175ffc1c5721dc050abcb02e04adf4cc7f5b3859c9744eccb62513a73f0b16ee1feb3538a9b1de481c3a8a6"},
+{"rand":"75ada9f8498ac3a2f234e07abe633c653f037670ff771e65b3e3c18dd41beb62","pk":"03fbdb5e9a4c609a496dfc0609940f26e8ffad8a1da59c37fa9afeb9cea057ee88","sk":"3b361779f6b3189251604e47714621de7136e4261bfd07fe46d62e70b3748646","aggpk":null,"msg":"abad84ab0aa67746f8979ba9a0908e498e213c7879335a046a7a21d22a0714a877502003bfe5e367910611b435bedf6554fbc41cd2baf07f45a723d261e07ac5ec21648073fb472e2e704371528fce70a83fd58b71a7c9dc0044ff31cf25f71ebec9059f06fcd52066ddb08c7ecf659096d2a252c0366553bbf7a1e2d0cb908fb04f48f7b3d765654186fcea","extra_in":null,"secnonce":"3bfa33cc033653a5f6b80d0c5404dea11d4040491f2c2e2ee64ae6c9b39cea1cb6a15eb5acfeb14f3b17078e5f60f1a406ea267dd8903dc930e1905fe952234003fbdb5e9a4c609a496dfc0609940f26e8ffad8a1da59c37fa9afeb9cea057ee88","pubnonce":"020e6926ace14ceeada3fcc55d0eec0cafae22b598f4541d2c3bb8036df20023c102795a990c44760534f87d70f64459b5c844a15c6bfe9fd1627b279b37b4bdd5e4"},
+{"rand":"75c5bf442fde08adfa3d3bc827770ebc39c8de30aae523ea52afc86b2ab9fa65","pk":"03aab4be6e51569b54a66cbda54c59258238e6853cee8090791e69260a8ca47a87","sk":null,"aggpk":"5285e243ccd9c3d6470d2f42eae1fe395b3780602fff9e5c6d6fece380ec9fd9","msg":"101cf58ac755719f97f6657e22f5e7d5332ad644e9d87457b68ba2e160241c081e9d94578717082c81a22bffc531ca7ae79715c61674498cf7535e5eff07843a4b12ef2e4c972f4017904957e660a4e43e39688f28506efa7566ed7b0246e24994f375a91a7c91fb3eb59a9059e2d2dfa600c38164afbf05a9ce9e7a3e9149c2d2751bdb8910043ae3f378cd075362197af66053f8557951afda8e802aedb4379554f4bf48fccb4f936a75d3c918f0dc341bc481392593eb6d62b32b43f70c6659211c2230cbc09fd7c8db9af40dc8e9bdb7a2ed18c2","extra_in":null,"secnonce":"84029e8bc5330af06c859c921c1ace2d151d053d0006b5317d8124dbf9c7f7c03318519e1a073c5a6f5a7ad4253d65960e27bd7db56b8c626f7676975859ae2d03aab4be6e51569b54a66cbda54c59258238e6853cee8090791e69260a8ca47a87","pubnonce":"02a909776ce5e3edee5c2c02d038bc55aeef93fa5643ddfb338a52ad5710005af7034f75841d2cf5d531c27a4eea581a07ed8d6e3023dc2f35666735e1e1b103eb2f"},
+{"rand":"a6996612a538954030643eacb4e6cb0fe10891a0839139a87876b76bedbe782e","pk":"0204ef8ad51d48cbe4108c4e2c2fa54c8de8af33d767b74191ce454fb3a0696fac","sk":"dc25dc4bcc6f3efc4fdec81eb4f96f99591b68313bdcb639e1b80135de71b20b","aggpk":"e5b6bf0763521ebe8947b929d14985b54596b6bf93ac102d6526d7913b5a3373","msg":"64a54b2c9cc8f424b0a62e2a44ea2c0a43db32b33193ed918e1d0813a2a991fb11d10fd9b905780485e3f9eac4bf590e5ae78ba784e618d4bab3bbb4db75fe911eeecbd8816b57cb196ef84b7df3605c707055a26444500d15ba8d41afbe61cebf737a1b1c92f9f34d57c770dd95a41532af6223afa0a630232e1b1dc4d928a402287191ad631dd49855ae31c921a94f6d09cd0f5bd9ddf7c6baf2ae053113c160cf129a3e12f1b6498f4a33b96563849268ebd4789d9adae71c27c92f7aedc88a7c69c7b1c65db3de4b9484d80cb0106811ada30c3a1a1db04a30a59efddeeddd1d93","extra_in":null,"secnonce":"e30b4d59236efd1b9ce3431adf83ae58bf4037c85ee1a413b914a3f8c24e28d2b31f2c29f3c0b0f96fd1b899841e1c5dd4cf9c86d8ff8e2f2472b69f6eea1b3c0204ef8ad51d48cbe4108c4e2c2fa54c8de8af33d767b74191ce454fb3a0696fac","pubnonce":"039075eb1c7d8e513477b095194c4cb7652ffd8178087cf3d5d00b9b2b6e702c4e023889d9de805f972cb61761042e67a63e00fec0eec57bc2a5a82aa049acd2eb03"},
+{"rand":"df30e1840757ad5281af370bb8e7921171909c098bd07a7c8f46812d20dc8be1","pk":"021d45a56cbb99622a12de2129b5ed4d9fb982bd3d38f652845cdadb2eeef01246","sk":null,"aggpk":null,"msg":null,"extra_in":"","secnonce":"2cfae3c6819b81962b1f2587e5f1a5e8fab430966f86fad9ce14ea5836d5fdc151514290c0c28f46026a9531ea8551c9e39d2f0dd5529f789d0ff5bb690e7533021d45a56cbb99622a12de2129b5ed4d9fb982bd3d38f652845cdadb2eeef01246","pubnonce":"02be5284e94e000e292747156a0766faa25b76f1a8a612726cee1b83186c2e67e30235ee00b1423b77844490ecb97be82f84b45d46c6682f8476cd5c9a995fe56b85"},
+{"rand":"bb8583db172f0011f479adeab685151cfaccc281538991e21a0a17f90712b5a4","pk":"0279b79290fc55d340855ba05a45779cb57644650383dd3f26a7d225570d406f26","sk":"8d2a0f328ac626906b33321cce599d98be9cd8180b2334fb6a37cff0fdccc849","aggpk":null,"msg":null,"extra_in":"","secnonce":"6ae82427102944d9d700d56b7d3c01ddb9215304cc64f0dc6d710e70854284acb1df2c0ab58e60bd2d5dac0a92f8fa4d18dfd69f129e6891f4aa122cb537fbf90279b79290fc55d340855ba05a45779cb57644650383dd3f26a7d225570d406f26","pubnonce":"02b93ba6dddd5cacdcb7a3b4c68e968092df55b7111dd7baccf8316ab390dfab3c03757ba55a84c55e5adab854d8fd375b3f30a51657af948bc67c44d37a994c1323"},
+{"rand":"ad8669004d327c6a227cfe6880dd23f6a9c7f3189fdb218f1a7113eca6da2d5d","pk":"035c958a52abdc119172fa9daf609eb396e03670d2660f457da8c01584d280c5b6","sk":null,"aggpk":"58f929ffabf86bcab078334060d836069159d671b1b0cc945d8dca4575519204","msg":null,"extra_in":"","secnonce":"0628bc4977967ae0ce460d7a817d44f702e7a9d2d3708a6f246e44695b9f7c9e1758a9cbcd2c0250cf241bd596b44af97a0e795a1a57fef7ecc864aa06828a27035c958a52abdc119172fa9daf609eb396e03670d2660f457da8c01584d280c5b6","pubnonce":"03fb3741cb47e4503812b1c34314f6b29e61f184fd36933c9400791fbbb77bd6aa02674df31480f48dff15b9c793690e9d73e85942e9b1efdf0fcf9fb830362fdeed"},
+{"rand":"e7ab7284def5af30a943c1cfd0bbd8d31a24a24fac6fb88b3435a5e231d19876","pk":"03c4f37aad7e5df1dd12a77870b629b38bcdc4e04404e3779ded3c185e01f41854","sk":"12c244902ebfc665c71318f98043bc796cb8625c93c372e2820042de9721d30e","aggpk":"7213acfb533a0652e60e1fb03a57f87934c64549500cb3bf170f0007710ed7c7","msg":null,"extra_in":"","secnonce":"d17e4b382ac719f7120bf518228cafd14e5e07aebd3607db36f498cc21483db02e3a4a834c231c616b162627e918c9c16aff5445b392baa2cfe7f2ef5f5c63df03c4f37aad7e5df1dd12a77870b629b38bcdc4e04404e3779ded3c185e01f41854","pubnonce":"02a76f1315c33ed9703126607e81a01e7eddde5cfcac14980992ce082bae205823020c13db0d6f8e15986d267926a23514e6eabc256180f596f27a497f12ca9ceee1"},
+{"rand":"2dc9b5a7766543ea5dd89fedf936339ad87e0ed8f1c5abfdefe2a4de6554bbf6","pk":"0394d83025b3f2de13061d14e233bed2c6e6c5c1a8e08717ac5d43d7acfa54ff2e","sk":null,"aggpk":null,"msg":"","extra_in":"","secnonce":"4de8b1fe765b501f2d967776fc3e8bafdcf48a262d7620e62009bd16429f7c8f465be8eac5d4d34ce7218b4a41b17b0b08d4bfcf17c31bbb149a4a11e47918c50394d83025b3f2de13061d14e233bed2c6e6c5c1a8e08717ac5d43d7acfa54ff2e","pubnonce":"027709e9925e878158a4c1dd52f2ac16ef0012b5029532f139afef23af243708670358a5d851ffb2ef1c4f58daff22c5a3ecfa438f3e10bf3024976a99ebe992c008"},
+{"rand":"99b9004ceaf42b96e1eccdf3ebe64317cb63c45797af37a0a870423809425861","pk":"03d24675c5266d8aba4eff6d68601b1b4885c3983240ddec5424f7c921cd756ac2","sk":"197f54a268d078e9f7f87949baf2187e7bfa042410817db98b650362a0022221","aggpk":null,"msg":"","extra_in":"","secnonce":"20d2502f3a0d4f89b09d2172337b15d27e7292408cf1a35641f6a37748e3a7594e60e6beaf4639b5c3ba56990fd5b2198f1b4406244abf44c27ecf96694b4a5a03d24675c5266d8aba4eff6d68601b1b4885c3983240ddec5424f7c921cd756ac2","pubnonce":"02d11eec43ee6174ec76e1352a3cc6645e990a87e0f95e72eca1f7e9393049d06502919d57ba78e9896b450ef424ac1dcdb59a1a47dbf0fd52e5920326f8e8cc625a"},
+{"rand":"864d5d6972f76b1b178ef86172c01fb316167e933e2c06a8cc269a1052e39139","pk":"03bd158c8d4901b8f1136c3ef9cb68ea34220c39521942303c37cfffec4157c37b","sk":null,"aggpk":"adb3c6587b36c242e6315414828074a2af7cec4c64c4e24910f360abc61a0a2c","msg":"","extra_in":"","secnonce":"8040ed0d4b45ae5bffc31b59435d5c395a3c4e032fd144c83bda5ef83a702476dfd1166656bf9aef1c6822ac133100cbfcbd9edf99f3520245ee86e15dfc925503bd158c8d4901b8f1136c3ef9cb68ea34220c39521942303c37cfffec4157c37b","pubnonce":"035d04598f61d62a4f6a14e56da1eb036939eed2a916406866f1d2d53dbb2179b803f13b217c7ba72f54f3a39a60e850ea3beabb8ebe6053cd0082a61e2529b12ad5"},
+{"rand":"8a0c17ca67939646b3416dd441f44944850485ddc7359ba787250d2a4c40211e","pk":"034b81b5f07fcf98eb2d56283e9cf7961f6b16ba05cec5c6be44740404016f814f","sk":"a91a344e16ee8e0986f17c3de07cd239d62b4b412d16f049d30bf5818bfedb1b","aggpk":"78250f3b4eb74a7b2e7bb9b6b4018e1ebbd8f760b99b2663ca93c6158a6ab481","msg":"","extra_in":"","secnonce":"143d33b54682ce92f61b2b41e40cea4dcb96c143bceb8205533fa84e2556925bf52fbc9bd5f9532da019b66f84aceeb8b57af5630dd866f741fd5e59d79eb19c034b81b5f07fcf98eb2d56283e9cf7961f6b16ba05cec5c6be44740404016f814f","pubnonce":"027dc51c95ea993a79c3ac6bb596783ce42ddb65aa9260240981dd36ac3df9dcba039dd93425d4dc4be33dfebb8351226db6fd930a0e9dd008d994bee7b973ad052a"},
+{"rand":"0e9dc8a48714ca82857cd57b101119aacddfc2d7581343eee803cb39203fcfe6","pk":"02393ec614576faeda47ea4cf75ab4c8fb5494da73d4241cfd94da121aa7a32c7d","sk":null,"aggpk":null,"msg":"edd41f518b68eec07e533aa7207b20c6991e2dc9abe1d2adf94869cff13eeb6605f70cdf00861b96ff8699008ebd546ed238c42a3bc8841f40f72dfd5ae1784f3235b9e1e888db7a528af6020be977267e5a1976eab815334e5debc6980eb39f8adc45e68c8fc46d82d772fb7f24781c2d224ca8dd73dd24ac3cac31d25c55becd1c1eae937109b98027e9319d70abba3605bc2ee61412a49bcd8e6c985749489481ec0bd9b878a724613b87682448b70953f23be6d7847cf24a542c7af6f5c9b7e8218ffbad9a190f53c5d33aa3065228e719417f0fb43aef5203c8cddcfb9237f6a7b7cfdf1e96ffb57e5a033c232c0153e65d80c052a506a7cca37fab","extra_in":"","secnonce":"084994e1e89f5c263c348103a9f52fd57a05775ba48649851d932eb4db97e9fa75c83f75274698d5271add3ba8f0a32c61dad1cadf8bd99b7c1931f44661c5d702393ec614576faeda47ea4cf75ab4c8fb5494da73d4241cfd94da121aa7a32c7d","pubnonce":"03e35d5c3f601f476c7c9c8678db0a12771d25b622a7f95725fca78f7d6589a66703142080511fec1452ff6c0810a252611ae19cb286a3d721bf1f7677b6fea2c37e"},
+{"rand":"cab7c2b95b82830919d3eaf466108c255a28016fc23becf52a9304fe136124f4","pk":"034fec86bb8333bfee8b801d1b9dca4bcb1cdefc3f3c5b3653543705f77e2b2e2e","sk":"2d7e4bb7ae4cdbe9518896a4cb354c23a14dbec4658221083a774964c5de6697","aggpk":null,"msg":"8dc6a62badf99093b0ba81923f6e4a73b5bdc390d643b9bc05dabb10104bc6db924dc36214ea3e4f29f9ec12ce86ca1a63e61cff105cf96dcfd26922852726275b7cca7a3567998d735f69d2e3c58992853911a8a533fb64261b4189004e0eadd6e4bcd09246b24a39dd5ef3cec035ba8f19b8305e3beab8e1d517ca1929db9b535ec3967ba6304a9378d670f907ebcf6e6e8c4d8bec9d66578a527d214f7e55c6cc7f4daa2aa6f780adf69b669d86941541a964c5dd2e3ba0157dad35708be1798417d3998eacda9fa1df56a96d094f93e86cd1cc711af051bd2ca0b1e2eecaffbadd8f7e085429262a884d881078dd846c1fddf24923e3a777b4c5d8a6c072331b9a73ba29ed032f6f94970e","extra_in":"","secnonce":"753a70acbde62bcf793ecbe41c9fc7036a40e216d89f48e3c073440b8b082119e7fe2c37809210c70d637dfeb1e098197a88e31e51e012dfd0f6c5fe245ec5b6034fec86bb8333bfee8b801d1b9dca4bcb1cdefc3f3c5b3653543705f77e2b2e2e","pubnonce":"02a41431f902a1d44adc2114f3256355faabd6fee57ba4f7d3aa23a5ee470c12bd023e088d27cc816b188a4b249c1de7cac7215a1c2766d296d1968c49255c28d982"},
+{"rand":"61ea36b5d7de92b71fff71498832ce86eca5dc35dad8087f4fb7d95ee0a79009","pk":"02b1a5da54bbd3ff9e029d50ad91b184b428cc10c4ddd7827714ea2bf1b3dba111","sk":null,"aggpk":"dbd0c15d89f48914c073a3a592683729194b4c18abf92f5f392879d14edefff6","msg":"992d39ddbddb1c023c0f432d2ad875030e8ab72da873acfdea2b6cdb8e3b1d9fe1301ae3f184f7708609d7fcd36a7148f7d2fe8329dcb21f3513c5d25c547473807df6cadb68c75af6405a86910b97778d027b78781c4ed75ba081d8b3053ae008b1c4244c04","extra_in":"","secnonce":"5875860e0b6b7a164ddd200cce6a862c04654ad5a581187a94e278cef6bfa1bb32a4e64b61f69826914fc549c1e910a32447708d9be144b8c16baf514964772802b1a5da54bbd3ff9e029d50ad91b184b428cc10c4ddd7827714ea2bf1b3dba111","pubnonce":"03b7c76ec53e4fe7c07c2192c5f92e66b657976a41d928f9afa4da49e2fb0b7e37039467ea0c9456dd3a03459c1ec52f72191bc4b70fc200b6ac45d0207505b66f75"},
+{"rand":"39b91e84562ca8e0a8fbcda6f840354e29fd0d9f47e61c101a67d5d9c57fbe8f","pk":"034baddfc46686c89209c801552f69cbce6e17b01ad7d3a966d6f68d80316a8f55","sk":"57d54fe8612c7d76a1321568c74b9fe91697e12d217ff42c6f09080548edac5d","aggpk":"8d6dd443c4ba7485d893e2770af189f80fc3d92c426ddc22ce8a6128c60719d1","msg":"bf2dbc43712f554a763dca7bb43cccbac7b67210c2192f3581965972ae3e5f6541af176176181cb7c50bc9c450cb03b53c07a89e7e89ef7ceac3d5503718b03823d62a8fb83078327d7b98bb71aacb0e7e502290aa5f3c81530d3843dd83056156147621b4cccdaf03d47bfc81e5d3182a17c2","extra_in":"","secnonce":"86c1a8683e6627634f044f439dc9efc24c5f963df367f70e22e3b4a57efe61e3e5ef5b98d5c9350f4c2b3eb7ea3a9def5c97380fe0dc31c1fac6db422f0c7600034baddfc46686c89209c801552f69cbce6e17b01ad7d3a966d6f68d80316a8f55","pubnonce":"03a662fea59448863c67260a17c663c7e87c27b3d3105239c9a1813febe14ebfe503f47824d687b66abd9f6ac5f5cb7672d0ecc2544623a41bf5b19f6f88e0cce071"},
+{"rand":"9a48ea3da06d0c57f8756395ffbb3dab51b3ced34756dfee03da2f34375ea2df","pk":"02ae41b2570058ca2aa27051f8296a7f4ac5c3374d3fd2ca5d72b44eaa71af3f58","sk":null,"aggpk":null,"msg":null,"extra_in":"9c8d1cd737b42afbc1fd24","secnonce":"0f85bc93b2110a0fef11070e2b4db49e97efbdfb9d574b626e29c954cadbe6bf52c07965f604f2682bdf0c44b523f3e1957086752344d921a55216f4d02864c102ae41b2570058ca2aa27051f8296a7f4ac5c3374d3fd2ca5d72b44eaa71af3f58","pubnonce":"03e532fb26294d126c9aa18106358661108f69de650d17721af4d2abe0dcd638a902d7a0e69722c42ae2b4ddacb136f0e2ec487a7f5de94a207ca7418f79556022b2"},
+{"rand":"cd7d5fdf5b15dc2475a79f6b4a313a9a9d49287cac73d81683031b25e60ada40","pk":"028cf34d8ff125570671144f268099ab348527842de4757a126505a28fd2ac6f5f","sk":"fdf2bb7ad845557704a197306e361364510c26e2ab830f7162ee735059e7ceef","aggpk":null,"msg":null,"extra_in":"05181b656db0a926","secnonce":"33684202862847e45725b4e8c7b351eaabd0cc192b954e58778e3428ade7de94dc5c53e846118a88f245b6cb81a61214be62c02114399e56f3d631c19b3bbb48028cf34d8ff125570671144f268099ab348527842de4757a126505a28fd2ac6f5f","pubnonce":"03eb6b391c381fc6dcb167eb318e448f801b695cd5a2ebe1152824db920cbe3729033eb1abf163b09f717150b849a3d295a10d52109a5ae7e1629e2bb2ff63576c87"},
+{"rand":"77f8a546219348bdcbce264b22bbd3a6c5ca6834e2d2e6d2fe4a76bdd1bf3bc2","pk":"03e3a87723ddd737008c3a674cd6d470be81c982f202fb59a69d430e57d540c88a","sk":null,"aggpk":"97932788c3d81826303ac0d548689fad202e883cb541f786eeec0d0e7ebf6972","msg":null,"extra_in":"0dde57fa704bbc93ceae75f99f2fb9ee","secnonce":"9bdb63165945874f6b3e6c1269eb968cc56669e4a70e55299e63095f66138509ea12b93d4302a1058b4614792b0fa124b89a22a4a3fda42ead5800e8dbc81bcb03e3a87723ddd737008c3a674cd6d470be81c982f202fb59a69d430e57d540c88a","pubnonce":"02f29d8a1ac23dd9316e0f1853a9ade8689ac33f1404cfcd83f2c6fcb8b1b0d3860225923c96a566503e9cd1f494cc4c59f125afc3b2547416cfe1c19fb38f69ae23"},
+{"rand":"8309c51281f41bdc9af51b5b9f1387121f0144f01ad8a744e0c3b99bdeb17b0f","pk":"0336de9356d1d49467d41faec0bfad554da087b9ed95deeb550e57b3eabc92471d","sk":"5d9d49cbd2e3b6bc8868d90ae9b2a45b0d3428d5a726f124156b06c25917ea74","aggpk":"a7d431518887e25975180cedc6cdb0f123c146aff91f9e3f670d511cca86f08a","msg":null,"extra_in":"4ace87936201472fe85feef5dcaa1a67","secnonce":"ca9a24cdb7510192af1f413acd8454383c096060f0a668f6fab6313f1cebfdf5534646aa8adb487351fe805870bbcffb73bc0ed9eece82239924eac887169afa0336de9356d1d49467d41faec0bfad554da087b9ed95deeb550e57b3eabc92471d","pubnonce":"03a6c97230459afb25b15e9fb211b214b3a08832d24f725e0e9ac36600a505b8d2026e9e49f63a8bfcf3d7c4082e4ca7c7229e9e93262cffa33dd4ade9d6cd3f1fa8"},
+{"rand":"2a04b9112ffc5445639f2d1267f19df2afa8f78297972818f5c8a721921ebbfb","pk":"03b1be0ed984277914ac454396adfc172589314ee1d864adaa3b285120664a186d","sk":null,"aggpk":null,"msg":"","extra_in":"5745","secnonce":"8f8a7b0d88bc7fc1af8e870c07433b3a0f1fef3c77e7a7dc463726636f9873563c51882a171b12af1e3fd56617e5a7202ea66f7a19a62669994343a45346d2cd03b1be0ed984277914ac454396adfc172589314ee1d864adaa3b285120664a186d","pubnonce":"03ef24086512b17bb357ba0a5a977f567ea7b4cc31abf221e00dcb16890f29c16c029dbdef09fbfef56a586ca8ada7cf71408155af702dfe4670f7284db2a0c5dbf5"},
+{"rand":"9e1c13eb2943f69c958be1b8758df772f77e42a40b5760d10203f410eb504275","pk":"0397906b6a5f90634dc3fc8fea0d4dc4d9289647cb0076d429899c4d86c8ca56b4","sk":"8c5a3f1c0aa21697606a8c137b52deafbd10a60fa253c6e1817e4140ba61534c","aggpk":null,"msg":"","extra_in":"a409d05b6b8b9225eb0046a4399c71","secnonce":"a21912eb7b07d6e1e60514727bb3da5e6ca43deda58949461b29639e5e9cc9d11b5adaa07e847c3fce92fc7931583b6360b1bb0da37cb0d7f0732de216bdae8f0397906b6a5f90634dc3fc8fea0d4dc4d9289647cb0076d429899c4d86c8ca56b4","pubnonce":"03cccd585a321030ebcc4c28466d10e825b7c25dd654b81aef7426b05439639b7702626fcae6169b8c009dc58d2ce265a7f2ae135afb7fc99dbbee4d0ec9ebc7837e"},
+{"rand":"0c562ea15a1c50a5642f693e0a09aecf49ae2a42ebc2ee3fecbd5a685061ef21","pk":"033ab805c63448b9c1083ce04ddfc9234a6461bb69c61f52a6d3e475245c91f08e","sk":null,"aggpk":"8f02e37f8203eb8a8fb6d63f49b5e4b387b595e2532764cb11e1de134a7e7f1f","msg":"","extra_in":"f4da202420c07684a5","secnonce":"5d59b91c40dd1db8c3b3e0b2f0c2c3aff2e6164b159bef05ec53b9c6a2fa67d48cee6cd3dd7a06fdf68348b583e6587760a241067f6af7ff2aba97aefb4b64fe033ab805c63448b9c1083ce04ddfc9234a6461bb69c61f52a6d3e475245c91f08e","pubnonce":"028f19a64841d0aebd30cd99c92a965a6cdd3adac6a706723224ed505279a13a3c03f38d999b8d4b329847433112574ca4c247f503d2c29a1682ca788541d4248859"},
+{"rand":"0aadf92d090a2a20ee376e452cbbd413c1313c4b71bc9a49cddca896da554ba0","pk":"03d7a5ca360cf9172a96ea1dfba4c70fc8ace00b71901b4bdd6f44a839290c3ee7","sk":"93d24b9f4b860ec013ef2509e5f743fbaf5cf09715b0c20338964bac4eebf664","aggpk":"9033d87f56efcafa52ce0780da60d368d793a2842fa9b86e31378aa37961af56","msg":"","extra_in":"fc9e","secnonce":"32380146f4099b21b7b829c3a351a20939391f0eb3f366e2f5c91740e4f386b8c5c2fdc7ecaaf21504d02fdce59ed01f7ff6f90848fe0296363908cffdec2f8303d7a5ca360cf9172a96ea1dfba4c70fc8ace00b71901b4bdd6f44a839290c3ee7","pubnonce":"032e9e8e50d3db7f4513e8529c6456d3777b7366ffa0609bcc9c55d8079896dba902716bf71d02781967527788074abba2912b7ecbff43a69ba8042fd2185b6b0f46"},
+{"rand":"234ef540dbfb07d296372846ececd57c9bb4a2ed75a6b41a8b0fba5857eb666a","pk":"0304df7b0bb439b3c787889f5f1805c2db2e7d363646e5585eb451f66e85d8e8d4","sk":null,"aggpk":null,"msg":"a618a63ae83a59848e3a83ed9d255a5e7bfb","extra_in":"db3a","secnonce":"119bf114a11f23b841dd31dccf28954abe9d7a88dc64fbb10dbff8ec7f208639fdc79d06c52625cf30e73359e86810e83fe60c73fdaa0d43d584bac0652162d00304df7b0bb439b3c787889f5f1805c2db2e7d363646e5585eb451f66e85d8e8d4","pubnonce":"03ba07ca6ee9cc4a09a3ef13c24395d22664887d5af3e2f9b3c7beb7fb78d296d102a70308d743eb79a4ee95211bc6e0f97893b49663f506c19527541548adb97527"},
+{"rand":"58153c83f3de95164c4776a2af3a599d5742b34942d2affad3a656d307f39033","pk":"03750af8d1f31e569e6ff8e244aa5cdadb889469db567c276742f3d3841a668a62","sk":"fc64bd04c44a53775c8c9dafebef7f384527c4932aa58caf1c3f27f4822acc5a","aggpk":null,"msg":"0f9b4ea3ec9c03572945c05f857906994591ecde46668c50cc80a2fce773034b13ca54f465ce058025b2e75f5c909e6556969311bf90ab8796c23bde402991c0f08fbbda96b976567b33c4fc7a60bee414c8a8371bd863a2f54dc3545f278a4b21d613b12a73f30fd82e188dfd606c45fe25784f7a05d8e3d280794e04530a7fe6d35e67b17c4b204a9776e949195ee05fababfbb31f33b29b0f9d3dc0b0567624d7edb735c16bbde1c1ddcfc285ed2822078aa09b348221b6d539f90a637b33fc99e90fcfbb8d82cb1c5c97363e0ac9d50ac6bd908443308a2442c7b0f625e63cd09384ed0d6e17899942caa205d26cf7b6668d2ac7cb78da46b608b9912c070058","extra_in":"639c5b24a7b6137685","secnonce":"4ddf514a735f545393b82ce31fd9bcb1631fb93c898ffee64626bbcc4e814b758403bfaf19fe92f37155d4684357f4e54e155b3687aeaacafb03315c967d9a6203750af8d1f31e569e6ff8e244aa5cdadb889469db567c276742f3d3841a668a62","pubnonce":"0220d433f0986b44e52d96851f54ef6e8dda0017442627d487ff6286be078c24d9033e8a7c3584bce0dadf8b64c006219226b6356b9b52f3ecc3f8d2923ecad277b7"},
+{"rand":"852bebdab3f73f2bcf9eb60ab743d6e84c66c900ea1c8ff9b4dbf67a28925fc5","pk":"032136192f0cc681ab8208ab25d8a0b4124e10362c8b9424d1afc345af2dfc12dd","sk":null,"aggpk":"d08399fdf02361d6723ad820b380766dca475e695f825b16439b344fc3b11247","msg":"494e4ed967","extra_in":"202a1fb3","secnonce":"b06f0d172f15a248b2ab42f00aa75e98583f5a432c762ea6edd280cd4b55fcc8f0282d6940d3401801d8070fb5c7bfa7e0812d7a92c54306d160dd434ca678c3032136192f0cc681ab8208ab25d8a0b4124e10362c8b9424d1afc345af2dfc12dd","pubnonce":"0324471497ed8284830c798bf7b1c0aa31f0d3b8a9b845eefa8425e215f391ecc90361b0591f41479455c7b87c3503133703fda7d16d69170b5d4a15c63c2bbb6c9d"},
+{"rand":"afe7f806f981a703914b5e037899aa5ba47b62eaf00274a99a8a0176bb1677ef","pk":"0379b41fb75b844c89e66b217fd2d301bb9dc5b3d426395bee426c767c3421435e","sk":"72e721e7b91a295639edcde46d6b6aecb392d90518ef83aea21e213fd4b307be","aggpk":"efb0356a3b4fe16176b0000bfebc60e12c14b6899d936df4d546f49e77148191","msg":"d06889a7c47dcdb04b303eab3555e1c1e06375dc31d7a1292a53ac49639c80a0a02a5ddd942de3c7eb70768e466bb492138ed56670ccef8ecebcef9f8027cba283a3cba84f56af2f9c4c6d6a4d1a4eb5a35b44b16193c92e7b30bea9fb54b3ba9d49a3289e60c22aee45947910ecf26b1f585cdb2a5deb7cdb5574cb91a118a42e79d869436e27a62a1953a4db906bf7978f607c05bb74742ae76abfc7905cb3c4f45a4da04e008450355c88d1447f8f6d3c7be9a7e5238d85e15cc33f4d4e25e6c95e5e3d040d9e87feb505913f5cfd7db620af6920a8430093697744419d44a2c2e120e914657a19a3eec13c268f22d89c14faf2863c1b951a77679a85a7","extra_in":"34","secnonce":"1241452bdf00c9a7d65d84ff55be780bb5e68cf3d8b8f51f7d92d8df4093e12fa354b7fd697126548c9a39446398e221625ebca7ec68ebf43333301584abcb4c0379b41fb75b844c89e66b217fd2d301bb9dc5b3d426395bee426c767c3421435e","pubnonce":"02ced8534992dbea08ad1329567f6e187399157e611befcc3d5cd2992cd99c015803af2e57d21588093aa8f34c2eb106cdf33de3bfb356936ff52c25ac4f7487fad3"},
+{"rand":"71fa99ad3449bc81383e5d918844f5b0461508bb926f57eb7b4ca864cc1bba6c","pk":"036eda6b089796174912d99af74bba97e6546517e9a2467c0ce1e98ea3efac0301","sk":null,"aggpk":null,"msg":"23c00a258c62291eb2790c1bc663d75931db8be0af4a2237c180a66d6e21c1053451a37464b1e2215f72bf7e4596f5efb7324ca0a82f3af4d5a2cfe3301b766d9125a73e6f098f0034c7337f6ba254bba294d664bcb0e6ceed888061926e016b683ab459a5444640b1434e60d6c541edd725b1fc2ac1c67e3ead65c71b1b084311253f5e4db1bfa5fe835791865248e906b365","extra_in":null,"secnonce":"f8e53760e809e92572c78541c92d021a6b01ed9febb96d72e22d134860cd793bcb3df281f071bd1b9446a7e142063558350854c56067064a2d2e8a1ab70b32c5036eda6b089796174912d99af74bba97e6546517e9a2467c0ce1e98ea3efac0301","pubnonce":"023ebfa7ed9202489151433c8a6c7e803319bf7bfe8ae88aa417af7a560856adea02f84bbb48e9abbe298ba67aabdeb7030864705414b8af44bc79c786ed86057900"},
+{"rand":"ab417830ff50937cf8cfd2735093ecb7bee4f0b796364414af89f1e46e10c2b3","pk":"03713bba2447e64adc2ea087f388a34b6acedb421b92b4fec61b913f933ea2084c","sk":null,"aggpk":"da6521d52794f37ad744674e59c86255e9f66859613e04c3caf77520ceab1748","msg":"","extra_in":"a2438ceb5cd89b83e89365592b","secnonce":"fd7e5c2b210fa621b5386883cb2a988287db4426e33963cb6d8b8e68f140336614df5327fd5ec7f333921e8bf52e721586333355e7f42d260f4ebb350e9440da03713bba2447e64adc2ea087f388a34b6acedb421b92b4fec61b913f933ea2084c","pubnonce":"027322924ef707ff30e9f611bc3d92b56ae7e36e2a616cdd2b06685a942127b622029f10d1c19c017c5432118aed4b7b3f4bcf2e8217d6c178128e74ae9d79328627"},
+{"rand":"d15b7110e120879e2a1161da5eda3735222113a652314d4030986466a85ad988","pk":"0297a26d932159ad7568b5b45852914e4c04d88c75d88467791a4a0de12c8dce40","sk":null,"aggpk":null,"msg":"72c32e1d2d4534c1a59619f3ce5aae8968302f74262044839f99cb1025a54bf5a09d82f95de1573f09a69af6aec2a9d36f726a05943bc2dfd219370693ec217c0de9a856cea1c903a6d4f871893f979b09b6af7e80a44745b5f9628d916b817301c4e8941fd20b9b6a29ece4ae48369702d932bf49244f99c938811185b7145c7f3b9f7f1096cf9d26f7d8e452b233d6438fed08ad0bc8660c0364ee194513a16f69399a191048ae823c7be83e73b087c76920ed0b241f0915c80ee2c9e309c6f2628ebfe767fb413464ae3689d9e31f6fe062951375fe9895719e2f8e3ca929cfaeb38ad3f00d43be11462e927ce36c8a8d8dde470f4c75d89e3f41da936fbf267dd14ef4efc497ca527e562b52b5d2030b19402a8d2f52153cb5d8a068fc8c9e605803a239da859f","extra_in":null,"secnonce":"1fdc0772e380fd505008430322f3108e992784595d7fc27ab84cb8bacde9c410b95c2d87e795d7ca2a12c200e3e45d588e08dee4b8098d7d6be73691e5b2ff330297a26d932159ad7568b5b45852914e4c04d88c75d88467791a4a0de12c8dce40","pubnonce":"038eac2a1fc1e9dea270ad13f3ce1b13eced6e050f9bc933d5ed25264ab9c52ddd031bf1d20aeb4fa7716959e8f91521fd82d16256f35146f144c0157cf496fed15d"},
+{"rand":"bc1c05ad99f62c711d84a99f65153e9366fdd3c072f04a51d84d0b4aff57f29f","pk":"02f3490844b132107bd032e1e6982ae4fa0b611698b13f8129661861a643a476ea","sk":"eb3686c0cfa6f683b73637b02c18a0a20c5568e763a7925300ba1147dec528c0","aggpk":"56ae644484597f715d075f24d6639409e809e20822a56cc304cbec5d18e6bf82","msg":null,"extra_in":"","secnonce":"05b69c71d083a0b741886cb9b830910e77a0e46df7bfe2837e70c72c84675ac12fe7950a41f5536ca05a13d9cb8f08521ca32c9bfc84a675825fc5c27eb603b702f3490844b132107bd032e1e6982ae4fa0b611698b13f8129661861a643a476ea","pubnonce":"03e74b562185670dbc08d824fc31eee1aed1085ef9bdee48cc52c1fef9d171929803725cb85b8f905cde3799f35f2bb95a1c00c2e001e0507c970f53e5a68a1e8974"},
+{"rand":"0c8456b5bda74cababe85c2d6d0cf5d4e75fd7395c54256983f6920e66567abf","pk":"03aab47b8dbc574325bcbd97fe53d2a211b34c1badf262f7d36b43c86a1da0f8c2","sk":"dec5796c09b92cd8ecda632e8be6f64251c7f44b739baaebdede5867d5d7d3b9","aggpk":null,"msg":"3fb59533097ff434e41ad7bbf72782e622e54b2d69a1636573faf90cb94e4ba854a41da93fd86a72d0376b7a011092c723c9a0625730525a0fa55078affd8a07cbf81619fd39dcdc9fa06b512fe08c5235be845585143f630d25b8faa9d0eb018af31d4064ab466287babe341137626e3aa22515c8bf96732db9cb3d8f4a9c9a2ad3927095","extra_in":"","secnonce":"ffb161a27606c18da14ca6938121b589a76d65caca5c4133967502d701aacc13e337feb13b25849ea0f2fc128aaeb2d880417e36357f0296147899707a364af303aab47b8dbc574325bcbd97fe53d2a211b34c1badf262f7d36b43c86a1da0f8c2","pubnonce":"0263c3b15cfbc20591abeb03bb66cd102d5ae9275d0a54bc68573d519c8f5baf53031b2c54ab6e9d212469698dc931f4197492b2b7da0f1e4a6122041862099c0fa8"},
+{"rand":"ca8ed1ee1e8ae9af577974e1463e1343ba74a87a735f7d96ddacbcb1ebd04a41","pk":"02007343ae928b50e8f92508922b446eb52196a5cf6fd98c083fd0c552729fa2fb","sk":null,"aggpk":"bc14a0dfa341a0085aa24c7ecdc20d3d3b9f7e7d5d5743c2708957728d313b6e","msg":"812c0f031d76a4","extra_in":null,"secnonce":"2b279e88e7748ceecd1eca3072baa18b60edb0f2de38e89d768721e4c3a16e57f2b2484f7971e9cd6752e6166f6813b7f0aac39cfd9bbc82c35ed978d3c4db0e02007343ae928b50e8f92508922b446eb52196a5cf6fd98c083fd0c552729fa2fb","pubnonce":"030311033ad1ef539f7aba16aff136fa60ff1f6859dbf014f8326da0bf9338197d0203421704efe10e0f763320cdad7acf50bcd9170ff341869abd82a3b5ac293e0f"},
+{"rand":"135c73e722abcf79d9902153588348bb47c0da54f5903f8b5c69089d8ce8782e","pk":"033144e08e4cf38589c24ec540d9aa3b3b5f3b7fa0be027ebabd05a5fe51082e77","sk":"f2f5bfccfc26c65d101f482137fb09f1462ea39805102d03a51b96f3d8ca4a13","aggpk":null,"msg":null,"extra_in":"453a560a2b88818c","secnonce":"cc95fb6c2cb57e0c943501e2ba3494c043308f0b8ba8702a6796db5375a97e7d36abda8a081b02d95aa3d97b4a25e9302de3408d5948f8e0b3160d3d4adfb5a5033144e08e4cf38589c24ec540d9aa3b3b5f3b7fa0be027ebabd05a5fe51082e77","pubnonce":"033bd5d955d87946e2c5b6a2ef92cf13f30ca70ddd2010be96bb71079ecc7a968702972354c4fcf24d0fd9a555b6c601ddfa81c88a130a0e89abbd0604c7c23594d4"},
+{"rand":"8b425e3414c807d6c27d33d5ec042aaacb4a3dc0368eff729c0682050d8c9276","pk":"023640ddc48313ecca3c196a1c1c34f4221ab872db0b4330290db08e2912ad77c4","sk":null,"aggpk":"af63d7711652fa9d754df194e4599eb9d9244bdb6bca47478fa6797a454c82ac","msg":"","extra_in":"","secnonce":"3f2d5bbbcc3cd175eeff0e2f8e0852aecec5fd1b5141631f6605ba44d353776c450b20504eb768c17d65001d2ece9b416a9d2ad7bfc2d5e158a1f1f32c81601d023640ddc48313ecca3c196a1c1c34f4221ab872db0b4330290db08e2912ad77c4","pubnonce":"03477c0e7b2a7acf28fea0bd849d5f5e4b8780a3e524858b548afd2f8de9e5c03702162b7166f02180578da4afac8a8b9c5f460d283028a769d8322be59eea572653"},
+{"rand":"cfd580699a6d92de725af43b2aa5adc7c2973d38ceb5e84725cd1a090ce4e63d","pk":"02e03ca9a591fe0ee60690a4ca8f0eacd7edce88f545fd853a54a4dfce2ecd922a","sk":null,"aggpk":"108c4efcbede5b6a06b2dc5df9f0e363ccd054565452432b500afb537187b04a","msg":null,"extra_in":null,"secnonce":"2a56a9b07396f5ed0ea287061479ebb5945ef43fd3c26bacd874c8ff3e584ecf933a4ac2e1289c86c414d587574a66c9f60e717009ff37dfdf5d33ed8fdf341002e03ca9a591fe0ee60690a4ca8f0eacd7edce88f545fd853a54a4dfce2ecd922a","pubnonce":"02888b9d836ee5e2b22734d9be881aec62853a0f22d794f66557e62a336bb0dcaf032f4ae7dfa5ab420ebe19774ae882626c8bdbbcf85dbadd4df536ef1dae44aa63"},
+{"rand":"b3824a4928b141b8a408633fdfdfc8370f2660fabd8be37e8803a7aa71e2c4c2","pk":"03c0dd8048a55e032a5f762a29318a6b7597240b57fbfa4ad90583d2a67140a395","sk":"3042b5d4cbbff5d108c0619a3914e98250892e2f0909975dfe7c7e63ba862750","aggpk":"2589dac1bcd8feaa29f48447431cdb5245e5806ae6ac5ecc5fcc77168bd57f7a","msg":"","extra_in":"610f8116bb52dc","secnonce":"f59252997017691caa7e00ddfab349fe030374722f01b0b5aa8086ef96e54b07de45c62714dd2a18c64706c87be764257fd2c2a1bb810e231b08328d842a3c3e03c0dd8048a55e032a5f762a29318a6b7597240b57fbfa4ad90583d2a67140a395","pubnonce":"028069e58b891fbc63027e54a2093807c43c35f7bf97ebdffee8547a0ae349a2cb03765a04b0b29570471ef8f84915662b89139ea604070aedc884d592e640512040"},
+{"rand":"8f8f82e44b1e8f69a37376d0826ef15602c30340de56cb24f5962d2465e934c5","pk":"021156c1354d76d47a3a9fac9a868e5f3a42fdd24d641b41885e69365ef9280bb7","sk":"d0fead80737a6f0db4f3fb82c193621cf04c6d24aa7ad1ebe38f5e64bfed0e5b","aggpk":"e158952faf2fc7b6889280c85e85227eb2d0612797007632a789b9ac8f844c60","msg":"","extra_in":"","secnonce":"cb087c192f18e1527c252a85f75fad37694b1da1af544a2b07613cdb937b4403417ac6eba4ec656f6d1a5ef260b01037d67f3cb0bbb46f3a0d4276a777fde0c2021156c1354d76d47a3a9fac9a868e5f3a42fdd24d641b41885e69365ef9280bb7","pubnonce":"0215aab33de5124d61dcf3337dc25a3f4b4b52b668fc2273d331a8900e7f5c170c03093866581a3a6c35826e742ed1081f495240b252e91e5f3f5abbf2c655e580ca"},
+{"rand":"ed3d099b361cc6a5a233e80d67c90d4e8622cae3288c84c11c9a49282fb7c8e6","pk":"03ddc6bb3f489f10970f4f661e86a227650aa44f873b5379abae99bcea8a2f8e3b","sk":"60f8f05aca2cf329dbb7188408ad20401bb2b86c413cc60f0d0496e3c11903a5","aggpk":null,"msg":"5c58eece1824c8079587f58afac32fdefd616ce20064c18b2f5b8bd34ed82090044cddbdb7aaf9e968e2044621b0006c22ffbd3a6995c9cdc90d8318ce5b023ff0ca2aa4343ab1c16376e12083182e792f98217422e7480c83fe1839fc1b65ad84c2f82edd1c997fd62743852f37731b03c265cb8020e62ec96871167c8ed4f26e2cb3a489e7d011bb2bdc2b7c893ea8d340193b79e8d34f04c06159e828a5054571a8d7ca3a9043e91589d8ee7f00bcc852ad02dd23ee37175fe78eadcdf09c2ba6cb6a95d1bcf7b94459cfd21855f06fc88a673554ba061e5917a5d041b45380f5","extra_in":"88f6261543","secnonce":"f1dbd611709ea5db7112471678486cb6ce2e14f7a0ab2ed02020b674ccb5afef38f548eaef7bf892b17b1b92464b24e3d9ef41cf28a625246abc952bda5a666203ddc6bb3f489f10970f4f661e86a227650aa44f873b5379abae99bcea8a2f8e3b","pubnonce":"02d4b3ddbff1a1eda6ca93c452d98adf4be285b382abc17fc7ca27f4bd642bf29f0312b1bbcb073c6dc50137c422618e0ffc4b7ee9bd9260d18258bdebd0fce4fefe"}
+],
+"sessions": [
+{"id":0,"sks":["c6ac57051c1c8e9393cf2b99f10fc86df36c49fdcb579d261cb3c76f070f3fed"],"key_sort_input":null,"q":"02b8ba70157a4b4c38f8550cc0ef089dba5b08d57e95800749083aeea05ee0bf32","tweaks":[{"xonly":"b9d968da32c1b01c1b57a3b8b3f93554efb3eef1c6b312f71c261090bf44e95a"}],"tweak_error":null,"aggpk":"03d726ae65dbedeb41288d76bedccf45021af901abfd87a3dcf44698ed2f20a3fd","gacc_neg":false,"msg":"","aggnonce":"035e1db6778232fc7f2f296943ab0b0cbad076e320c2581ad4eeda83a98ffb5a9f0392d5c4d108605f10cc3ce4e4766da4982f4c8eea3d9cd68f5cb158e22d89dffd","signers":[{"nonce":{"rand":"496e141a16db8b27cde64f1066adf8ad3f4a053c5056ca01caa90d5843208947","bind":0,"extra_in":null},"pubnonce":"035e1db6778232fc7f2f296943ab0b0cbad076e320c2581ad4eeda83a98ffb5a9f0392d5c4d108605f10cc3ce4e4766da4982f4c8eea3d9cd68f5cb158e22d89dffd","psig":"900a69df6c685eab954bac4012e62827e7497fd120db5afd0ab2bddc2c9b3c67"}],"sig":"ee5d1de0860c993ef1dc91cf8c933fb779e67d3dbbdbc33cd6195655af540b87c2e615fb54037ee1eee7243b1bdb7793ab5d692370ae9cdbb69c4948f8b97a73","sig_valid":true,"bad_verify":[{"kind":"plus_one","signer":0,"other":null,"expected":false}]},
+{"id":1,"sks":["536ffb2dd0a1d414014e2a73869c1212feba0b7962c2d13e2e507d901c82a94f","01c4e4030319aed6f689b6f00ce3d244a57250cc8a846a344e10a6f1e06ce0ad"],"key_sort_input":["03db2a91fbdc91d1baf65a5640417706900544ef9376d32950dee4d4cb81d42106","03dc5369ac5ce0f0d9af6c0f32f9efd5c4ed27e06ac754b3ece2182a2979238d26"],"q":"022987c7a692e89bd5dc8a071733eff486c69c078b1803baa74811ea72a3f18562","tweaks":[{"xonly":"18cfd52aac39c30ba46b62cf775e1654cfdfc98723f2979794bd064ef27fcf48"},{"xonly":"fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"}],"tweak_error":null,"aggpk":"035d266311ecde4701059bd4fe96125476ebeb48162191077942e1f21d4fb9c80f","gacc_neg":false,"msg":"e451d5bab307c8762f7bde521b0cbdb881a5506884706f6a528890ffecc695ee31c0d0de1001358268695d6053394894a4b214433850c5065271db38a72d55f6cb5f86189997f6310c79cb9293f0214594dfeacec0329672183f0914b30b3168c84c605a9eee8f6d44112a50dfd7a1c3e5f7c2fb92e6f30d674723dc614e5fcbbd2610a9d2f0fab8b3ca7428b8a10d1148ade38dbe298cbfcb28b15a71565ebeb79a83f05d594b865f4e263878d07204da2f88f69627081ec69405dd8cdff94fe8f0785552a6a0626f7f9b6537a477154fbfd97c77292fef1ad064db56f6355cbb210f24fd87b12506bc56b56ad706556f6ae67ffb41ab0941f1b7c44b4af4d16d0b72c853398c2ba9848abfbbc87c57ab50782f467048fc0f45cc16b3f8f62e748ef118e34e0c82dd3c","aggnonce":"02714106cff32e3599173539b22def4e8f3ce3d0cde32773d4944b46ad9ea3423e0221bf24c50e3114e3f405e1555d52691b817e7d59f1de1a4da37e052a84ae702a","signers":[{"nonce":{"rand":"3f10aa5af3a1f39e2b9a5780195beb9b6fc08ee9fc4ffe16b4520aa95d0477dc","bind":5,"extra_in":null},"pubnonce":"024f2da36444791b6c28ac4b52dcbfc74769e0257bd61b6cce7c0816bf52421dfb0298b4f8243392d11b8a6a18a9deb86d411f87fd24915cf08160a4515046054f7c","psig":"b87146a2e7f102eb9d2cacb9707fa3cc33204908f28ae0f4f7d555519ed61e67"},{"nonce":{"rand":"d2bb7f82286d180a304765de12bc71ada95f772002f69f2ebacac46a65146c1c","bind":6,"extra_in":null},"pubnonce":"03485700a551e5069d76912d6d8ee2bdb4a6057672e5287f010175a0f60bd8ca9003e8756c4f7b43999c97c6740043ba8e4f5c3a736f3354eb95946d0339739933a5","psig":"805192d9b4e6629469a8a7102a9205f36efa9286dba4055370ef125887a16a64"}],"sig":"cde85cb99788f198d4a39b79b9927bf78a849be8af7c6e43c95ff4fd84facb598be1d3ba02abd409d4f52d07920d783bb9e26085e40d65a35d48797f7cc3f8fb","sig_valid":true,"bad_verify":[{"kind":"plus_one","signer":0,"other":null,"expected":false}]},
+{"id":2,"sks":["67cfacd7aeec32c2bf4b36cfc5bc3892c63aa525e4769da1b7bd4749855215b8","fcbd75316acc49d87e13a41d996c547897b11e6568ef270686b6ce70a8b828f3"],"key_sort_input":null,"q":"02195809b325cb6d3b69c6e89080d6c6802f1bbf627964bcbf95c7f251389694d1","tweaks":[{"xonly":"76d2784f0a39e92f11f7a63e609b5a6c1e3f4fba71a456ce80be702c80e43fa0"},{"xonly":"a8c26d09767357613537d43a0ccb1e5f258bcde22468d60d40d48b84661a4f30"},{"xonly":"0000000000000000000000000000000000000000000000000000000000000000"},{"plain":"7ec895a203c38ca1bc65becef5245ad777a51dcb881cab28afa6afa79d008e31"}],"tweak_error":null,"aggpk":"0366347d0f8a76887848169d1a8ab433898df38e772e89dd5f27fa24e69c87b8ee","gacc_neg":false,"msg":"3bc5cca472e76bb242c2fa4f109d3f13427f3d8c39b416ca390f5ef079368f54","aggnonce":"030593ec9151a1f77e1466912c0389166faf63d01ffd4c1a39a90f4e7fc2f0be7802e90fc3bd8fd4f9663665d32fbd137cfe042fab29eb48fa7fd61e5582ef96a861","signers":[{"nonce":{"rand":"d2e347a9dcf79ee70859197d4987499a00b36a160f939a276bd58348b18378ee","bind":2,"extra_in":""},"pubnonce":"02277d0e1f8ccdf9560821f56454411105afa3ce55cd8b973e2084131e393d1f93024df19c3450894011a4286b2dff6c7a08b30b6bfc1e92c2821a9eb5f3b62593df","psig":"acfddd431f9827c00761e8c0633da9f2f11b942746c23756b51e8e40b4d17cf3"},{"nonce":{"rand":"7a135644578d5442d1973d0c84bd831835bb318714cffe9618999aaeba286d4e","bind":3,"extra_in":""},"pubnonce":"0301c1cdc8ebd01e8301234e3f9201b3c794046d37c9ce8576022fd7dd5501b40202868cd21edae8b61cd0f4189634ff446e79261241b8de9752327fbac6e236ad18","psig":"296057e0302728b34404ccf64024dc3337d5d412a480e3847afcfb74c46a924a"}],"sig":"3a354b7fb3a98408792cad1087389005124bfa8a9f5e1f6a4c89883c4bc9c9c8743a531143768d10710dd3bf33ea0b322deef7187af44b0052296b7016b01584","sig_valid":true,"bad_verify":[{"kind":"zero","signer":1,"other":null,"expected":false}]},
+{"id":3,"sks":["2e8347d81eec43733d1de1cb3e4f1921a6464f824445aef33cd5dd6e490baf19","e1de2ee919396fd21d5f3456b63f12deac49eaf35d5e715b3c18e7605fcbc3ec","5311b4b785c1372946adcbd1ff1fce623339b30d38baef3028cdbd225d7f00ff"],"key_sort_input":null,"q":"02d6f15d1d96d6e71931fd2c0cd12c4e7e6934bbd81da2107888f93fbbc00e7266","tweaks":[{"plain":"0000000000000000000000000000000000000000000000000000000000000000"},{"xonly":"000000000000000000000000000000000000000000000000000000000000012f"},{"xonly":"61e70b297f5485c4327819f6683e1c57d819425c943a8bfb8c5fd83ee03b069a"},{"xonly":"88112a7bd98e1542a3a597f4392cac9eccae65c600491d8818e44ba93ea42cef"}],"tweak_error":null,"aggpk":"03d34f29b08ee1d6d05b1545069e0f2d48986eb1e4f19f5808fd4e85ae6005a531","gacc_neg":true,"msg":"75a23e8cadeccf7b0c6da5216cecec36962f75ef7fda0a4d32a991a33a46d8a1","aggnonce":"03716e10aa1d32cb6cd03ecf52a950492783db8dd24d095092c0f8225d38a5d3320389e0f95fcb3929d0352162e85c6e044d386a936f5e73974e3ba079bdac654e3d","signers":[{"nonce":{"rand":"20d5e864fc19e5d19f2dbbfde46c709bcc2ccc86af272b2badd0df13b020b2aa","bind":7,"extra_in":""},"pubnonce":"02a690f6fae1126c97117c66fc8e33d962574c31282227c9daa7d32bf1d1decef30274db1d6909fd82c064cfd758257ce9e08cad2aad381e0e0ac40cc50934349dd3","psig":"ed70956b1699d1cfc71a15ae9fe1e139d7bd4b59dc6d7eb3867b12c32a1333c8"},{"nonce":{"rand":"282e5c28e9c97f938ebab18ea9e5c36487f42cb50ee15a6fe5c06b375bc2620f","bind":0,"extra_in":"cc"},"pubnonce":"0266304bb707c20e1c43039cffd5bd90cd9cceae7fe3394450b109d037118291c20242b3bdcc5aa932f66744fde57ca623f81c4944cec06181f721b4b41a7e94bf38","psig":"4eb997ece3b6cbbc9242ec9158bdc5784b9f8c72973643febcbe020465da6128"},{"nonce":{"det_rand":null},"pubnonce":"02ef531f73adb5173310bb7bbb384045eff44fdee7453a513379098dec182bbe6203c668612cfbb72903e9fbab76aa0987a9792996e7adf1a14aa8ecc740919209a3","psig":"1afbf9c52c3dfc5dbec34207b4aea4216120efe7eea4aff96e5eb187fedd0c9b"}],"sig":"dd267ad22b89c635913a2098ec5bba7d022144057e549f15f6460e70ce1374e60337acbb243c2dcfad587c474df6a94015400c856b61ef305f0853ffc73e3a35","sig_valid":true,"bad_verify":[{"kind":"zero","signer":0,"other":null,"expected":false}]},
+{"id":4,"sks":["b3b48cf84021a3c49e7fdf256ce9782299175b18a5b3a260528332c4518d5180"],"key_sort_input":null,"q":"0239e695a1e2207be63b1813ffbc2fb51ed20a88ccaedcc7224f0dda78c391609d","tweaks":[{"taproot":"49230e677425ceb4c5b6338ba70ba9693b0d2999c47969cb6f44b4da14ec77c6"},{"plain":"267cf43bbada1025d530262d8eef89f7bb6816564aa9c2fa59b0566d516bba83"},{"xonly":"0000000000000000000000000000000000000000000000000000000000000383"}],"tweak_error":null,"aggpk":"03a42a008fdc4d604bb57cf713e8281a1779735a63574f5a385119fd318eb10b47","gacc_neg":true,"msg":"4c6914c02708e8182e69bfe6230810558a11cca1b0a189f1193522be751ae25a","aggnonce":"027f4913e2019dd0c82d1b11188f3c372e50af1e7b65b0ac514a7ecd329460fd24037aec4b5ee505193eb864d59de634886a0c8d519f1b22446861f3bccf512e9be0","signers":[{"nonce":{"rand":"f781ba2e5dbf0313693d224ecc1b371457fd8aa8e3065c6cd17a90639aa3f132","bind":4,"extra_in":"9eb69e"},"pubnonce":"027f4913e2019dd0c82d1b11188f3c372e50af1e7b65b0ac514a7ecd329460fd24037aec4b5ee505193eb864d59de634886a0c8d519f1b22446861f3bccf512e9be0","psig":"3ce5653c18eb36865d7c671910eea780ccbbcfcde65c5b5ae859c43cf97680c6"}],"sig":"98c0aaa060d2bdbb20254876086266f8bcfc7892f874ca630fe38d0702cd076f769b11f38d5e9c64b49d8bcf9482a59674efb9d25344157d8d184d2f1f4aa089","sig_valid":true,"bad_verify":[{"kind":"out_of_range","signer":0,"other":null,"expected":false}]},
+{"id":5,"sks":["9724fe042114c5835352eadb4c4c72ba22bcd251e183627e1060cd1d5f596ccd","2bc5c69f5dc74e5a9b090ce7a0716e47dc6970e116a549243d25bbe43cd09cc1"],"key_sort_input":null,"q":"03e9fea75ad4de18d2c004bdbcabba980ab3b6c6593a88c9dc78df0a3c0c8da543","tweaks":[{"xonly":"fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"}],"tweak_error":null,"aggpk":"0348878a2d2a2b3e6d410db79d9fafea010995f7d03ab02433238d1b5350395e97","gacc_neg":true,"msg":"f06bc4be85dbaa3cd7","aggnonce":"000000000000000000000000000000000000000000000000000000000000000000033b14ff273e402537eb88d8ce0a7a88e1101ec6a385be3e3da22d8dcd28a03c5e","signers":[{"nonce":{"rand":"aa90daf6aa533c6cae0c54c6e3f168c3d7574231d1f41f6fe576f1da663cfd44","bind":1,"extra_in":null},"pubnonce":"033f4590a52af09005660c5b750d2dcea9f73336c804b6e4e8dfa6bb40cab23c72024384825892e73540b2d1fc1ef07edbfb08bb5e7af5228bf5c551207a960dae0b","psig":"46f7746d960989cbaa5f8ff68d4257cd387c67aa3fa72825bd9d3c6eec4c22e8"},{"nonce":{"secnonce":"e55c0f99a97851cf4a008421344d054b5f738525af71a3a25913cc338b3f89a7f2659af8600d2c4f7bb7640dd0286a3bc38c2e3af74de96e900c0283074254690305a2fbc62d7a85207496095fc0584ec3e9e33895032ae2588c6305f3b0c1a4f2"},"pubnonce":"023f4590a52af09005660c5b750d2dcea9f73336c804b6e4e8dfa6bb40cab23c720345edddc1957bb7d3085beb17406772556ea91dfa5a63b8512aec73923ad33694","psig":"8fc7fddd276bf2f7aaa01d9ffb1cd95d53bd1f87276a36fd6e43f013fc6830e0"}],"sig":"d83ada3743fafc620fb5946a76f2d001a3eedaf3302ae238621a386896c2d5bb6a1f9e55c7011fb046e76c3aee6eb46a9e1dfd76a370d8a835e290dac7ec2cc7","sig_valid":true,"bad_verify":[{"kind":"out_of_range","signer":0,"other":null,"expected":false}]},
+{"id":6,"sks":["0efb6cfba0b954753816b3ef4fb887dc4cbcd63c66052da837759123056ed045","89511739366a84e1ffeafa3a7c188c92ea5d46ef8a367fb324f283e59cd9ae1b","420472c28ec603b2a71f40813d48e334dc52e114aa2643bae64d5137b652e35c","9b8e8b2a1da7877bfc51e45717111bcb04090745f89aa4158a9b9a5e66b47dd8"],"key_sort_input":["02e7f213204265b064ea38f4ba86a8aefa9d9163e67f6dd3021067b22f91fcb71f","03553916696f3e28422b18c58e08f53e838121d3976b36b325818c75b0d4cbc18b","02c3fec868b2d7f5428f3df9d5aad237fb532f15b85b9831d79eb4bb27435e4b7a","035e893cbeab934ff4a4505266f96647523c0b9df58b6aaec3ea661f8b2743a545"],"q":"02519b20dd4fe58c1cf2ccc695d7a936bb0f63e46631feb48746fad431922a4701","tweaks":[{"xonly":"00000000000000000000000000000000000000000000000000000000000001c4"},{"xonly":"05dc96229aae73c480c587e299a3cd8973b99cb0d8c28610ea76dc53efe76dcc"}],"tweak_error":null,"aggpk":"03492eeaf14b83ec802c21b6f00b3077a2db8a2c6ef1661e3f16116d0cedc39939","gacc_neg":true,"msg":"83fe8a03fbc038a0df","aggnonce":"031fc7f3a0db73c628dd2ee815f40391e11e6bdf769385cb5742d062e29ca99629000000000000000000000000000000000000000000000000000000000000000000","signers":[{"nonce":{"rand":"3a5d59ed89879105977e890a9eb239f5bec4d1a96a194ce10ffd99f148eb6254","bind":6,"extra_in":null},"pubnonce":"034adceee56b9d91d14a50a17cb4bdd7e65f9cf4067eaad0bda8f59a0ed98184d202f2f6c4d40c5a5d1953c95f31537ede84910449397d36e2e95f059d76cd61cb7e","psig":"084806c2ad2abb0067cad0f9161444be13f94e2b89d1b2f8ce58ee21a57ea8bf"},{"nonce":{"rand":"9fd7390d71f93377ca871f7e3c6d7686ba40e763b2a04cc098f13b7d40bf194d","bind":7,"extra_in":null},"pubnonce":"030c3d8ffde79a824000e0d973fa7b6620ba108bd3c1e2ef282974be81267c0db4026450c8b6259c515bd56c1cd27174ecee7562199611d514e844a01a7ce8173381","psig":"c13d9c1810b6975158f1da56922ed3dc07698a51a458fcab9b049f9fb7d961a5"},{"nonce":{"rand":"aad2d4fdff511f92da03d7be9e94e64eaeaf393a5881b674026979046531e670","bind":0,"extra_in":""},"pubnonce":"03ffc204cfe1dd849d8171c8b9a458b58e2371ea9b9d14fafeea33088a4aa4c436032a2b1a5ed23a268770a042e087f36e8c4e8cf7f7dc9ef3e159e6802dbcfb9ecf","psig":"9260e3e03a49ff858bea3ed07e3569a187d6b05d5f4f72be3f8112cc9b764592"},{"nonce":{"secnonce":"830760f97a26c4a145c825b9af055b5e6ce41bfb1760d4a14a994f6c306c923c0120671f204bd65ab2d29d81d8543779b09caa2ee1a5bef3f3a8f75b1848e99b035e893cbeab934ff4a4505266f96647523c0b9df58b6aaec3ea661f8b2743a545"},"pubnonce":"02c54055d22a5b4970bf9582876c14e88145b9d59bda52ade69974a89141e292c903135a8c63bbe9b0cfc1f2165d6936433cb6331a81d0f6e6f498ae2c704b6260e4","psig":"70ada4985df1692a32eb6e78dc84f74f3ba393b3c775bd8f81dbecce80217f31"}],"sig":"1fc7f3a0db73c628dd2ee815f40391e11e6bdf769385cb5742d062e29ca996294d23daecf69f7ce30cfe846edf7355dc9efe50af13ed7a494c7c7baf3463be42","sig_valid":true,"bad_verify":[{"kind":"wrong_msg","signer":1,"other":null,"expected":false}]},
+{"id":7,"sks":["a8f12062ed2ca6b236949a67ea6b3b06525ba08a05756a3300d14a1deef16085","331e854b8e27220f4a20f3ff505a194387d738a72dfa4653e869f4dcd68f4f9e"],"key_sort_input":null,"q":"0233b60a0fb6a727e90f08cf0f826a0a9de50f8ec1a48ec1c78f7bd0f528894ed7","tweaks":[{"xonly":"049330997a60ecbcdfa5894ff3fb7f198f778d3a17df48fcd781798f58d786e5"},{"xonly":"6c2dd292d5df421da596b8217badfad8ee5a97077e1d80cc21ab92ccdeef5896"}],"tweak_error":"TweakResultAtInfinity"},
+{"id":8,"sks":["90930377b64c4d0d1527b7816410b7756d31b55434948e601738c30373f45726","90930377b64c4d0d1527b7816410b7756d31b55434948e601738c30373f45726","90930377b64c4d0d1527b7816410b7756d31b55434948e601738c30373f45726"],"key_sort_input":null,"q":null,"tweaks":[],"tweak_error":null,"aggpk":"03f20b2dc9bab8ce46c131b493b9f58f856c7377a7283c732bed5e8f8b1096601a","gacc_neg":false,"msg":"bbf84183b2a31d1260","aggnonce":"033580063fd7082f5aa14da6551a5fd3dda8ee86b31e269922e1b1d88465c179ce03ef0db3d9403fab5cc6d59b2f54b08e8cfd80addabef3c758cff89797e395dd08","signers":[{"nonce":{"rand":"008791f43ad24690cf13c0da2fd9ed80dff5663ee2304955bcd56f45efd2181a","bind":0,"extra_in":"543e8f7ac7a7e11ec6f07f41c5d4"},"pubnonce":"039b59044150be968fada4e07681ddfb95f5cae91d46fe34cbf98dc38c3bda404303003df4cf06d035a6e6f6de5fb2ed045504fff064318b6c647a18cfc240128851","psig":"ad3133e3d2916cc7e33f339a0593574fa293a9901073519ce0a15d745e88860e"},{"nonce":{"rand":"bad8f8e65a17bf5acd6b0e81cac47c3b160dec9d71d5d62ec90211fca98053ff","bind":1,"extra_in":"7acf0d0b58e8ea36078f78"},"pubnonce":"03563e9fdd4159429a6ecb87016ee8f4de45a9b3041a26f3e1592215cefca4d63803f23d9a60ac6d7f6039bd5cfd1db22df39e0d80333617d68905bd2b39e9b78c5c","psig":"3fc370ffdc29e7cd0414daba694ec3eb2524cf91100a09e47d4b1c2c5d70e925"},{"nonce":{"rand":"27be34fbd4b9b26143d364545984b748b3773da85bab9c4adcc0e4bfd253b7a3","bind":2,"extra_in":"4057c478d9835357df8aca92"},"pubnonce":"036ea124a462aa81ca0806f4acb8414bcda716f3ec8725ca81c8aa76a7e1ee54e9033950077dfe5843e34af0d2b2d1642bb2268e0717508f1f18c1d60aed1a9f7f8c","psig":"e1ea66fb43cdcf056cbd0d4a5d4b02818b22cc12496d159be37230947c6ca0ad"}],"sig":"04871e8cb62747310a16aa3d5ad23f327ab6d11e9ab53a75eba7efd60091f060cedf0bdef289239a54111b9ecc2d1dbd982c684cbaa1d0e1818c4ba8682fce9f","sig_valid":true,"bad_verify":[{"kind":"wrong_signer","signer":2,"other":1,"expected":false}]},
+{"id":9,"sks":["7a53fe95d7475bd967f26fd0ac4e30a7bf6e7740b61b7d040d39f1f6b664cd79","a1ced9999e5417f25236c844acde2e6be39337f1921d5a41a181f2a028d195d9","a196881d5f0ecbf9c1b498daa18144b0eecfbc5e127eed94dcfd8d64a063fa96","4ef717bd967c71e60964e1ab6630960ad9f7cd3cc478ac556dcf8504d666120c","d2a75b297ed668682b62c38e09fd1447df0757f1deb6f7d94bc63cc2a5d451f0"],"key_sort_input":null,"q":"028f40c4301f8c2fc1f87fe6ab7d749d4cdea4e777272e03c762acfca5cd4f6763","tweaks":[{"plain":"0000000000000000000000000000000000000000000000000000000000000000"}],"tweak_error":null,"aggpk":"028f40c4301f8c2fc1f87fe6ab7d749d4cdea4e777272e03c762acfca5cd4f6763","gacc_neg":false,"msg":"a76b44f3187ad86e0e6ec343feb93952616c92d6171e6b4a54edb283468001795502d88cd1bd50e5cb78cad62906ea8068acf37c8a24cc","aggnonce":"03e99b8d87e472c6f7eb3218479234df293633be659bed62ac6849a0b43e5a8af503d6eeb9200b64594344e7961d2138734b2fb65f04427a4b442caa9024b879ffa7","signers":[{"nonce":{"rand":"41400e6f286d81a7f10a5da18d7573b2ee701650452d743171ebe39d3bf1f44b","bind":5,"extra_in":"c1f23e04bb323b56f791841ac8"},"pubnonce":"02782a9efdd0720175f17864819b07abc849a209b7c4dbe58d151945a05c5e45dd02d48ed8e9281bb450cc7280ffaba560eb66271280c4ff1bbad6757cac16949739","psig":"bc8cc974628db36018f45c4376a5c69b5d02545a8d4264fe95ac3ee4d0ac77b7"},{"nonce":{"rand":"66b663e73e5744f8ea33f67c3caac069d794258642435e30fc0da3d90d8bfc10","bind":6,"extra_in":"dab873e7f625fbe74fa40843ba17"},"pubnonce":"030143b7560a51f9fbe40ddd71560562c93a6121aee026338595e7cb2423fb0a2d0245fdd178a1b01106db3446aaba4a11cb19f89196a746eb551371d6f19edc6a92","psig":"c11cdc6400eabe8a475b6031889cf66b558bec50eb79e582dcb6dc751e5f4e93"},{"nonce":{"rand":"f87cec6d15a3695ac9490d96a2fedec1dba53919d732e8269b2cef40bb5972fd","bind":7,"extra_in":"616848bf00"},"pubnonce":"03ce4be50e70436a8e66d3402d58d0ddb3cc97c13642a2eab7a35063f2c5f384a0039e7fddfb0421897fb60a3384a7e5b0928305d4e58ca655a07bf0076d5d40d9d4","psig":"74fe6f7fb548cd0c50b39ddacde774ba0dfd0496a84f8fcb2033ee4ee4ac3c8a"},{"nonce":{"rand":"3d8eba32d89550f64258903849e142d04fe09fa066670643ed07792dd0053991","bind":0,"extra_in":null},"pubnonce":"031a4ff9c8c109abce4b8c546cd5b87936ae1ea4c8dcd9858dccb4fd1bc7273629028d8172d1d8a0237f45cf497628ccb6ef9c35ec8664c1b2b30e3d8a4e80db1b75","psig":"810ab012051aa993cc54c7106b0f3013f5d4694afa0341c24e451b5d13abe6cc"},{"nonce":{"det_rand":null},"pubnonce":"02b91bd2719b7f0d999b2436fae50a60f4774c58ea34786193d8c64ac142ff80a403928468066a6cf5890d3ba893c124b084599373863d0fcc0208d7d2866ce444bc","psig":"f9c9944fa4ec7af0963d32c138a946e58f5ce933d3e7eafefb549be560092b6c"}],"sig":"fc08afabc404436f4e4c20c4b37f5ca54e2f9fee15ec05e528d38b11600863ca6d7c59b9c2c8637b1395542170e2a8be15b0010ce11d265a9cb9a544d6ca5149","sig_valid":true,"bad_verify":[{"kind":"wrong_signer","signer":3,"other":1,"expected":false}]},
+{"id":10,"sks":["18afc00117ab90af716e49ac302a86e6894fc825380711bf1f86309e10950495"],"key_sort_input":null,"q":"02fcf187681f692353902031c8ae2dedb9dab47caf24b7e25e732b5676f2d8def5","tweaks":[{"xonly":"00000000000000000000000000000000000000000000000000000000000000a4"},{"xonly":"fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"}],"tweak_error":null,"aggpk":"03e09271dfc40c3cb50495d9b41ee6d11712a1da935dc26dd926af0ff5206bb794","gacc_neg":true,"msg":"","aggnonce":"02e2e832bf674b954a4ed7e68b07fea379bc45516cf8cf8e6d9cdf0e7f54e0f82c03cdf3b23fd8c311775cc100066dee64af50ec5e7055f4f566978d00549dbcbf6c","signers":[{"nonce":{"rand":"8b08829420e0b85ae67cafa99ee2401962ead966f8d87fa67896f0ea3c449c0d","bind":2,"extra_in":null},"pubnonce":"02e2e832bf674b954a4ed7e68b07fea379bc45516cf8cf8e6d9cdf0e7f54e0f82c03cdf3b23fd8c311775cc100066dee64af50ec5e7055f4f566978d00549dbcbf6c","psig":"914b12f799442938de1ee78823fae0901a2ae0e011fd512a101a4f38250c2fd4"}],"sig":"5045ec13ca952bb22bfa5232546d53a0fd6998aac19068cf1d7f18f77053a89354240e09e6af0bdc4d3544ebb8f3fdacb31a0a880ada4a9777b16fd62da20e82","sig_valid":true,"bad_verify":[{"kind":"zero","signer":0,"other":null,"expected":false}]},
+{"id":11,"sks":["91f3bccf6b77ab82f3505cb3e6f1f42b0744d27cb80f8b825503410c29381f1f","b583a0a609e7e0cbd081e1d8dda18f352be90c47a11fc14aa4f55150dbf7e687"],"key_sort_input":["033a1227842b791015c42aa8ec2283a8c8bb5c310c5272da1fddf72995a749b9fc","02478f767481cf0c007585d129676d7e3082b7e6ca32f4030c09f8908899d9fdaf"],"q":null,"tweaks":[],"tweak_error":null,"aggpk":"02588bbd7fd4d31d93d4fa8108afd8cc3f95aceea888976a2f30e9ba146d61b9ac","gacc_neg":false,"msg":"697f468dd2536fa5ff664da12054e3f5ff9e3faf88a03cd50221baf67bda4c009aeac3e499ae76d8755172e9096231d24b3f4a9d4d4a6131567735fd79b829fb50fae2beee164d98cc137c9c9f909813abe622ec34fe18c651fca09930d4adc90305d7fa61d306fae09828c16af2592c047ca722c87044fe411ed43d01edcc37d8c11debab727980cf7e2bbbbedc25aeb7af97c457b4d8b9c337cdfaae9cf9eb2b1077ff354e3ebe167777de685b4962d77bd02e4465b2f383be3c6fe9a0dbafca89456e588189af42d466c87d75b9f54293724b5dd80e1dfe7aff0e9f3abdd865c843f42404cbb5bda0c27877b593df3270e9a30de805ea43b41767f9d2388d02d847d27ab604f1b518433754ace5fa94a29ae9db1a19be60e373ac7568d664ae25960f10","aggnonce":"03e1399714f9d9398455e279c8e558aa0262d5fa1ed43a8ac0f176b30c5438ae9b038c2b7923619c3a7ad56cc78bda50396fec378fad48d039c10bc87f62a22dae77","signers":[{"nonce":{"rand":"229ee8961ac546a361ea40847364729835552c96133919b6e46c3ef6a3e19f90","bind":7,"extra_in":null},"pubnonce":"02c735ed0d3ee6eb600fff9188eceaaf99411d9a149e22725033b26e71c936f126026baecdad50933fdc97c1b5d4983cbbf9dd2ce1451d90a07c0801dffabbc2ac72","psig":"9a1447841bca28cac92a3c3220d290599f65fa1109ad6be08876737235f1eda6"},{"nonce":{"rand":"fc519fbbe15f7d38a988b07e5eaa1e1af8e150479498c9fa948fc86ac942ecbf","bind":0,"extra_in":""},"pubnonce":"0305228c8a6736cf5aa7ad4a80d09a59bd08772fd47c593ba1be184c65d0e347270298fdefa5879f15e5993e4e4a9b736205e31ef0b5f6e0c92bad78647c4412b7d3","psig":"d2f8f55afaec3d971c915c4351eb3f4e8c799e9612976df402ffbc1a70b353f3"}],"sig":"cd794826e6cd3dbf7cdc97d6892f5523a71894c63a6cc57e52e43e8e04b4dd7b6d0d3cdf16b66661e5bb987572bdcfa97130bbc06cfc3998cba3d0ffd66f0058","sig_valid":true,"bad_verify":[{"kind":"swapped_nonces","signer":1,"other":0,"expected":false}]},
+{"id":12,"sks":["a75bbe2824414c2953d22a7e17dc306682b88b4d67a1c4e169104087af1cd580","a75bbe2824414c2953d22a7e17dc306682b88b4d67a1c4e169104087af1cd580","a75bbe2824414c2953d22a7e17dc306682b88b4d67a1c4e169104087af1cd580"],"key_sort_input":null,"q":"0365d1c0fef421f47e6141885d4d22669ca8374fc9fe3ac25cdd05a82b570837c6","tweaks":[{"xonly":"00000000000000000000000000000000000000000000000000000000000000d1"}],"tweak_error":null,"aggpk":"03bbfa96dfced8e8deaa2c86c33867ccd900e78c4eab5db03f6c1fed3598f0232e","gacc_neg":true,"msg":"9c2169fc5242b358c1faacc9ab6cf87244d2a0f40e885027198799b6907a5023","aggnonce":"0276c580941f3ee510d8fc771d8e6385e91cefbace6045cfb996b5d6340cfa9ccb033e01e159e981bc6ed579681a2823aff75f7dc8afb7aef2cb3f4eb36fb3aad7e5","signers":[{"nonce":{"rand":"acef080b0be8f2b80cd98e695e8d54a970562e09be16c55554d4fcc82b8da8ed","bind":4,"extra_in":""},"pubnonce":"02457a4c15a75b5cbb7becb17bc78a28fae73a26675027e532266c963ee593cb41035cf32f247c28bb481eddf17da1209ce5cdfcba50eed5ec9a81addfbda4af8f89","psig":"d649ab958474c420965f1f9b5ecd19d480dbdb7498db19c90444c00b20cd828f"},{"nonce":{"rand":"6e49758ddb97114cf7bfcc8f1daf9195ff9a0ae30799ff860a4a8a917d53b40e","bind":5,"extra_in":""},"pubnonce":"0326ab87815eb9c60dd64e87d76b377d406e8ca5f962b59f0c8db86229aa71567903e877ecf0ed4c4b5f208bf2ba33d245d7c985b70c22f4ae9366edf2b5fe375364","psig":"989d3f743c2d902e4e1c00a2dcb40285e8a9b2e16cc0c35da949e0aad42407a6"},{"nonce":{"rand":"401e2394e574ca95135727a424f1dcec1a7225f0415cfd4d87ff6d41a6ae772f","bind":6,"extra_in":""},"pubnonce":"035eb967bd768ed572a52eb01b62ce085fe869aeb94b2420a5534a53bcdafb4fae03a2e95195799cd1f1e7ce63fcd5feedd1e0e4fb307121acc0423e740688840bcb","psig":"4593b947a96794a00d01697c020fe48fe75e77737300197b26d7077854c29812"}],"sig":"d3391b03f84695b73353233584348216abc48c61cec8066af4d1a8e9466cfde81c16d93ba86f1819e4742201f4ba03f733f1c467e8d26c4667081e7c2514bea6","sig_valid":true,"bad_verify":[{"kind":"plus_one","signer":0,"other":null,"expected":false}]},
+{"id":13,"sks":["01f366cd1ee59ada1da706ab56df99e3dfe61107b283f2ca321c9fe5e8ef4761","7c421ed3dcdbdfa6a720023d009bad31b87948ec278f462c465e0ae63cd7c8e2","ab7f9d86c61af195643e44260c07cd53b55695d0c67eeaf49b4effd89d4ff8b8","d53772ab1ce073dd1d1863bda50889049f80801f2892427ea5841d4703ac5445","9db4e6084099acd0ec2499d6ae2dbc40be579640c73f9f9d60a1bcb4b23ed3bf","c7d2135d46025296f2db4322c89c9c6b291f1b34bb8c8c86476da0e370b6ef38"],"key_sort_input":null,"q":"032503cccced9901b057b559aeeedf91e913f627e92e5bbddee3993cabcc4f4044","tweaks":[{"xonly":"0000000000000000000000000000000000000000000000000000000000000000"},{"xonly":"133abf804bb6ffb45976ac7418cfbe34eed9516c5bc65d999e93058e362eea2a"}],"tweak_error":null,"aggpk":"02533c476bc1f6e2a7125f319e156a4b3029bf8fd819c8122d2d7c3090e2789d39","gacc_neg":true,"msg":"5e2e07e06cf954a956250851e0f4a0dfefd3826d5daac9c0ae7cf2f00c7688f2","aggnonce":"031c757920b0394f2b885af6abc9d4367a1906d0e6f088798b9f6ab8dba2a3371903f7f089f8ec80823a26adc3f451585184033e4bb556040b087723927ae6448b2d","signers":[{"nonce":{"rand":"9c185bca2cd0930d1370ee6ffa2b5884c2008535882a0c48d229b85f38392566","bind":1,"extra_in":"b75759ad41d5f24458"},"pubnonce":"0355cf891035e0d0416eb229ee1fb4f7b3eeaf1ba185432ad5086b9d4d24322e02036f0d210c4b8e5cd8ce708ab0a43b11e9eadc8cfe998eb8628cc47e39493585a3","psig":"2daccc48d10e58176a0ab07181ae30e8519244126243468f862f2a2df52b14e6"},{"nonce":{"rand":"b9b20110e2ee4f170b11335e8f1810ebd77a294356803749fad8584248bdde7f","bind":2,"extra_in":"36c2fb"},"pubnonce":"03a5781d42870b4b65b8cd55a0bd433a9e34ef6cf754074d7a012307dd6feaf0db022d0dd80108b390876877e043a3974ad722f9118e2dd584bc479a25d16b701a07","psig":"208d3d6c189c5c07db7fb457a670005827ccde0d6375f6f82dba0804034ac633"},{"nonce":{"rand":"5e26c71b90ef257f9772824f597448f3a00e9e01ecb5c05bffefb5d7222faa05","bind":3,"extra_in":"135a952cca3d40a8d96dc04780d1b3cf"},"pubnonce":"03096aac54a41f4c58606e9b4567f64fe0ef641ceaa809bca8b2d6ca9d07db564802f4c654dab97d841801a5bc326f9eb30b7652868317ca7517e747ef11dea18459","psig":"ff22713975a84f13666a3ae07baa92e48aea2b416d1b0493353ef9c241a3bd31"},{"nonce":{"rand":"7baa9f4addbe0af8ccdd231760501408d91a6aebb13df694c3c58b4d20490061","bind":4,"extra_in":"f8e3b208b90a16f98b7c"},"pubnonce":"03ebae382ddce08aaf7e8316138314cb1e8bab65acf7a33ed1479ac7b39d417e5f028d65760ba45dea35d2790a2079b869df702e14cd9f6a794361a87439c3d75497","psig":"5f967c18c6caf578070665270dcba88d414d96ad7fb31b75d35bf8aa46c13e75"},{"nonce":{"rand":"467e2c192986ef3ed3738aaee81a93e872528ac90bedf7de298bc2e60c19e3c4","bind":5,"extra_in":"5929202b93c1d83f"},"pubnonce":"03eacd6cdbdd166df0fa3bd92311d3438aed9c729ad4c32edd12522a5503daa3d8026b175ce45fac5f772e97867c21f7e2ee5a9c4f260bd765ba728d58eff0b42488","psig":"9d19030a16649f532064e14e8e7229f23436b10d01ae576faa4138d3cdbbc318"},{"nonce":{"rand":"976136f0cf00fac91c2b1646b1a8f5d57ab5d2aaa0aaaf1d51797ccb799083fc","bind":6,"extra_in":"1be523"},"pubnonce":"039e11bdbd973171656d0074518d8edb5218b926c6a3a43abb8af651561fe4beab03ec3f852d41e8e756fff52b216fa770a67c2b45333fc7d685b7be806e38202ee4","psig":"3e36ff0d564645f5d67cba71c9c491f495fa7a5d2871ba8801312c63d8aa7e57"}],"sig":"f690c08d302c19231427837deb016b28ca87d7c8dd196a53bd8972b2f8f1bb4b7be73f9a4c7e1d7196f3de0ead2efa4a0cf7b307822b5151214340ce446415bc","sig_valid":true,"bad_verify":[{"kind":"plus_one","signer":4,"other":null,"expected":false}]},
+{"id":14,"sks":["5f3c6542d8a883fdabb5c713669b4dff8d7e9d4a32183aae683bf46a5956ff04","c9a19dfbbfc1ff9b62b0dafdcb84829bfc42016a6618b04804baa18ea117f7a5"],"key_sort_input":null,"q":null,"tweaks":[],"tweak_error":null,"aggpk":"03f38cb91a2099f6c0594547de19847ab6c96d39f1532d86a010c13e6704955802","gacc_neg":false,"msg":"f350b7190deb42333d61997b135a173a6556ff4c3aa7e2a1f3c6b8e9cb8defba","aggnonce":"03516e8eb839fc65864c144de0bb8c26106b162865b716c7292be84a8db3b07adf0318c8b2b0fbbe0d5260afc361885f95b873a7a61c5acb1c64cb43048c967e92d9","signers":[{"nonce":{"rand":"4facb7118ecceebdff75b81a0e99952196882f72a0f09a05ffaf02651087b111","bind":6,"extra_in":"a5498ff4c728a21d"},"pubnonce":"03e34565b5cd06c394e85f37d6dc0426b21bf5671a16b6bb90e7b5a4007cebd033039f2fe7ceb925f378dc4e0114254f81fbfe17e3be9e650a667e315a2686aedf5e","psig":"874d33d141fb1852894d6db1e5b932656828a431afdf8f7cf0745be11b03dac9"},{"nonce":{"rand":"5cf89b73b1fae6912ecf72b5d40c75e28279dea888d9ffb6a863fff8deb5e74d","bind":7,"extra_in":"a8c1c0920a28594aa198"},"pubnonce":"03b7b24981d9e4e72a4a46a4c44521193e4bb21e287b33c7096392dc16438e400c0396d769514bb0443f19cbd9638eb99fd71225e54608d431c75599269025946c43","psig":"e81276b22c4ad3d66759c86cc6054f6112add73bf422823995a1dbc68a6a91dd"}],"sig":"b7258efc03f83c75219d0774a5a4ca05049295df13b182670b57d771593d22946f5faa836e45ec28f0a7361eabbe81c7c0279e86f4b9717ac643d91ad5382b65","sig_valid":true,"bad_verify":[{"kind":"zero","signer":1,"other":null,"expected":false}]},
+{"id":15,"sks":["bcb673d8f6102697a994a6b187bd126edcf08017bc4feedd0108c69524eef350"],"key_sort_input":null,"q":"0388a8f3727ba10a9d7f0a3f6ca217c2b2a91f23b0c994c02cd7bd83f45705ee9c","tweaks":[{"xonly":"7e933eb56a79e811c029d001b967c5c05a6c2fc9ad48071b69497923f2ff6dbf"}],"tweak_error":null,"aggpk":"038273653b3610948f3d4b95cb2eb1ac01cd7708d03e30f9dab8ece82b5bd0838b","gacc_neg":true,"msg":"11898b1fe1438c4e0a5ac46fadda7ed54983fd4d5ecf20a925c257f3994eb2594f1b1ce2ecafdc3deae6725ce459a3afeaaa49d41dc179829489","aggnonce":"02eb3d32d40d7bcbcc97e003601f75c9c21e90e385c8ef3ef50f5b60a3df9952e9029726957d4268b3a1cd91d91c30f7a71c21a078ae6d0799f9f6cc957d809e26b6","signers":[{"nonce":{"rand":"ba28889871c61bf989fd8f6543a029ea87cedca6b059d31797db96702b3042f8","bind":3,"extra_in":null},"pubnonce":"02eb3d32d40d7bcbcc97e003601f75c9c21e90e385c8ef3ef50f5b60a3df9952e9029726957d4268b3a1cd91d91c30f7a71c21a078ae6d0799f9f6cc957d809e26b6","psig":"605b16dd9610eeed4fcb164e7798b8f34afaf51e77e9dcf19acd1668b3c0d78d"}],"sig":"9a10e571b0093d1892b1ddc76751fc7a74923c8825de07990908547787479d9d464cdef66ac0d4d589c17b0b292ce3a97c49304629974c63b05e08d81db188d2","sig_valid":true,"bad_verify":[{"kind":"wrong_msg","signer":0,"other":null,"expected":false}]},
+{"id":16,"sks":["668394c2a35b0342215fb21c60c843ec469295c50dc663390622992d859e07fc","668394c2a35b0342215fb21c60c843ec469295c50dc663390622992d859e07fc"],"key_sort_input":["039059ec8274c2cdd52d44746b3517b8fd66dd2f83d6e2cf3363d2fad68b06061f","039059ec8274c2cdd52d44746b3517b8fd66dd2f83d6e2cf3363d2fad68b06061f"],"q":"037f23f68dcf1ce9dcc93332c2333b152c528278e1344d77c45a195ccfc47796bc","tweaks":[{"plain":"fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"}],"tweak_error":null,"aggpk":"0272752febccbf8c0eeab0d86253971133047aa06d4018312c4be3f8dd9155f336","gacc_neg":false,"msg":"60e7f53e075469","aggnonce":"02039c53810ed851be4fffa49b151ab1d07c608922c42bfa9f0daaaaa061c3db1d0386d10b4df70cfae505fffe6ddce7a84ca23ca7ff246d8540943ddfaa1fa34aba","signers":[{"nonce":{"rand":"e1b0e10a2c65016885750cf8bf4f1909f9e41ae2d5cf7fd2fa9b41e34ebc8b8a","bind":0,"extra_in":""},"pubnonce":"0222ef104972e9ae16714dd7377519e515ea944267fd211f43542f3be1fdccd3d9030227be64baef74a5266e1127acb2b8342ee29fc82c55d3287e37c92fe35bf3b5","psig":"713022783707729feb55002ad53de5147b6efd1f3bcb68dadd454e332182b5b8"},{"nonce":{"rand":"8b78bae1a6e98ced8c3444b510ab707911219461b7f41f2c5bacc9517ce6263f","bind":1,"extra_in":""},"pubnonce":"02146fefd3ce1d9e7950a2f2f07521694586728858b6153a54fb3f8b7ce873d05603564136f71afa6fde30a1e9f2fb0708f7a49ebebd29e564569ecab7685a9ec650","psig":"df1a389808a84ee6e5e53236612369527cdfad05f92afe638b322653e4359ae6"}],"sig":"748de2f335b3d2224bfaa82724f523dac5ae52052c3d71907fa455b4e4f61d09abdd2088ea7fd588e00b90cab94d68ccbe3228cf22232989ac24e266c9d0c34c","sig_valid":true,"bad_verify":[{"kind":"out_of_range","signer":0,"other":null,"expected":false}]},
+{"id":17,"sks":["f70c775e908372866c4776787253f9b5ecec8bb528f7e54527d4b5d40e064cbb","f57eba1fd600bd44d89825481663004b76ed40ee56352decde7a62769e473d37","d5d76a1a0873b04d21f31dcf14c3ed4bf59819e33981e47f061f7c2ba1d47676"],"key_sort_input":null,"q":"02d9c53828b8833d175f3eec408d2653bcb26c98ce7eb8f53c7324c89c9c1f194d","tweaks":[{"plain":"00000000000000000000000000000000000000000000000000000000000001a5"},{"xonly":"77df23443e06065c6d717f70061b02a59c711a202286092d238aff14b4e60d72"},{"xonly":"601e65fdeffc4c5926ce623b4d0d90e128ac96a7ef3033ef6e979cc6bf7ac8b7"},{"xonly":"fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"}],"tweak_error":null,"aggpk":"032fda45aa1bffc11e55bc5ce1321e7594846d654c4e19aab3d43080c50726056d","gacc_neg":false,"msg":"976dbf","aggnonce":"00000000000000000000000000000000000000000000000000000000000000000002cfcd9ee6c175a614ec06d6112ed024f3c23409afda1f1d5813613051f7d37998","signers":[{"nonce":{"rand":"2ade14f84bae0d1e2247d27b8234413160f6362a8f775de6fd0dab7b3e7190be","bind":5,"extra_in":""},"pubnonce":"03f9e0f1de457dfe674a452bf220ace6dedfbeff090a873ce7a83563f5f122b6c002fdd113c26b5a068a8f3c0b577a443fd4be10ce9718550f55ab93a8d60ef22e1b","psig":"9f5d227727e92d59a5eca08f964fe2a896e708615cafe25e5aec5ae99cb37d17"},{"nonce":{"rand":"56ef4cece08bf9c93da3e277d25283f9d635cdef95082d50051fa644b32fa14a","bind":6,"extra_in":""},"pubnonce":"0275b14d3ad158e811fc7fe834939f601ead255d1682cb00081239cf38c83e67c402a60c6b3b2b9cbac1e2aec4b19b3be84fadae7d1fd126de1f4aef5ee5a4365ccd","psig":"e18c0e4459d29dc43b5f0445221ad25373037dc2cfcde3281f50163712c29b20"},{"nonce":{"secnonce":"e5e68e2f2beb0f12782e62e3b96c3a0bea0d98b438d3d0253c2413ff6e0a3697f0a97cdc3a129841c8a780873b0f489ef10b05cf54d4e7c7b024b19718275981033b04ff01c983dbb691ee148d0584d09ac91fd829b9e6b43f17a57be72c9c8fe7"},"pubnonce":"02cbfab6052140f884672d9db2a7a22efefc32b1448c8bdbd4c6b84155bbc98ff8037d24f85ee2f15e0cfe481114717eb132705958fc743ee55258eab9fabf578471","psig":"4141c56a0c80af809abcac56edbf04d0c4bbce0ac765754b166aa8ca2936e09a"}],"sig":"9451dc60b551384dd86455ff16475256a1220ae410cec3ccd105a600f8e4ef9219e14ab1e139a5dbf9ce81fa068133500fbba64505df105f60bad7a40388baa7","sig_valid":true,"bad_verify":[{"kind":"out_of_range","signer":2,"other":null,"expected":false}]},
+{"id":18,"sks":["a5381f7a696581b3d695630815c3bd933f83fa3f0a83c5a35d85f0eeeb1fc5eb","891f0b404ee0da45c7191990528d5dff12618dda062bd1c954f8ab5924e8c7f6"],"key_sort_input":null,"q":"031fb59f3fee40905dc1400851355ce2acde6c344288c61f483123bbc9b2a467aa","tweaks":[{"xonly":"0000000000000000000000000000000000000000000000000000000000000075"},{"xonly":"0000000000000000000000000000000000000000000000000000000000000000"},{"plain":"fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"}],"tweak_error":null,"aggpk":"03432639c9571b2438e5aa693ee2ff7a3869b078f8ff2e216c443706a9e1c78165","gacc_neg":false,"msg":"cdcb88ff397d86cbc17500761705655c52860f9172aff4335419008e25d510a45b045bde917c74b9d8f0bffeedfdf2","aggnonce":"0310e932356e63368be72fe5976f4b25545d84fef891c60aa791bdbe41975b735e000000000000000000000000000000000000000000000000000000000000000000","signers":[{"nonce":{"rand":"04e57690ba797667514149fb2748632ae8c12fabee4368c2e06596f3b43d7707","bind":2,"extra_in":"1146"},"pubnonce":"02ccaec1a98f9e6c4d12d241b80481ed0ae04c74a126e36261973f7a940697e55a02ba57cf033e4b0821bbf15adaa558de36532ad980fca00576e607952a71400571","psig":"e0a7c5898ef23fd2d334d0422bdc439cb88a1afbdc956e18902160889c18fb45"},{"nonce":{"secnonce":"b1fa4d874329e259fd820e9231bb41cba8d4f357bccbc76f890b1b96874832db821989eeba3f27091cfab0053ca392db5ad4e2064e60e60cd65ef9d690c9704803477828fc99d0ac1715719c982fe0ea39be002ee31a26f18383c8e0a711932988"},"pubnonce":"0344ad61bbd8c98e145aa03cc4b8e1f57c04a3fa961ef98c1b80567d544d42fe8103ba57cf033e4b0821bbf15adaa558de36532ad980fca00576e607952a71400571","psig":"2e22420294910242be2153c89556ede2ee37d7e35da17e5f96f764b6e045c2d6"}],"sig":"10e932356e63368be72fe5976f4b25545d84fef891c60aa791bdbe41975b735e58746995e812f9666ea52c98e4a242331d3a37a9d655df3122779bb85532e6b0","sig_valid":true,"bad_verify":[{"kind":"wrong_msg","signer":1,"other":null,"expected":false}]},
+{"id":19,"sks":["505309035d6de15c345468d736991b1e0aec2030c7f7b705b0197c8824c3e496","fe478f8628555e7b1825a644669d0833d612605ffd93ea9d5620f95f844d6439","aa2c0f822f4fecc0927b90b7fd0124b59b503acfc203fff31fe05798818e7183","491c42eb7f847c983d3fb10e283f4a281e9ed3c74bb7c169f22302a82857de47","aec47888c18d6a850817e0f5abd4bd946ec74bfce9a06308be7fe33cd8702ccf","cfbcba7deb113a318f90c854dd31a50d427113c1c136edc373d16b75e6b8e6ee","958deb2db8303b721d0640fd377566ffc7e202b0109fc41834fd73401cfaf4ef"],"key_sort_input":null,"q":"02946aa8e936468818c00118365870bffa6288e1599b649d911be5be81cd06e513","tweaks":[{"plain":"f3c3aa32ceb60108b55ec838e3804fefe371cd4a558861b0346bce2257fb2887"},{"xonly":"0000000000000000000000000000000000000000000000000000000000000000"},{"xonly":"0000000000000000000000000000000000000000000000000000000000000000"},{"taproot":"eba1c065efb6e693f7133afdebe301083b4d1affde2576418d3dbe47b17a9320"}],"tweak_error":null,"aggpk":"02bf69e51783aa1852cd1f51086d4061d55bd2412095d94f513be7c2f4676d431f","gacc_neg":false,"msg":"6554a0a64b6a28f498fc68","aggnonce":"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","signers":[{"nonce":{"rand":"21c66ead59a65fe9cd4d438e2014f13dfa0d55ecba3e46af722c1544c6173ca7","bind":7,"extra_in":"166c6dd20f7144"},"pubnonce":"02ac754f7c6f65bfa43bacf5ab1470a8f3cab88deebb8bd3d4adc2cb13c20cfb320331a30a5b01fa4d666df8b7a604d80fbc767b6d2ac99796c1343b779295aadb00","psig":"91a3fbf9e79f33efdf60affa5c2c10c3ade2f2d6fd31bbefc913620917335696"},{"nonce":{"rand":"bb53a196a70d44bde057332caa4c44fd0c0910ea2ffe6aa9532559495b72564c","bind":0,"extra_in":null},"pubnonce":"034e3a32ca376b6df1dbccbe3389b0c3f62f467525c39a8413f7e7e84da53943a40256bbf25c177ea7a4b96cbbb676c53da5721de4818720775dbaa09eb933920c7d","psig":"df166d3d949267f001941f9c9efa9bc01e3fe356b36d4ba8225c416a68e8193e"},{"nonce":{"rand":"d073ac404cf9b44f625915fabcd72b64f06b1a6ebb0cf372dd02f77c76ed5992","bind":1,"extra_in":null},"pubnonce":"025a942d17074decb87befd5ba78329f08faed1e9eca194d8867da6b5b4fe6c69202eb341a45787a7873786760b84f5759cf17bd69b060dfa3050a8146e5e1acb8b1","psig":"b8e809982bff522fee540379a4fa4ef9ed9153b6a90a14988a6cbcaf31313986"},{"nonce":{"rand":"1fc3fcd251dc5071bb4f41ef85c61df29e2f265fc7ae1eefca01328b04986da1","bind":2,"extra_in":null},"pubnonce":"039cea81785ee5ee9e889670c2d306372ce0d48a264040d830d1b89ed44b352dc203d49ef7c66e5ad56bfa555b259e46525d1ff6d5fc3e3544f6d722675a48f8af2d","psig":"61a209af82cf4e8d5fb33869ebc04373a3802a4d430c18984470e92815775ca8"},{"nonce":{"rand":"6b47526d64a2de1f755e6bfafb9423fb5fd19558b93e8fe54211cd3b0f1abc0c","bind":3,"extra_in":null},"pubnonce":"03cea37e7ca300f1bf4f94c736362b0cbac7e6aa0108a2cc3c5cd86d2beeb8c5b803754950375af71ed77d9fa09ef0a49c45d3698616cec1ec27fd24f3a204ba3768","psig":"46e8958f75c321e1f2a6f335a53f18b83ed9e73d60e31651135f0253e7c1fa0b"},{"nonce":{"rand":"f3c8be5b2a5f5dd6bb6e2513a6bac1f89b570f7d2467b8f9c117c197981fc4bc","bind":4,"extra_in":null},"pubnonce":"028370f406ff4f744d5f9b558da352b62938dcecb81ff5b5d05eed6951aec548ed039521859063564b691fd220ad493920da08437be41f13cb73f004ce548c04c833","psig":"f9fb63051189b042f14beabba758303d894291d9a97831a97e8f3563506e5523"},{"nonce":{"secnonce":"bfc094ab0b453135a62ad5226373fc98474f1dca72bb7a99698d80e662f7b44217a6bebed00dc10d4af8a03f9fd5296a04352739f7e6520f9678d8b2091701d80278132456e080dc4bbaec64029d0de9c85f054d25da9ca8806fc9271f7febd7eb"},"pubnonce":"03e42c56e0202ece26a8204b6d8a764450727965c70ec6db1d63a10eb433f8ff21023f5f02df9d2d13741c706539299e84a39d9da081e6970a25e08791f70249ab05","psig":"8f6997a4ec4d33cfae5485bb0294e6dbb36c4f73414f12cf3fb52a36f0557408"}],"sig":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798e3bda5922e962855cb48501b485b3e629c047fc1c220efc0ada91aad91f9fd9e","sig_valid":false,"bad_verify":[{"kind":"wrong_msg","signer":6,"other":null,"expected":false}]},
+{"id":20,"sks":["9becff5d8e1f40bbb369d024932bfb17185523c468175185f7843e41da2ddb5e"],"key_sort_input":null,"q":"0348d41da082ab702167f78ce95594dd07ae30f3312cc691db2ed7eaf8509093f2","tweaks":[{"taproot":"a9f48f4051673439078fe64bb68a992b835ade66f76b694f66f9e43810e3db60"}],"tweak_error":null,"aggpk":"03dd3ce8fa15afce150aed36bc718ba66e94c48da608b4a7b230a36e58005f5b3e","gacc_neg":true,"msg":"","aggnonce":"02e2a73703bee061728ca25abb1dfa89f88efce10d898f01810631741644a88bda039abf59a173b2912ee814ec101748f3a355535f52ebeab29a5d58a2fa95ee48b8","signers":[{"nonce":{"rand":"548ccc55b3652f75e80757463712b12f91ef5d31f3ea15126312633cf7312786","bind":4,"extra_in":null},"pubnonce":"02e2a73703bee061728ca25abb1dfa89f88efce10d898f01810631741644a88bda039abf59a173b2912ee814ec101748f3a355535f52ebeab29a5d58a2fa95ee48b8","psig":"7d3b9baf5512a0a22861f2baa3261fff441f0bc3851196fd56d5f3ce798138a6"}],"sig":"6cbdffb9bde00bbbff8a99a10b9f05d26d94140ef3c5d410a9f2c3cd897921eb57dc344671dbb5bee1b3915c82b14b5d7926b1e2b48750d50cc21bc9912727ce","sig_valid":true,"bad_verify":[{"kind":"out_of_range","signer":0,"other":null,"expected":false}]},
+{"id":21,"sks":["d6c3383bfa6ff8d4b0fea23471109cf9f53e3a95ced3592922a4b5c371ff934d","73a3a201956dc71115c10bedfce9e74c4d3c77422318bb7295fd8a50bfc92f29"],"key_sort_input":["022cb76a6958341836db630e3c7b65452dc5d5c0c3b7067fd55704617a901f32e4","0275266e2707fc886ba07e58721a141e3993594f484b3bd93a4e88a6fdf7b0df41"],"q":"03b3d948cd7e932ff709f9e520d21eb36d0b338a3466285e58f13d3d7a1d4e507e","tweaks":[{"taproot":"51ced6cbb7e856421ab49d27477939ed4f0803a5d5fb9d6352050eb281d05f19"},{"xonly":"fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"}],"tweak_error":null,"aggpk":"03fd93e508c3e207830f829bd78681e9afaa713c53401706da9d01365da73aeea2","gacc_neg":true,"msg":"5e026d9aca1c72fbdd5d206afb0e703b2079f92c3366db2a9d278019253c3ea2d84a52ea66c8e4f760904e70daa9b18f43b42c015a3d6f972fbba70a4d3375c6a13b1e4890e1f76543e7e3c873cc40c2f38a4e119e144df7cc8b6bb7c1e49c1ba889c8a890dbec1e75f8562c0321e9423421c1335e6f6dfb3aca82e642f1aa78bf39d66c17a5a983028b9de9483c268f8d3e7dccbdcdd255b0ed83c5fe17a8de1f30f006e44514c69211521274c7ba72e80efd050e881f9b261832cba413b7a19d03db295ea0a2d121870214d5928f3adcd41e8579bfd353f77f0315c7b4851f7a132ee11e424cc246e1660c66a66418b8038398e9c7ebf94c15efc8f96af9b9a2223bcaddb04582b75e4d5d31e9c895f218091551d3b3964c3d42a0fd","aggnonce":"02f2513ea9a965dc87d11ecdcbca2581fc23c28ba49bc46d4b79c8bb3d24f2e50502034435937e2716840a6652f9f0e5face4ed2c4b4ffc232050cb9440f372e4fa4","signers":[{"nonce":{"rand":"6e06f5a3ef5a6ac8270ed17cb618defbed9f2908ca76daf7f5d6951914798b2c","bind":1,"extra_in":""},"pubnonce":"0213ca02da2256facf3cc5b64d0181f5f66e77e0d509cff4ddf79589c283f0b4b402d1b638d735607d0fc105ab764b7f5c6b052236fd42be80eab31e2c040dfc702e","psig":"da130259658457a0458ebe8ba5e5869ab0d8fb7fc43d46c968b4f91b8a4c7f22"},{"nonce":{"det_rand":"fbf4e0e8249c08a10c631aa3171fb2e78fff6e1fc7384c6142ad0dc3f171918f"},"pubnonce":"0230790d0ef630acde47bf28362fa107b5847c0bcada32179bb78cf6db0b7bcb530275be76db8975f888a96c986f502fb28ffae4adbbb1b748e2eae4a97729b4e95b","psig":"e029fc0e88ed95f95279735ddf5fc6c45400ce1ac5679cb87744d6c5f75702ff"}],"sig":"254e8aa254deff6c4f5db9e9f3093bc63a32c7dfb4d120df283987a7980eedffbbc4606fd7112ff7d5a24f32967785fdb35d54d53df6e582d7b23d00a5672f52","sig_valid":true,"bad_verify":[{"kind":"wrong_signer","signer":1,"other":0,"expected":false}]},
+{"id":22,"sks":["71b16316452ad93975565801f5d68d8d96cb50db185ce875d50b56a9b4cc869e","e002a09773f05b1f7f9b22f580a64ee4bda29f5920450f75bf4259ae7cb725a4","723c3ceab8dd51016a501e4d9a459de881d15971b8ef008af4825e7893fa31db"],"key_sort_input":null,"q":"037f8aadc1b478ec966010d39dc43eb67c42ce97b1300445dfe69792a48be3a24a","tweaks":[{"xonly":"0000000000000000000000000000000000000000000000000000000000000378"}],"tweak_error":null,"aggpk":"02dc7bf7217c271344a32c3a865238919d4aa4b81e8b6c6cc6a2a0e04a16686119","gacc_neg":true,"msg":"1de38dc1ed1260d4ba3cb6600eb50654f8d8ffc425215abce7808a84c5d0e785","aggnonce":"03a1c17da0c1d15a4c716ff535b1107bce0ffd63919adf2e004a731b08f5037c3f035faee9cc99408a09885dd0cf5e25dd902202ccbc4d88a4f1e5fdcb65c6903859","signers":[{"nonce":{"rand":"9b057993145d377606c6091859ea50586ac71137a0ce19abdcfc82f2d47a574e","bind":6,"extra_in":""},"pubnonce":"02ceb5215f0ff80113b1099b58e341dd374ae684c36a808a557af7a110437494f802aed70465db7f0c06b3ed49e29a6f994597f7d25cbe2e45afa1f3168f117d7a38","psig":"86d34384a7763f1401fcab424d7d58e64050750630944edbadf55c5f83e5daca"},{"nonce":{"rand":"d643946a1fb12e8f20e9e5c640e00318611b78b33f4c10c7b852974a1a040b06","bind":7,"extra_in":""},"pubnonce":"022f66eef0d0bca352e28835c51d44fba8e32415c620bbd5007a1a2eeb9410bc4d03021312b77a8e06885fa524ff0c40032c3093f08fe71d99b40781ff222fb694a8","psig":"332c84fc127005de0a9b2f6e46a4fe871127cf772c755e835c81e79e4dd2f1c2"},{"nonce":{"rand":"ceb396f01a6955df24b77a2187ef44990271d9adc9e4294d4865e8c56fe4616b","bind":0,"extra_in":"13dd44028a65bee51b61f3e9eb7bcd"},"pubnonce":"03600f0840b24ec1dde28546c8f4b1016d8d5e4608f4aa1b55706c1c06bea8b6cb03da1bbdd0a3683c3836d327c0ead49df35f90907fe170976a8e43a58d8198f6ca","psig":"b4c333bd5262ff89a7da1f1c554c4f3302382a86fdb6f3fc9cd2ac3122cb75bc"}],"sig":"313ea6673b6788616536e2666e17d76bb220cf1472bbe31ce4aee83349968512a6311af3e50223988e64e575cf3338640c46bec79f0790aa8216bbcd9285539d","sig_valid":true,"bad_verify":[{"kind":"swapped_nonces","signer":1,"other":0,"expected":false}]},
+{"id":23,"sks":["773ec37dc7da42c824675a9ca837eec4e03cf3851bf26a0c40f04ab8c3a99eb2","773ec37dc7da42c824675a9ca837eec4e03cf3851bf26a0c40f04ab8c3a99eb2","773ec37dc7da42c824675a9ca837eec4e03cf3851bf26a0c40f04ab8c3a99eb2","773ec37dc7da42c824675a9ca837eec4e03cf3851bf26a0c40f04ab8c3a99eb2"],"key_sort_input":null,"q":"0346f8429df0f33518857a97f8ff06ea08f1f4ab9b3fb8d4b8f431abb9e9c398ae","tweaks":[{"xonly":"0000000000000000000000000000000000000000000000000000000000000028"},{"plain":"fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"},{"taproot":null}],"tweak_error":null,"aggpk":"026073ddb1cfe87f8765b49949f1c02bdd5142dc6ffb727df157832d0650fdd801","gacc_neg":true,"msg":"083f5016c99abaf9379e82813c3724999c7e01b3f6cfbd70054904a70082b2f8","aggnonce":"03e3346049949d04d14032192041ebea9ecdb5c2ccbcfd38d69345d92e5a33ef660271256b0bf6d547b133bc1cf5167f720532bde99c534556c41bf495924d9fe156","signers":[{"nonce":{"rand":"e38b3ab341e3b18755fad691d2f83ce33d7785bf063a2ce4f25f67f7741d53e3","bind":3,"extra_in":"9f8afe"},"pubnonce":"02e149a63d769786d6767e5e7957cca69e44badf3a1136a64fb83d28b40ca280f102b9432e11ea111525d21a8bc25da11fc0b7b7a1bc7678d75c18e2d39901931f01","psig":"4fcc396aca9f77b05e76ed669f192d7f7f59af7f7dae4788f0654a0c252c4180"},{"nonce":{"rand":"bb63162fa611541c84cb63b1f5eb49ac12b65f6526710599b9a0a78268a087cb","bind":4,"extra_in":"85e4"},"pubnonce":"02158ab352abe3674b13d3d4969e028e19f32c59eb52df335b333f8228abbcc02c028348a1ab44ab6e88d6af43fb5fc6f1c6d3329f69ebb566a1f5dc66e7b6d5e451","psig":"7100c7896f8b1f52e867a68f15bf84d87a642083020c756e2d66f01a3c972748"},{"nonce":{"rand":"a1953aba966393fd6381cdb3495b3e80533e4ac56a64d05a1c531f546aa99154","bind":5,"extra_in":"fa3696854a3722b59b3389f6f34a0838"},"pubnonce":"03a8d894d22348d20868df05014aa5d804191ce3bc6a346ce0b97e486d58b1dcc90242782d4ab676028dd9400365b4b4008c16f3524cd1850f16046fa2ba18840dce","psig":"06243996cd36c550ac51837886d94519c7abdafa56681cccc1f302a936d7ae8f"},{"nonce":{"rand":"8ba5134428d0772c9843fce12e8ca9a89ef5cc21dfb0e7a56f72c0cc1c52d4b0","bind":6,"extra_in":"820e4ee9bd"},"pubnonce":"02e1b97455010c5d39bdbe6ffc73acd444f753cf617451727dcf4fb6e8607c1c8d03e95af3439b2cdb71f2beadbf9ad62341beb44c0b716d0c1a6d144a92358cd333","psig":"c614e3a809acab135086484a60cd393c7f54642ed5ec9aea09ceed2eb4e9979a"}],"sig":"f0b2a3da913b26700a2f9aaadde683b5a1e22238b173c8e3a48622126b058dc5f5ccd69e96e1483b616172ccb4d080353faf1278b4942d2fd8ba073f9d9f8437","sig_valid":true,"bad_verify":[{"kind":"swapped_nonces","signer":0,"other":3,"expected":false}]},
+{"id":24,"sks":["27c816efbdb4fdcbbd9ae2219f35aafb40502d83d2a60e7ffe2999015efcd45d","27c816efbdb4fdcbbd9ae2219f35aafb40502d83d2a60e7ffe2999015efcd45d"],"key_sort_input":null,"q":"025232133bdb13f52d7c88cb980e7f5445b69e4e8cecf9cff9ac31257d4660a4da","tweaks":[{"plain":"000000000000000000000000000000000000000000000000000000000000004c"},{"xonly":"0000000000000000000000000000000000000000000000000000000000000000"},{"xonly":"3ad7949b1378b6f55b496e4b24bb7a39346f39f444deaa9b99d6186cdd47a65f"}],"tweak_error":null,"aggpk":"03bd4e955beb181c9dd9a2998981520418ec7aaa5dccaabb9b2002a50522a6c9c5","gacc_neg":false,"msg":"cd4c64c625599d4783418d9efde344124ff8aef342501e2dc294f723096f6fd9","aggnonce":"030f8c4a315fb431bef5fa2fc562c58c58571dbad6615a759e7a43039bd97d9aa1020a43dc2f5ea4dcdb550c6c321b764088de0594245a2ab2c135335d9b362f1cad","signers":[{"nonce":{"rand":"b3a5749d0f282c8e8294f316b6091322f70437efcb58eac512c0d827a8368325","bind":0,"extra_in":null},"pubnonce":"039cb1d7187012440e4887496335fefe06b503092fabb073e7fe1baacc0e943f57033dad83059a2b53760fa9eab0824ac1d655421c674498f3b551581419fc0749f5","psig":"16b5b3b2be46df6a916564d4fdaabd31e82bc0bd8b13c88fee3d52ccb7abaf0c"},{"nonce":{"rand":"cd8086f58a1a05821190ff119ad8e6233ad84d041ec1868bdb09468cafe655f6","bind":1,"extra_in":null},"pubnonce":"030f59c5e3016eaf379e8229853622c1105c59635cc6091c1194431b9e6280eaa702ddb0892e446b86ebe1755f75e87aa46f71a9fd37756e051807f980c528b750a3","psig":"dd491706ac9151dcabd392b638cc9bcf1bb2bf13befbd14567e0ee1c505d4369"}],"sig":"97df589854e3d62ab06738355b75200ee174b611d5892b18277b344d148609ae570bdb30116e405a444e9d581eb7eebb5521953b52b9ac4a0bfc3a9561fe2d3f","sig_valid":true,"bad_verify":[{"kind":"plus_one","signer":0,"other":null,"expected":false}]},
+{"id":25,"sks":["6a7d1d8aee9c16424a4b91fb47af865a1c7c9434cb27875cd1c7a8a3f117fd91"],"key_sort_input":null,"q":"0336ceb3092b701a498f5c770ba0c11a5f42b46f6326793e61c1e6af3d1e9771af","tweaks":[{"xonly":"0000000000000000000000000000000000000000000000000000000000000000"},{"taproot":null}],"tweak_error":null,"aggpk":"03447d70d0e9e0399d0a6bce9b606ce4c2f1d874be8f8aaa4cfafe4d440a1f0f4a","gacc_neg":true,"msg":"c165f6","aggnonce":"02a1fda246b814b213d870d6899ef62cd1c40c33bdf8211cae6d1b0c36926db05303ff3837cebae88efa8e0b80de96abe96b0b44d673919ca7c3bafccc0e0d4a5b67","signers":[{"nonce":{"rand":"25ee72f7f758140f3836b6746ec85a184a7c5aa6be1aeffce45fe8efb9059503","bind":5,"extra_in":null},"pubnonce":"02a1fda246b814b213d870d6899ef62cd1c40c33bdf8211cae6d1b0c36926db05303ff3837cebae88efa8e0b80de96abe96b0b44d673919ca7c3bafccc0e0d4a5b67","psig":"6c55f2b73599c0356c84c723d49f60606e13fe1d791a95549b7eb60847b4ffd8"}],"sig":"6f15edfa8d77c1730d96514a88d1a4775a88d2b032cff7f51f559e8c0169e67baae650f45616a4f5383d8eb08ea5115d8c96b38d1666f8be58806ca064a76081","sig_valid":true,"bad_verify":[{"kind":"plus_one","signer":0,"other":null,"expected":false}]},
+{"id":26,"sks":["2ecc45fb3690505a5086e62b41e3ae1298f8df1882d443ec5872acfd1c31ba0e","13e48d718b4a0169bf42acc6fd4a02b017b5097ec766107bb664a9641f302722"],"key_sort_input":["02dfc2b84571de66cea8a31e4466ada2636f529b8c629288025d3694252509986f","02c30b4faa6dff5193492deb4259fb56173d947dedbed081b27b7f2cf3af630c35"],"q":null,"tweaks":[],"tweak_error":null,"aggpk":"0219f56d38374c9091988db07a922d2c7e55301c98cd1a089623275bbb66f067b1","gacc_neg":false,"msg":"0645b81c337ac848a0f4ac6b4ba479d74220ea4f383163276397bea44ca0","aggnonce":"024a04f5843485b00c70b1ceca6fd50b1f9b423244005792c64d3dc0560fc8fc6e020d228531754394b987f7a1864e84389838badff2d0c94311b579791badbc03b2","signers":[{"nonce":{"rand":"d74639318b20578285f55ba677ee627830e266645f323afadeccbcbea8c8a366","bind":2,"extra_in":""},"pubnonce":"0353ecca7b3f2ae0f6492fee89231808e2329d5ba8cf1aeb8bd985b34c4965ba570246d3ebe9bae9ff0ac24c2e87ac03f9ff3120c9bf9fbb3e785378df576ad04d1a","psig":"0cea44526bf3b220e0e7826ff067c00b287abee383cdd37fa2818ed73671f945"},{"nonce":{"rand":"dd9b453684b8d8f2cd55e9a89a2a06f554f0b5ee39a9a5c76548cc465a5d66b2","bind":3,"extra_in":""},"pubnonce":"020fcff3ef2ed0232d129a052d82e8c48c874fbbfcbfeb5bfcea53fa14eef1a40302d4b86daee35d421e088be4c2554ebc291685170417175c08e347bcc48c79522e","psig":"91982522e4267e9379db487ea6981e318fd9e50b385be4ccd0ac400023f124de"}],"sig":"5256261b8f2ae8106f24fc4b15ab6565e39b7e2abf9b785081676684cf1bef759e826975501a30b45ac2caee96ffde3cb854a3eebc29b84c732dced75a631e23","sig_valid":true,"bad_verify":[{"kind":"zero","signer":0,"other":null,"expected":false}]},
+{"id":27,"sks":["af4c944541f989ec5acd91e9d706756ff8dbfec182ac2c7feddeda5383e342d2","aa0b24ec179bd83bc7262b53e2bb4a328eacc7ac4ffee1abff0316634da3780f","9d1e622211ae773e73d07118504c8d0caa326b025cc8ce29d7a9b1a6da8b3e2e"],"key_sort_input":null,"q":"0226e26ebe69d1b99dc9258bd48f065645eb0a4e40bb75b104224aeed6eb32e2fa","tweaks":[{"taproot":"da400d3ff919d4017295018ec79fd859c259903501212bf1b33ed0096db982f4"}],"tweak_error":null,"aggpk":"022a0b2446642c893abe97e50e43d415c1ff590f71612939d40bd0c6a9ceeb48ff","gacc_neg":false,"msg":"bda8dde6edf896a8974726a695ffdab6864376838bb53b1d5b56b1c8d6694c7f9841d546b48420c83aca7113f0a704225c3b3751af1582b77bc9e47dd6","aggnonce":"022584777abba2627dda1ac9d8bd153c550897c9efb2ad1a63264470be13b7841e028a8f0e175b57e474ad87d06a9e5ebd6b0ab349d53456005f3474e9eeb9017244","signers":[{"nonce":{"rand":"1fbab39f7126ae4f19a64ff132d690eeac7907a782346891c8a34e88f189520e","bind":7,"extra_in":""},"pubnonce":"030281ae769040701b66b9cda2978ec2a43e1f1362ba21f3cce237f49bc556ff1b02f27c3c93bf898988ae99ca5639cd4e20368dbe5050e5bbbc4816b3c26e7ff78a","psig":"a394d61ce121bd8a3fff23455c63250c03cc586213d7a2c04303231514f729ed"},{"nonce":{"rand":"5cb2334dff4567f1c9b6cae32e9dd68f9ba3c8cb89c4263b0d1af7522586a4bc","bind":0,"extra_in":"b627"},"pubnonce":"025f97d73b3aa24e0b5c42eee6145c94b8adee254aa2484312d90c2fbac3b4beed03570c4a2854581b80b07ba4ce8330352560bacfbf0979506a6aac6594fdd69311","psig":"8149cd9045df307ecc4933d33d7bfa88626ca1ac6b62389beb84906c7aa38db0"},{"nonce":{"det_rand":"2ab088a8eaa677ee774e74142007ab5294f65726c032b2bbf69490006cb49b0c"},"pubnonce":"02a3658068dcc9e45906a5eaa2c42950d6e69b541347c15c9375d086ea9a7eb2cd02eeef679d6fb28d4cb21c022a05658c437c16e111582d601c04787d0e798a6be3","psig":"3819c156a09ce724d3c38fb3e2ca8876937c679cc5a042c862cefd90ea7781a0"}],"sig":"fe0c90d732e8df1c90233f62cb226ada33f2978acf0d3da714f455cd33cfa5b1793e0bd1e9a9320e3c14631c7195b9c88fd89e94e05a4ceddc2ee26e20e58209","sig_valid":true,"bad_verify":[{"kind":"zero","signer":0,"other":null,"expected":false}]},
+{"id":28,"sks":["3ead99ca7887f25b0dd06053792413a62830a108ca70fce4d71c2f8d04442200","3ead99ca7887f25b0dd06053792413a62830a108ca70fce4d71c2f8d04442200","ad11fe0794cb9b1c44ed4a2cbe1e986394de22c67972e38395557d20cef34aba","ad11fe0794cb9b1c44ed4a2cbe1e986394de22c67972e38395557d20cef34aba","ad11fe0794cb9b1c44ed4a2cbe1e986394de22c67972e38395557d20cef34aba","3ead99ca7887f25b0dd06053792413a62830a108ca70fce4d71c2f8d04442200","76d5e01f4022689e64f45ea034053e0cf9cacb548044564f8f2cfb3384d97d43","ad11fe0794cb9b1c44ed4a2cbe1e986394de22c67972e38395557d20cef34aba"],"key_sort_input":null,"q":"03150c7aa420e6c223b67fc5e825b3e1560e2dc54a7605a322550d23a39caf68d4","tweaks":[{"taproot":null},{"taproot":null},{"xonly":"17ba190bf35ec26136b30393bb7ac99fd0b07627ab2e4cdf7415ff5cb40b368a"}],"tweak_error":null,"aggpk":"0281bb30a61eef8acdedaf20b3473629440ed62afa9fe06403a31c1ba9f4f9566a","gacc_neg":false,"msg":"31cf8d4b823a4751c995af1c","aggnonce":"02a322181c5c742e6325037c9321c6fed9889da9f6ccaf6a9f47305e723181065e03646b0b151cdb5945473fcfbf5c4278406e568c75ae6a34501822dac1470cba84","signers":[{"nonce":{"rand":"c5dd3703e78814b127454b0a8731e626d1e89bc36febaa964a308054b1526e0a","bind":4,"extra_in":"809fdff004e2"},"pubnonce":"0319a09b59390f877256d0d5be3ca892fe924a51c454e3ea6e62b67fe7d4ba843202d6ccdee58068d6753f12fad0334c68b9565c6387a54a79aef41fbe21f6f6bb49","psig":"b022d51e3491f96223a927cf068ff7ba7d24888a4dcd4f95ea297b8b8fa179b3"},{"nonce":{"rand":"964104b0faf4e299a3ef76df3916400ef692167e6db7c2727d40b1f311714837","bind":5,"extra_in":"6bce9f1108"},"pubnonce":"03800cb8bc0030d87212ac6bfae8d268554264cf212323c9d67882acee37a103f102d8b051a3120f2b903ac4192fd3ffcea74aba1f679afff09854a17abdaadd5539","psig":"daad7d5062d454da1277f81b387bbbc8ec0950f5b374d713fb79c77962230188"},{"nonce":{"rand":"30c1266b8e695d924357dcbbb753e924c9af395ca4dd93dc9f38d611390d51af","bind":6,"extra_in":"aaec6bc694d5f7f6"},"pubnonce":"03917da847ed58980c2b85e4fc5ec0cf70f867ec9fa5100b78d59047f875fd62f0029162de7b20f5008c68f454e8f4ca0642d5b79a8c3184c8e22f4dfa4cc0ec400f","psig":"711bf01d27c36e41cdaa09dd490295d61bc9f25292438289712372e60094e481"},{"nonce":{"rand":"672807dc3f1e540f18c3f4736c72a189b8c905afe46a89d1db3dd46a586ac408","bind":7,"extra_in":"1e0ec37a"},"pubnonce":"033309814043682ac7c66db3ee4b1750a64f6476b478d7d15d3c9a260763dd350d0305dc4c852d4dbed15d6b8b228397ee25533c2800f54f35278e61368790ef7447","psig":"fc13eef025a8d2c4bf89dbf42007a65fc9e9a036ce2cf8ad1d843f5d7860d3f6"},{"nonce":{"rand":"0834866de8e80c69437ce0a1b5ae211b2bcfdcf79235c3fe34d67f237dfec7a0","bind":0,"extra_in":null},"pubnonce":"038b04326c4a08c5f10ee326cbc45e85020fd42f4de81352df0db70a1442e135c502e579b5754bf6b715d33e5af4b0fc59bf66c8976d5834b8c77ccebef028027db8","psig":"bd1a474a2d82136552f4d2e709b436d4cb7fa8e8968bf55a657b1f128ef1cfc7"},{"nonce":{"rand":"1847879bd4b88382114d9b3a1b20cbf0d0d4994a3576c3cada2a7628b8e53fdb","bind":1,"extra_in":null},"pubnonce":"02c24d3f3765229b55dfbf72b33ade76f43701fbf3cd5079cdc96c42ba3e51990202b18fcaf0544704356fb44014b8e236c47a3dda1e515f4e21ee180c7e1446c88e","psig":"bfb59ed209a913bcd07ab24b906c1f48e8a81dcf8b116ace1360f6ec2dd82f2f"},{"nonce":{"rand":"cb82f214666601676d6a95059379bac646a1e3fa9b096be1dd2b0439cf73b012","bind":2,"extra_in":null},"pubnonce":"024e822c28e21c48f6013d75dae9934fa963e463ca071dd0aabf3ada40b68c938102d658153912786468687f1e07f114f14105b2bba5fe8f92ba9936008f46a7a8e2","psig":"b6cd2fc181b6b24cfedf69bf719a3a17ab25d49eca3093ed1c1e69ebaf835996"},{"nonce":{"rand":"cd267e9e7dc130c33fba5ed1a829f2f1749aff4b8801f3e16ea5ede65cbce934","bind":3,"extra_in":null},"pubnonce":"028fa58020835058af75c6a459754546575d7742a6d1a61255819a3a77704032ac028a95cc7dc22854426f61cb16a1e3958f7d15f90efebea94d38a0db4af29d698a","psig":"ab240b6c7a2b1483194af9bd94ece70f14fb1f902e7ef52a907091177fe51530"}],"sig":"89a3e71926afe85423147c8bfbce11f264014f767354f4474b5178187aeca0a003b7ee42950f5da83c1f35685885879e5848ea8f8ca397185958e0312e3871dc","sig_valid":true,"bad_verify":[{"kind":"out_of_range","signer":2,"other":null,"expected":false}]},
+{"id":29,"sks":["9256c9fc65c8d16bb300f7900644adc519d9f4f10be971f0d0688ee8ca68b4a9","c4163ad678b7679190d5e0e5123250ccaa452fa30fc416c94bbd505ce73cb7d8"],"key_sort_input":null,"q":"03ebedc18d828c71fb33f955a30b31d429d1e3699d32ac1c432537d6a3257efebf","tweaks":[{"taproot":"1be3b0c8061654ac74620f25f83704f76a3d863d0d08d8d6ad5f5eedd91b4085"},{"plain":"fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"},{"xonly":"b4f1956609e4bb310bc809a33b48e40d0c6bb76bdf096bcd012c14ebbf5e1608"}],"tweak_error":null,"aggpk":"03a2562e2afb6aeeee3987801bef07fa40a4dfdbad1702ec22205b6d400979573f","gacc_neg":false,"msg":"63f2e94eb85e660717a2456fb384d64ca4fcd50d437ca6939a8875483763a22015bee1f3b71c7b","aggnonce":"0000000000000000000000000000000000000000000000000000000000000000000309a99eda233ebbaa90faa86ee14191a927cfbf1b036210d3c52a1f95fbc29e4f","signers":[{"nonce":{"rand":"9b77b8ce56636f0c6a95d239f4c50e4fcfc08f1396d04c050d88d3136fcb4e2f","bind":1,"extra_in":null},"pubnonce":"025b4d2f2b732d05b900711a5a3090428004934fbb3541de1c43f643c3e2d0eeda0276305cd1799d063a9fd1a31025040a7cdf1c65d713943c8e9cdf5631d61d1948","psig":"91b2bbfeca06133bdb330fb23b8bbabec61e7ac38f9e37c8443554d088f2325a"},{"nonce":{"secnonce":"dbe14b6221840244d2340f025e23b8687fe8a51c5b17f0dc3daef5c12ab4999cc0bf615b56e793fd61e1760999b172c169878fdb66e4a3f431d3c949b423a6760285b53297b74300c4dde285a040b0dc86231fce4fd898a804a4c70108096ec2cb"},"pubnonce":"035b4d2f2b732d05b900711a5a3090428004934fbb3541de1c43f643c3e2d0eeda0302449fe3b3b45a9fa7789b696155903bc0e8f57898281812f5d38c813fff17d8","psig":"9cdbcfa619be91611995b82edc6b2f78c20ff29886537da4f300a06a183711d0"}],"sig":"4e307eae7f062fee869c1d0217db37437098d28db4d637e974281c779d2db5e33c59d4229cf678e32593abb5f89758381d332d476804db974426a13a2d9013d2","sig_valid":true,"bad_verify":[{"kind":"out_of_range","signer":0,"other":null,"expected":false}]},
+{"id":30,"sks":["6ec0d7fe616a081ed77fa95640846de8bd98a23d2fb6cceaebe9f4457f254a24"],"key_sort_input":null,"q":"021f83fc2f87b0b3e2a42d7a116ef27662466950bfce6bb070865fb56f76562ab1","tweaks":[{"xonly":"6dc6d7c79249455c820c194eef401f2a4796cc5e6f3f68fd62b235e6a4f9c48a"},{"xonly":"8e6b7ea22b72079f11cca15658378d269a9fedd70764177ec64296d9f71593f5"}],"tweak_error":null,"aggpk":"0247603133fabed40c6bc09ea4907cbef5b8a129d92ea8ac284bbbc01551874a9b","gacc_neg":false,"msg":"","aggnonce":"03d20d2057227ef0d55ba0a884fb8815be41923901e9e9a878d53c059c245a312103cb8ed5333111d2539f1fded708f272acd7261cb93c1c1f7609828eb0908552e7","signers":[{"nonce":{"rand":"922bfe6b5985d5fc672533afdb7bcd374028523fce7e7e6aa97d8172ad7dea09","bind":6,"extra_in":null},"pubnonce":"03d20d2057227ef0d55ba0a884fb8815be41923901e9e9a878d53c059c245a312103cb8ed5333111d2539f1fded708f272acd7261cb93c1c1f7609828eb0908552e7","psig":"87ba90e94e516643509f81fd2911dc6cd1995d5ec462d1a726e2e98c965569e4"}],"sig":"d2233f70cf3be48a9a50eaff3440f7dd13ef5e9cb1adf80ab9dae99174291aa70c5e2421fe829f608b55d4d586089669b34e434d260d2c3ca9d217c950d82460","sig_valid":true,"bad_verify":[{"kind":"wrong_msg","signer":0,"other":null,"expected":false}]},
+{"id":31,"sks":["a43a24bd510bc991ed2efffdbca8c2de22d2e209f2924ed28f64811701d45ef1","57417a7f4432c12405322309937fb3c37619f4c1df32f119ca2d9202b258331c"],"key_sort_input":["03e47da4030a39ddb2682417b0a9630b716dda7223c2a3b175dce412ecf8f641d9","025b84943019f34dfa1c4d160f0663f269e7a89f0cda434f2d589529309cdfd17d"],"q":"02ea4777e938b1afb65b56740ca9b4cf89b0cbc55a888907c51cd47138f9374909","tweaks":[{"xonly":"0000000000000000000000000000000000000000000000000000000000000000"}],"tweak_error":null,"aggpk":"02ea4777e938b1afb65b56740ca9b4cf89b0cbc55a888907c51cd47138f9374909","gacc_neg":false,"msg":"f2a2f007ba5b2067948d441f334f819d6b9e935b5825581f553f0ef6388289a38197f94d6fb5383bda5c915888cc803529fa1ae74f9e35602887e60aa64d90434d92f2a289fb93874714f0c411342be801bfe8bab34cbd5ae718af493449739880d9bfee32f06b001a315843bebd53688b91b6401a27fda4e1c22cf793d628d914d3fb27cabf56cc117f32263628e0988acd13cff52374be488f38b2f13c01ad1b8657f35b8db06434a42c3480bb8849305a4f26e4eea8543aadd19012c35729788b9f04efccb7f8fad7875873e37d244a565d0abb0f51ef75d51cc55a1981bce72007ab2c6fc7e81b5c55ac4e834e9f7d5f143c5a73400d7517cfee653afdc3a233197d7289c3cad2ed40","aggnonce":"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","signers":[{"nonce":{"rand":"496d6e87bbce80bf68115b6884f5dc5e163a6e7127ae527436d6a92274288419","bind":3,"extra_in":""},"pubnonce":"031d640fecfcb06ed786fdd393e117cba968d036adaca7ccf56df8674c922e0bdc02a7895f137516eef24bb7e50c0cf60681af084c72a4063e7e4695f8e8514ccbec","psig":"746aa3eed6c478dea4fefbe15ca1428d6a987160899eb00dea17daa5433556a5"},{"nonce":{"secnonce":"438d09cf513bf0a2cd62d02a6e79b4fea094155daae2a8a58da3e2f2eef84d4cdc952889eeb17f1640c7ddd76b22acdee9775ccfc1f5cfe282146f6b3dfd810b03e47da4030a39ddb2682417b0a9630b716dda7223c2a3b175dce412ecf8f641d9"},"pubnonce":"021d640fecfcb06ed786fdd393e117cba968d036adaca7ccf56df8674c922e0bdc03a7895f137516eef24bb7e50c0cf60681af084c72a4063e7e4695f8e8514ccbec","psig":"d5dc4f37011a44c0e9381cfee89b2a88b7ad8c19d242f1d5533b203e0e011237"}],"sig":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f817984a46f325d7debd9f8e3718e0453c6d1767972093ac9901a77d809c568100279b","sig_valid":false,"bad_verify":[{"kind":"wrong_msg","signer":0,"other":null,"expected":false}]},
+{"id":32,"sks":["73776ed46ec400ba0539dbe10cf8d332db592c6bd488d682e2f651d101af9183","73776ed46ec400ba0539dbe10cf8d332db592c6bd488d682e2f651d101af9183"],"key_sort_input":null,"q":null,"tweaks":[],"tweak_error":null,"aggpk":"03426e6e2722e5440cf98fad524131454ac209662c4eafa403874967d608005661","gacc_neg":false,"msg":"f8ddd119b2b2f74349f61fcdd015d7a3f22ee8883ad3aec9fd78edb811421372","aggnonce":"023f79c25a774518ca47e06076d4ed8184a6b3b64a3397366fa21fbf728136958303887082995c94005ade8c6d2bc5876c7590bd6b7940632bcc71058d2342771a35","signers":[{"nonce":{"rand":"ee954b3b4eae9351c8b57b4a8fab2d7037e565ca5cf52a50bd9c3cd195fe694d","bind":0,"extra_in":"74"},"pubnonce":"027adc9a1a1bf72f10ea7a090a609216a815259fc5f317e0700b14fd3411ceb74a03c3367573b5a696a8bf5e157f39cd6b0d27b03d89f1f6766f0825a30f4f5b279f","psig":"d9a9791384258f4afce213561fb7f71ec9979db9078e2d93c4ba526c9640480d"},{"nonce":{"rand":"c23efe266d88f6cffbb94a9ae94f1e792eb49a3514474a1d5386b388209685a9","bind":1,"extra_in":"244199a1f67d5b4b131b"},"pubnonce":"026c619e9b3f86483a69bfc202e266dafb46198c0a4ca3a3697a75f87e3273456003dfc96132e9c0c9f57bda2f98fdd8d3b0529897400599b6faa9f4b0f8c8baa7e6","psig":"6c126a26bd10699919ec01111d1da795c6ea6632cf2003920917c50cefea7022"}],"sig":"8e7a05fe6fc43434410e44839a56dd4475e488d5e5e125c2eb2647a8950aad4645bbe33a4135f8e416ce14673cd59eb5d5d32705276590ea0dffb8ecb5f476ee","sig_valid":true,"bad_verify":[{"kind":"wrong_signer","signer":1,"other":0,"expected":false}]},
+{"id":33,"sks":["e6cad33af65ce171fdf40ae46531b588678792bfaded8dc54fb9e04ad9e99e70","0154fbe95a25e306d7721852a219c25f148850fbad95c64f13be895de8cd47b4","92705e9c6e641ee4d9a46e9c3dcf9deba0bb4ffd4ed1764a548468c674f97621"],"key_sort_input":null,"q":null,"tweaks":[],"tweak_error":null,"aggpk":"02bb38a97e5b276b87d0248afa8861001b8fd326fdd353619aeda2b3ffeee2a41d","gacc_neg":false,"msg":"8dc346991c7a95a050b1703b09f55121c431d11aba4aec727599bde70f070860","aggnonce":"026e4d58b7640f4684b99d06a3b2a11596a7dc050fa9f56b9e850399c743cd08ec0374b90b281a3fd66a96f05ffadc07f252b098d6bd56b582b98aa1eff229a36b66","signers":[{"nonce":{"rand":"7843c0ecad835b6b823be9dd36acb2b0f5d9ea0b6d439d35c60e9cb241f8280f","bind":5,"extra_in":"14716815103f85aa84079f2b3a04051e"},"pubnonce":"02c3bd2d4f38d3407426da84e2086212b408eebaa8b05f545ea6d2bf1a6902562e02f122699de0a4da609be103f4aa9a6e2cccddce1fb6e8010dbb5e3ac4b695a049","psig":"acfaf9532b470ba7c87a23d9c334f987d41bdfbcc599baaaf4bc7ace9d1f3e54"},{"nonce":{"rand":"2193e9856a204803f57a608d2852b507cd23f9e273598ab822372ff487089191","bind":6,"extra_in":"613665eca273"},"pubnonce":"02f9997bb99065bffaa4e8161532e3e6074dca97d812adca0e25d58eb7d2f33c2c02f86cfb8e94faad3f64b735a7dbad4b577c3976e8dd82c6a8e440ffc9f36345e7","psig":"9524de06326c1ea5b619ff9604093732b05ef1235fe59975fef72cbeadfbb98f"},{"nonce":{"det_rand":"1a6a8a641ae7e46c4104838050bead1618830ceaac18188907ea801cd50e9ae3"},"pubnonce":"034e3d8dfe13efdcccf88bdb4b78a144f2ff5dd9e4dc525d8b41c503f773b1e4af024bba009d0d98c9dd86a962264fe2dd2fe8c911e802ae3defb046ef3a9d987253","psig":"ef9f2b44388026989c313504d7803dd563b8d297685b61b4c90b4bd22226eac3"}],"sig":"0f24123983aa7716110b770c9ee7ce970f98a4be979b6cfe961d4504530ff84931bf029d963350e61ac558749ebe6e9272d5e9aa2f49755e3d1a3645ccd56024","sig_valid":true,"bad_verify":[{"kind":"wrong_signer","signer":2,"other":0,"expected":false}]},
+{"id":34,"sks":["7aea05e155dc8f06c7552d0789fe77a480e5430a49022db2af598072b7abb4d1"],"key_sort_input":null,"q":"023283e5f88d406301637c7898647c1b27f91e286b666589ab90d15dc2edf9ebcc","tweaks":[{"plain":"0000000000000000000000000000000000000000000000000000000000000000"},{"xonly":"d112570deb07ce31c6a4136c1641cfff68345e86aa3e83df55c62f01861d7602"},{"taproot":null},{"xonly":"fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"}],"tweak_error":null,"aggpk":"037bfbf0e515abf0c56ad646424c7a7e7624140ceac4c0808b1a099d5058f3127f","gacc_neg":false,"msg":"04c39eb426f4f6d5722f46fc3922fe604184b7f3f95b90b538caf8cffc01cde2","aggnonce":"032ddf4192c4c4b12a1a92835715b2b5efff4c56c773b0696bdb586017694d4f7e02863789faefaeabfd5ae71fcd8fffa8a45102d927043981c1e433db8ab5fab81d","signers":[{"nonce":{"rand":"41fbf1679f921bed7ff10d272a1c7c0458c9f8563e4da1fa28b01b91ab686c66","bind":2,"extra_in":null},"pubnonce":"032ddf4192c4c4b12a1a92835715b2b5efff4c56c773b0696bdb586017694d4f7e02863789faefaeabfd5ae71fcd8fffa8a45102d927043981c1e433db8ab5fab81d","psig":"f6d2f9b191af8409aada3b3a6562cfb3ff3c753207f1371d3073e724a64c8397"}],"sig":"6b527eac1c395457b1734cd84eced462ac0d065f49ae7fa262504db677068dca329b5b8db08ccb11536e48715018b665994ca9e1e415d0f90ce55c18cdc95817","sig_valid":true,"bad_verify":[{"kind":"zero","signer":0,"other":null,"expected":false}]},
+{"id":35,"sks":["1e06d160c2fba07402189958913c74518aa53929af39a6aa36a98c13c37b8418","f1da8f17e6c50ab0195ff993affa32450233f6223395fcc3ca7c8ec74de98b04"],"key_sort_input":null,"q":null,"tweaks":[],"tweak_error":null,"aggpk":"03e36dd0b599412f9d98d5c9020740602423d00fd84b776926e58f0e41702d2893","gacc_neg":false,"msg":"1663ef024af8a3e19bf640cbf418a48a0490","aggnonce":"03b8c8f6310582625d78d449d30cf3ca58892a669051643646270a188f91ca0a1103dae2dd50459f2eb539801d6aa2f4cf863fd7e7f11905932f52aa2c7862405c8c","signers":[{"nonce":{"rand":"7e7265348b1d7ff4d0bac274dc4c699bb79af9e5708757eb461330eb381026a9","bind":7,"extra_in":null},"pubnonce":"030fde4d9fcdf1a69d55ce745cae1bceb9405e91583e9d7045b8e0d60502cdf0fc03fb879584d64b6220dd203820c2a66b21331bcc3c5b65a1526c4ad2adb90fef55","psig":"7e60edee3a25fc700c86975b011f0e69cbe448194f8b999fb90dda3973da393f"},{"nonce":{"rand":"9a74e73f95f5a4b7feac333228479fc8e999732d9b40a5cc4746a0317d8c5a26","bind":0,"extra_in":""},"pubnonce":"03b4ef3844326c940fc0cb1194eebd18dedae419164d395d56f06cb251ab02a37f0237a20e6007dafc8048de39646dd60a23ebdefe63a1724239f5a8ef457de1978f","psig":"bca12b946c477708c15722035cda05388045da83a0b4d719e0b25520fe4a8244"}],"sig":"5391c6591a62b7bdbcd99f732a671b9281701e3495557478ba4286a6876d16b13b021982a66d7378cdddb95e5df913a3917b45b640f7d07dd9edd0cda1ee7a42","sig_valid":true,"bad_verify":[{"kind":"swapped_nonces","signer":1,"other":0,"expected":false}]},
+{"id":36,"sks":["d4de39794f6ef83cb0df7eb48d048c07791d8f7a41fc824ef7ba69d4a009fb13","d4de39794f6ef83cb0df7eb48d048c07791d8f7a41fc824ef7ba69d4a009fb13","d4de39794f6ef83cb0df7eb48d048c07791d8f7a41fc824ef7ba69d4a009fb13","3849c7873e8320708757a5216c29e322db9f63b53c048a8f2c818eb58e32fdfa"],"key_sort_input":["037756f1bace374d9a89208aa4c92d66086aa752d3f1e1428558ef1828e126ba1f","02378ba3c64d72ef2d49e5767116bbc06f3dc82a452f50fc966564251161bb4041","02378ba3c64d72ef2d49e5767116bbc06f3dc82a452f50fc966564251161bb4041","02378ba3c64d72ef2d49e5767116bbc06f3dc82a452f50fc966564251161bb4041"],"q":null,"tweaks":[],"tweak_error":null,"aggpk":"03053d2edc5ca72f4f8f07b0bbb8201eda7deb2f384e4611cd086479af371c5f4c","gacc_neg":false,"msg":"3d54456c2c36c29f6c19c77a204e5d3be3581db6de278701ed50746aef7178bae9f3f6396a0e61f3e5b7d97a1465734c6015","aggnonce":"033901655322486cf94542012d190e0f1213d3ebdd0f611f19161d8c6f3eb53b5f0237ba9cbe883a2624141a19e90167cf954c559bd0944232a4b5ea3761ed35915b","signers":[{"nonce":{"rand":"1a48e16ac778db61f8b2c9b424aa49d74e5d4c78b7aa4ae00a770ca56af9aeb6","bind":4,"extra_in":""},"pubnonce":"032432ad5ef40b7365cab4e1ee83dfded5b251cbf53415f9dadc8864cc24ec47040319a932707778ef757c97f2f1529e1772ba1c8cb6af1468a99c44074ba71e7fc5","psig":"ccac4a25b60486b0d9692b21e7df45dab33d3a223acdb825d0196282d8e9ca2a"},{"nonce":{"rand":"66f13a31fbb24196ffea5c456f1f5e9737d51eca99321493b968fe9998fcb3b3","bind":5,"extra_in":""},"pubnonce":"038934f69fb12cec250cd8183ce5a848bb54761a880cb4b365c13e9b23b66edb7802e454819665f6375ed9dcedb0704672b877d4db99298e2b92f68a00ae5c58ef70","psig":"a680697a91dbdd0c327a970bc5c4da5851d744b0ef02526ffa384b74372c0ce7"},{"nonce":{"rand":"2dfbbec8b59a39c6da2bf1bb2bb273a87ce1ce98b57706b7dd0fe34beb9bd5b6","bind":6,"extra_in":""},"pubnonce":"035af5576a4869a89c54c1be0bfe62657b0a2dec87f1fb609971bf641034d88fdf02000a6279f8616dd2db2bc9ca68600f533e34928057d53073da15f71b2ea3fcb5","psig":"f9ff045dc295b0dd73ed00fd5f0288509d83b6dda92ae008bb77dd33e237001f"},{"nonce":{"rand":"5325025f9491e2e4c377f193d99bd9d0d3fd76a6801aba7aaf81691fa8c0f7f5","bind":7,"extra_in":""},"pubnonce":"03a137c3cf5b02932f519040336e4358f0d648f3973c70d55c3c58865a5282f932028ecb5beda1246b73ff1866a7a9665f9d95205b15bf4fb4d8eb38f8c02909cfc0","psig":"138a66020019a3e93526b2b0775520677646ffff150613324ba45d569d131215"}],"sig":"d046189e45b1d7c6f28dd76d03bafcc39ec99d47da888f505459f123be3dc41880b61e000a8fb883b4f775db83fbc8eda3817be2896fbd5951c92b67eef366c3","sig_valid":true,"bad_verify":[{"kind":"plus_one","signer":2,"other":null,"expected":false}]},
+{"id":37,"sks":["a561557fe8c43c279d8baef8f3ea0176083eba5f0b60003d68707be59e6a626a","d69f7b7462173d3ee2c93c79e3ef4c320d72e8094477ea74e1ea626b8e06fd9d"],"key_sort_input":null,"q":"026a2a559403a76d90620958d79bbb3cb2fb851b46ab6e94d37c48cc23400af39a","tweaks":[{"xonly":"fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"},{"plain":"750545dbe1256a361891583dbe86cf755d5e423fed28d1abb4dada26c36901e2"},{"plain":"0000000000000000000000000000000000000000000000000000000000000000"}],"tweak_error":null,"aggpk":"03771b6335b84483a05eaf5b23ad04ae636d1544b7c64a1b9fd3caa98bf1e2b516","gacc_neg":false,"msg":"032720c091176eb95916dcf1390896555d39f8f8ab4a52beaf9befb95ac5b3642db7f0f1330cb3","aggnonce":"02b83494833af59354daac5b5e61c8920c984abc4a51eeae2f17f20bdd8bd9650203c6db23d424a9ce1a0b7c1688633cf505902d96c3ca7f857b49e2dc439a9e0994","signers":[{"nonce":{"rand":"e59a697be15d9e2f4540b91af2c30a743fdbe4fe38a61e6c0d652fbb306e25ca","bind":1,"extra_in":"a2e90b55665ea267ec2e2ec667"},"pubnonce":"0214ec0828a454abb61b7b7198f87ffe3933384c6703edb5e2dfc9c412ff7c905f026c8452e0268e24b8761523c4272b255518675f1606112f7b4cc588211d6eba96","psig":"201b62316bf3b8802c227566ae2d0cf168cc5ad1620164c60374a5f5e3ffd260"},{"nonce":{"rand":"08b1b103009bcd09b7682ea5638994bdad8bdb8169c7a9db9f7e945daccaf7c5","bind":2,"extra_in":"a1ab"},"pubnonce":"0286a2000e0d8573ca20ed5f49bd5848d262e8730ee6b548da0acbee81cfcdbbd602b12c9b8a848a7d6369c65e0e6f71289ad2631925a406d709a85b8267687873ae","psig":"f4a1346b3bbf828b516435307d547d4fa97553d8f7e6bc26149a0de08c9c52a9"}],"sig":"7b943410e9ed5a6fb15322b8f9dc98c062d8c26faf52f4065aa2a043003a0bd90bf9a9096129bdd4d02b16a05311fafa745a0df1ce89ef5419d0c40077218e36","sig_valid":true,"bad_verify":[{"kind":"plus_one","signer":0,"other":null,"expected":false}]},
+{"id":38,"sks":["936e4e4b4348baae9c35cf4bd70e7ae960a548544c19a009cac84781eccb09fd","9d9458a9ab882f4cfefc33a73ef1f6664de04eb4b7d25c6fc112edd07f0514ea","ad66d2df900b4534e1b1843e861ab4c32729c9958738f6829ad8e302bf2470dc"],"key_sort_input":null,"q":"02f2ead6c98ee91c86246e37d69ff46f56c6dd97773b463c658e0b1221b94540b9","tweaks":[{"plain":"408aec955e552a37c0929ad93027cd39b1274a34f174c0fb56b800fcf68f9371"},{"xonly":"70ba753ff21799493787a204155a2dcb865ea85f3a557e4e3076e3ef01e1b330"},{"xonly":"fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"},{"taproot":"3a8188c15834daf4780f4d9c31775e1d859eb3118507ef8f8f8871bfed50cf57"}],"tweak_error":null,"aggpk":"03e5b74bea48800bf0828b2c6fe343d6ac3d3cc773aece89d39ce300097135bb8d","gacc_neg":false,"msg":"60606bff5d7e","aggnonce":"02ed367c91670d44b7c72daec2e7438e569f45f9fee9ee7d0ce57a4456f6a1678a02b8581fcfc44074be6f9f9a18a12b4441d016a56b06027c6e1836cae010d627e0","signers":[{"nonce":{"rand":"ef4347c1cd9d240f378709b0e29e3738c1559d53caa9f2fd6ef618efb91ad85e","bind":6,"extra_in":"0829e9be"},"pubnonce":"038a2bbac7cc477505826d412a9e499c0a51125d99d24d9d217759a159bf443b8703041095cba3065e5fc77b479f63dbbe277b5c78d6ca4ec4f65dc47e64f4f65ee7","psig":"58a593348094dbba5db36c84aee8a548eecbafc1f1689eb62375de3066c1c24a"},{"nonce":{"rand":"830bb97d41c0df35da8c617a26d354cae6c09a5b3f96bb6e7ec02b564800cf1e","bind":7,"extra_in":"4865c9"},"pubnonce":"03669b2dcdcb544142f75469af9a86a5ed80fce78470425ed7821ec6cbff11e22a0352e502bb26753e43f231c9189216c5ff0e3338ae3b675f723e7c205012f33b0a","psig":"8bfff039b1c83d388759bcb3ced2b0525585fc50af2369f2dc9a57a960e95051"},{"nonce":{"rand":"754b7c63c1cbbf5d008a2a26057d85b0161e7d660ac837435065cce9cb4d59c1","bind":0,"extra_in":null},"pubnonce":"03e4199583d85a86229bb01dfeeeb978a4f69630f3fcedb713a9f7592f0609447f0324aeec06f9adabf822646ac79fd779b80fed2b0f6ea91b158d9b261e193c3db9","psig":"e93114ec5f46db69ff71cbebe9b0ac1029ebf2ce39c71507c8a919f681034709"}],"sig":"f00a75b7d0fac39aeb9f6c13dc7923f40b376070d32edbd08ade385e425e563aa59bb4537782830d63e193b67e0674cb225e70d995480876d3f457d084a30f1a","sig_valid":true,"bad_verify":[{"kind":"zero","signer":0,"other":null,"expected":false}]},
+{"id":39,"sks":["7266c28c0172c03849381812220bc1463b482923b73dc386b0f770c59ac800c2","54e7a8ccc8e20cb57c4b77fe65064cf1c2136150412ece9c22a086414b3f2062","d7e4b88d53679f7472e5f2ab945260cc67f5bdb8cd2f2bf6f19f7382432f7f0f","5de009f9989a8f140b4a0b477096e63249dbe85fc5f2ccca32a596ef188ebdac","88a5e19b8bb0744da84aae77abb79b224acf3e96779de1769698c7253e2e166e"],"key_sort_input":null,"q":"028df2b1e6fe605f32aab9f489ad676611d5e360c61994e1313cea462039f6d8db","tweaks":[{"xonly":"0000000000000000000000000000000000000000000000000000000000000000"}],"tweak_error":null,"aggpk":"028df2b1e6fe605f32aab9f489ad676611d5e360c61994e1313cea462039f6d8db","gacc_neg":false,"msg":"df4aed36ebf53100d60fee003e507f6dfba6147576d16261129729656b7f4df8849785094991475f","aggnonce":"031e8ff95d859f1effd17b010ebbbd6aff6cbfa27f9d61860e3611c4ca622a897803cb91a541de20ee9252987e943205c0e56d8931826b7edb2091b7f2b50da40ef3","signers":[{"nonce":{"rand":"38d797319a338ee05bef920faf91fd9e6a50ffc13a2946430a342fca86a02d1a","bind":3,"extra_in":null},"pubnonce":"033c13a8cbdb1d8766d5fc6f91f315b0ca987d3fff187d91f1070960a31569099b039af24f812dbcea5793292898190b67191f6894077fd7bb6835a61b47722ea03d","psig":"b6e39f13054623424f2438a9a20f8709fec9381b96ff6cdf048dfc56547a44d2"},{"nonce":{"rand":"c7020e9a2a5f755d3846e153a12af39f0c82ee62b8084a929959a2221fc8cf6b","bind":4,"extra_in":null},"pubnonce":"0395fd03466b0ea238bd5d97eca349fa3baa5decdcc4e8194e227bdf27ec7bceea03e65918ee8be270963b181583a1f6507fbf1347df37e9946249b0ca69e310b6d9","psig":"adeab7690cb28fd8b5181454c3b8db9fabf48dc5fe5fbc7b0a74ed5c3f93eaab"},{"nonce":{"rand":"4a6022a97a1c61fa21417b46b160b6d7983fbf4cc318b6a61dba4d97189999f1","bind":5,"extra_in":null},"pubnonce":"02b1b728b808015bbd63dd58f00db9dd9b1088da6f2139dff03e321aa206c5f08203f2728d16f4f746cde59cbed7648f6073080b409a19c1a3ec528f90da228f8896","psig":"ef934b015961da2355a4a983528a8564ba41b5c0c594df6fcaeb474838e0da82"},{"nonce":{"rand":"bed2ca7cb4ed795d888295c12c64c4cd8eba7ac960f39c18bb6cef5ca2d20636","bind":6,"extra_in":null},"pubnonce":"034f8742d405a04e6b1eb3948d08ead254f41a0263b8aee38c06917eea524fd81c039b8c9a9762f60b685c56a8743bf2d6607d6837e2fde805c93f67ada646ae8d69","psig":"15550677975a78195247199ac0752b14af4687394c635ebbfb73fe7f79bb274f"},{"nonce":{"det_rand":null},"pubnonce":"02d08fa0adc030a9e5f26a2b3087de4b253f2b4db303d4a08d6cd790047238119402be9a5802f9a66a974e350cc7ee1c19e56162cf0604b026050662f41eab3747fe","psig":"749d4cb86cf69916378bb6f6d7c529deb80c35447db7f5c91ea7ad68a27f2548"}],"sig":"f5d44cc9b10699e96122e7a2999bc77f3257112d7035cf041b978fe2ab6f46b7de53f4ad6fab9e6de3b3c713508d3d0456f47e52c67e1cd774651fc948bcd414","sig_valid":true,"bad_verify":[{"kind":"zero","signer":1,"other":null,"expected":false}]},
+{"id":40,"sks":["66c85d4da29c6e0864b90809737e9c62dd78fcd0ee554e7bb44162647dc1b464"],"key_sort_input":null,"q":"03b742e719a646e0254d5e5a9afb00b22e8ee6b5a78e97573c7d57325be6baf4be","tweaks":[{"plain":"0000000000000000000000000000000000000000000000000000000000000000"}],"tweak_error":null,"aggpk":"03b742e719a646e0254d5e5a9afb00b22e8ee6b5a78e97573c7d57325be6baf4be","gacc_neg":false,"msg":"","aggnonce":"033098e470a3429fb378e26738d4c9b1fe183acce0891bebe2150405c977f94616030da78b8ff4b8ef0914fd109cc05261b5434cd4cfd015435d5d4a017718440900","signers":[{"nonce":{"rand":"15e7ddcc39cd11a0f34372e0c55d8fcea4fdb138cdb47d9cc776d404726e4ee5","bind":0,"extra_in":""},"pubnonce":"033098e470a3429fb378e26738d4c9b1fe183acce0891bebe2150405c977f94616030da78b8ff4b8ef0914fd109cc05261b5434cd4cfd015435d5d4a017718440900","psig":"c45b2e2afa23fa1a1f3a28fe0a0668300715e66b20dbf141f8242dae7d244df3"}],"sig":"9b9848ad10460abcc0e16fa9f662d7b93ee3ee09f1519b505f2a43b7f21e372dc45b2e2afa23fa1a1f3a28fe0a0668300715e66b20dbf141f8242dae7d244df3","sig_valid":true,"bad_verify":[{"kind":"plus_one","signer":0,"other":null,"expected":false}]},
+{"id":41,"sks":["7e966740dde33f68d6ac49742e1f75c2c70704abec62a63fb1e684c8f3d102df","e42287caf1c0bc3e935d1e23234d9d1195b45c193d04c760d506d0569ed928d2"],"key_sort_input":["039e8ad0a9b9bfee8a2b66f13ddfb1f9c1405fb0ac88dd2a42cb4218256e264fc3","03f696108e68e00cf6ec0712bb31e5dad743623b846868e0a092d2a57b93694317"],"q":"02733c4c3a964b8e2f1cd36b8158c359791fd0dee2cfc290e0d42b8373a583cd5b","tweaks":[{"xonly":"0000000000000000000000000000000000000000000000000000000000000000"},{"taproot":null},{"plain":"fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"}],"tweak_error":null,"aggpk":"025507d1f04b6f847ef286ddfdd1dc1a2447aed5a48a1d954c2966238a609747b9","gacc_neg":false,"msg":"83d7a0589e7f6193d8b95e266e582fc38d5e0a37b519eed20e653de5c85de48db082578bb07e3ae485dd3691a69f433a0533ceffcae80367bcc305c4b316955e70b713bc8de3de0e3f441eae5abd6fa08bb814d63695a27447d96c966474887f0cbed7d91527c89eb064b63bd6d29d549fb8e7c801c60c66afaf95b9804fc5ff9fa0495f4ea43485f7c47baaf97fc2bb558cea8e318717f64e967cc3f53bae86b563afca0e0e114329e6df33b45b42f9748f475431ec1854418c4d5bc9342d0352e3bebc4cb9de0a30498f78cd175ee9e49ab32560d0bfee9a9afebd5cbf52fe577daa1d8c2b9f6dba37a0e7d0cc31bb1257b3e05c7ca087ff0c4fb1df5b8177b848","aggnonce":"000000000000000000000000000000000000000000000000000000000000000000022b99af18dfa13b8218672d453a946b7c604eb5fe77145b6e25f41c85a74e4c28","signers":[{"nonce":{"rand":"fddf5b8a06bb5b00ca94b4fbe55c27219051be4946d7ebba9fa1fd557b1d2481","bind":5,"extra_in":""},"pubnonce":"03420f4e13059e3df13cd3f97fc09caffac5f2007049f972ef6d7a29db66bcce7d03e2e65bdce4f2979000d8ac29cd75f794bb15f6c277de67e7951f9342cb9c7781","psig":"6abd68df9296ed53f62dcf6160e35f7a80b61ff325e123fe661327a4d4269be8"},{"nonce":{"secnonce":"55183a59dbdf7a983a54a87eae2f6b6318cb23fbfcd8af05efd63cc497a29399309a3877b5f3b452be2af4e4c026882e70ce79aad8483b46946ad36a0c00c6a803f696108e68e00cf6ec0712bb31e5dad743623b846868e0a092d2a57b93694317"},"pubnonce":"02420f4e13059e3df13cd3f97fc09caffac5f2007049f972ef6d7a29db66bcce7d03ddb409f3285093f85c1c4a18161f5f01b157c3e70ab0108ab4013290ea7fe8b9","psig":"b7201fab4fcd87f33117c1174da1cc10ef8d40759218a952068b98e8eb31f7c2"}],"sig":"4fed2243d45cfd715150d46761a69a46ba31475e699e18f7296dad37fc0d9e9e194b66a1c98bfc904559c37d598926bddb8db519172abe7d9b7b76ba5664d6e2","sig_valid":true,"bad_verify":[{"kind":"out_of_range","signer":0,"other":null,"expected":false}]},
+{"id":42,"sks":["f533d1efd50218b3a78848af330df3079c7ce6d8d4a4590752216bcd15f51ed9","8ee6bba2f28cdfece293b9e8fb2bb443f2e422e5386b7fa08b8b1cef618b0537","547be3dda5e6580aa1901f5225dd0446f2611b2eca29410636927e6e6ffff2bc"],"key_sort_input":null,"q":"02c015522cc1d29764c1c2f7b970ed23edb290e9791e4d7603dd2b7b8425c65904","tweaks":[{"xonly":"0000000000000000000000000000000000000000000000000000000000000000"},{"taproot":"a75d36e61c2738549d1514cffc0446e68ee88a6eabd54daba2386efc1a540ce8"},{"taproot":null}],"tweak_error":null,"aggpk":"02ce5e8fdd4cf066af6dc69d11142d2fa3df587efe646c3738a2460a0d43c60151","gacc_neg":true,"msg":"7c7c8cd62470119aadc99644cd5268f4dadcbab2d9510fcc2ffea1617b6e1d90","aggnonce":"023176e8ce62fcdf358e82373483ac809a3ebc2b0896c4fdc7057be9daf2d81e99000000000000000000000000000000000000000000000000000000000000000000","signers":[{"nonce":{"rand":"8d1d643a696503496e13466c036a58f5e8b3bded016242f915c3b241abb3d2e3","bind":2,"extra_in":"5f6f2471cb"},"pubnonce":"039e2f6f940067b09464b60f1eaecd96a626b16538115ab9e4a18c0ccb325d679203595a93452878a89c93afab5c4a6a69824e6ac8ba9c08d6ce6a4c662cb5f7a506","psig":"a853c8aeebfe49c42fdbba896d45ee4b2865651a3fbc592f9177d5a1d0ab630c"},{"nonce":{"rand":"a0ccae6f0f2a7594fa9782548666e28fff24060ba23b63b2fe5586d827dc7984","bind":3,"extra_in":"c72edf7b4d39c294c8ecee2ea9aa38"},"pubnonce":"02b92515d66a923844cba5346b2b98955342e70efe40ce0bec7e4692053c4426f1033a89d58dca82da553311ecd25f97cf809089bfcd9ad4a8f9a15e05d94daed79a","psig":"e8bbb9dc037a67f678dadec556711cfe2651e74b4366d21b2e2dd1cc9ff94142"},{"nonce":{"secnonce":"42b3137b904a1be603c9ad2ba07d017499ec4b03114b573574e5dedd1f561c0eadf9d86a79900102d6530242f6b609262764cc2fe5ac5d3c7f484cc45b3455ed02d5a31a6898afcecc39973ffb3a978080fa61aa566f038f763ea7db9b8f1f65fc"},"pubnonce":"025117c4d867d8130eeca66a6340a8a1f5631e946667ab3d54edd475c544ed54f10277c2cc2135630237d7201bba41e4a91da7052f3e2cf4df0b05e18a5b84e2c51d","psig":"46828465fd0ff53f14122a3f9942049d5da00ee195bf24e9cabaaeb1c7fc9d03"}],"sig":"3176e8ce62fcdf358e82373483ac809a3ebc2b0896c4fdc7057be9daf2d81e99da6edad024cb259482c09b013251650705807211c330f08db579ac1ddcb4f6f3","sig_valid":true,"bad_verify":[{"kind":"wrong_msg","signer":0,"other":null,"expected":false}]},
+{"id":43,"sks":["4d8b7f18ddb35cbd5b68619b1d0ad3ec9c2540d98e39feb57ba9b44b57b06758","1f8327bd205d91abebf0014d3a6299482338f03523c9b193c49143d9d9479dc1","240df78841a849c4977bcded33c958cffb2bb13591998f6ac806877b0f06639e","b001b229fa9f14abe2d7cc1a09bd2d8f38171199c45fa2ab7e3fa4fb78a79e92","2b13d5d19c3b9f5a3a1e9e98af057f2d04aaf8d80023c333ed871471448b6c35","93171a6f7bb2d818275e28ff49d2cdb36551c049093a5764d1eab438299c008a"],"key_sort_input":null,"q":null,"tweaks":[],"tweak_error":null,"aggpk":"037c420f10397b40f1bd599f84b1e5609adbf77c5c071748e6e93ae47fa19ff11a","gacc_neg":false,"msg":"8606232e98edf850db13ca9de14502bc2aa85ab0ddf2c82fcf3b77d036c8ab2c","aggnonce":"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","signers":[{"nonce":{"rand":"de072670e772b845f5035228950ec0964ad6b5407557535aafd984d3e88436b6","bind":7,"extra_in":"073a4234e056c8334035bd02f4"},"pubnonce":"03a438e0cc25602e467e30c868063356b36225db379486237e3d895ca4f396b2d00398950c434eb3bd4e84a14740ab300060c2bdfb0a444610c8f82e687b0dac4806","psig":"939f64bc0f2407a1bbc141bd2ef8cd543c5f92bb3118240d32acd030df9123ef"},{"nonce":{"rand":"9cda196debe07b6021eebade554e257f84685fac3f01e0ac709b238f428eac67","bind":0,"extra_in":null},"pubnonce":"02f2f3f4d8c865d3b6449d8d91eaf65594976bb4c154b60cc9084dff1e80244c09030c22e8d3428ecfbd97a095d7ac74d747a551404d76d1d574053a0ccb50d4e12a","psig":"021c3a5c684b5df6ed9984f228bb8d1d158f1cc9953bab1d1bdcb76497655409"},{"nonce":{"rand":"1d38d0c9eb8b3235720ef82821a0bc3bb98ff684d5268b5e078d58cfea6955c2","bind":1,"extra_in":null},"pubnonce":"03dea2cc133df9ba081947d274d7379cde989df7852914f804993755ac69adb2cb0373aba3b0b34ae7c2f8e84dc30add5262ae3678fc50da80bcfa24135a65d3a8ab","psig":"df16a8e834bcc7ffb42645d88ef6b5860bdf6d762d36b0f3e8b3e29c2b36a47f"},{"nonce":{"rand":"097dc6bbc8e497c901ada960878030ecea075fafba908dd142352332b1a3e110","bind":2,"extra_in":null},"pubnonce":"038cea75704778d481a3dcd0043a675695edeb1c8e279ebaa3e3ef3a780ac8b66e02187c0ab4bcfc05d8439df98921ccb8a86ac5dfedc629a55e3314477f08d87b38","psig":"ca9f31f1d35f9dfc9159824e618f82fdafbf140ac3e711c9654c13ce3760e1df"},{"nonce":{"rand":"07761e5300be4c6b2515056129c3e82a03c87f4e4da1b38266207516e0a70186","bind":3,"extra_in":null},"pubnonce":"0261edea138658c9eec22b37fd0b9bfa3ed57258ce377050228d9c06f9f651f79103a9dde07af0c1e2378bbbd80fb9e45d8a93911d1e6b5d177647d89de21d7d95a0","psig":"27a37bbbc904c7871d4bef020b59de12e64999843a717cf3397eefa79306bde8"},{"nonce":{"secnonce":"5eacb68be1659626c8f09ea27657e278498c21be43d83ba54f43a64b4c4af39e73304aa2b672343b74de62952c72d7f865c512542877378ff796ec0d2c95cf5702fbe38663b936e4fda14794c74822918a94f9469d578c0f372c5db39d6307288f"},"pubnonce":"038c76056c2c642d5bb41a530d2b1564d381fdd2cbfd329ab9502a027b1b357f5d023e8646e0bdb009de983e077d616536053f464fe3995aec33bfebaafed1aee964","psig":"75deb99c4999f6b526ffddda8cb55bd2e9889a1dd8dae3609572ba603a8fc791"}],"sig":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798dcf3af4a922a89d133265bb2e049ccdd6801aada6c2cb1c3ebd66aee06b8014d","sig_valid":false,"bad_verify":[{"kind":"wrong_msg","signer":2,"other":null,"expected":false}]},
+{"id":44,"sks":["04f3b83bd07aa92e6cfde82497ec8db6fb59a820b6386aaffd09e8b50f140301","04f3b83bd07aa92e6cfde82497ec8db6fb59a820b6386aaffd09e8b50f140301"],"key_sort_input":null,"q":null,"tweaks":[],"tweak_error":null,"aggpk":"03bf78dddbb472b57f2753222f12a6d216c6a56d9e3419aab1eb24c3eccd16e8e7","gacc_neg":false,"msg":"025ca9faa8cf6944954f19922b33e17588ccc78dd5d8ad1db45a6a6cba9de0ca","aggnonce":"03f69f5fbd73581539b9957c2e8390881c023fe26bfcdec0f0b6007d7be964e2e602e782ccfb00d7db145a23cdada06daaa5f9726470450b52425f81a0cedb7c5a0e","signers":[{"nonce":{"rand":"249d311aec483427bacc5120c5970c8261a1d48c72a3e81bc0ead085bbd4c347","bind":4,"extra_in":null},"pubnonce":"0382fdab4948731e7a441bb61b01b45530df63d32870a62a23e5f407bc650e2abc02bfd2f128d61d46021a748acc5a3f8fcbf511e535562b9bbd4c1689f8953fad77","psig":"d4bb05ea301aa16832cc4bf5dc2e49ebf8d399ec9e40c0b1e0dc684f5b62a767"},{"nonce":{"rand":"2b61da5fac8c42b32c138287e89a69b003a321106ee9e7f2f2c7abab3ff72ca7","bind":5,"extra_in":null},"pubnonce":"034826f601e618c90419588ade8c16217eff23e044070d130d6a75886c61899ef2031e073415b147156602b6c6ba893e86e47e2125174e6c2268949438423e45f586","psig":"251bddb50b1906ca31ac6afb05093f541dfd4204759f5470697015ac256e9406"}],"sig":"f5a146be96b9b3c45fd1cc136900938e714a7c91d158b9e3a5496b9d7ee6bd0af9d6e39f3b33a8326478b6f0e137894016d0dbf113e015224a4c7dfb80d13b6d","sig_valid":true,"bad_verify":[{"kind":"wrong_signer","signer":1,"other":0,"expected":false}]},
+{"id":45,"sks":["35765897d6fd23c6c7f0d2f08d2e07d11dab65dc3968385864c963af04630816"],"key_sort_input":null,"q":"026a4d5837f7c8c26bc242e906715db3cbc4c1735c90894e768a4c6385de3d25c3","tweaks":[{"xonly":"0000000000000000000000000000000000000000000000000000000000000000"},{"xonly":"0000000000000000000000000000000000000000000000000000000000000303"},{"xonly":"c7343463b49706838f7f2df367fe1d565a2a81968e48fb8ef243f13bf0e60731"},{"xonly":"1df685e454601045115a8b7714ffe50c86f1055b1864adda3d49ac8616f9fd7c"}],"tweak_error":null,"aggpk":"03459b54043bc03ddedcb4443393da926cd9c8470abc330ab0bfb4c7045e5d14c9","gacc_neg":false,"msg":"bf51","aggnonce":"022e37894b03bccf8e36c81e21db43a3feb042e46532b6ffc954361b4131247d17035ee8fea5e439836de16f678b3c6449876f987c5252e403b2c399842194f768c9","signers":[{"nonce":{"rand":"eabf0618b03a3a0104d738a5eb8af7f71f1917caf811a4487775c3da632eecf3","bind":1,"extra_in":""},"pubnonce":"022e37894b03bccf8e36c81e21db43a3feb042e46532b6ffc954361b4131247d17035ee8fea5e439836de16f678b3c6449876f987c5252e403b2c399842194f768c9","psig":"3fd610f125ece4cc8c963e5bf94129cb3d6d1bcc6c6768b0bafc7929279dc6b4"}],"sig":"03fc0a79a7e7fdfd883da119e13c0e4cb34d1360412de35a71328ca4c12e5d351ee923f011eabefed1a85aeb2a6d9c7c2f83b2954de5088c8d803d955d6969c4","sig_valid":true,"bad_verify":[{"kind":"out_of_range","signer":0,"other":null,"expected":false}]},
+{"id":46,"sks":["92f4c3e8e5f06f7e585275aa7875c3a7a38d454f4de5c5c04af94173acc38086","92f4c3e8e5f06f7e585275aa7875c3a7a38d454f4de5c5c04af94173acc38086"],"key_sort_input":["024ea4ff74b4ae1eb9bb590c27772be62dea6a4d1f4198b39f04ecaeafdabb22eb","024ea4ff74b4ae1eb9bb590c27772be62dea6a4d1f4198b39f04ecaeafdabb22eb"],"q":"038e010ba7dfa0ffa1b28f7ceb86e60f3129f911cbed3c721abbed86dc2216c634","tweaks":[{"plain":"4612699f60e0dd8e63aff71c9847194d00c6484fc33e2505447f107ed47decd6"},{"taproot":"bf02632fbc199bbc8f85eab6d2ee8cb1ec5ab21fe9959d4225827426874c254f"}],"tweak_error":null,"aggpk":"03b79ac15ddfb9a518da425b6ba127178ae9e7e1f46717d73fea8432a72c32ff9e","gacc_neg":false,"msg":"a4588170a2879180c22856a302a7a5261bca218bb71850f4a3c7aaf1f7dd49989f467e3d49b781f8","aggnonce":"022414300d91bbd674aecd11097c9ff83f03580488a90dff4984a6862db6fb3fcf03928666939ede876c6d52a56a488c96eb35e1e2756c4a1033733c3cf067e04910","signers":[{"nonce":{"rand":"5bcc361feda9cbc08b96ce04c117d751d0eacf4a43e7654eadadbc7dadc5bc09","bind":6,"extra_in":""},"pubnonce":"03644bd2bb9727ecf3fc22dbf72abf3acee4d68a658a95856653fe3740603cf89f0272be3c6b36f91b5b54175ddf8059f6351b63003a468cc8d8835939a554225115","psig":"ddd2dd1d4a508f4a77bd95c0dcc5750b1f366a99df6f9a3c522bc7e5c99bb01f"},{"nonce":{"rand":"a3bc37783e6070440a54bcd4a39db22675656deb62d7b58ffd98210383d75482","bind":7,"extra_in":""},"pubnonce":"02bce1f15a0b8f0f6b5241cc2c740f44069abcf3484828f5ed128333930b91825102d5d9755ab35c15d0f3c4a9ae5d0c0c220d153622f56a6352920ad901f2b58d8c","psig":"c6a799e4de754b3f836b700e90fa65f80dea1b0ead67aeddda1f6cff3c6f5aa6"}],"sig":"fad12102b0cbdabc1b563849975b99c0d4ba6bcf5f6c00e4348c877406400751dc084511c484e8c5f8e650544a427a23da0bef63f26c7af2e63141f99ea07f4a","sig_valid":true,"bad_verify":[{"kind":"swapped_nonces","signer":1,"other":0,"expected":false}]},
+{"id":47,"sks":["7cb190fb34678149a8dcb05d37de4095087269f7eb481ed8c1e8f69a50754cba","a7f21d185b5805bc6960189f1938c9fe8af4c0a666f89c1c10bc3ba4be288fc1","25cf1b7f7f93c22046dccca1933da82af995b1dc7a57ee543c79c5d8943cef91"],"key_sort_input":null,"q":"03c00162a68f6a30c1e021ec1f609a1877fec9ff7cf879b2bb47b0f2c421c60fde","tweaks":[{"xonly":"0000000000000000000000000000000000000000000000000000000000000046"},{"plain":"fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"}],"tweak_error":null,"aggpk":"0220bc2e520243fb38193854102a716b594338209427c5c7c573293211aa9665c6","gacc_neg":true,"msg":"54c98749fa6d954227483b4bb0624a1c9aef5c40","aggnonce":"035b42daf0cbebf6a6e31b7204ca5607305c12055bd5819ae722e043193d04d4b10251c688bae8671a55641a914dfc6034d37fcccd6ef0cf122507c3d62979ba9291","signers":[{"nonce":{"rand":"e3444fe8f4f18bfa5bedf0e8f937c4541d03194af7d710bc6059efec0e6e9210","bind":3,"extra_in":"6a606e"},"pubnonce":"0373363f1b0ac541c307b17924d2e9a5acdd95dcce41e0d05482940c8c7cad9b7603349c6672992168b4658f7315b6c391c8d34b88c2fc2b2a87cf459de9e056a9c7","psig":"3bdd11f49d8c7fa4989d281eec347b8bed4e758119c068c2e51cc5fe1565282e"},{"nonce":{"rand":"f50da3630ca20a0a6e8f58c397bae7caf92e439ebefeede71a13391659b561df","bind":4,"extra_in":"aa38c300bded12b866"},"pubnonce":"025d5b31fdf346f4d520d8088457ecbd9f72086d3886e40d64eaf13d77b18dd4c002d49d30c3b632989d5d6f34f7312c3c7a6363c74735151479a2d713189c8cc451","psig":"e62ba7c929e38bb4ede1d38039beed669e24f81ff361628d809ac93c16d7703a"},{"nonce":{"rand":"e91596e3c0cb64f792d7b561c89850e1477530823fa2b0778e2104e89c1238f4","bind":5,"extra_in":"3a2f1054e87b"},"pubnonce":"03327d4b13aaee60f19edafd682bbc304acab3599b3cbbb2fea250f15468c2606403cf432301aba4b76d8639724874e28edd01eb8aac876e777e3b785df54816ce37","psig":"4cd07c3627c3226b8e5d56b9ce037a140000d9e12aee19b9e8442caa9fb64f49"}],"sig":"5286203029ce1460b06961fa6884cacf00dd66aa65e5f93e94e26744c4d1498d2ed5ce887ffa1508535780258d8e545e9e665b551dec67880095887702b4885b","sig_valid":true,"bad_verify":[{"kind":"swapped_nonces","signer":2,"other":0,"expected":false}]},
+{"id":48,"sks":["c0ca0240820efbe22138aa459070b8adf6d3324138238a85a451befeceef4896","c0ca0240820efbe22138aa459070b8adf6d3324138238a85a451befeceef4896"],"key_sort_input":null,"q":"035318777a90535990d81d47068a39ae1a57542e37d76ac6ef120b0fe5a17b1e33","tweaks":[{"plain":"fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"},{"xonly":"fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"}],"tweak_error":null,"aggpk":"025318777a90535990d81d47068a39ae1a57542e37d76ac6ef120b0fe5a17b1e33","gacc_neg":true,"msg":"bbc84301d9a500b95b157e422a6953b614bb0e2ee624ede8929a9899f9578da585ddb7ecdb84aec9da725c97b2b39a4a89babd1a","aggnonce":"02aecdaf3c86c05348e83918bd56e45ae68d5707666b51b2a293596f95f63951ee0286010abe5c35b0c21cde99a9b302ee653e20b6cf9501ea9410ebf5940fff5e92","signers":[{"nonce":{"rand":"35cf94262cb16e40936e40ec8911cc421af0b2a6327d5fc0c67d5eb06ec1b4c6","bind":0,"extra_in":null},"pubnonce":"02e352cb179883524f14f5e0f50574c841cb8539bc0eb53e0970f1e49e6362d562023b3d1e89f797fe0ea51bc979a546ba06942da7018d60a687a89841317d9ac145","psig":"102a6ebc062ef5d2f84305d60fe5114755959a239096dc281c21172664644d3e"},{"nonce":{"rand":"f1414235e60e07600b99d75fb3d83da96904c55206d70ec741e2b6e8aecd8036","bind":1,"extra_in":null},"pubnonce":"03d55dc57d516fe17424d0338554b38537910d96cc442dd3c4de67a35c7a8e71cc03dd610776a46e9897843e85c9fa4edd1602e69a03f4d34df5e3db4b46559769e5","psig":"dd61ef3763c4a761c25103a83be04faa844c26ae62082c31c7b1000abe733224"}],"sig":"4751b18d1600bd68e9518fceef73549c9ad5ba47b59c003fd79ca3ad91192a5aed8c5df369f39d34ba94097e4bc560f1d9e1c0d1f29f0859e3d2173122d77f62","sig_valid":true,"bad_verify":[{"kind":"plus_one","signer":1,"other":null,"expected":false}]},
+{"id":49,"sks":["eef27683bf39b30ec4189386fe6057c42277c7c1545f85d5d4a06c8d2b0fb9d3","b5be4941b78848b930ea440c23bace7d73db8436eff4d6f10d8a54ac102d8a6e","9db1ae1fbbaee251704da6f6da78f3556157e1fb5cacb5e253e5793c703953df","a2e652ef9b562d10f88592cb74f3d5133567bdabbfd4900fbe458d04f3a54b9f","851cc17533d2295f3eac8c4f5d6e76f5c70b66a292bfe339c3e0224ba1fc9a59","66e7435d6870926a8abfff721c3fc46a27e2d649cf5de2ad23fd18c8e48708a0","fc6ad560e87bb88df0a8404113de41779f7a3414f347c0f3c5280259ba2a34b5"],"key_sort_input":null,"q":"03c040dcf4bb7bb64cf8c42ae231fd57197f9444f78999b679f1d050a2ee52af2e","tweaks":[{"xonly":"074ebb49ad895e7d01586f261dfd56c1d58d3f4d7222915373f02ab9241f4031"}],"tweak_error":null,"aggpk":"02c918576f54f848735f52a0032d27be0f52e57d2a60af2d1efee8892cb2cfcc26","gacc_neg":true,"msg":"f9c5","aggnonce":"02ed8b62ce4672061e20120434f53fe2ead9d315c089dd14defde239051bfbd3f90370f6957b49d0e9b978fe0abd57021b0346feb88670be2832180d1b8dd149a256","signers":[{"nonce":{"rand":"c5a6e7831a9bbd4e19f8ec15649f4bbb9cae02e3b948e50dd53d5f3b495d59f1","bind":5,"extra_in":null},"pubnonce":"027d8949db5336636de05146baa7a14218b16eba1836a282c24c0726b6d623cc160323cae56b2a0bf9830b2d4dd18d363da0a4143606390baf57bd62d8c51bcaa4de","psig":"5c5f14de35e419a901b5f87d4c298e91aec2de18db7748b74a1316f66ad0a4d9"},{"nonce":{"rand":"7c3d07d2142f7cb681fac7c68171d626f598e638f6df568fb3bb8fe6dbd33a2e","bind":6,"extra_in":null},"pubnonce":"025ac1e8f638cc86dc3c21c2123ad9c4b27f91e33608cd0f825dd16aa92ac2852603e2bb542f4d444ceca9d09edf0f492b5b3ed45438f7208dabf9dab0da144f485a","psig":"834e0c7a9f1bd4db9b2d3efc87afe56265961ae895f5c6b98aebbb7a66007f54"},{"nonce":{"rand":"bf9d80568459be0a5d662002a136ccea4018db8d5eb88bc7524a42f98a229ec7","bind":7,"extra_in":null},"pubnonce":"026c8b08d6f08712b2733d9fa4bf42085d71f853a7019f121415287525663e47e1020750039a280fe4010dd8d3e05143bce00bf9ffe93c2158340c26e6796b13e851","psig":"8334804d238bc877d1dd08a66d183ab1d447eb869e9018460be3e5621eec880a"},{"nonce":{"rand":"d85124f46dd5d0b19c45f0bf8a4f87e67609ca1970cc15a39f7caf0c76487052","bind":0,"extra_in":""},"pubnonce":"0385fd8b1ca62ac72db84ba798662259ce702bd0a4f2c96a5313143f2481c8ee3d02c56b9c736a43c38077b747c00533369158950ff5479967fd93ccbaa7f2e57e79","psig":"5f5ee45ba077027f84876f03bec5bc5087f9a4a78d873abdd2e2d52307ac9095"},{"nonce":{"rand":"bce0c84dd42436f9fec6025d2fcc202db8386ae1e1d48d4b888b5d43d443e5f5","bind":1,"extra_in":""},"pubnonce":"023a0805607898d57d8cab1dc5dc46f9632a707845b4f7f63f5d9d6e87ca0958cb02996127f21cd5a238031a8a8bb0a563917ad8bd8eef14cbb5e54cf5d05bf5222e","psig":"a35d3d9ccce239ba391cdd9c73c9c350eed7721bad744447a34cfcd818483336"},{"nonce":{"rand":"a3323b9fa96c284119c8d9ce36224e6758bc4551ced31b1e8e456cd45cf92280","bind":2,"extra_in":""},"pubnonce":"02d23e17a9e4f517befd5654de35e4657c74a2494e439f9cb7cd32f8b7d461408002e5297a510b8e4239442f5839d253fb11f1c0b6aa74c9c420585d7ab7bc6ab2ba","psig":"ee9c6a59fd62ca2ac91752631b3679b835c459e72e7e8c9166b8578ab16defba"},{"nonce":{"rand":"ef19e5f6f20c71c534c76ef86dc94dca10653c412e18fd76389ee280a1e3b2c1","bind":3,"extra_in":""},"pubnonce":"03c8bc8b0fb20ab424c78fdbbe70cbc31e051499a59a5f0c04534400d50c0bc3a303174bcf4c98fa988323bc6ef1e81e6cef35a82faff2c1151e5ede0c87280dbeec","psig":"d9d343a6160a7dfbe105767fec6d24f3098e80b3c67818dde94b5bd86dd04892"}],"sig":"c693ec6333e13cf36d851e967fc2e2cd827cf8ec89a1d79a0f261914c0e2d47f1d305bd1f9dd6895b198d8128ddd17b34ec2d7e22e0588bab037c29784adf002","sig_valid":true,"bad_verify":[{"kind":"plus_one","signer":1,"other":null,"expected":false}]},
+{"id":50,"sks":["568f2c743c4cca7bbc71f6b1b04eec5e74b1eda49d6ae25c607ddf753fea4a2a"],"key_sort_input":null,"q":"03698823f300b5b848e79848ac44716a6c1e11fe8c9dcf7c401fefad87be1fc0d8","tweaks":[{"plain":"29993d5c0f2b8abf67b8a583d5fa6d1b5b3f244a5c5dadfe875031bef50d4eeb"},{"xonly":"7cff48e3db2775964c22b12515e2e6810468183216b40a7638bb1dc7635c476c"},{"taproot":"d5b6bc7a7d599fd01de993fcddc76794e1a96c366035387c3989144adf0c0f33"}],"tweak_error":null,"aggpk":"0221209d3340f27fd56bb420c5f7ee0a7e939191a804c6b229d30e67e2a0a4df39","gacc_neg":true,"msg":"","aggnonce":"028245db29e5d3cb15953be67335dff7603e398ab26c2b1b984180f7703c2d099003d75111f49e58e8cd78e2813972902b85af33685710004761d91068b680c435bb","signers":[{"nonce":{"rand":"e7c14b1561d74df2c82d8a4ccfd8afa8f2e5e494b2ececd08649eb3270b4acf8","bind":2,"extra_in":""},"pubnonce":"028245db29e5d3cb15953be67335dff7603e398ab26c2b1b984180f7703c2d099003d75111f49e58e8cd78e2813972902b85af33685710004761d91068b680c435bb","psig":"83146dc45c2d1d9355730767111e4216d7b5518d9cf662efd7f47ddfe19755b3"}],"sig":"6ad01d1e657e48614825b3d6b201f1f3e7b67b905b50e41cf6fa151fc5b9d4c31c301809b75179ef521e71a542472171a186aad508679452b479a53cf2e43377","sig_valid":true,"bad_verify":[{"kind":"zero","signer":0,"other":null,"expected":false}]},
+{"id":51,"sks":["3e831b45d160b6c73104c165ef468b13314e3c8b5108250aaa0aae74262d8934","190d85faa4bae8bd9f8d91f7a94bcc245f60fc4b9e5f0853aa99c857b71660b2"],"key_sort_input":["0237008eeefd2199cc2e28ccb3c9b7a53bb9bba7d9b7ee5f87382e7e5c48c00348","02ea9babb7d7b8504592e455ad1e2a66c04f0db5978088442c20ea3494cba66f07"],"q":"03489080dd1acede0d3994de9bb8cdbc27a06db109532ed0f938cb2590eb68745c","tweaks":[{"xonly":"49d4ae11c2a7fecb97d7c961b17d826ea42bc2fbf8c0d956bcad40928e1d6059"},{"xonly":"fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"},{"plain":"0000000000000000000000000000000000000000000000000000000000000000"}],"tweak_error":null,"aggpk":"02ecd99da7c21ac24e5ab2625c19a830ed0ff7d553b7b9bfc2145c9f8cedac9d82","gacc_neg":true,"msg":"2dea80ae82f7d044555908bb0f53efef5306bef2c10b2ccb08646384863c7a1ba82a5fd32754684dbf2a2aeb181779ecb9ea247d6275286baefa26c2f6244d3458af2a359aef6efaadec4f00bac696189366da3ba435d98fa86d3c54d9a3eef2572dd68f5cf4a9f8502c84e8621ca127f0d8d6d20025df56b866a38b31d0eb095bd613f71c94a0281ae8136dee8ddbc4300cd7e7db2916e59f711e89d4ec871f2560e5286733ddd5f0d9c2b1693f3cf22ca8fe0da285c8083c0d1199ba4a2711c1ba1c448ff09d74ada0f88359ed03e1e4a5c022045880974eaadfbba2c82c392f3488404c7b1b81ed8f36f0eee78fd7153b506a7c5b2092b2295a330f870e0aa71db759e8207340776f7871","aggnonce":"0302f65a56ee82276c5b9b9f901968dc9e801fc65cd821e9d1407a9c382ab9fa4202367acae0134ae6091d77dc949ea9261a9ddbded8c05308ca1867bf9cd2e2286c","signers":[{"nonce":{"rand":"a5fb03d21d6fbd3103ac87e8ff5c29787a4aa0f997b59fcd7f4c3e9b7ef6b2e6","bind":7,"extra_in":""},"pubnonce":"02c4ef41103cc637b81656aa6264b2850f69bc6e01b9111fa5bbf019c31c1e4a0203c1ad8117b91d583a47a47b4e04caa6031cdee0e6f3eb04e8d735998c47e3214f","psig":"ef82926b6a0e4b87d80a3aac35c71972aeaba3ccc8d8a956a7657bb2d0faeb7c"},{"nonce":{"det_rand":null},"pubnonce":"03117a188d7de5a3f129f19a98901e87fa0bd36c502022b0b70cce285499acd4d103477afa5160cc4df0022e5b0cfe95ca90b89232e58a5da266d1a097efbeec34ad","psig":"1cede7e446a527f2ab3a1cca67fa5c90c7dc06a54235f8f0be1e84746de0c40f"}],"sig":"4f7afa263d213a38953c58155568896f86f1340cfa2411b6150fed22ec0687e82468a8bd161e058b2dbee65ed7914fe6e818036cfad4d7db4eae9465946d345e","sig_valid":true,"bad_verify":[{"kind":"zero","signer":1,"other":null,"expected":false}]},
+{"id":52,"sks":["0d3f163f0ea0d11482c52f20d58654348fe2e313d4fd49a7d16702a0414108d4","565e1ade6353da55d6bbe3bd1a3331c50ce62c10ea27d8f308bcf87819f81ef5","565e1ade6353da55d6bbe3bd1a3331c50ce62c10ea27d8f308bcf87819f81ef5"],"key_sort_input":null,"q":null,"tweaks":[],"tweak_error":null,"aggpk":"0367b5e5ba3844257efbd987d61577cb6f84bf31507b51d0c161c62be2015f43e9","gacc_neg":false,"msg":"187236d782f69e33f63980342104c532fe5d1386ae6d7414246b1416a4ecf90c","aggnonce":"02d2bac8599b07bd05d1a9f6fadacdc53a4ff508a062ecfd1d5665836d1cbb85cd022b7288777433d2ace67e026166f5af36fd2e622caafa625d6e7976d703f53304","signers":[{"nonce":{"rand":"faed99c9c0aff8b8a8f2d6bab09f44b98257b6deb6749803f2ce0b948e9db727","bind":4,"extra_in":"de2129d7ffc8d623"},"pubnonce":"03611a58757a1691af3b1e79fc1bf04a5f5dcaa3f7108b6742d09f3f45a5a0cdce036feacc7c73ade2d8b9e75b5c47bad67c2c6acb72db780b13b8c94f8c653c22cd","psig":"4740dfbb37e277bd331e8091cdfc554b5495089fb25efee590d58fcf921c5fdc"},{"nonce":{"rand":"432ea836fecc0e687d41e80ccc5319594c0c957705f996698bf102ba165c7104","bind":5,"extra_in":"f9c8d329dd57f8dbc44bfb0c"},"pubnonce":"027ad370a851da6950fb63c6779301ed17d960779c156e9e2c13e54140ab6232010360506d222b162bcbb335f758e7a9b1ead76cbe753afffaa67cc5b5ef0ba59e1d","psig":"caa58508952dcd4e781cf436dc6d64199d16c19ab34e975f67a63bd1edc5bdff"},{"nonce":{"rand":"a54ce4cefe56ef74e0425a1925d7bfdc76b96d47a903a823e96464c20ee1fb90","bind":6,"extra_in":"949acca837b2"},"pubnonce":"03047597eccda6f832800eca459e9b98feb18347442c3b82a337da6c1acbe77db9026561ad93c6de909ddfb6ea9df18e5131012a50416b5d69d7d4e81d5e64956e65","psig":"7a76ad90b9670657a5f02f27d5913eac2ae7a096a96d606dddef767c7ebb0a90"}],"sig":"21fb38467e3f04cbd160b6e2bd85f5849c06038f81b73f3fc6aabac0ec2c87c38c5d125486774b63512ba3f07ffaf81261e48dea5fd256771698e3912e66e72a","sig_valid":true,"bad_verify":[{"kind":"out_of_range","signer":1,"other":null,"expected":false}]},
+{"id":53,"sks":["2d3f4e87227663daebd6298341c2b232d451fc12baf24815ceb4a3b2c8a37c98","5e2a3cde6067da99e49d75b97f14eced4c03226109af5a5d992b2b6964e2ba5d","c01f9f6a17f50f0ec36f4fa68617d6b299bc05728098463495935feeb8d5adff","856112a9566aed11e2f94e881b73c233a6a002ead2dafb6ccd1d118ce2b6f3ee"],"key_sort_input":null,"q":"03ce9e2d45f6350d3ac58d9cfaa19e8092787cd42ec8ee6594a218911ab0685184","tweaks":[{"plain":"0000000000000000000000000000000000000000000000000000000000000000"}],"tweak_error":null,"aggpk":"03ce9e2d45f6350d3ac58d9cfaa19e8092787cd42ec8ee6594a218911ab0685184","gacc_neg":false,"msg":"aa0d1b85e68928adb5f55447be2fcab4dd363a76b6dd02a2b6374b8e09fcf09e","aggnonce":"00000000000000000000000000000000000000000000000000000000000000000002727d1c16ad3a2ac579127df94f8e0838cd259697e6b8b7b9526745473b009e8a","signers":[{"nonce":{"rand":"04583dcd5d66446192e4c6a49d14b79d8efb4e60aa3293354275afa7e67c478f","bind":1,"extra_in":null},"pubnonce":"02db450296ff984a0af58c94a5b7f355696fe35b5990be925658ff68dc867f77f10343402eda04e40119368b3b32a84654c081f441a0b1a8539774822141dfb31851","psig":"df2f6ae1839d414d298beed47c4f1e4a32b22fc2c00c1374f702871c53b59a37"},{"nonce":{"rand":"b0d56fef13c2fdebae4b1323134793b542ce879ee364eea818c057b4945a8680","bind":2,"extra_in":null},"pubnonce":"02fa310ee3b6f0be06f797d2a9ed4753e117276934adde58918cf0e696b405302f03787206a575805028aeb3c5e588d45f42289db22c312ea4459bd2e77abc165464","psig":"a4b218db4d770fe51881e0f697244bd9f401b7d4da5f18533d38c7595bbaabc4"},{"nonce":{"rand":"51d85e9ef0aa8fd2da1d77be90e7ee47e57ecf7025420cf9efec23b0b0c94b86","bind":3,"extra_in":null},"pubnonce":"029dd6795c24495ff6049d1c5fa58ea2e92ba61ff2fb690fdb4992122b822106c8027898a7b4438d963661e107aec2b5ee48f0633d3eea8bb76ff7da237014387a66","psig":"e785f7aeeed6681921d7e5b9714e1d5f6a6b1e06d8afc611d3c4194403a058c8"},{"nonce":{"secnonce":"d3982a3fc82855bb043ccf87dbc7f696027d3aabc96a5228333151660c745b73a4f7923f966855f32281a80ba0f5f130cf188b4e2547d27a12e9301436466f0502c33ee30cc46a28c16a92e85ed0d2ae6e30d984f85335a22d0c9f82518c711307"},"pubnonce":"02520e87211152c00675ddd92811eafef8e3dc7952af1cd4a6501e21eccea40e39036af1c0e47c285f966f9b766a8822ba123cfb10d39a18cbbd752eee93aa957750","psig":"774397aaaef9f78fe11b62fb78d0ea8e631624c80518099dceecd3a5ffa11c40"}],"sig":"7d438d61af3c39267619d7f7a1fa29ebdd9629d636764f30cb35425c0b09cd50e2ab13166ee4b0db4501187ffd9272147ed7709919a1bb0057477e4612453881","sig_valid":true,"bad_verify":[{"kind":"out_of_range","signer":3,"other":null,"expected":false}]},
+{"id":54,"sks":["335bb4f36a2b9727812f85f4a7e1fbda03898199e6d3fcfef1464e6cd07a988b","16fc9f483a712913ec61f46b1d66ea158deb948e17bbdf754ed578307ea28418"],"key_sort_input":null,"q":"022bf8651380e6a961d6f415cb109126958156a2c5d8f17997eb2c9bb350112aa5","tweaks":[{"xonly":"000000000000000000000000000000000000000000000000000000000000003a"}],"tweak_error":null,"aggpk":"038fd0edfaf66a511a5a2e60117cd113ddf6a467b09ee7166c47c6d7d6e3c8ccbd","gacc_neg":false,"msg":"304c5ef9244d98c9df89da37e29da8a8680163b7185ed6128f8dc3038a9b36d0","aggnonce":"0254f78a05f408cdf7da7f2a295544eb5edb514df432e072220ce668534a1d34f7000000000000000000000000000000000000000000000000000000000000000000","signers":[{"nonce":{"rand":"85e85ee5618b9eb2f1a6c2b73d1779996ced462d2ca003bf1d29f92474e5e33c","bind":6,"extra_in":null},"pubnonce":"03229aee88f8e67354c02eac239cb7c2b077f773300d674ec9a012dce323b53a92030a2a529b6181de714aa544f7e0d415655c348ed35f8b03634ee386fb4804001e","psig":"2cf8c88577ea173f4a19c9b5f2df4c7fbbb884eb6637151cdf8478a05112e353"},{"nonce":{"secnonce":"a7715e12ded943d85f31d54b2a33c15a53da1e95f0baf068685f75cc2992c28ea90d5ad62d0b46c7c6d9951f9db875525632ffcb9fa77096aec0c3e8a893f3e102eb553791a6ba9b78a1cbf96afab96cad59cc126a47ec8257d85ae268f76066da"},"pubnonce":"02cb8eb58bb2ca7f0b877887a54a05675871cb054c34bae55cb3b96725a7a4f212020a2a529b6181de714aa544f7e0d415655c348ed35f8b03634ee386fb4804001e","psig":"7d624c5eadb1c10ec90dfac4bb2a5f38ce90c59bb8ed5656798c36778339fd83"}],"sig":"54f78a05f408cdf7da7f2a295544eb5edb514df432e072220ce668534a1d34f72d7852dd041bb948364a71ef0309e9d3d9154eb106d5c06032b1b0a725f141cd","sig_valid":true,"bad_verify":[{"kind":"wrong_msg","signer":1,"other":null,"expected":false}]},
+{"id":55,"sks":["f857f79e20db1a44d5a5fc6e2548c7f8b5fa80d89da0df14b859a096968884d5"],"key_sort_input":null,"q":"030eed44163718962a93a7f3adac3eb07b44e8c934a6e6b378d9b016b72fe67ff0","tweaks":[{"taproot":null}],"tweak_error":null,"aggpk":"036b0ae10bc3c07d557ce3dc9db63ab6133a568a8c6a8c5f45efd2f6eed6f38d64","gacc_neg":true,"msg":"31384b8a77628c13273f04460ab6aa3ef07b7ed23e09dfc538fb7340fee7a6ed9a7f6028eb9c2ab228a599cc755bd06a","aggnonce":"02335b5f77f59adccebd45d4eb876163c581f0710874ed0a51c72650359657bae0027396210413cff2268c5060ed1a1e82178eaad1404e89f8f76ef911114f4ffcf5","signers":[{"nonce":{"rand":"1c191837fd4d00c5da27950113fd3230890b5b8f812c7b0ba3f2ff6782b3d041","bind":3,"extra_in":""},"pubnonce":"02335b5f77f59adccebd45d4eb876163c581f0710874ed0a51c72650359657bae0027396210413cff2268c5060ed1a1e82178eaad1404e89f8f76ef911114f4ffcf5","psig":"578d63f76e89549de6554f49aa43c259b26335ef42ab33dfea2a0033e23bf4c1"}],"sig":"61fc7159a394ed39844dcef9791517b7ceeab7c97fc27a66f4e3137375bf0d89e5d51d7e1b76ca35b6a98b4078665b399788cd9c1efc87a382d516bfbd95cd67","sig_valid":true,"bad_verify":[{"kind":"wrong_msg","signer":0,"other":null,"expected":false}]},
+{"id":56,"sks":["fc0ca872483a212b9a58a6c9eaa98ea0ece97bc518e38f17281f475fcb62ce01","fc0ca872483a212b9a58a6c9eaa98ea0ece97bc518e38f17281f475fcb62ce01"],"key_sort_input":["032462afb7eac2a2e4f2c87e68f441c059ea7484cd237f9b803018690031a34e5e","032462afb7eac2a2e4f2c87e68f441c059ea7484cd237f9b803018690031a34e5e"],"q":null,"tweaks":[],"tweak_error":null,"aggpk":"02764ffb34ba917f086d69653adf24c055f510073812c5cb22afd49306da86cf83","gacc_neg":false,"msg":"8acccbb92c5380fb658c5006f9a1ddc0ae1a10fee8810f88404ddcadb3108be5d7a6c3d378835b","aggnonce":"0317bafd4e3f4267aa81056096dcef70ad1af275dd0243f5afc6742ff46158a617035cf82733ad1dd40b82cbab1931dfc85d1acf3ae3ae469f8f076da3d803646802","signers":[{"nonce":{"rand":"63abe60429a644414164f83a6d837c7bc3ef9b351c44c13f2aa6519d22908ba9","bind":0,"extra_in":"be"},"pubnonce":"02b922d3b2c738791b52aec26c02270c108061eb4edb5d911a721f0818ca5d05d502ac78e71500d919a682bbd5e4ae23c67625a7524c235554852e906b2a57cbd8a0","psig":"c0867cb3603c2c7c49ede8465afa35b3a073b71fa3df7049ab925f9cc6539c1e"},{"nonce":{"rand":"c53bf733a1834fc0e4472e0aa5b7e7e7ab2c64e37d9e652d0576799e4aeee020","bind":1,"extra_in":"a9e1fbb51796606d"},"pubnonce":"037094a64f6cc25ff2c87330a027515d9221dd384e6bdc547b1d0930551440403102a7beb9e57dacfcbaaeaebcca0bae33521cf6b7776c2d84c3f7c1d48e66246973","psig":"4eb818c3d8bcad6ac4249a1d9f3c62876af120c38551c7fc983648b3c6dbed9c"}],"sig":"fb0b96d49dd7dc599ad69d6bf41ddba148e23cc6f4671adea4ca18a8bdd284030f3e957738f8d9e70e128263fa36983c50b5fafc79e8980a83f649c3bcf94879","sig_valid":true,"bad_verify":[{"kind":"wrong_signer","signer":0,"other":1,"expected":false}]},
+{"id":57,"sks":["360c6b64c0cc144e231372c71c4778946491f33790008de80628bf85b155e264","b5c8240699af57248890663e48c5a7e477cf5a642c217d0b776d45136403d7b6","3886fa4a9c1562e8b8adb144df453507e269920909b880ff2711a7e495fccfa8"],"key_sort_input":null,"q":"037ffeddd009034d869300a68efb02e796f3c46ffb7a6bb9ed7b3b151d59aaf227","tweaks":[{"xonly":"85d3a8c2fc1000e6be4d01fc7e44806f8df7726cbc4f0038e93daf4af7b41bd5"}],"tweak_error":"TweakResultAtInfinity"},
+{"id":58,"sks":["40c27df97367c5ae1f860f60956736815bf9a5dd5f1bcce3a8ed287d472bc31b","0d932e8d4946b611bf1cf17944a19f062c4bcef1ceaa2727d529c4ab4936c2d4","06c44fe1df9d691d5f961a30d922250982276390ba5b043121a13f03802f4c6d","df35b3adcb4b6000e090a4b0c26e364e6d9be428028da5d2b1a9fa8739c29cb4","18689bf6160564fc8d45631296a07aad153a518e5771ab94227907f391c57c04","2a9502a2d5b233cabcc76a665c6416a6b57a4a37019e696fee53b0771f61423d","32645c7d7a2c45308e39682c4a7d10fe58b3e5f5f91627401d2b939ccbeb5801","fe885c2e62ec26e8d77fd5098138be32fca3dbe94d0f82b8336b1f6e5ccd6262"],"key_sort_input":null,"q":"0287f4e14924cbb5c3afb9f80b2bc26c3fc618c7d63e0bd58fcdae8666b8585f1a","tweaks":[{"xonly":"0000000000000000000000000000000000000000000000000000000000000000"}],"tweak_error":null,"aggpk":"0287f4e14924cbb5c3afb9f80b2bc26c3fc618c7d63e0bd58fcdae8666b8585f1a","gacc_neg":false,"msg":"5273c2afd452b02dc400b643a06ff32c735e492451e3ac55589880689c15","aggnonce":"02448e090459d48afca461d6ab72998a61833b69787e2c9eb6902702ff0ae19d3a032ed24e8e02e594a2ddc44a9dd95a16e1104428d9ce63547ca24b43a6f2edbe4e","signers":[{"nonce":{"rand":"f6ee4b05b3960e33acf8ee6954ae52a58ce933c11f6e47373257b0d2d78f1a44","bind":2,"extra_in":null},"pubnonce":"027999bb369b403845605b6125e0257f84555b3462d143c358b816c57388740c59031446699c00c5e08a2acec4f53083cc9f9628b2a586e1873a8b449a1441eb4ed1","psig":"4daf90e7e21d930913b89f94446fef13c0ef67c39d958aaee6528535eb2acc28"},{"nonce":{"rand":"284073ab7a9ca5116b5ae5bfabae7c775905e147aa4bd2613252ee939d3220b3","bind":3,"extra_in":null},"pubnonce":"02010292084df7f1ad5845fc52673b921070b0609c81e2cb93303de5ee27769143020e5d9fbc24a3a75a1d4b1da465da2ac4e310fcb8e6ce202cac8f3bd86c065b50","psig":"b1b7b7b34b50776b1a89e30e8ec7511d48523ed7bf1ab8fedf1a2a892b3659b3"},{"nonce":{"rand":"4e6d07421808cb6e05c9a9977736db396f15d0f57acdbeac0d7bceb1445966d1","bind":4,"extra_in":null},"pubnonce":"03bf78ea79337fdc7320fdcffd4c9945db68b30e79505e6e368a7726803b5725f0035683662939043b78b55d2e99baed19ecebf9e7ba7f873bde7d240e93c65df9bf","psig":"ecfd5309de7b02a27b5f46cc3a99c8d267060770daa8ff0e83e8b5023678f875"},{"nonce":{"rand":"7b91fdf960164e5b655caf4c14d57884e54f93a274aa9808a8b0ce65c9ad2bc6","bind":5,"extra_in":null},"pubnonce":"0370cd05df8b49ab5b2ec02100186e0372ac1ac304576a1a4cb9f078a509679129035d62925b98941f3fd04bd47af43175e4f958af38dc5f93b7089c1e318f9d702e","psig":"bc9002f25ef67d0b8a1e4c2e9c5e201f2e0c8b1d033244bc8758e04437407169"},{"nonce":{"rand":"16dea204769c60a3c5fcadd44de7934d55cb205edf29792b44889338fd069f16","bind":6,"extra_in":null},"pubnonce":"03d44cb342a68ff0f20ee2e41de2d9c6d158adad8678adfa89374d64352a60927e02a1dcbe199e5a0be73cb4fba2cd2fb20aeaa5db34589a26773b444e9f8a726fd2","psig":"523b661a8194ca6b2df0d96daa9da4285911c24ed62f5bd7c918b77ec762e39c"},{"nonce":{"rand":"11b6b09b0b1e21215bee3b0977cffc8662067ebcf387de6c5827f5266e12c299","bind":7,"extra_in":null},"pubnonce":"03a80d42cc7bd2429148272f0a535a62196e29c91238efe1b3f56f0635841c224403b0a9736a16b5a31fa7376d548f370e2768a4b762df8a8d2b6a0bcc3c3ff65999","psig":"0d42922e186604ea94edf2547de12a8d943b499281c62239aa1aaba34b98e5e0"},{"nonce":{"rand":"b9ff6c03f7e6a7311f91d58c2c884f62886453ff0bcb95939d20c5460233c554","bind":0,"extra_in":""},"pubnonce":"02768f519f927962c929a13fb741a383ccd0ebdf9349a33864735c4162dfe9a6ee02205538a9f07d1ef2aa151eb9894a5a1ec4b08c85d639304df2bd23b999e27ed6","psig":"344f6dd9f542e8a0ae936b3f282d6b826143369c760fd6332e098f5368361d53"},{"nonce":{"rand":"7855239e121e41fc5268d9ea19d8ab9c8c7810ca1ca9992c2affa38a050b93d5","bind":1,"extra_in":""},"pubnonce":"025707983936b399f21c7f33c1acccb3d882c8282f22be7203f76cc73c86621a5702f3de01ec2014a244e916e9a5d815d53a09a03d1944206766948f34ce4a7fc931","psig":"a63c78aad516769072d6ecdba463bee86b24a2f194d45cfa1960b264d072adad"}],"sig":"3bbbd417bf20058f1a0b0ed7f2f94d32a010fdebedb0fe1d307547bae2dbd82ce2fe7d64cf33b8a91809397a9f3f224727fc87e48f8b58044bd4ce395f1c6072","sig_valid":true,"bad_verify":[{"kind":"swapped_nonces","signer":4,"other":2,"expected":false}]},
+{"id":59,"sks":["864c65ad0056ace31755819e28e198a29ccf685a7f4136175d97cc34805cfcce","a1c71d4f7ab56d8a54efa49124ffe8409abd3ed3577bf717df1a0073f0022773"],"key_sort_input":null,"q":null,"tweaks":[],"tweak_error":null,"aggpk":"03459a6ce8086706a0ca9ad50f2641d6ad65010d67c458c76aaa62d2df28454528","gacc_neg":false,"msg":"f60513db","aggnonce":"020fddadf3274cef15c5c70e61c3b94e72798e0cdc364aa58951a9c2aed2c4b7ed0394cf683b8a8929d88b9b3c8344a725434bd068a8ba2b0f732c9252866df4b5df","signers":[{"nonce":{"rand":"4dde176a4145c627acb67c8ced66f1893843d224ccab26ca518639149db16333","bind":7,"extra_in":null},"pubnonce":"02c4458ed6e75aa3c6c0986c8c35382881ccec87b22cb5c209b49a9b25b2061c890293f589229b60dd6f58876b479c27cd1036b08f9d2f110facdf09731a5f021011","psig":"686cd5bfb48e6ea0db341ae98b78fc7da4493944d960bba7888fbf1e6f13eb09"},{"nonce":{"rand":"09da2b00ba043f0d669351bda340c49ed01b57d0069b1158ab922549e4d3c5a3","bind":0,"extra_in":""},"pubnonce":"02f43beb149756e0285dc1196738aaf2aa8a34364c8b3f445ef2eac8fcbc1c19bf03d112b95c780dacfd9eaa9bc29828c32dfc86ce05d713434fe0695f2bed3a06ed","psig":"69154d584f72f360f39c1948600cef4c0ac6bfd7d9eae3afcd425f44cf39b7b8"}],"sig":"e75124aa7548264b52bedc5e332a5ccf8704043a6b417a7f982fc2ed36227b6fd182231804016201ced03431eb85ebc9af0ff91cb34b9f5755d21e633e4da2c1","sig_valid":true,"bad_verify":[{"kind":"swapped_nonces","signer":1,"other":0,"expected":false}]},
+{"id":60,"sks":["c377af780a74340938ab7373accb4a854c2309df813c8df715742457895345eb"],"key_sort_input":null,"q":"0252572debc1b280d6fa4b55be183727841735805b2f5bd2ef8231eb537e3189b4","tweaks":[{"plain":"00000000000000000000000000000000000000000000000000000000000003b2"},{"xonly":"0000000000000000000000000000000000000000000000000000000000000296"},{"plain":"0000000000000000000000000000000000000000000000000000000000000050"}],"tweak_error":null,"aggpk":"03da98c56344f5dbffd92a6859aced48353cbcf3ae1ae8d1e3d8a57832cee6e7f0","gacc_neg":true,"msg":"","aggnonce":"02152c1703816995ec573f7a92ca794045d8b7f29bf084f1f32f882a26380d44ba038694da8f06229d838ccaccd73109197097c9801f0e3fafa5f1765e7d536827f9","signers":[{"nonce":{"rand":"cf48fba7b36375eae65d49cbaa2b8acf08ee3b9e0e0536cb62d13e8412c1a08b","bind":4,"extra_in":""},"pubnonce":"02152c1703816995ec573f7a92ca794045d8b7f29bf084f1f32f882a26380d44ba038694da8f06229d838ccaccd73109197097c9801f0e3fafa5f1765e7d536827f9","psig":"cc44cd3057b2e0b5f8673fa8ddd07ca4b16ab2a21cce9a7b0eb5464a2016518a"}],"sig":"8049e0dceb9642b468deea2510cb8ff7f2d27f76804ff9ec15ac583b31055eeefab7ecd448711f320f92c0f8fef592b65d1ec487ac731264e86b25e9523623f4","sig_valid":true,"bad_verify":[{"kind":"out_of_range","signer":0,"other":null,"expected":false}]},
+{"id":61,"sks":["343e24b1102f2098614b0df33249c0bd5ab35adff21813be8982e7b201fd9809","f7a121e52c02abd002a72af41ddd18e7416481e63b1f81a8c43d8bbafb48b724"],"key_sort_input":["0254e5acdb83f2133991a289885494b28bc38acfff8d54a398c5ea90b920074ba4","025f1d5748ca49cc0328f69dc1f6b772dc8c227a0cc171fca393bc9e14a27d15c5"],"q":"037a2fd62b3c4cf3323926af79b5766e9f7ff3e394b9edec255038b2029187e544","tweaks":[{"xonly":"0000000000000000000000000000000000000000000000000000000000000000"}],"tweak_error":null,"aggpk":"027a2fd62b3c4cf3323926af79b5766e9f7ff3e394b9edec255038b2029187e544","gacc_neg":true,"msg":"9fffc801ce5a72721ea31a4e39a1bf551eda66ec1600b1281a27bb2cb6f803b9a09e39a555bfe75d22608550a8aa4216a106190dd042351bc8a8b8784bbba7bcd48ddb14c17c2460fffe56b6131a45dc9fd2809ff3b38111632948ba7924741cf0eae1988b5c52a26c1796cf2792e87df73a2fc8d452e2c8e43610e5a7bae9f1abb722cf4fa797a8d01e12a2d5038da7d1325dd473cd6eb423ea29728035efa3bd189f3d1c8c81a20d266b1d8f1fcc65287121122fc9b105dca2da1176bcf3a8e4e11d72eedc487c96e4eef52607fc5561e578432c861556edb6fad9db5c16a270c1c8ed160d6894b667cff073843b39ddc53ce95479b14d16b36be3f4c7c8449ea4a606ffd29050ee7e8cc7127c3c97d257db1751f9f499a7aaf6a89b","aggnonce":"0223411ce878df7e4198cca8f4df8443b3dcbc23337b736532953702c7a2a2e505029451a88c03c53bc0b543ba186797c7d0dd71fb6fe59f1abe897f543881826eea","signers":[{"nonce":{"rand":"c8b82b2ae2cde289df6ddbf381b5853bcbb4023516f89a885bc55bce9b3e4f88","bind":1,"extra_in":"6fee526768cf3e76cd"},"pubnonce":"0295b12de37a86c8378005fba8dfad14982ada70d27b0370992ed747919921456902985d2b709308e38621ac8f1a4782f2fb0c02b820c28d5bb24ca65cbf543a81ed","psig":"8976bb59c972683c51a7def5d7388597120f1a8643dbacd7ba601894cf60c3eb"},{"nonce":{"rand":"638bcdc4fcc9da20387b6a79e54d6568f125b4790c7afefda1b9b829653fb46c","bind":2,"extra_in":"3978203328504c69"},"pubnonce":"03d75ff954509510c039c28bb96d8c2ab586e8756993a785f8d8296f737ef9f7ec03b3499577560724c275b1dfc433ed1765e4e3485116a156ef99bb8e3fb6fe8613","psig":"f99b8e3b0858457fbb5e7a9f9c838023cda3a337d9c35cb1ce0e2f530098c275"}],"sig":"f29ff769906dec3b17222504bbd55f6300d809a3b86aed710daf1ca359d0a9d083124994d1caadbc0d06599573bc05bc2503e0d76e56694dc89be95affc3451f","sig_valid":true,"bad_verify":[{"kind":"plus_one","signer":1,"other":null,"expected":false}]},
+{"id":62,"sks":["034412668d2fb27afa055dbd2b3ea457d1cdc06d6957b9dcd1e941014ae29e42","16e69149f4665a1580cd7141928edbfa4d961c164b79f924a3216ec6edea4c26"],"key_sort_input":null,"q":null,"tweaks":[],"tweak_error":null,"aggpk":"024ccdb271e76d3d16600691dd33ce7e5c7422bee83a5fe74caa6bf7b671a8589d","gacc_neg":false,"msg":"fb531ab468876407cdf4d104e1995d2030bc5c8a5127d7e65521c58452c1423d","aggnonce":"02fa001b0e1969d511889c9e9ae826a8e8fdaee27a00c83de7e8383acb3d021ecb031371988177f35a0483981019b1cb6de1a0739aa038e63b7af3396057ff99b48e","signers":[{"nonce":{"rand":"58c6b0e2507d7d072cd0430aa6a6f0d0f3ab0073bf1d9ebc89bc71c849b1071a","bind":6,"extra_in":"5c8426b3da2aaf023873fdf5a6"},"pubnonce":"0374cfbbb584c9a7b44170a6810226b0325e077908e13befcafa00d609ce62bcba02217055e119044149e44c269774d9a308423253609b35b07220d9ac919e733ae2","psig":"c5bebcce9a1e3bec4b8f3345689e086ab3a612d7efd7ee8582f0b68636ce6e3f"},{"nonce":{"rand":"0b18341aaf175b30c325df3ba65f01cc96ae7a0d2065cd93c9b6fd690b6134d7","bind":7,"extra_in":"4cf43ef83ccccb0230"},"pubnonce":"0264102066b135c9cba9c63587216564bfef2bafc7b5f2960ab94562664c50285b03d6aff16cc6b66b5879f3a54122a8ffdc1415b323e57db96e6ae9b68b755e5886","psig":"55d31d79468d57bb497e19d24fb9947330906fa9c4bf7d0f742db6aa5c6bb0b0"}],"sig":"708e7d71d147363f467b76f586d354cd8001d81b81d1091b4679f769eb89f0491b91da47e0ab93a7950d4d17b8579cdf2987a59b054ecb59374c0ea3c303ddae","sig_valid":true,"bad_verify":[{"kind":"zero","signer":1,"other":null,"expected":false}]},
+{"id":63,"sks":["7fa26e9c3a3e618aeda6b1d4011267594ce2bdf8adb0b3d52bf6f32e0662b4cf","b7a9d895fc4a4a85aa8f11c45622cc6d39da9c46df82ec30b53f8cfafdbe46ee","90d6c1d1be29354343e3b9d6240e31afb22fd4f9960006b24e88ba73782357f7"],"key_sort_input":null,"q":null,"tweaks":[],"tweak_error":null,"aggpk":"025c156cdf9b4ad56769810a7076ddcb6c458986214427792d9e5622655785daba","gacc_neg":false,"msg":"3b48dd754e2fea1f269e703d60619d08124ee9fe03d754f883f6d217800b253c","aggnonce":"02ebfb29539153a64b37fed8cbd1ddeb43350297800926f9d3548267b30faa81e603de1b6856da78f352a6682adefeba2b46f73bd75fa0b1ed360c9f7e05c9b8e047","signers":[{"nonce":{"rand":"c652525d227c29d61d2c1a30165bc2cfb5459714ab2f115c299fd5c4aae72387","bind":3,"extra_in":null},"pubnonce":"02b896e5411a26baf24324f4a468fc29f311c7e322e5313d5c8b93300aee53e3cc039c32020629eeea71b457ba777bf9fdc460bb97dd265ab045b0f3fc2dea951cb5","psig":"7096f021ad54bfdcaffd017c044272ca47e05a845ce35e3abb38f44eeea193ca"},{"nonce":{"rand":"5dc998d4cd304be62981840eb25b92d422ed4400c06eaa38ec6d818e71188f36","bind":4,"extra_in":null},"pubnonce":"02b7a1b64bc086d1d64fbabe9f2124d37e377194f97088ddb10ee6a6647a04b9a802dcc2221cb72310b8bbc0f491a356c8796ad8290193e14c0e9ac5531c405c23cd","psig":"f27c1605914c85eef521241980242290054f642e48cac95177fcf38e107964ba"},{"nonce":{"det_rand":null},"pubnonce":"021d19c60ed590ef753f98f48773e3011c9f17898d4e6fd9db9cdc8b8272bf7bb10366cc0f16649bfbff5e7c20f5db32c1ee22122be8234cf096515315db4b77e0ee","psig":"800b29f2ecefbee5eee53472b7dd0ade57bbc16e28245a8337eb21c67970ed1f"}],"sig":"0420c3a0ce823f85095992a70b318fa50f930f20e34dd8e669817eefb1292c06e31e301a2b9104b194035a083c43a039ea3ca33a1e89e1d3ab4eab16a855a462","sig_valid":true,"bad_verify":[{"kind":"zero","signer":1,"other":null,"expected":false}]},
+{"id":64,"sks":["9db2bf693ab91f900d71a85b6d74822bdcfd6f4842f3da1e92b0dab1564bfa92"],"key_sort_input":null,"q":"02e64f5ddbb3097f2b0b11b57f6af1d89c6e367894e4b1e70de85392e676bcb0f4","tweaks":[{"xonly":"a6f230c46138f2dfc564b05f8d94e13e29ea6203b4d46e72bda4c3cdeda61181"}],"tweak_error":null,"aggpk":"02448ecbe8fc73f10b96f7afffd739d23064e2d00dc29868c192c0d85882dab7ba","gacc_neg":false,"msg":"84ddb41579c115ae0db80bcb7461acaa9ac2235e5b8769de01354e48f9d8935d","aggnonce":"02a1be870c4f5c54ede85b06bc74ae10bed9673de5889652ac6f6fcf3e63711dcc023da67c77b09a9e74f3931b2548e50220caf03fdf80570e8a4fe7c46cdfa6fc04","signers":[{"nonce":{"rand":"862816fe245c06692aaff28a79cb22e38a60a5e70672047fce56dfc47080df32","bind":0,"extra_in":""},"pubnonce":"02a1be870c4f5c54ede85b06bc74ae10bed9673de5889652ac6f6fcf3e63711dcc023da67c77b09a9e74f3931b2548e50220caf03fdf80570e8a4fe7c46cdfa6fc04","psig":"e6602f772759b13739d275042378cf326aa832209246cc0d68988c50334618b3"}],"sig":"0e20e07f98034110392ec7e937f13b8fdcd399b830af42c3d96bf5b901d1031fda7fb566a5deb8fb102e7f851fe95930dca291797588721678003d7703f5ad8f","sig_valid":true,"bad_verify":[{"kind":"plus_one","signer":0,"other":null,"expected":false}]},
+{"id":65,"sks":["1fcce4becb7f0739c5e4f9a831256a6bdefb76b911207adfdb535de5b53893f9","ae249e4a5bb7fce52e53cb07448cf6cfca57ac869b819e0d452e31f1f2c30681"],"key_sort_input":null,"q":"03c2a835610cf5378d96a3bb00eb953026555c5f0e2231315fdbeecdaf57766af7","tweaks":[{"taproot":null},{"xonly":"0000000000000000000000000000000000000000000000000000000000000000"},{"xonly":"0000000000000000000000000000000000000000000000000000000000000000"}],"tweak_error":null,"aggpk":"02902220972a27fa01faf53171962c2d11c08ee2f5c7a113a5a8cccc9282122ac5","gacc_neg":true,"msg":"03aae72b3d4398f3222358","aggnonce":"000000000000000000000000000000000000000000000000000000000000000000034f09717e87be1b7098115e76e12a4ceede6746f16374fa7f46c79f681ccc2896","signers":[{"nonce":{"rand":"74a19351d44ca8b66bb31d670a1fdc545de5f27d9ee1bf78900ad6e937e50b34","bind":5,"extra_in":""},"pubnonce":"026d62e81084295f1569faa2b2c9e10777e1e1afc3de9b9d4fc2a8562e657d4b11029d690a8435dc502ee9844fb001d17b4821041e302d0d560f81dee3890d5fd836","psig":"4409582f70d191dd120eb498a03e003e98e48c48b6c180c6a53eb01094825cf6"},{"nonce":{"secnonce":"e8c3d7444879ce651aeb7d5a4fe1e417121d13c0a23fa255afbc06c5c61e774acc344294b83470a837a064848fc8ead82e51762870c7ec8a68cde459a32538f102def1f48bc2f265ff1bf95b079dfb3fe8b1b01998d3d026851de0d0ecd002fd59"},"pubnonce":"036d62e81084295f1569faa2b2c9e10777e1e1afc3de9b9d4fc2a8562e657d4b11038a99b1ff460ba34ded8bd9fb901652f09b91908bc371c468072fccbb019f9988","psig":"375b98514783028ddfdfa10baf4b1b9149b4a56ca1005067a17206782c4ba910"}],"sig":"461a417ac77f65575b32ad9b4f59f2673c51e26b5380b3f3599c68d815d000257459f8595e46008cd66df5056d5838a987f3e8e1e9a5fbd57a3151dda7974fe6","sig_valid":true,"bad_verify":[{"kind":"out_of_range","signer":1,"other":null,"expected":false}]},
+{"id":66,"sks":["a6e1fa4a65a4bdfebad9d550effa28a0750c38b7a828178aac9e2ef888ac1f58","10c8dd450694051cf4e0587a73e61710b89b3a61168a3c41ab13d746a261dfc9","62880df0b19267156125a9681953c2902ba3d2804b845da964181bf46dba1037","0a0f3b3eb571f523224ad7311a5d5e510edafd462c28420407b090b5e5d9ac45"],"key_sort_input":["035c84f199e92b4bf36a001b41c46bfd18fa18616236319dd0527cb98243f6266e","036a2582fbb640163765054231f865b5b0b7644aba413e209c8c1ce73c511a07f3","03d5637808f54f898a6481dbf858160bb4fecefeaa10a6b353fba4f46e02a1fd61","020222155a6203cfb1e5b7906843f3695c93cb3e99c39e52048021272c264ea410"],"q":null,"tweaks":[],"tweak_error":null,"aggpk":"02b50926d1e756e710502e8f182b77b6b7c7250a0008487d13fa6ce3c29086ae70","gacc_neg":false,"msg":"9568680a11e2465be466ed090222c4486b39c69cf2634e48be93678af8bc7f9280e7fca193","aggnonce":"02aad303d84bd39efdff38c37aafe3a15cfa9215470db5d735ea4e9247a6b71378000000000000000000000000000000000000000000000000000000000000000000","signers":[{"nonce":{"rand":"8fca1baf5e495df55653fde7526fa0e6b4484734e23ac206b521d8b25e33e3cc","bind":2,"extra_in":"d9c2"},"pubnonce":"031a460a976a9bcbcdd8946eef823035d1bf501d65caebc46f454f1c14471fce080273fb8f002f783d6968cbc646315357c921c948dda298c6c09e919a2d1feef3e6","psig":"1ea391eee435d4f063766a449764e79485565c8a9ded21ef35315fff588c74db"},{"nonce":{"rand":"c4babf62089d768d791ae8f676933dc5a1cc39cf506788fca4ea98e8c8b4bce8","bind":3,"extra_in":"64bb110716"},"pubnonce":"02b84b5de99ac14b2522a1e6590ffbf11a60a7edfde7e41273d3f852172f83a78a03bdc6ad3bd1150fed00f1afbe742a7e8f7bf0f11da0b5d30ebc60963d04c5e2ba","psig":"8f779a6236349810093354485d70999e818d096995c1ee6bafd5eae64a61dee1"},{"nonce":{"rand":"7157a6ff664d6e8b4abc3d0717b7fa7a08193aec85a23309c0d1818dd0ddb917","bind":4,"extra_in":"3e57db"},"pubnonce":"03fe0c4e172d62fb9efe1a0b0229d9dec6dd95e0bdfcf1d3512058fbb427c4dc9a031a58be72a8f3a0220b14f06233d5e39d52839ef4652d585c3de7d37b1924a724","psig":"9fdb935cccaa915058cadf5c4573a02cc38d497995eda50b6b59fe97d47c8524"},{"nonce":{"secnonce":"2278f49ab9ab26a357713288aaeb3d4be918a337ac7b4e40014eb3e338ded72b8755c79dfae5bc79f589f8a5b9227184a9eee3eac56d5bf021eeccd0b97fb53a03d5637808f54f898a6481dbf858160bb4fecefeaa10a6b353fba4f46e02a1fd61"},"pubnonce":"027912e27786063f3265a8a0b3bf6e2f073b1eda08d256af1bd7564f6af4605bdb028b3555f901a56a8b0ba75284cd83a7b258871a01a879399bef191f5e9b26e52b","psig":"45e3266d9c0ce1922c6acbe95e4bb8f98a5fad38eb831f1489509ef3b4e3fe53"}],"sig":"aad303d84bd39efdff38c37aafe3a15cfa9215470db5d735ea4e9247a6b7137893d9e61b8321dfe2f1df69d29894da5a9a217fc005d7343f19df89e45c1895f2","sig_valid":true,"bad_verify":[{"kind":"wrong_msg","signer":2,"other":null,"expected":false}]},
+{"id":67,"sks":["34df87875c8e1de7b98436523008704a0d43a4236f21ca0ee9162a480f230e2c","48a5e6ed84ca57932f83165d1c13d81c4a3f41753923c1c2fac8a28342fb00d1"],"key_sort_input":null,"q":null,"tweaks":[],"tweak_error":null,"aggpk":"02fd2b5dc5a865e587d14bf88320aaffdb689c99284edce1dc5bdc144cbb3bca7d","gacc_neg":false,"msg":"0faf9097554d88bee3d8ce24943a1257ff9754ea2b74fc4d67a75a6867a6e9cdc25d08e00a88da0c7a9ef756e2e848145aab04b35edb6e9df7","aggnonce":"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","signers":[{"nonce":{"rand":"58c7242eeabf0a4f19e47a4c95aa099123e482600aaa1bd92e4b596ed2a3d090","bind":7,"extra_in":"f3c0d4e23345de00344d68da705c"},"pubnonce":"034886bebd347dcbc56a6cfce6e92dc7861c6f4a62c29abf1c96c4c223f7361ecf0355a44ca0697ccacf022beaf43bd5b9926df8055b6f63937c2eda7add63fa4ac2","psig":"907018e522f2c029e9a64105d3bc8db7ddd31ddd7bb619bfdc8f8048ef2bc516"},{"nonce":{"secnonce":"660f6a78f7c111241a4d25aedd7b6f780f3bc4ce3fa51958bfec91b862248805f9391fb5b812495605197dab933a43dd8406b9db7010b90573e250775760efdd03c752f49b3c323afe5dd7bf148165846b626e51c801c1abf8dde15d46395336e0"},"pubnonce":"024886bebd347dcbc56a6cfce6e92dc7861c6f4a62c29abf1c96c4c223f7361ecf0255a44ca0697ccacf022beaf43bd5b9926df8055b6f63937c2eda7add63fa4ac2","psig":"5763e1481eb248c3887a3f889a502a4ab1597fe685a26186eab01e66360d14b6"}],"sig":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798e7d3fa2d41a508ed7220808e6e0cb8028f2c9dc401587b46c73f9eaf2538d9cc","sig_valid":false,"bad_verify":[{"kind":"wrong_msg","signer":1,"other":null,"expected":false}]},
+{"id":68,"sks":["ca7b994186060aa323a7264a2c6ba8cf249f3571bb88c18b8a6612bed4521f3f","ca7b994186060aa323a7264a2c6ba8cf249f3571bb88c18b8a6612bed4521f3f","ca7b994186060aa323a7264a2c6ba8cf249f3571bb88c18b8a6612bed4521f3f"],"key_sort_input":null,"q":"038ead88a9237ab91c86a71d87767f00ba5da9eed3a73ff54791b9b5e33a36ac31","tweaks":[{"xonly":"47193331ebca8d5e73a42061b802df194f37ca2e42a925670a120684d6424561"}],"tweak_error":null,"aggpk":"03455015d1ab1509b3acec001103f307519f3223133d100445e7b99d8d43783f89","gacc_neg":true,"msg":"3067a4c34704bb7cb859d8072d9f79126085227661a169ff","aggnonce":"02646fa35391313d9848294dccd4829887a79cc12ef66ea06b1a369441433f57e7036ad3048235c38045cce2e968d0eebe0a962581339ca8e3db3f2635754c02a92c","signers":[{"nonce":{"rand":"494bc5252e9b7fd8adcf5c5b53f5f90933f73d94a0363f9a2d575d5596d65e21","bind":4,"extra_in":null},"pubnonce":"032646a2200b59be4014467411b0f63515cc2c90400d7002a6032cbecfe0d5abd603303ca9d1e0cb9f891c7f15699c3f854fa6f238397b494843ff089ddceb976791","psig":"9eb3a434cefe6da5d7a4731b1b58783372a9aea73ae8557402deeaf2be2e9680"},{"nonce":{"rand":"f20e93005f8d72bb7b432a0e0c3e631c222fd833ea86dd50e90aafc35b1e59b4","bind":5,"extra_in":null},"pubnonce":"0333f85609460f9c5c2b2f76515c8ae95dd4df651be59417391abd069bbf1e4fcc037510e7039c02633502655231f1bb84a4b1455039dd0fb6a7e4a182949e6eb8c6","psig":"21e9880d0f3e0385d8bcf59bacab2b177fcdc7ada2aab10106b657fa7bf48bf2"},{"nonce":{"rand":"7d63bf86e4faaa5a4b2c94a7317f3549a3bd0779ca50c7ba149f02816c05406c","bind":6,"extra_in":null},"pubnonce":"039c06dba9d99a78cb740477c19e706fa9da16aeb0df2cfaf4ac0918672b8c275503c95591ca3ee58938bfe2dd9de7bb1ba818b78c9f30fa20d9b932c31e9eeae547","psig":"03ade3fd9d43e121c7d12aaadbc6ce96eb830c059a9d9d3ee06534ccd526fefb"}],"sig":"3480a14e04f723c1b511f9630c52fe0d564f7b33c263fe3dd555fa65f6e744ad85ef92594436c720ef987d05690b34fa52b969c1fc7b7e8771a9a2625805c6d3","sig_valid":true,"bad_verify":[{"kind":"wrong_signer","signer":0,"other":2,"expected":false}]},
+{"id":69,"sks":["cce0265dfd166840b12035ce0db5766c231208a085ef2a5128bf3d61cd0dfdd5","cce0265dfd166840b12035ce0db5766c231208a085ef2a5128bf3d61cd0dfdd5","cce0265dfd166840b12035ce0db5766c231208a085ef2a5128bf3d61cd0dfdd5","cce0265dfd166840b12035ce0db5766c231208a085ef2a5128bf3d61cd0dfdd5","cce0265dfd166840b12035ce0db5766c231208a085ef2a5128bf3d61cd0dfdd5"],"key_sort_input":null,"q":null,"tweaks":[],"tweak_error":null,"aggpk":"02df5b70c1dbe04948e3565a69cb917f00f87baa78ed81b8292230b0bf227f95cb","gacc_neg":false,"msg":"8a7a1742fd93a56928f5fecb84baed","aggnonce":"03507c262715a94d7d7542100fbb0fa6f7eea7114b5999244487e1711f672a0a76029d099e41ffafe5908dd4203da2e0690a43b26218b6f0d92da81ad03e18081d57","signers":[{"nonce":{"rand":"5fef8d16f3b3d2c7bfa4a314ac9f23a790c0cc4f9cf8bb70d6c89c3900206fba","bind":1,"extra_in":""},"pubnonce":"031f23e7af724d1a9126f72e2e89344b1abda76f0b07aab026ea756533915643e702ab499673ae19ebdfd7a02335b0843e2b0f971c48d69b425a5017b7a26d5fdd46","psig":"8cd3a94527e21679a5b2f89ce7ffe2068c70069a516f431bc64e84695fb2f772"},{"nonce":{"rand":"61503f24f3d83c5990a7e7ec0669bda91b49557f58e882bbea1e30224ed405ea","bind":2,"extra_in":""},"pubnonce":"037d8d167fa47433056544f6cc6b11727aa102e9382f5ddeceeea27f033f6fe37b03792be22c6cfc2a6d18dbc9151af8a654ba626660e519e1bd0fcae36515d19e24","psig":"0bbecea10415a15a425e2f6cb4afff2463031352242e73f7ecb37d69220f873d"},{"nonce":{"rand":"3af0185abfc249f6eca4685a8f6b4cb54cdf5b2e4701df63bf182ea1d0ef2da2","bind":3,"extra_in":""},"pubnonce":"0354ba8f9a1be3a6a59f24aecb1acb03515a43dcf9c0bffcca7f629d17f50909090243783e3be32dcaa5214347f3ad7d8f12251d4cc2fbf29f841b1310a1fff90f4d","psig":"4fd6b8671d75a8c7683ccfeb39e872bff481fa51bd532ac3e902fb0695709332"},{"nonce":{"rand":"7891c4dc60a4494e3e547a8978880bc4685e5d8f696fb34c5b75709de9f67b01","bind":4,"extra_in":""},"pubnonce":"03ae9f4e434fc82ffd72cb3384fa5542b4e6316cc2a499d8309c5233d50b71f4cd0273f4847936de2848cabcff84c27a7206cf9734f867ab57da835bba6238687813","psig":"9465850e908012b143c4e79be9719842318b4047bdfbc1a259aede862c0e07c5"},{"nonce":{"det_rand":"6fe73f2e7f57f68642db0260eb790bc6879c378c96e5f296f0c71a0d1a3dfa48"},"pubnonce":"024d43fe8e721df0f78f7649c3cabcb1d5ae389226cdb807b0e0c0f4897dcadfcc022bdf01fe70b28661d9298159851c010cda97755e0cf9ef89d41d48f5b2044dd8","psig":"158875051d9fb8e3f46f20543613c989d68a9f4aeaec8342eb6374288df25f39"}],"sig":"7a7322b1b13c12e52a707e8dfde9bf98e1ab27452f2904b504c6dbb5cfc38f4392572a60f78d2c308881ffe4f61db5b8315c16ea2c9086812144f0fb00fd379e","sig_valid":true,"bad_verify":[{"kind":"wrong_signer","signer":1,"other":2,"expected":false}]},
+{"id":70,"sks":["a33def692977335a05e9456b6b0e24d6e14a183129b464c30764865627abf445"],"key_sort_input":null,"q":"0269d2e10f1f79f5a99af03826b4504c17d9a5105c19a0aa8db3cdbe81214799aa","tweaks":[{"plain":"0000000000000000000000000000000000000000000000000000000000000000"},{"plain":"31421066358d26a535eb2b2941700f94e7c5f8e56a849b238d84c145a80970f2"},{"plain":"0000000000000000000000000000000000000000000000000000000000000000"},{"taproot":"c4600930ffd8edd514b3121075d889712f26e1b70685038043225e56d7782dd2"}],"tweak_error":null,"aggpk":"0371ec3ee08a0557c7efb70664391ff20c0de2b568a55ddc485bfd11834c2eaaa6","gacc_neg":false,"msg":"","aggnonce":"02c351371d7037679a02966edde30f0d471c632dcbcfa7716664cbfba63b5b5c090398b500a1d539fea3b4d832a2f9d3179c52bd1af0bcef77413ed9d79353b36d50","signers":[{"nonce":{"rand":"ebcd6d7af58baa5e3bb7e2bef82b617f6a08373f31efb810b3b080cc0cde764d","bind":6,"extra_in":""},"pubnonce":"02c351371d7037679a02966edde30f0d471c632dcbcfa7716664cbfba63b5b5c090398b500a1d539fea3b4d832a2f9d3179c52bd1af0bcef77413ed9d79353b36d50","psig":"2fce728cb894c29ef897102b700685bd8b3e4c08eff89772bf03967618087768"}],"sig":"4cc5c6317da5f01ba2327ffec553299af9dfa8cfc2f222eec1aa7f46ea3436783fbce3cbb97d5ee98180a755340ff873afc003c13eeb306c137e117617f969a3","sig_valid":true,"bad_verify":[{"kind":"wrong_msg","signer":0,"other":null,"expected":false}]},
+{"id":71,"sks":["4947003cb55c6f499ac6bca4ca02962efc69881de5f697a1a3a2cb8046383fd6","7c4f17e7901e742dd247987aacb410c0c6384e40487040a8b07a925cb0849fcb"],"key_sort_input":["025accc52388f0b888c88a965493cc843e7850a7f23582aef5773417cdf6c1ce71","03fa14d54120d8db21c37f6f3febff7d3186a448f38479edb7479d5fc8b7117386"],"q":"02139b68a58d137af21a207badab75d1a9dada9c32fa0296cdc3b4ed7825bff338","tweaks":[{"plain":"fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"}],"tweak_error":null,"aggpk":"02b4f7e064d4ad99857cf1bc69151c3b2d364bc609ceaea310e885349d42fef876","gacc_neg":false,"msg":"ee59b57a6f6f843bdbee07b560e6a4697ee0236f839919b9ed2c7268bf0b23f45d6fa84d6a162bd02ea8f8c4cf5fd458f85e7f680d4312ae3deb1ce54e9257fe63de441d32849aa37bd129498b88c4b2e8094880cf2b6444470d5d95cac09c205e344975bedb1d6889c3dc4b4dab76af011cdafe774f4775452de1aa0b58b95f0db65fd7f3990cd4c1d057274c26d7185783e48810aa399250c020ef74e332e90a79ae5bf9f44f94ebd58d0c17781126ff7d6c28eb94428fc520826b5dfb2dd4c10bec879bb4b9eb11afd5ac3ba85a043f39ecad70afcff0eb81afc4cf5e2b641467f15539d07c3c738dd6e043f28642f0a508e32ad0cd6d00b16682adf1e6e6061bade67eee75a8bd359deb24b65f9ca1f188efdf8c38e88b4a8693bea9b1b34443ee","aggnonce":"02692261483036c944d324eaf9e2ccee34c46d726279674c941aa5f20930b9e4950265f8042fe1fc91e5d47911952194c90ef96c5a65ace9ee867c2fdb174ba841b9","signers":[{"nonce":{"rand":"7d2f00cb704ce4bf4e64fd6bba5d198a3be261c52e509defaaafdd10774395ed","bind":3,"extra_in":"b2ea38b5a72f83"},"pubnonce":"030a9a1f69a100c18cbc45b1c469d481cef016467f7ea3a218b05684f6bdb9d75103434d1dd5273c63642356575d028be4424337bc15b756cafb9b7a9329eac4f7ee","psig":"60c0469ce6740ac528558c82efb87bc7e49db0332c7b1e5ebcb531cb2cf5d688"},{"nonce":{"rand":"787a315b8af81f18db0cf2bcf69fc069a42ba3c2afc9fa0044b0a58d3a034867","bind":4,"extra_in":"ec3dd6623da47f"},"pubnonce":"027b4766128812411efe2d162b38d66bc3335af1ef2b6762f966f52fd054eed3b003e929efa89250410c597aa16d46585c00f5586495da4f5ffa2f4b3b9a47ee9fc6","psig":"2db833837fd48f7abfd020a5946660b057b5bab34177057ffad79494fded46f3"}],"sig":"6e153e5940a5b4e4e0d8472e619581818b8a933d907a77e01514ceb26c71ee80760f33e839ec262e8ed245e6c8e0f24b9afbc4eb7227800a9dcd5ece8695ce25","sig_valid":true,"bad_verify":[{"kind":"swapped_nonces","signer":0,"other":1,"expected":false}]},
+{"id":72,"sks":["4f9de7c5608aacccda4ad2783dca406eb278ebc9eb82ce133c3f8bf4015ad7ec","4f9de7c5608aacccda4ad2783dca406eb278ebc9eb82ce133c3f8bf4015ad7ec","0f4cf9e98b575650d930ddb883111a04c025b00ce28b2baf84d39829d1fb4cd1"],"key_sort_input":null,"q":"02fcdc002884e4ddf0d92d3034101b6da48c71a657d6e6b6396ba3f63a13df240c","tweaks":[{"xonly":"9bf6e37399d6b138252595031853d143e5313f60822ba6fdfce381fe7895ace4"}],"tweak_error":null,"aggpk":"026cf2c462cfd5b7fc610b589c150343ea11a59a026ffb0a38f88a2fe67c36185f","gacc_neg":false,"msg":"ea572394103553f7214b0bc94698ad2670950e59ae71e07aa72bc265558ab8d9","aggnonce":"038d2327ecc2f323ca2b17ab6dfa3d9247f392b497d6313ee85dea6bdb912dd28202f31cd48c938b9c6e35080e66970967216961b0fc88687e21405ad4741dfca7f5","signers":[{"nonce":{"rand":"98cfe05e40bc9269f1c5791df48d5325d7c28603443ca9041dab5b2a1b517499","bind":0,"extra_in":null},"pubnonce":"02633595b02c9c326e18ea5c28e9a2cc532bbe2d76d7b6b56b5c05a42ed2a627c5032ccd1dc473e0444baab9a2b12077add984dfd0d223d32d40ad8a4da927f413d6","psig":"9319d42c2f84514041bdedf7f16dc36255c3b72a30b6c8ba0f229c09dbabde2f"},{"nonce":{"rand":"191ae28889e9b0399e7822b54c6f30402f5d613c5caad0105d3aa73aa002920b","bind":1,"extra_in":null},"pubnonce":"039015c9b57036c6b4993e2df2a0e87ab617928cf19f6d5c40018d200729aa117602980ca924d41cd8fc30db4f654305f3070350d11508dbfb80f7ae9e1566785dd1","psig":"004023bedcd577d426bb82ba97cd3b217f24fe8d826abc750b32b2dae4c112b9"},{"nonce":{"rand":"abf68b3b9eb38f40dfb79815653e17008227f7032e618b511b520ab07e506f0d","bind":2,"extra_in":null},"pubnonce":"02ef717342d9e119879473b7c9f9318d34931fefa0e8b5f9b1722753eb3ee4f2df030239452f29afdbf8cb86dcc2f4d1d5b93d5274332276fd6d59a0a5f935afacbc","psig":"54300f66c3a985064f635803217e49290d8ba02ea281a12cdca488f229ab5dec"}],"sig":"41ec4ec04347a9c5bd9c6cb699beca391692c42ee52205f9819c8c3d84c7bb43ce2f6a860a133688a7dd19752ad7b2092df14b983a560d7555e25c8384fe0e8b","sig_valid":true,"bad_verify":[{"kind":"plus_one","signer":0,"other":null,"expected":false}]},
+{"id":73,"sks":["c1c849cc8822a63327eb2b0eba18d3d7587e277af98876be83e161578115bc31","f64d05753234af8abeceb14d49c1d65d2a06ea12dc257913ede3aef20290895d","057234d78e73a789f6dc002d7f8bc146f3ea684c6d20677fe162c0d764d1e996","51a811a9778b379c87a6d42bee50c22db91706fd1e2c618c09eb6def82cbefda","64da1d92ac238b9690212a22e61c23341f1393672ad5d8b937f5a853732d97ed","fdc376e4159b8752a53996590cad43450782a31e77f14692d6fab6c11b23f118"],"key_sort_input":null,"q":"02728303fccbeb460a8c8e8e4b8f0b8a50104134a72148767f09b92621a7b69ddd","tweaks":[{"taproot":"4f3f36ca5d2adc35c31df30f6b02c8d26da508a1095a2936bb74e5de901e4c74"},{"xonly":"0000000000000000000000000000000000000000000000000000000000000000"}],"tweak_error":null,"aggpk":"0265f5934e1d8bc2c7057c18754f8aae7c307c45106b501489d923326c9ad52c6b","gacc_neg":true,"msg":"cc10e4de61be1d6bb94bf86e7aa10edc17d27ba0b4323ffd49bc3614b3f46b9e","aggnonce":"03ce4cdd1e397a1460f9c7afdd9c2e15bc448a7a634f106b4353f10e574169ee270304a87574d59a0db5cdf4eebdd927254513ae5f369c12c7e1b71465c971b757c7","signers":[{"nonce":{"rand":"c64a53acfb6c1d1f25a6253d26ae7201014a0ccd991ea060423c6359d33481c6","bind":5,"extra_in":null},"pubnonce":"02c0f71faafd9e8d618e89c6e8b6618ed72410bec1e766dfffbd2b6fe6571ea1a102a96d72c0ce7aa6074808da87cf41138048b8d0107fc5e536bcd128f2c76fc406","psig":"3d9392a82cf227a0e705e2bd2a8b87240bb44755e90f211efb09b3b9f68393ed"},{"nonce":{"rand":"4c389cc48041e0169ab82fdb8d5081a5b5f028587e31a0083797592970dc197a","bind":6,"extra_in":null},"pubnonce":"02ee79deca099833ce6c4b39de00272aa0cb56e8113c72f69ad5f6638d154cfd4902348675eb80bf12b857f453c4f55f2a8cc7936fa733c72fb893456b7305a0d424","psig":"796124bee18055d241f969d822723e9ec5deaee0e06371fb1f39aff7fe8641e8"},{"nonce":{"rand":"e723b5eec837ae0f02737bb64e52edef829531952ddc9e586fa531028a97e2f3","bind":7,"extra_in":null},"pubnonce":"027226ec633bd2bf11a45985491ce1f92e8bb8ae86612b20490565d2ad302bdb1802ac2071e2834a222cd4830c7ff0cc26c9918cb25246cf111f4b3a955357fedb4b","psig":"2c184c620af26cffed4a384bcb511437dcdde3ce38832b0a109c9f136743bbf2"},{"nonce":{"rand":"8eefe6afc6d1623897a2c8662cfb5ea5f99904fc82e753318709da1fac7fd3f3","bind":0,"extra_in":""},"pubnonce":"03e2617de049e28d122a47ea9d3bad4e5175e7d13daca53292570f206d9b19e37c03a14550960e8aacf05ebfd2fdaee5ba716c8c442779ed5f4828ab870529c3f4f0","psig":"30f2685f21ed0e98be9969d1f8622be525cb86045d779f5b4048059a4a8c786b"},{"nonce":{"rand":"55c4677faaf1743f9ce2ac9dc0c5d0db2a2f75a2e04d6a14f505a07ab8d9795d","bind":1,"extra_in":""},"pubnonce":"025afc927f6e61e1f99575108647fd0456f326e2065f15fab07c55c84c10a0791803e18fcdeff3398b66219b7130327a9bf4b817896cf456015c98d459776771f42a","psig":"d63f049fcdbd34bceee2a0ee2d2f26ecc91e0f816d8827d4735884582d2d2a0c"},{"nonce":{"rand":"925c4ca72e1fa610615bfa5489584e7235aa276c77675bed90e5d09fb7faa5f5","bind":2,"extra_in":""},"pubnonce":"031bfbcd6f25a2525464e55a8d2aee217681cf6140b71372dcefb7b607776bee0802a83a6468f4ad946bad81d709c121deff164def889f92b2a668b5a2518dc5429d","psig":"8e27eb95040d75f7c6ef3e10688833c0e43ad3baeb1076f7bec3466c41304909"}],"sig":"5696970199fd956d006a69c5ee75eb7ffd7b7927234b019f21c57ad7a7eb1a9c8f2887d0766fb11db367dac2876306a901bc4eb1095b057e902ec0d8b67234e4","sig_valid":true,"bad_verify":[{"kind":"plus_one","signer":2,"other":null,"expected":false}]},
+{"id":74,"sks":["22c84a6a6d652d64a8f1a645e81c9780c5883bb3847edb10c267b5525d97915c","73d69c8285dc25f9d4de532b7110f8d378bab03f24f250eca4d7bc774ed4aca9"],"key_sort_input":null,"q":null,"tweaks":[],"tweak_error":null,"aggpk":"03db49ef7add2d54f2c1e1b44f5840bb38d263903cb647e5ec84fb142a50e318aa","gacc_neg":false,"msg":"b4e807ab2009ecf595fe80322fd4c8f42ab1f839d571060c2b771988b722be36","aggnonce":"025c1de48ed2b578423f932ad631396446aa1945209e134b4326a2e4f6a4106438037ad9bb9e12188e831051be1b01323b5588225e17f8c867b48db9b0ddd7a1ccf9","signers":[{"nonce":{"rand":"59c76bcacbe76e308a7809e38b6123ee3ed4cd55b6a6502afd2465af26178726","bind":2,"extra_in":""},"pubnonce":"03c962647a6b211b845ed5d23bf57efe9dbd4491a8844d639179355cb63e8590a303ce1de5bdac64e79f7e73c10c555bd7d57ff2ad5e6909bc7baf98d345d70ef914","psig":"2ddaab7ce7a43d79868e91aa98ae4b9594bc51c431af374448e2251103bc1a71"},{"nonce":{"rand":"4d164e0c83fd493a0aec28e1efb161c6f469063ee8f5378c491df2ece0d6c672","bind":3,"extra_in":""},"pubnonce":"0236fcf5bab5016f3f8b876b17a328c516744e4099ce236ee40700b78daa9f28cc02ac2df330e71ef7da72665792e9471b06ce1a9baa13b57a3bba8e07ce050d2c79","psig":"ce1b2a220def02f185ccd057848b48cbb6f0bff627fe1b73a51217ae1400ca67"}],"sig":"37634aca9740ebb7532656954be5226ce4d8b89b98926be64c931cf6f28a34b2fbf5d59ef593406b0c5b62021d3994614bad11ba59ad52b7edf43cbf17bce4d8","sig_valid":true,"bad_verify":[{"kind":"zero","signer":0,"other":null,"expected":false}]},
+{"id":75,"sks":["d70e2bb5b83b447864a9079d8be1dc6d595c1f30cfaa552595398ecdc63cd4fc"],"key_sort_input":null,"q":"03dff219877248ef30f4003904007d80939e1af1703a9b8883819967852ddebd6b","tweaks":[{"plain":"0000000000000000000000000000000000000000000000000000000000000000"},{"taproot":null},{"plain":"0000000000000000000000000000000000000000000000000000000000000000"},{"plain":"0000000000000000000000000000000000000000000000000000000000000000"}],"tweak_error":null,"aggpk":"02f6536b05f9b9910cf6888ddc0ccf02de82d6ad54de00f0c9a5a5e10912b4d3ef","gacc_neg":true,"msg":"2dcd4498c3acdcd41b115c91","aggnonce":"03e95440555756f18878fcdb24061d6a60a819197dd823eb78a568b03febb2a8e302db5083225b5ec3de90095b4001d0b98f2f847512cd5903b6240bca75cf331386","signers":[{"nonce":{"rand":"987ba1ae24a1dbd3a1f26172095f797d7c46cccc7aa397302301430eeedafa85","bind":7,"extra_in":""},"pubnonce":"03e95440555756f18878fcdb24061d6a60a819197dd823eb78a568b03febb2a8e302db5083225b5ec3de90095b4001d0b98f2f847512cd5903b6240bca75cf331386","psig":"d359666902520b5dd341c26bb7533f13f53d201c80e75640587a012386d1cbfb"}],"sig":"23fae83da9f84c9ab6de9205a4b93964aafbdc12571d8b606cdc6cd787a9645c26ca17559e7a6188542c8910b4f875a829752b63adaaa37edc6b0ecf7db85161","sig_valid":true,"bad_verify":[{"kind":"zero","signer":0,"other":null,"expected":false}]},
+{"id":76,"sks":["dfc2152c907f1ca6417788f318752ecd5b5f6667a0503d0c02f49b1f999d44be","dfc2152c907f1ca6417788f318752ecd5b5f6667a0503d0c02f49b1f999d44be"],"key_sort_input":["031d10d48f429f8d2e570eb75652bbe755ed58a662f7052fede50308c618cfda1c","031d10d48f429f8d2e570eb75652bbe755ed58a662f7052fede50308c618cfda1c"],"q":null,"tweaks":[],"tweak_error":null,"aggpk":"0200660eec10a86a09228be30916e39b9b56dd5150e21269dc19befe11b79a5108","gacc_neg":false,"msg":"d1","aggnonce":"035414cc088a3b9b296b5833147d31226dd0985c3d4b6cd2bdbbfc3067c51e3c7703c582c02e7c08361c3a4859adf5b901a58a5192b0fdf6320d10bc7616649bb196","signers":[{"nonce":{"rand":"2340318fd9c7df7cb864ecdc02250302899391ca428e283a17efb3dbaf37c72a","bind":4,"extra_in":"75912433"},"pubnonce":"034b31bcb16bc8895a8cbe6e68fc94fe563a8688b521964cdf6e8b5678209473f503b92473d692605859b78b44f0ac081387ab4a81ee0ebfac184786f7621bbebb4d","psig":"4c8a173fc245f5595de0cc82a5a0900d97a80f811d7a4fcbb4e0eb446aaad99f"},{"nonce":{"rand":"c7e8e92bd5a9f7074cd15ed912a6d8421c82fae69b0bbad04fc375d3acec8920","bind":5,"extra_in":"0d48f1d26382e2470008145fd1f0cb"},"pubnonce":"03e9dc33316816e66c17da9d4225d1617435305f439fc99784a0f640772b3cd45a02fe94039cd36acc8a09732237a2dd7774861f8714f711afbe16f0763c90bdb69c","psig":"7cc32ff5ff37514e4f01df60f520f18ec07786434ca45bee8c80e0ae84666976"}],"sig":"0f4addd629bda5d5081c5bc7a8188c62cf56de6c513bd22c67adb1477c88e26ac94d4735c17d46a7ace2abe39ac1819c581f95c46a1eabba4161cbf2ef114315","sig_valid":true,"bad_verify":[{"kind":"out_of_range","signer":1,"other":null,"expected":false}]},
+{"id":77,"sks":["5c6a4635374a44200886e915a22272d28a0f0e7fbae3d4905c108fb7d82f5345","75dc20d326e2b37d6dadebf3f5265fb5cda2b63109e10274f1b626476ac8d976","8b2911ece51cc3d261712ff4335961e5b2d7056ee3d90004ac7abc4a7c466b06"],"key_sort_input":null,"q":"031e564f0275212693f3e6fd62e5376ce7c89d6bf8cc5790129783eb21eabf4023","tweaks":[{"xonly":"fbc5b80b1efdd5f67c6385aef783b82724728a3b2e88afc9222b16f0224b5156"},{"taproot":null},{"plain":"fbb7ecaba02b8ea068431ced224bc10266e7d9a58bd753a341af146b4f49db24"}],"tweak_error":null,"aggpk":"029661c799e149b9a17c27978db7a29491be31d9e87e51e14d0431e4b6f0d3c961","gacc_neg":true,"msg":"81b46c33ed6ad89da493564b05aaf498297a1ae69acf4c8f53","aggnonce":"00000000000000000000000000000000000000000000000000000000000000000003735a5c57899ed7123f075bad20439a229580c7f63a380febabb2800e742af799","signers":[{"nonce":{"rand":"e2219c665af9fd0b83908726681cb990f8a490e7f010c20fe84b1fa2888b2f39","bind":1,"extra_in":null},"pubnonce":"021be2f52ca186944668b63b926d73cee0803f23872e68d23af09e2cae85abdf46023969988c9d1504ca707d2fa4ed17f361a79a5ed6a02e632ccab76d3fc94cf1a3","psig":"273877d78b473024676280b82c51ea3a00b07dfb12fd1ce273bf8ccd4f0022b5"},{"nonce":{"rand":"b05bd2d62cb1bec86262bf950c0606ab0553c8719637493a05cfc55094ac11f0","bind":2,"extra_in":null},"pubnonce":"02659caeb972f91a26cf58c006fe7a51c5305f19609e67c63729fc6cea13de18260267e2c3558622dc12d637abfa3ab64028529518666b2169c1b4008bc3c836ca0f","psig":"0d7485550f7568d6be5adccd03b4ac105b0659cff6b6da520ffdbc63a6d65399"},{"nonce":{"secnonce":"36c067ada49b963d6cc8733ecf33a439b283b1832c3400082043bfec26c1bc3659dd54185f2f79b16a0e762b26cb86feb957bcac1f63318463edc9f0bc9ae95b0260379d4f03866b1c47f412ff332cd9e4bc6c19c7de202af021b5f538d5850539"},"pubnonce":"030b94774b5b31a618cb603391a153783d53ed83d2cbaad9af35cf43b5caa60ba1036f97afa1a86c6b8e40983e472e91d4f45805ba6c3b23c527a2d99921a8f8ccc7","psig":"d95818a1dcaacd5155eeb7ae3209daf11b63d41b2751c28df4ece8e381bb03f3"}],"sig":"fc2a7cbf8cabce8bbf983b25b1fa9f79db229bcd12d3400ca0b6798a3fae7c74d0fbc9879ff451294c92dbd749946ab260e79bf922926151709a8f4a06a9f689","sig_valid":true,"bad_verify":[{"kind":"out_of_range","signer":2,"other":null,"expected":false}]},
+{"id":78,"sks":["f1a407914e11d6447db9bf4d37dfd09939570a8e25b3e4a309c8b1be48629ff3","31aaa9ff5782df94431ded540fe7c35d8308c34b805f5c39668b4424e8e9ab41"],"key_sort_input":null,"q":"023a92a698d9dc2c142ac37a47ed107e423059a065e7d3bfa83ccf13bfbc53fc69","tweaks":[{"taproot":null},{"plain":"dd6a208bfa399caa6f771740a1e7837f528e3a1f748c7b2e9ca3b6b00a99f03b"},{"plain":"0000000000000000000000000000000000000000000000000000000000000186"},{"xonly":"b46a71469dae402553fbbd4ecbf19df9a72a59976013a73c60494e7654e832f8"}],"tweak_error":null,"aggpk":"02a45e8c8907e851fa3e8ee8c3ae2a635d2d0b0817e59382ffcb2215ff0eb8fc76","gacc_neg":false,"msg":"e060b521a67364cd4150ee39b5e06a7d5364abc4b588387365aa1e0d57a8fa3502da98ba4bfa61a36f29da9297d7c89bce432e5562daa62e0fad4d5db33e","aggnonce":"03f0daba74dbf6896520f24ad44bd9187c0ea6dcceaab62d8917c3cc6fe823acab000000000000000000000000000000000000000000000000000000000000000000","signers":[{"nonce":{"rand":"124d7e565ac307fc7ac6d8569e0131db5c953fe44e0de6fc6f5f5fc4f4b930a9","bind":6,"extra_in":null},"pubnonce":"02977df31fde208b85977123b25e63e4088df8feffac2312bd50c9550e412f5969033fff5739d26429a6f8b3e8faf229744eef2f2560e48c38306a40d73e49352683","psig":"a9c0a7dd0418baa2f30fb37c8cabab2709362037ba614d2767467627978e407b"},{"nonce":{"secnonce":"d9f5cc53fc8c89ab060844d775f5807839492e99418564a3ca97f8657d414bb33d3c7e188c9937168442d08976e55b0214f3b03529b55df6c088eb2c88ff284c03efd978bb5a12d368cc21978fabfed64e04081400e92e5d6e5d2c49d0c25bc4db"},"pubnonce":"0334cafde6549db25e5e655ee653ded981d7b516cac921be71bf1fddf979024771023fff5739d26429a6f8b3e8faf229744eef2f2560e48c38306a40d73e49352683","psig":"e2a38b3019c1ad4da28b8d0e91366a8a990f4be0bac08e6c0f61b5c7cce0af33"}],"sig":"f0daba74dbf6896520f24ad44bd9187c0ea6dcceaab62d8917c3cc6fe823acab22f85130a3858241d9e2103b7c9dd8de77c8fed0677cce391fe0f0341a0e7bc2","sig_valid":true,"bad_verify":[{"kind":"wrong_msg","signer":0,"other":null,"expected":false}]},
+{"id":79,"sks":["5e6a9d64b06e37cc79c88c54928a9193de32cdfeef2290c932f8231211a69fd5","61ba24f3d2ed8136d1a16a473c5b836291c589573c90ea87f1e94420f1f5fc6f","f5b750d5bf7585d06a376829b4523eacdc3e36799b425b596399216fdeaa1807","a24d1fd770727c8bd30c85ada91cde5a77a6acc2dd03cebd88dedec0efdd11d3","c03f1bf70655d81218dac4eb13f015bf7942bc0a25332489302b1eff04c74365","220fc8b2368a1a89539a8ac10bf67f624fe7cc17e5d9d89ab04bd2d5387e6190","aaa7b43f6d716b1b77c4f87e95e7da79b583d8d1238b09353eb14ce199b70dd3"],"key_sort_input":null,"q":"03e481752208ab3130f0b71a9095bd6e63166c4faf35b7f22f3d833694950d5037","tweaks":[{"plain":"e6cd2a3f62c894602e3b93fffdc586bb97a8b3504f0739f6e8f8b884d8ebb7d4"},{"xonly":"b5d21d09e577a173699e56cc7ba86deec68974052419da89f2ffefb932f67260"}],"tweak_error":null,"aggpk":"0366ebe5a89b0b2b8b60099aade22e81167c4e2fd0522ad3dedddf8c3ee1617934","gacc_neg":true,"msg":"da57e47f9d4ef432b28a308deea3dbb59224e5816ad7cea0ee7c56777c723ec9a61039c93f012d37d2b73c202a9111be3087d8879402b05d16fb35ac","aggnonce":"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","signers":[{"nonce":{"rand":"a4fb7824a34d64262fcc974355c2ab8576568432039f90cf4d3454076be23b7d","bind":3,"extra_in":""},"pubnonce":"034e61de40e3379c19531d7fb4607068d504c41646c658be21bb6df45c7f0e264d03d8bfc030324f8f9f3ee144a67a6f80663f144b79fed53822e80db9aa1067c937","psig":"769f2bbc2a64a770c4202d9ac2c112c661a7008c0844b58cdb68d221385b8df6"},{"nonce":{"rand":"ddcceed99fd421be42a65714467d48992fdb520c65c2e48f2a2e6df7fe46c888","bind":4,"extra_in":""},"pubnonce":"023a47e2373a3c50cb74778e444202ad5ce366b42827c5584620fa52681a48122202e716d8a2be37be9d2e3ffcc20763b0db7d643215cb147900aa043932cc98bbd2","psig":"ebebde658b7023be56cc1198857cbd795c24e2073ff6c64c599547e507684bd8"},{"nonce":{"rand":"4d6cdebf06c73ae6aaa04739d1803450d3273a0df65a2f20588a96971b7e20c3","bind":5,"extra_in":""},"pubnonce":"0340558b1c480df707b6cc1b7930a5210ef11275d2fe6b9945a692dd9254dab38702de29d5f8fa68ad6ea22df3c479f3ab3ed515d6e9dc59b8f11884cfc6eb001b14","psig":"e46b6501a408dbc795d502a11b767dcd9db0e44deafe96e8e19c4904e1937176"},{"nonce":{"rand":"40ab735ee237b56c511e8c7b9d646008905bd632fe620e1f31a687219d16dc92","bind":6,"extra_in":""},"pubnonce":"02b05a645b0cf7ab8ce2eba004b76d18aaeb9f6088cbff1116dac25931fe06e3f2033d33ac3c545b41664c0fd10f07823b7a4bdbc7974263e37d3ca201a1919dd0bb","psig":"d8a9b7cfb71822d437976b5eb968e84dbdb0cef4524e386f90cf19efa05bc42a"},{"nonce":{"rand":"56d435886c304d16e0033c9e459e5e96b39559660b6026e034f19dc64031a5d0","bind":7,"extra_in":""},"pubnonce":"030f514b4d0c1f159c9ba27fec63c091b63fac3db9a872d6be28e8680f66a894690392512b7115bf9062c33dfb5c1b1d9c7672bf16c45b3696b94132f3d252980f94","psig":"ad69da32474f4f741e51cfc9a1d0925dfc4708040f0a15a697c6579d5917f465"},{"nonce":{"rand":"a765d9a856fb2f2ca26e159640d3ab0f342a5917728b6c952951d5f9503cb834","bind":0,"extra_in":"ba276dbea9"},"pubnonce":"02212ed15d20aa742168503bcf90c419d3f0657f2335b7a38d894395ece44a0e0302236fa24dbc924d56007d34bfdffa46ee81cb336efbb9fe36aced27022f296068","psig":"9b5d7f489951f600827996df526702d4878193c3a91891f6310a145f0af73213"},{"nonce":{"secnonce":"fbad217dc98c2d033291bbb28667feda86979f0bded60b33c72d325f65b7a1bc3f9842c5006224575eff2dd4843d92187b82b4db55ab180b9e7cdadb8af9ed1102b111f248e82750a771e796e9880cddd5d71f280ed2629d12199ba93eaa732b6c"},"pubnonce":"0331b3e70fb5be8aadc685fbe9425c45a37644aabc4cf455365ffba68b415d85070222454a1e2b1f4fe93b58a2a09e77d6d03bbb3302693f2af0f0b133db01735719","psig":"eb4f4f4450cd1f717a1dd7ed3811859aaf99d8b2c19f1565503ad8e808345963"}],"sig":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f817987b22ab5fee721f2f954313c1f4cbd5cadb2690eaa0b4941ca3048bd38b773cb9","sig_valid":false,"bad_verify":[{"kind":"wrong_msg","signer":6,"other":null,"expected":false}]},
+{"id":80,"sks":["2a4635a010c48d105dba46a5e38022569220497e6236dddbff1dce69826150de"],"key_sort_input":null,"q":"0361bdfc674f0bb3e3c4052bc5be9ae0e9b3853d8c73eb9b4651e42643e5f2d83b","tweaks":[{"xonly":"fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"},{"taproot":"67246b813609583ac173663935918e122ae38fe3fa754d5f471a1122f2fc0c89"},{"xonly":"fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"},{"xonly":"fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"}],"tweak_error":null,"aggpk":"0216147b1f9cdc574e9968f04c19cfffc1f398ca5395c2db45f6992d32e611f52a","gacc_neg":true,"msg":"","aggnonce":"02de96227e6b2957ba6d510df2b875299164fba42ceb6ed36b8f91d4499a4be6a90208789c335aab337ff8a983411558f1c170f9b69c0bba478d70579bb2ccf50b87","signers":[{"nonce":{"rand":"4edbddaf66dbd2371e68b27457892a8618aa3ad78df378eef0847e7bc14267de","bind":0,"extra_in":"71"},"pubnonce":"02de96227e6b2957ba6d510df2b875299164fba42ceb6ed36b8f91d4499a4be6a90208789c335aab337ff8a983411558f1c170f9b69c0bba478d70579bb2ccf50b87","psig":"954e18ee7376d60180e843f79cae9768f6cb83e9342a2dfbf1a8816e572f075a"}],"sig":"b93ad72abe24d2071e0fe2b38c84ccde0f2903d29e8711914fb2a71ef908a949765a221ab0f892b3ac0ca4cc7bdec398231da0d48a7627d1b9b09b62a53c08e0","sig_valid":true,"bad_verify":[{"kind":"plus_one","signer":0,"other":null,"expected":false}]},
+{"id":81,"sks":["f9d848e63ad8370f2212708c1ae625c71461d5128b866a085a3711e0fe3b6299","2862c01533476d013ba35d3701901d22411b44180f177abc2aeeec18f287d796"],"key_sort_input":["0380cec60139720ce0f689bce034432c6818e7dfc7cab602defa40d1ca10057e19","03d38959f3e978983a80163cb6945b44fc32dfce2c0e52dc8ceb7856b6ac00164c"],"q":"025013b209a48c1fea7f5646f756e9d362b5ce01f64588f38c69ac834c1becf4d4","tweaks":[{"plain":"fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"},{"xonly":"3af1bf8a7e72298d88c2b33f03632f64abb97d5cc1d51b182117e06ad9453598"},{"plain":"fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"},{"plain":"fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"}],"tweak_error":null,"aggpk":"03e0e9d31046f6e639bd26f1299889c9ddfeb3957adf8d14c5c12cfd78571e8e43","gacc_neg":false,"msg":"5e710fc732b297e1f39421934226d36eb168fe03fd2eaa3838dc4c95cbe3828b755827d389ffca56ad9fabe80c570a48f4fca1aaf16f792dde069646d7c936011a3aea9098e32ed92aa62b559e105c51804776f0ebfddf8c0723799b1de03788979a879e4e0e17a4d81c85bb677f8c2cb571c120bc71315b26cd0a124678a59648aa33947ffdfd40c2a8d5e642130689d4ef38c334f71571884270bdf62800131bfc0e79bc93ea1e6dead88bcfb2ba1cd9da0c81688e175cb4f97defc842f4cc755ad7fb9cf9a37e2713eb287847d4cd84ce48dc1041a55f327c7788fdb9af5bd46d8822764b988b4e1ac61a7467e56afe75440a58a3ca9897ce601f5e0ab1da4b2291a71a37b7529e24bcabf7765540f44d6e","aggnonce":"03ae586d925f8d341027bab741760886ee1b377c9d973b8b8e5ce60049ac1c8909020701611d8fedd3e0ce0da8de46bd8677bb2f7ec2c0472654e9312b8609c90217","signers":[{"nonce":{"rand":"86cd30313eb0ead392c3b3526a170839c0b9c09de3469bce3234857ce7202fc5","bind":5,"extra_in":"4e42f9df5887dd"},"pubnonce":"03b17e3c5b87b72bc0dc7d864a17317acfa05e7075357187a447ca3db289b93dc2038e42ba9aa73fcaef52bc6d3fdb81dce55ffe69e596ce40308b34d22f4ad017ee","psig":"1db2ee443f99d936fffcd0b9cb19cc882186782b20582398fa5329848a584ec9"},{"nonce":{"det_rand":"1655af2f489e78bd5fe3f1d2c2926a422e598a3687a25a0467f9ebf607cc2ef1"},"pubnonce":"0222ef9367717f6c52d672bf624651a7bfcb43ea28dfeb9cb89497168f521bf1f8027de462a13759d2aa8711b77abc099e06bf39613eb184ca451dfa4dfcaba0aecc","psig":"792ac033d0fa69b461398bbbeacef9c1d0efee62ad25663d247de41161d971da"}],"sig":"eeedaebf7d18724fb0f830570429be41773ad98e53d068faa6d7a2687ac8604d0f6782f9d8a0bbe717a1178cdf39574acc04de631ba468e67e5c21b91512a2b4","sig_valid":true,"bad_verify":[{"kind":"wrong_signer","signer":1,"other":0,"expected":false}]},
+{"id":82,"sks":["d9c569ce494950055d02d898fff6964041eb7d03b2c4ebfd420cd27b0935e608","d66b288c1d9884c1fc1aaee6b50a8540d902ff8053a8fbdbe0e6bef19197837c","e9123b5a4a5fb94463f8a93174dc09d20eb32287438f4baeb56cf105c5dd538d"],"key_sort_input":null,"q":null,"tweaks":[],"tweak_error":null,"aggpk":"03e1fb3b7d310ea5bd90bcc1c6b7aca8f027f44ab08926acc056fda9d2dc755978","gacc_neg":false,"msg":"ce7993fc630cb3a763bd04240245070b87264970329d17f18951579563f4fcda","aggnonce":"0334e55a26e4e931f14f9ff4cef65272b3cba328df253397a4348645eefc51de01034a0ccd281078cbe9bbdf087f544c934e60fa5231472ad1a3f7e5edd6ad084616","signers":[{"nonce":{"rand":"9ed54622ea6e78831aee16809d61c333c5671efd47734b14bebe41a91aa65cef","bind":2,"extra_in":null},"pubnonce":"03a73342838c75cc914fa645f7d47feec0572cc1a5bf3f1da67eec6fa5011ad9bc0209c315f6aaf348993f5c534abb009a41b10e7ff19b6b8f3870e458399ba4f954","psig":"2bfd800e8175598ef756412f68d19d5f43b9061a0c32e5a7b11fa205288aa819"},{"nonce":{"rand":"37b1aae5c9733129ffa1326f74f561b3ae3faa75aca158ae986f3311a69934e7","bind":3,"extra_in":null},"pubnonce":"0239122f6f02637e61e0250568a10d3cdc52d0be12dd9d3338bf78100b72be04ab035c3677a91fac31b77b8bc4af61e075584cec52cea54b21ac0c5858000dabb5f7","psig":"6bf6ed36e7d1f21143d595862008eb91dfdc20002890a60a0f1a7eba150d4d64"},{"nonce":{"rand":"ee2120b247237f15258e2693c9c3d1ac0807bf1c64828659f293cde197f4dbfc","bind":4,"extra_in":null},"pubnonce":"039f88d57b84c1d59d5fccb498c8790e661078e4b0137a61827125cbeb19d1043e02ddca55a9ca4067201d54082d38a7e3cb4ea1ea2a2a95e0b394f39f2c639db35e","psig":"b4a50a09ec89156873d03a0ac893e3d3ad6c8ac51efb838fcb6344e79acb062c"}],"sig":"784135b4c65d490c3ffd658bb36ea0f99e4ec92a946116c0eae69304055de2714c99774f55d06108aefc10c0516e6cc61652d3f8a4766f05cbcb071a082cba68","sig_valid":true,"bad_verify":[{"kind":"swapped_nonces","signer":1,"other":0,"expected":false}]},
+{"id":83,"sks":["71459262a2f8ae5f8c9789138ef799e0dc9bdf559b30c6d545647d3b6ebf1575","b82694faa32687ac7134e71e0a1fa4b6e0e62c079d02dcf7ae0db6106361654f","3e507f7b6d16cdf3322c68663f3487a057aae4b8de0f9af80e6ac9328e4cfea8","d3b45093cb081c25208088e3cced6b6c8582deb257895219fae4ec024bcd8dcb"],"key_sort_input":null,"q":"0280cc0deab64070a94ac071bd599f0b1a769ce583b0a0b055cee675403a07e1db","tweaks":[{"xonly":"520c89eea0ec732bcf0002aaeb09902761f7cc68ca60cc140da23b9851ba2317"},{"xonly":"0000000000000000000000000000000000000000000000000000000000000118"},{"plain":"4f9e6cff65af3fd042639180335afbe11f1a9fc79e31b9685edc2ef673950d96"},{"plain":"0000000000000000000000000000000000000000000000000000000000000000"}],"tweak_error":null,"aggpk":"035ac022b410a1e6404d654623fde5038a50402cf623aabb06c07c30031e6ec4f7","gacc_neg":true,"msg":"df65e94f92a795da241d373f76f5b63e0903ec4be7278f2291e053c758e9acd7","aggnonce":"034359a42761f4c31f1adec8c1275279b76d90cc547a8d7837589251860bfc05d0036a4294f531dc211e413e188d1077884cd9eb1b379dd20fd9700704a60926fa15","signers":[{"nonce":{"rand":"dcceb59788a3484da421f337eb74926565d2efd63f8844d3f702100fbe8bde68","bind":7,"extra_in":null},"pubnonce":"028a91a8dc82bbaadf728d25bbe304c185e35a9c361e4cbd4ec25c4a2d6f5b1b6203da6b073c40026720d905eb65557fb17a93c4b0c518f21b7f8bda54713ceac97c","psig":"8ff0cddf76fb168861d7cb436b95b28598be57cfef15ebd5303b1b36961e86c4"},{"nonce":{"rand":"6abaa4beb7ebdcbc243325421adf27b5303324cf318cee60b0d91132cf5a3fad","bind":0,"extra_in":""},"pubnonce":"0287ad1b7416fa7d32a6a81d3243b1b2d0bd1f7c974bda26d8be3efbe5a8115f0002131201c2ae13c84c7e6c963e27a0db37a18fd22480b010587e50a62a19d4de2e","psig":"99a859ab7514c08c72100e50f72719475347f022aec578f7eed5f66f2a57bd13"},{"nonce":{"rand":"e795b0e7d4bdbea2efd98c98ba469d939b53025d14153c5c6586a6f4b31937a1","bind":1,"extra_in":""},"pubnonce":"024dfb50d8211754ee9f9bc425a19ef86892bf13eb0ec1809f8a6ef51f17d93898030901a9ec8248567ee39710e925edc5997c7e34fe494a84e0ec2b32aeb66db9f3","psig":"1907f2d561946514b889822c9a5d2dd0100c13bdbebf1ccaa6abc6201c9dd433"},{"nonce":{"rand":"3f983c6dcd777f573836f11ed2047c5a16f91d6bf7035befe223a44d01f1c303","bind":2,"extra_in":""},"pubnonce":"035f78978ba111ce301aa26c0903231fdc98d333e8f22b1f357859932cdcc93e15035a537e5105e5d995e439ab8186ff0daa2f730b31dcf873b61503e36810f81d34","psig":"adbd7d2e55cab564a79cc8fbb2b90f8a746e3b880a322b835bb4315a0b2ecb2a"}],"sig":"99e30c9a7143118440164d365e632f0f4d603d8249b13dfc69c60aeba21dba7d1902853fba2f9d0ff8327fad9b94b18e78e1a3118a2d91f8e59d7cf9db850692","sig_valid":true,"bad_verify":[{"kind":"swapped_nonces","signer":1,"other":0,"expected":false}]},
+{"id":84,"sks":["746ad2ad54fc2bb3b7d0a102efdb14a27d049abb26d1e8cd7548bec3be93b345","746ad2ad54fc2bb3b7d0a102efdb14a27d049abb26d1e8cd7548bec3be93b345"],"key_sort_input":null,"q":"029b2415c4aa12cb4a9b5b0e2eb63fe922b9174f6b7c0366a4dd535ff2642dae94","tweaks":[{"xonly":"b1ce81987bb2dc6d58754d44fb825e5c2c6f5d5faff58bd001dfaa0b997d8748"},{"plain":"0000000000000000000000000000000000000000000000000000000000000000"}],"tweak_error":null,"aggpk":"028c35e834ba48175f774f3918d74f6f316a2a4fb0477968d58ab0ec367d2d6cc2","gacc_neg":false,"msg":"e7bcd724097f366edf0aa03b59d839805ab68ab6e63b8cb2a98127c1d01b0b92","aggnonce":"02a39fc583340722ebfb98d875f7e7d714b75fb83e22b9851a10e6a40916d480bd02a842cc5af3f5003498608c21e78c95a333563bd1814aad19e16655dc90df5de1","signers":[{"nonce":{"rand":"28b9666024e3125bbc49e581c7332e68895da57de225faa441fec17b1f253d10","bind":4,"extra_in":""},"pubnonce":"039857ec2df09c4723751fb6ddeea95647fb6c1d13eadfdc045fe2c2cfb5b43a3603a467b3eac081851874d8e1021283383ceb9ed54b150bffbe140e213163c65988","psig":"660dd072f0629200d9b66e584fecc34105ea4d6d035e2de429ad937196eebf3e"},{"nonce":{"rand":"2d7fc79c4b6ec3d5eb9c1add67802ceae4f81eae48e259c310b360649561ad43","bind":5,"extra_in":""},"pubnonce":"025f21464e14e4d8022e09dd02b8c62c13dfd1b51f1724fa73753cbbcc0ae9d9bd039db037ae6310131540ad8cd349c42bfbcf2c8139546c566663e21418bb815a6e","psig":"051e1d65b460eb1ed40648bc44eed1fd58da7a8ba146e5569397a27c6978c7bf"}],"sig":"ad9008d78a5d1e53b3d597a0210ec67f9645cf5cf92e6f31ef36c530bea30c4af7fb4fd15177393380dfb5fb02ce0f0473b1ee97fb4b293792e6afbf6fece275","sig_valid":true,"bad_verify":[{"kind":"plus_one","signer":0,"other":null,"expected":false}]},
+{"id":85,"sks":["0adfa10c163c15053ed0c5560b8273cf6e98aeb82a8dc252d437dbb31912c058"],"key_sort_input":null,"q":"03b7b4dab8ce15fe7d3c7116af41a47462b2178c3f3fc8efcbf422a7c4279c9cc8","tweaks":[{"taproot":null}],"tweak_error":null,"aggpk":"02523c537b79db6b992801e12b6c87fd5eeb72ed74e4c56792104bb313b676ae01","gacc_neg":true,"msg":"08242a52def8c8b8d029c125ae914dfdc641c90d7a2daedd02a5f5f734fcadbbe362f55a3e12bcebfd42baefd2c527802120","aggnonce":"025cdf051a403f3303594a6a979782bfd4b8a667c71b2cbe5f1e12158d930c9fd403f183c0411dcf90180407b9367a3b82a660094dd342e2b8ced5c42114167c1899","signers":[{"nonce":{"rand":"bd967549f22412e00c58a1f6e157edd5169d53374b945e04d51c3185bf63fffd","bind":1,"extra_in":"c7951bf886a8"},"pubnonce":"025cdf051a403f3303594a6a979782bfd4b8a667c71b2cbe5f1e12158d930c9fd403f183c0411dcf90180407b9367a3b82a660094dd342e2b8ced5c42114167c1899","psig":"996cdc3c468539e62c21bc7aa375267954f043b0f0d5f87815f6791a3216ed52"}],"sig":"155183f507b97f527d1a9c27065de1129df51dc488f9148d285a9ba0be6dbfb667c09b306bb212b47ff96b76eaff008c32bc64cbe62cd14dcd139c70ef8833a6","sig_valid":true,"bad_verify":[{"kind":"out_of_range","signer":0,"other":null,"expected":false}]},
+{"id":86,"sks":["502332751973820a8a28964f0c36161b0a84bf162f853bd9b1dc0e1d000a66c2","c7052be04fcbb16d351f6f4e101f14f10a48708629c0ec2b63a9f1ae8e59aa7b"],"key_sort_input":["02839313988b78e39de646e8957e14b47840846b84878ba3427cc32abe95934ebc","03a78939da72980cd804a068485ccb2efc0da6750d1c6dcb00f2977cff3312e80e"],"q":"02fabc8a79a8d8973f5ed0181af0115abb571a7f14654fabe74bb630be4fe6f6c2","tweaks":[{"xonly":"000000000000000000000000000000000000000000000000000000000000009c"},{"taproot":null},{"xonly":"0000000000000000000000000000000000000000000000000000000000000088"},{"xonly":"0000000000000000000000000000000000000000000000000000000000000233"}],"tweak_error":null,"aggpk":"037bf878a7cb3da8e30eb67992db9c7a6958b46b4c5d5800647ca412bbca5cc9e7","gacc_neg":false,"msg":"87200530948b462dc4c6412209c9abde640668f8","aggnonce":"03ba1c16b9ae50dab6f4f8caa856e1a888731974cdcc9dc63bd2bae7954ed31b2f020aa62a5c1c842a022db100f2be1068ffb26cd7b0c67d9bfd47a8337ce6a77c49","signers":[{"nonce":{"rand":"c9ec65bb4bd015da1833b051927d8edeca381691013ff0559cf494cefc89407b","bind":6,"extra_in":"5d3606"},"pubnonce":"03368c6690d004a366484ca474823af624e7e9d7ea9d2b83137ed00176fa8d2a3402c0309c30c1a36a002b68022de771c5e70645017b12974d23e89c0fc9ea8a4334","psig":"619cae1a51c07da417a7b2d15943d7408ec603930ad095deb2547b1d0dad149f"},{"nonce":{"rand":"1e291375388817e803526305b95712425eb2bb4271605e56c4fba8d25c3d560e","bind":7,"extra_in":"af26e9cf7ba94696"},"pubnonce":"02826b2b9ac66231b93d393ae4259127d0e35178f1f5a46c6623bbea05905102ef0310cfbb419af221395580499bbc1d8ad7e04019acf9e37265e0b6d96ca4ea064b","psig":"e31d750040412f223c1b6d6aa36bbbd1f355250b04cd5380981e62c4df1c3c41"}],"sig":"f47ec1d6e6817f9a5d680b175330a05c050456fdc84d72119b653472ce95df397c02533c9bd051e0f8955bcfe882721ce75517712a3fd3392d8b271b8fd1a803","sig_valid":true,"bad_verify":[{"kind":"zero","signer":0,"other":null,"expected":false}]},
+{"id":87,"sks":["c529f6200d1a01d49a94db8dd83e98e9b3fb65e591b7d809fe0e8ed88fab834a","f79cbaba915bd8d840bd523dcb973b3af0f69e5c74c76ccf39419dc11c960818","b97ff1cf6d66d6fe654bbdaf8815413fdf46706d08979d972089eed66e503898"],"key_sort_input":null,"q":null,"tweaks":[],"tweak_error":null,"aggpk":"0359341c9af445e28682a89e494b31351080efaa855581ecadec6980da554468e1","gacc_neg":false,"msg":"4445af0f979b25f786b5125b0896a1f6f4baa96f27505836ce","aggnonce":"02c66527690d1229647f6a0f3f968f3d3505ff744d0cf7221c9b7d04b31ff5e20b035500f127aedfd046c3268de3b3e19fd87133886a7681e0a5dd75132cd267dc99","signers":[{"nonce":{"rand":"dae606c7f705c8017154890dded892736cf6d28ad2b779d461db9e8bd627ae16","bind":3,"extra_in":null},"pubnonce":"0206c030ec427a946fefe88fb1ce41103876523ecd24f6ea87e90f9850fd3c579c0342cd250199b2e4b1136c7c1ef6bde59361630b352e59600e63ec56a83643ee0b","psig":"e80498ebf2234705c18144955bc674683d500074c1e2796a28d94e1ff7167073"},{"nonce":{"rand":"49c1e1a78ffbffe7954706d1f4bc462c2e87f29cf18238046c1f568c0fa7d3b5","bind":4,"extra_in":null},"pubnonce":"031a661f5ddabe2152134ccc55214222845357757c539f015c2f3187cf8df4baa80398144d7c35c8ca1664c051aceb2bb17e2a3067eb7411d1119bd58a6594c0996f","psig":"4dd4761379db13166ffd5af27da22de470f9f701bddac74c31545779fde5a7fb"},{"nonce":{"det_rand":null},"pubnonce":"03cea09f187c8f24dfe4465895821476eecd2e6ef67663f49f92d88a45e42bb479035662aba2d124b5223726b54bccbd5ebc88de9f064235a3f34fab7ca1519e324a","psig":"286ce448f2ceefb4321f704a07afe963039a2507fd4a5ab81f588c8593885df9"}],"sig":"7569e62ce5a387fec4dbfcdd50ef928331cf4fa352caa53ce937a35dcf3c3b1d5e45f3485ecd49d0639e0fd1e1188bb0f7353f97cdbefb32b9b3d392b84e3526","sig_valid":true,"bad_verify":[{"kind":"zero","signer":1,"other":null,"expected":false}]},
+{"id":88,"sks":["8b2e77e6ae3df8c718069909178d9b6094085bf6a84ab5d86e1ffa7de3ca61aa","0ab22c7cfd9025a13dfc0bfc3e430dcb174cf4808f54b5bdbe0680a08885b909","a7c2321178773f990314a676a258464ee2834d711dde03d56a7a28bc256adb6d","8b2e77e6ae3df8c718069909178d9b6094085bf6a84ab5d86e1ffa7de3ca61aa","8b2e77e6ae3df8c718069909178d9b6094085bf6a84ab5d86e1ffa7de3ca61aa","0ab22c7cfd9025a13dfc0bfc3e430dcb174cf4808f54b5bdbe0680a08885b909","da96f655fa0180b83e8a7a9c5de9a6d7be1a2c2e11e19530f6346918b750c605","8b2e77e6ae3df8c718069909178d9b6094085bf6a84ab5d86e1ffa7de3ca61aa"],"key_sort_input":null,"q":"032188831eb3b7990945b307c079d55a167d2da32f2366d8b713a273aad2c8c4ec","tweaks":[{"xonly":"0b62f0857428db64058c25c84864bac63e7084291b99811fe62c3532d7deadfa"},{"xonly":"0000000000000000000000000000000000000000000000000000000000000000"}],"tweak_error":null,"aggpk":"02b3a4a33ccceb5f0fdb0f4f81cf9d46f3589d60c06a160b54b0a4c3b886f736bf","gacc_neg":true,"msg":"0d747c847a022e3767dfb3f396cef61155e178","aggnonce":"038bde37b8ee9087beaeb47958fc1d56712a7f6a5a2cb50c404cc935791ba443b5027dd92dbaaf1545544af65773b8becc999f007d7096159a2217b5684c6c85bb55","signers":[{"nonce":{"rand":"d0ffe313ed54f3de64fc1e4021dc277eebf030bafb88d56caf57a54609c2562a","bind":0,"extra_in":""},"pubnonce":"0335661f23927df86abe0c338911d0139ce2b81387cde39c0454890e1ba692f3e103517584f8bdebab2f5d3ae3ca26102bd69cb605e9bfa490ca0b37e04899fa4560","psig":"5b91d91eac2e9aaf829300f0ebd3176b1b730d56f6c427ee74a2ca93c780804f"},{"nonce":{"rand":"adfd643624fba5b4422e1a2898ba7c63f1943c0eb2bdd9883db2a3f2524b9c03","bind":1,"extra_in":""},"pubnonce":"0369b18f7c1f3d4a6cda568be9eee11dc77a144c97abd3a6c5d63a4ecb44ab91d902b3a02fb4ebac9145fb1d19a18323ff521cc9d2d248899119b23b37e4da26d97f","psig":"a29bacc2777be730845e1ccef6505a0aaa80289b48341d0d4eafa528f8bed2ab"},{"nonce":{"rand":"73f03f6364e4e605bf46ea9afd2ce25c278aa6cf7ac9307686880aefd072246c","bind":2,"extra_in":""},"pubnonce":"035c911e2dd1a8056715df0605df9f0d2609fcfbd141ed442d017c4c40cc4d66ad030f9ce699f6f8a0cd9bbd1ad20779ddaac33d8c2dc7205e50147df80d05f69238","psig":"7cdb7245d5c1c3b4a2fe8c597f266c511a4120002184c95be9aa60a093019cfd"},{"nonce":{"rand":"9009a9fe0983151af5d725248a5de718061dacd5c6cc4351e70ecb8764e587e6","bind":3,"extra_in":""},"pubnonce":"03d149b93622e15ee06a08d59f3528c5554df98858093b9e3617364602f86bdc54030f0f52f214bb3cd8c3d4f816402f2d62e8df257dda162032ee6c48aa6d05ef67","psig":"f3d9046dc04a40f657497593cbc005d1d0b8066e5d7c1df38de9e3d81b9f880d"},{"nonce":{"rand":"fe9b997789db8f6d1132f9a438498311b4394d88d267510bcb89225a995f1bfd","bind":4,"extra_in":""},"pubnonce":"02183a9bbb7bfd79466fc049ed8efde9c0c42c3bc2c26915d1c731190ea805e66503d5d2f3e57875f39cd6335136f051774564a5095c845eafdaf3cb7106c72b50bb","psig":"553c22f682b9407117f2be6b8f25d416bb8c3b7436ed299782ee0a3c07a9936b"},{"nonce":{"rand":"9ff0d84730cf9ce6966619973f9363f0f375d1706fb2e1f4fa619d5a1f479911","bind":5,"extra_in":""},"pubnonce":"035b59e28a7e73a97134adb18fa6163e1d0823692764462cfb2b456260556b66e002e43ab4b10e4664d5c49f279078baea2617e7462e38ff3763fd49b8d46af5652e","psig":"2840181c580acfd774c29b38b6c01602ea287afc8de14a5cba930aded7365412"},{"nonce":{"rand":"fcbcb3306d92e0218d4f98671225684c74c24b91e27c8635c18b41b90bfd2ab8","bind":6,"extra_in":""},"pubnonce":"029c219c5dd781e7596df8074f9b583562f726047d868846408e71d2a85eee3ce603b3ff30b437a0d54fd07ce1742e4c4e6b176d79fdd75d9438a3313bbf203c31f5","psig":"aab5eb9be09e2847025d67c58b1d7b0cfd394b60a955a92ec6e1c0c8cdf24953"},{"nonce":{"rand":"c41210b99b8e8a3be64684b52dfa0a243bde89cd96c2f4466e9d2f0717230bf4","bind":7,"extra_in":""},"pubnonce":"02f8dca4982c0ac9850235e6d1b29d33eb7baf2906af9cb1f6d84b67bdc84b99f303f1953eb1625325b2da35587ddec46414309736c360abc402af46f07691a9426c","psig":"324aad82c1789951d1e9d696c55e477d5f1373cb9d3619b49a650c63017e1edd"}],"sig":"6ada52dcf7bb75759c5869d6f425bdaf387de20a2e15ad6cba47c137b12322e8bbce9d801cf872ba38f49e966b917a931346b9164d3f9b1feb8b987277336349","sig_valid":true,"bad_verify":[{"kind":"out_of_range","signer":2,"other":null,"expected":false}]},
+{"id":89,"sks":["47a3cfa394703ee1c5ad3946b95a0ec3446fb8de8959bc81656f84ae1b684d64","ae60ab3cd32b1a255165fc01c597d8c9ab04249852d0655bd3eef99b8426b022"],"key_sort_input":null,"q":null,"tweaks":[],"tweak_error":null,"aggpk":"0367d421a14dd4baf11741e5ebb7c4ff2345efdac0043a859e2ef94b33e6502ea0","gacc_neg":false,"msg":"cf5de6da58d7c469d2cce154794dd6804c13c5aa2d0cbd3cbc1f9bbdb4b03c564475f807f3f357ec11e59eea","aggnonce":"0000000000000000000000000000000000000000000000000000000000000000000279bc613d681ae7885803cafbdc4419aad9636e14763ece379cf28c57cb198330","signers":[{"nonce":{"rand":"92563bc2ca59e3c1446d750d1397813475d1df274b20c961e46ca4a2d2fdb140","bind":5,"extra_in":""},"pubnonce":"028ae62d95293ee0a1e89d426157f9961d1d53d454541dd97e7bb25608a2733a0802a44682738d7f82717b86cc83d98933f63be52de59fb64e1b16bd4f3f9e3af010","psig":"654281b813b376830f0a5d7db002295cf4d0b2e1720d05dc2cdd1c92a77b8cb5"},{"nonce":{"secnonce":"e908b70d86b4c59e0fc31d99f3f55640472ca51c569f49959ac79ebb6182b0adc9b5f9ae36c5552ee4b2213f6f06abaa26457d66819bf441a070b7c7e5d80b1703698fa6ea8acfba918a11e7df5ad283e9876793c9a80665c5aa451a5cad81d9ca"},"pubnonce":"038ae62d95293ee0a1e89d426157f9961d1d53d454541dd97e7bb25608a2733a08026ea640c40777ccc29049f9e120226543e8ee22475f8bc1a3af2afc0222d63bc6","psig":"bf76ba8d15d806445e66e698d46dedf24d73ddb346c0c87ed81d8edaaac938ae"}],"sig":"f0a73fc9575c345a780dfb7945cfdd2a414c41c5d9597d2a847ac69108657def24b93c45298b7cc76d714416847017508795b3ae09852e1f45284ce0820e8422","sig_valid":true,"bad_verify":[{"kind":"out_of_range","signer":1,"other":null,"expected":false}]},
+{"id":90,"sks":["4a682335c7726642dcd685a20264d898a23b1ccf9d9dec41682fadaa973b5b1d"],"key_sort_input":null,"q":"029632128882e2953bb729df03f08d6d92c73f479f6c0774c57d8d3ae4508f5045","tweaks":[{"plain":"0000000000000000000000000000000000000000000000000000000000000000"}],"tweak_error":null,"aggpk":"029632128882e2953bb729df03f08d6d92c73f479f6c0774c57d8d3ae4508f5045","gacc_neg":false,"msg":"","aggnonce":"034b28aa5c5b8711a51ff124b0483f2d2aebc50cbc2f001a49c82f36c81655e02e023ca503bf4b0af33e84e0a20eef410c1857ba35057cc4ef2791095e71818ad5b0","signers":[{"nonce":{"rand":"b7d41977793d96d4f6d8686f4383321e3a867a5599255eb0ac4024a92350ee03","bind":2,"extra_in":"1c9fc90658f4d0"},"pubnonce":"034b28aa5c5b8711a51ff124b0483f2d2aebc50cbc2f001a49c82f36c81655e02e023ca503bf4b0af33e84e0a20eef410c1857ba35057cc4ef2791095e71818ad5b0","psig":"5416cdf8828fb0b0f211888c83faebf22108921d797b417dc607219bb6b3f855"}],"sig":"b8e9dc4449ffdde76dfa84d56c99bd34a6786393c509c6a67d66615c9843246a5416cdf8828fb0b0f211888c83faebf22108921d797b417dc607219bb6b3f855","sig_valid":true,"bad_verify":[{"kind":"zero","signer":0,"other":null,"expected":false}]},
+{"id":91,"sks":["933f717f621b800aaf542cb1069ced18655696cc40cf6bb1cbd2593a2026c305","5a47fd5473f98aa79beea33125eb9e9b4ee13a8687e202bf18f3c106c57355e0"],"key_sort_input":["02f71deb4f11bac75e119de3bfd355a988ef29b2b378e0df8397ded73f95f34939","03510b8355b99b4553ae6d9fa676ccd77f0df38dd9d02ec5bae56539e7c896566f"],"q":"036881fa5c277d4ead52f1e534201ea2adab47c283214e2c35696730d47a8d0532","tweaks":[{"plain":"e79a08c0769e00c174b6da8bfecd1d846280fbbf9bf2e5d747dac02799a8708b"}],"tweak_error":null,"aggpk":"03223481646cd449b4b0a7c2697927edde0bc84871aaa6d9d942acd0f56b9c3602","gacc_neg":false,"msg":"fa58d7e370916a0173f3e9ccfbe7385c9d64d3ba9bb26075ceac3955b77177cc67aaa81a4e50f8560510ef92a1f92b169926ee0d68200e222638f96fef83907d9fd0ff7fa985892ac3e406e7820be54de684de72e9d442249e1a1aadfbc8ae87123c317a63e26920b9f2721402aca6a742edaaf2120615db0013e8b7270328015baffa80b415e7c4d95e115ed1721673f6f790a41b7323645ee13db46bbdb8d5c959a9a515a3e19846f68e1d608cbb17fa453e8b027f7e85df29b01280b0b016d93a0037590163edbab2fe067127d7d57929dc814409e75a1c28593312db64b52b88e5e80e8ef392bb131005d1eddbc748837e72a49cd1cf706a6a7f36c584333629446ad00dd218c0be3d1820f7d6","aggnonce":"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","signers":[{"nonce":{"rand":"153c478c1ca2b92efaf38dc3f94d8f7ffe6bd34de8051a17fe39de28f1291cad","bind":7,"extra_in":"00cd"},"pubnonce":"0200e2cc7e4b61a7658ffabfbfe947068e6403cbbf8c820ab9c0977d82102de5cb033bfae97ae31de7750d7dc0b43af40a6e372be4d509a101ee1831ed2dc1575d53","psig":"81623b4e78d13367a383b65b83b3d46e6651a70aec2f9f3bd86956087374a43e"},{"nonce":{"secnonce":"5b7f99d62bcb998d57c3bcba6b850899152827f25a2af0e78ca5eb68b50a0657303204940e9841f945306316377c9e2f1ee8a7571976474efacaea9aecbc9cd303510b8355b99b4553ae6d9fa676ccd77f0df38dd9d02ec5bae56539e7c896566f"},"pubnonce":"0300e2cc7e4b61a7658ffabfbfe947068e6403cbbf8c820ab9c0977d82102de5cb023bfae97ae31de7750d7dc0b43af40a6e372be4d509a101ee1831ed2dc1575d53","psig":"aa17f4a4ea4cfe00338098d095bc58e693a4ac0464393dea1aa859f241ff5ad4"}],"sig":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798b76e8c04fc7f2046d5920370f084471c40b4c65e84bd8320d916c3a0ad2f4147","sig_valid":false,"bad_verify":[{"kind":"wrong_msg","signer":1,"other":null,"expected":false}]},
+{"id":92,"sks":["c113365c1b382bb5bdfb80477faa9cc7e3ba5a80e36a47a12c970fdf460e9e15","c113365c1b382bb5bdfb80477faa9cc7e3ba5a80e36a47a12c970fdf460e9e15"],"key_sort_input":null,"q":null,"tweaks":[],"tweak_error":null,"aggpk":"025fcaba2cf75bdee31562d1ff9af71273598e0d5c44e96451064924a9e9ee6e96","gacc_neg":false,"msg":"e97b3f40a296f2ea797ca85d4cd827517ec88bcf7f4a9157f5fb6c788bb75b3b","aggnonce":"0393f810c5938167d6990d7da7e4135ebe566d253a1f555bff6a168984235f216103aa4817a93603c1299d521b8193c8509860c7260d91b45d537b00fe8598125190","signers":[{"nonce":{"rand":"ec48ae0292d86bd81c13a832e896c64b4b462b77ae75d3905b5888f3ed6d0875","bind":4,"extra_in":null},"pubnonce":"02976bacce467ec095b009c6acca7525d2e45b4f5385245d5d0f8bd952f606f9fd027a8a814d4b2b7bff4ed36cb19a44d9f6eecd8a14c4a5062d9dc8a7c7902373eb","psig":"1482e8cdb8aa3602bbed0c4a1982417c77815fe8fe6a31c4dd33aa507d0d3bb3"},{"nonce":{"rand":"d34a29db4382d63349237b71fdb5e1eb540dc330e667e2c6c6bec45d27d3a2c6","bind":5,"extra_in":null},"pubnonce":"0350f97b8a845e8440aab6ef6eecd57d92829edc4faf540f4ea1e241f94744e44f0265d97532c4ee13dd8ea225380dbc2ccaed9722def46f2a1b21be4eeeb4ea8019","psig":"42580d2bd175f181fef5c79ce661e52b7787e262fa1a0be473acee480f84efd8"}],"sig":"f5a710491c7f6e20d48d047f272cc542a11bbf932bf6ec1f75da14abd8ec1cb556daf5f98a202784bae2d3e6ffe426a7ef09424bf8843da950e098988c922b8b","sig_valid":true,"bad_verify":[{"kind":"wrong_signer","signer":0,"other":1,"expected":false}]},
+{"id":93,"sks":["02c181bc7564f9890fe9b7a98e084c1df140480d1e1bcbf31e0103b0da2a6e4c","299d6035963c96d464f9a770d2b98e18da4bd6d158896feb2f70830bfffb6c75","3a9aff31bab4d70cf31b430d29cdbd29c3a3265acef7d45993cf8ea82227e7ce"],"key_sort_input":null,"q":"039e02a854eda5d97ab5468dca4646f7d687bdbdb669510cec54280139d299bf9f","tweaks":[{"plain":"00000000000000000000000000000000000000000000000000000000000001f8"},{"xonly":"fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"},{"xonly":"fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"},{"taproot":"5b00548d0989df0ca7510c1bca033ed65b21ddf5de404c10bf3e6e0d107742b3"}],"tweak_error":null,"aggpk":"03a6ea30ceb5301dba6f950108aeb0423c21a075dcabb1a9598ecc70b4f8e548ed","gacc_neg":true,"msg":"781358472fd547db2b769f7ef9a3fb3e20b6c535a5096a7dcbe9bab2b75c91ed","aggnonce":"027b1f70494f52073c9559ed35705bd58eee00fdd0d34df220bf3a745a94040d1503ec5b24988266fd69e29a5fa396a1ab6d0745baa84ed166eced1ea3f63919664d","signers":[{"nonce":{"rand":"947fd3aa692c9769eaa416222b6e4fbc0cd9ddf2c8d8ff773f6fe48416413577","bind":1,"extra_in":""},"pubnonce":"02055805dfeb37d08add537821f604e0d3b98dd9b9fc8b9d4d7cb33d5644ea0c4103040cee58c606c13958a0b0c6728896b0b42e251b1ae06bf7870e72de9904281b","psig":"505603cfac9e1177dc2949672ee748bcc612a53fc139df397f06a88dda5d501c"},{"nonce":{"rand":"d5d37539caa6a89cbac8995bc4169e1177e972286b1286f07c7e578c19e08165","bind":2,"extra_in":""},"pubnonce":"02d75c3985e6e4d8c2bbd6dcc4c0285e65dcd4bd1f02338f231c8e1440fff58a9002fe1f7bb6c79fc4b3b43cb51654967b96f09bb83f947bdd63fe41be8bffa6b61a","psig":"c76defb1c21bc9c22ef987dddac0b83eca07ee342b8439abdacdffdb1f364485"},{"nonce":{"det_rand":"4882657705c9bb276c99472d516bc79542768a0bab5b1b15f232f524f66d415a"},"pubnonce":"03fa6a249e24aac16e0e6b693b4ffd73e8d55353e66ea97cf80422bc7347e59b0903cf3c76abb812d0fb8850d8891c018e105ab4778402de1e9177025db3e3d752b5","psig":"afb0e7f476346479864f403b962f974c15a149908811378a9a801f5a856132c3"}],"sig":"974e4f0592edacae16644497236b9bff7685aa712e1f409dd38ddf56870d3db46a09a1c86c04316c56c9bcdd805f10646fcffc7e54394467f4f62d51ed2efdd6","sig_valid":true,"bad_verify":[{"kind":"wrong_signer","signer":1,"other":2,"expected":false}]},
+{"id":94,"sks":["438b210af6ebf91e631f4cd263ad941b748f9c23f720a7b25df2da99af1552b8"],"key_sort_input":null,"q":"02d4a3800df1aeab09c4deb005c8a612fd768bc5f6d65153a8f602dd1c3c7b7aea","tweaks":[{"plain":"00000000000000000000000000000000000000000000000000000000000000fa"},{"taproot":null},{"taproot":null}],"tweak_error":null,"aggpk":"024a0f8684f2efbb0eb7c4170ca35d8c06a7d5458e7548a0f58360f38db2ca5193","gacc_neg":true,"msg":"07f63700034e471a869d940b927cf44860ff5b7f89a8b305c14668a7567ac385","aggnonce":"0325f2b65829c098550b538d62f48e6e393873c5f57b2ebea5bfe83ce8b73962e90294b28d4289f27c90f93cfc8fe662059e4db7618e5adb8a7207b5226d5d3ce571","signers":[{"nonce":{"rand":"8ae5483dfc29f6c3c43853673219534c8b8f83eb7a78cb44344c99737f8f9c72","bind":6,"extra_in":""},"pubnonce":"0325f2b65829c098550b538d62f48e6e393873c5f57b2ebea5bfe83ce8b73962e90294b28d4289f27c90f93cfc8fe662059e4db7618e5adb8a7207b5226d5d3ce571","psig":"db09619f49249bec3785afbcf11158617b93acab5365f3c4d4b4289f2b563545"}],"sig":"79a965db2544d0144e79fcf32d9b2ba1b2bbafdb853febbaba2b3d309e724d4506b7bb8a80da0683bdb5cca1843fd9189ae59f0b0c6038719de17059f334a631","sig_valid":true,"bad_verify":[{"kind":"wrong_msg","signer":0,"other":null,"expected":false}]},
+{"id":95,"sks":["e3211d51bfc02d11746e2e8227265ebc9960c75c74ff160a970a455b437846ee","db96f6bda71f484a6743f6392badb1762ff5970bbd7d3da70b03abe3e86060ca"],"key_sort_input":null,"q":"0203aa57e1e196cbe1b8db95557918b1ea5e0bff0d664503478b13198b50646fac","tweaks":[{"taproot":null}],"tweak_error":null,"aggpk":"02a7bcb92f03f531ba55fe11be54c30669d57ebcdcb47d8b2ecf6199c524cdf183","gacc_neg":false,"msg":"971633e983e7cd2af2a4b45876b3bb7d8d","aggnonce":"024ca60cb220a5fb82a8b0c32ee54331c9dc6b21129b633bea32fa7feae5a863a203221a8dbc9a740db7f0fb0fbb07a16b8faaa6bed677f23ec41d9c2d34c634b833","signers":[{"nonce":{"rand":"a82bba86bccc9c9a2e6bc4fce339b97427941e6bc0472a2279793194fc059f43","bind":3,"extra_in":"9ef88432"},"pubnonce":"0298b1fd0098a482d99950dba82b5cea581a5ec8a4cf40dd03ca4201f1df21737c024c499203c20e9ee9e1a1911808092c77e2c584e2e86a2bcaa3d5ba459d4facab","psig":"60bb1f2ad04e55e7087dcb6d98f7209af4f657c4c2e4e146f56ecb30c1e266fb"},{"nonce":{"rand":"948366b283e3b128806668b40a82e188381be7677148faeb81c7af8aa329bb83","bind":4,"extra_in":"66acbb1d8ec2cb21ce01"},"pubnonce":"021e99ce2f4209fa77cdff80c05ce56cf15dbb5e077f3f24f8004549849c94626c036494b444e85bfe5247527f36e114c12de8e5ea42aba44fa612e68d763c4e6012","psig":"b457df2acf38ee68a4db630a3c48918f1b0655b3c61ea4705364713ede260d03"}],"sig":"44b69826bc2c0a5de46b2dab461cb75b5a3a528f7dca71c1cb37b12ad83571bcab41db6418e49d6b1146314cb0e356aed3882cb2b6d46fc4865c6053ac532343","sig_valid":true,"bad_verify":[{"kind":"swapped_nonces","signer":1,"other":0,"expected":false}]},
+{"id":96,"sks":["d3be216bb67c2da7c16cc3585d3b5cb5d1bcb21627e6d76843b74bf358058b67","d3be216bb67c2da7c16cc3585d3b5cb5d1bcb21627e6d76843b74bf358058b67","74d94f843500e5ae5e39ac8847e8ed0bb9254aa47ecef36a32fb396554281da0","74d94f843500e5ae5e39ac8847e8ed0bb9254aa47ecef36a32fb396554281da0"],"key_sort_input":["026f66738a9b6a4a048e3c06e3bf87bb995fa75ac234e64934e7511eb2f9dd7278","03e583cf7b408911193aa9e57f4b61e494a1d22787dd5ae11dbab09da82c557854","026f66738a9b6a4a048e3c06e3bf87bb995fa75ac234e64934e7511eb2f9dd7278","03e583cf7b408911193aa9e57f4b61e494a1d22787dd5ae11dbab09da82c557854"],"q":"024add7c8118ba23b7960f28856a7dd2264dfc24f96897627bbc2734f95e4a6956","tweaks":[{"xonly":"70aeed4aeb389634446fbeef29f86324f696d929d9bfd763d949efe03161eac6"}],"tweak_error":null,"aggpk":"03c05ea7a5a5a1c235199d42661398033f02a85daaf824590992d41564a8ba5ad7","gacc_neg":false,"msg":"4795c1aa7bab173148eaf88e4f54d279dd122ca024b69d05b6b827751a9b63ef5b9040a1ccbf716834","aggnonce":"0281d44f2db33af20ab592f4d9e03738ec9eb52ae6d4dd7413e338f5d55bbb195803ed54c94f010ea3aaba060bc03586e8842a9b3817fd600ded52fc7b4f92f95561","signers":[{"nonce":{"rand":"2832dc48cf62a5802da95928532aa504c93f0a8537e598e6572e0946e08ef7e7","bind":0,"extra_in":null},"pubnonce":"03a1e09f556270006c354429de626aaeecbfb7394a75c7bb343e957402bfaa38b80281ccd70ad110ee128d68bc98aea0f63a024e6e3f008bd5c2d37a610e0f0cd570","psig":"c8fe52c16f8b2c7a18999194ac02c5e87b978bdc3f4a5256fad7bfe0bc058c65"},{"nonce":{"rand":"2de1daeb3a1d8daa9e786234ede92ed916765b3d1eda53116c33e6bd0f62519c","bind":1,"extra_in":null},"pubnonce":"036aad4096d5fe6bdd2b9adac1178c35bc8aee58c3fe5ba8ad2e4980a786c5a8d3028733bf13c82f5b8bdca7a687f5f7a3f0453542658d0f64c7efa2372d44fb3c33","psig":"7477699cebc9158f004e777a4108f100c4f78e39f2f5cd14a975b1fbc04b4e70"},{"nonce":{"rand":"a95ecf00595167d4991394ecd880ba8f25e1859fc846daf241a7651819406b13","bind":2,"extra_in":null},"pubnonce":"03ce4e37a08b34f22a67e08abbac0d9e75be12072c9177d375cbf19353c6fc3a5003c01a671f8e28ccfc713e43ff78332bd8ba8dd17a55970d1a6508d063dc1d0cd6","psig":"7bb8a26bb844d13dca80d7256f927a33c62146366ebf650609a5cd7aaaa477e2"},{"nonce":{"rand":"b3c58663cba3341f6dcce5141f401bbd14da6a82820e976f8122dabe5c293b10","bind":3,"extra_in":null},"pubnonce":"0322c221d2f4d88b1911a94dbc4f21899ede55b9b9d709088f580ee80baa0d204102202388873c7f48034fba2b4fbd392ad06fedbba1c1b9c71688fcbdc332b032fa","psig":"70e38a7f2cfa6728dd66a57e7d6ba4de973e947ef0e4e7ec8e8d5b0f07c2bb06"}],"sig":"e9cff94840fb547e295b9d2c16f44e1efc1534a45e29db54a57f232ab89c90e5d815357fd4b877bc35e2489380a180bcc7e8dea5c91131fff36010a66cde117b","sig_valid":true,"bad_verify":[{"kind":"plus_one","signer":0,"other":null,"expected":false}]},
+{"id":97,"sks":["8bd3d6ee5b9ff3217c99850a466346b3bc433b1a595a89cb0def894cf0de4929","61b8070f94ff217b8610cb4d5033d17ed9f52f8391916b1097247efce34c68d6"],"key_sort_input":null,"q":"02beee95e01f65d000cf373a8157d9da51763b787620519ad41efc502d62aab7c2","tweaks":[{"xonly":"11e512b2379a8ff776812169bbca17163220d578b742b5b67ebfd4f5ee559746"},{"taproot":null},{"plain":"c7311407d5be153add059e5bcd5f5bd00347d387f3d0bb20f4f73d1bee880ea7"}],"tweak_error":null,"aggpk":"02f3d2487020ec5b9a92a253b6077890fd172881af1d4cda061abeb7292f7bdbbd","gacc_neg":false,"msg":"15fabf091a9b2383a542485dbedd279c5d7c1fc83310620ccabd5a6853ec976d14627fe7434e2daaa7519ad0e6047a63c3009424a206","aggnonce":"030edbf0cc63db1cfabefee84d37ae12a5e090b776f6f6b89eecfc4d56c176f28c03b5b902c54ebbe1c28df11d569898f2340c6db88d1dd49398546586f30bd3a471","signers":[{"nonce":{"rand":"388a2dba83f446fa9de08567e481f6b141961ffa083d665883d69c5ae5d4c4a1","bind":5,"extra_in":null},"pubnonce":"024d16678b15349d01b1edd21c765a7e51124f02dbd5c034a399c9f5a6511ca85403a256c21f6846020a0968e29fd8dc64668d37e2554373255aed524731bcd6be78","psig":"9ed65f875ee47098714fcf110f60ddd597055c3ac9c0a26ba3e0c9730d6963bd"},{"nonce":{"rand":"52341b72da83eb68a6af9bff06fb7eecc70092d836486cac8b4bb5294c0025cf","bind":6,"extra_in":null},"pubnonce":"03a6dca06b48eaad4e8462876731f6972100afad986523f2cbd8f9838105b04fa7020136ff5bb07d369863745eb736618446f0f9af926f46e834aa016cb6345e0543","psig":"c32778e3c3abf90313342b90f9cab3cc48a25fd740a921992c89dcfd796a9b4c"}],"sig":"0ec5da75d98cf3e0761e7003d883102d881fd6749584badf6e12e1dfe2e028421e6bf91204ed2cd28579e5a315b4a82bf7f076d9bd649f9dee9d2f7f661090f0","sig_valid":true,"bad_verify":[{"kind":"plus_one","signer":0,"other":null,"expected":false}]},
+{"id":98,"sks":["a4dd1a7d6894f1d02df15d285871e40f5055ccb6e4db2d852ab94aa8991a70d4","003fb74749ad4f8db522d89b80acdd446f24291372dd51dd0aaa9ba730b11eb8","132181af4f4ba1626d5d62dd37f79cba9b6729c011f490464be34ef6eec35232"],"key_sort_input":null,"q":"033de78537a46640f2d5d983e908ec1ab531b5f30f4209f6a98422c1603831c458","tweaks":[{"xonly":"cbfbf524987c03312b00df1c2fbf2fe0c6ae9a00c2755db62df0dd874afb63fc"},{"xonly":"0000000000000000000000000000000000000000000000000000000000000065"}],"tweak_error":null,"aggpk":"03acddfb2ab445d01c31749fa9f9fd4d630b2755fb588c012a16e300b42760392c","gacc_neg":true,"msg":"beb4db2c95","aggnonce":"0262fc8ba70425ead78d35be090078de6c5cafac9297aa1ce903d345b760198d77025d8f699358a71014e82ba4f27e8dbeb4f389f4d2caaeadbc926e0c503a1462fd","signers":[{"nonce":{"rand":"0fc8b844714caa4ce639ebf42841bba206b156dda31eb9f6168f25a94840c00b","bind":2,"extra_in":""},"pubnonce":"02c0c108bfb03b340f0be7475c035989bb587de39fd5bd16fa412d8002b5c74dae028a00391331f607e4ab2ae1c0a10b966e8d551c358d7d70b3570d01e275154fd5","psig":"7fc886975a042945a742691b0892f23e08f4946e3397d155b5c6a4fb0739a5a6"},{"nonce":{"rand":"ec4fd4911ca330ff9e0526daf2ba6c1ab6e7fcd81e4587a4564569e344269f1c","bind":3,"extra_in":""},"pubnonce":"03442e58907f26a4f59fa003527c31f7b88822856f3a62a5002b56370dd09f337102455cd9017942c3df38207acbfde1b2e5df93e51f1c5be85ab9be494b16521e68","psig":"16432afad973eddbb610d895efc40075533b64a57ad17fe0e72f79ba9d9c2619"},{"nonce":{"rand":"33a72d4942822c6b1092e1e3092a0352a228b2aa3da3eb523938bf1a7d34d1d6","bind":4,"extra_in":""},"pubnonce":"02415fc50c9d070586093e3165dafaf595b4a6f411ddc09223a3773ab8d5cb9a9f034738fe45c381a0675de88000d1b3969df870bfeac4eff7486f055fd69e8535bf","psig":"137ca844015560d40e402482ab5cdd8c7d69a35e9200ddfc027e6762449770db"}],"sig":"100fe859feaddcc1fba0ebe8b5cd7e113260ca297154ba215f9e23ae94c52fa345dc46d3f3dfd26ef38376d497b7357b1ccfbdca24ab706a4faf6768c32af96d","sig_valid":true,"bad_verify":[{"kind":"zero","signer":1,"other":null,"expected":false}]},
+{"id":99,"sks":["26337c79db2b772b188c800dd71b536469e8c3f59968e0387665453c50771997","bf53446e87245f8dbee39e7d00e479644c606ae066356f767b53db75ff1368e2","9f1f7442838a16bd503e9a7fa91a6a281043ebf227458b65bc6149445f0df8d7","9bc8650e1af9746c1351db3f15fcbf45fdd14259eea3021e7d2b47dd5de9c9e5","e298c60cbabeebeb0308303d11d022005ac82a0cadc01260e99efedeb9b3946b"],"key_sort_input":null,"q":"03e33ebffbc8d230875fe2f69d047d23639f2885ee5f6ab6f1e393defb9162698a","tweaks":[{"plain":"0000000000000000000000000000000000000000000000000000000000000186"},{"taproot":"be9ad919f6e2e7bf56543eaba31b495384bdfa6fe1e17a540e1a8710942e2455"},{"xonly":"fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"},{"taproot":null}],"tweak_error":null,"aggpk":"03f8cab60f3608b37d893426aec7cb3edaa3c1c2da9ca0a868dc28f9bfb359963b","gacc_neg":true,"msg":"4023c15eacf20cc2d5ea121e0a98","aggnonce":"031bcf34d977895594cdd353127f9eb71d66a9ffbe47c0468bb3af1acdf0c2272202945f9a55ff9f64525ac0469deda3b52b3593ac68aecbc5893e35097d7d5f6d04","signers":[{"nonce":{"rand":"dbf94c3346cf0ff081a411884b1b33a0e16b542eb1f4d6730e9840c59576e784","bind":7,"extra_in":""},"pubnonce":"02fa69694b2da4313158a59708fc79a8bf6c1000fa75c4ecb4290dcdcb21a64c0103a0f93a18cdee7d77f9886cec51e325fd98df721cf35efd7f521959130b8b3f5b","psig":"bd8f2812ead5c83d1d96c67b5323219e5e406d8aba2decb9d882e1eb25bbec63"},{"nonce":{"rand":"5ef5c979c52d41dc52a50934d4a673312569db0e53ef0e86eedced189e571bf6","bind":0,"extra_in":"4fb7f5dd340357cef6c0"},"pubnonce":"03cccdf0c1b0214583858ef4558b5cd68056f89f1cf28134764adecd5a941e8adb02492d013665c96a41eccedf71e33582a060ad68174c72ca269072976ba18edd7c","psig":"b10c06e8255769999c3ae71c485e3f0b17057cf0719fc353e2893eb618116049"},{"nonce":{"rand":"aa73fd42a56117483d6ebd83adbca7beeaf18cc6e4e0417d6fa02515f2a7bf74","bind":1,"extra_in":"7a975634b27d27c325"},"pubnonce":"036affaa17a65611c5d1aa5554f7b46bf5fce199414c06a9e62a18093d2f04cb1d02ac6666c9d81ea78eab27514bf2658455ba16c48cdfd3dec8766d9b7555acc7dd","psig":"9bc4d48ddf74278f7ec6f2ffb2664baff62a3772d174f97498523e47dfa13262"},{"nonce":{"rand":"0556c16d360b6466dc34199dc2167742591f76299ec34b01080565b4b803f9d9","bind":2,"extra_in":"2821592ccd7c7827d9fbd8671f"},"pubnonce":"02d3ef4bbe8d1e3103bf8dbab185678eabc7f7aa6dc2b72e2ada859091cb60c9f603bfa724d62fe18415ff698e60875ecaea1595dbd4c1da4e03fe01ef6d240635f5","psig":"f5d4198555628f0b6c626ef17b01cebbd06a9925dcc9f579e56ade50fd947c0d"},{"nonce":{"det_rand":"fe6dbe1cd277dbd94d12ffab01e6e882250383013efd0d10db2e0e29bfb74121"},"pubnonce":"023e9e27e7c707786954ef76923a1eeb41777c48070515783cf1a47fa55d9036ec031c741cc2cd147da30b4c611d1c70bb1eac47f817ebac34e8d08e61705411263f","psig":"68d8a1e67b0d297b36278555d5b4123669c46889b674facabb37e49977b6130a"}],"sig":"c72f4e352c637be14d593009880612972fc6be218a47504d8129ff58f4331d8fa2f288a3d64e5817d705af60a6a67025974f158719858318ae6f13a2746fe8e1","sig_valid":true,"bad_verify":[{"kind":"zero","signer":2,"other":null,"expected":false}]},
+{"id":100,"sks":["5588bdb328c5ce68fd75cb64f17d8e5465d9c71161f2511e4c751f31cea3ef9d"],"key_sort_input":null,"q":"035ee88684eab991757e8b3f03ed15f2acce6622cb816e2008c8bd962213b907bc","tweaks":[{"xonly":"2e8df278861fb08878248ae603b79c82249ff49acae37c0987cd6d4336175c92"}],"tweak_error":null,"aggpk":"025bc85ca09d6ba97a761f6aa64ad3f9138a7bf0519a943a3a31bf5201ffb234f7","gacc_neg":true,"msg":"","aggnonce":"02810646168778e6a87066204555dce80d784143e5f75e60c7a34e38bd53a862e002d924c0beb46553f43392de0713746ff057bea07b65789202b20db1bea247a1f4","signers":[{"nonce":{"rand":"53ba54a35e104da08d8e394a9ca52675962e86d9b8e44c7fdfc7828598fc8c0c","bind":4,"extra_in":"8eabe5f984"},"pubnonce":"02810646168778e6a87066204555dce80d784143e5f75e60c7a34e38bd53a862e002d924c0beb46553f43392de0713746ff057bea07b65789202b20db1bea247a1f4","psig":"d55179f40ea28a25166d4b5ae8a9400a35c1b312bbd7b1346fce44c55db1ebcd"}],"sig":"a3692437ebc42ea5d44f4bd6a45e9e06076c8c73a309880a52d0547f8bd97c5c20386f4712321930926472aa4627dcddf7c6629c4d8cf5a3c9ab82e5c38d02b4","sig_valid":true,"bad_verify":[{"kind":"out_of_range","signer":0,"other":null,"expected":false}]},
+{"id":101,"sks":["b895355d29d884fc1b82ae3868882a0159aaf6a72d3646d28065644734d40f9a","26f0d0005fdec5cff454137e61e6b664a2dec6cb60fba1276033217248590969"],"key_sort_input":["035fc8e8f7df453803ccdf4c95116c1f942b8c5db461dc8d697628189e156921a9","03ab5c97c4b5cb56c7153789acfb44a25d970810efb096cab07043119126a238a8"],"q":null,"tweaks":[],"tweak_error":null,"aggpk":"028e7c0e7df60b4d16a82df9c0f75c4e9da68328b2abeb01a12c7db9345b904785","gacc_neg":false,"msg":"4a9bb0c5f466d01f0552683194fdda108fe3f09c5a754e1d0c6df12b7549fb6e03f39e369fd331209101b112a828cc8e7ffc5f69d332f4eeee85143b49030798ca6fcf2151d081cb1f08af662c9abc90ed3023d7720476056340f38faa785db1d366c358f74a87ad875731627dc2b95348f6620aa323578bb5642089d45df92f02e105de889b8acff08afc9a28f545d728fab07c014c954f337699ac640f1148b0f06875b869d6487c4d4f369f1766ac560450edac4ed0fd47ddcc3f5f46ec361e656572c5c1f2b3caaced8693bf7563193f2791b76611f9fd65e8b234c4e4c0c42387fd566dc34d4d49a4ef6097ba2da1f63c634f4bf3ab9f2fdd401e9cace96fe428113e57fbbdc640","aggnonce":"0000000000000000000000000000000000000000000000000000000000000000000380cac3fa74e63afa54fe30e8fd546f9f3fea67a64b9aade163fb996c6c266e47","signers":[{"nonce":{"rand":"dec89f15fc4a3e7d3a77b954780e0b88ac28aaec3dcada867920af8149343c79","bind":1,"extra_in":null},"pubnonce":"0229ed04eef115dd6b64489205872205e27a29ff3b919be60891302e9a505ec317039d1df69fdd6258cc85e766e1d49dfbec788a33be642378b8e3686c82edd86433","psig":"61c01485c767370ee18777ab2bc4aa5699ba20fb61a6a89af95a0d7d79662251"},{"nonce":{"secnonce":"a1d663fc6360c64125255d303c53155fd2e8c549efc25019eab019439c8fb7a738425fa24aa98ae7620aedac9ef3f721d81e2e6536b293373a1669bb5723b83503ab5c97c4b5cb56c7153789acfb44a25d970810efb096cab07043119126a238a8"},"pubnonce":"0329ed04eef115dd6b64489205872205e27a29ff3b919be60891302e9a505ec31702d58a7d15dd95ba18a1947c410758637d6674268471066537aa00ced781a1ea8d","psig":"4c567970e274ccd2e971d93b105325842dc5103be89fd8a970d2cc2bee86f862"}],"sig":"3591c45c63fa6013df818fc8fdca46d6182726827adf020e2124ceba013699bfae168df6a9dc03e1caf950e63c17cfdac77f31374a4681446a2cd9a967ed1ab3","sig_valid":true,"bad_verify":[{"kind":"out_of_range","signer":0,"other":null,"expected":false}]},
+{"id":102,"sks":["8acf0f05d1910f3763864892f669f8db82e7248a5af84cae9f32a21351ac8dfa","86e126d1bef27afa9b756132405a461c1370cd011d047ab6bd5f2ff4b52db6ac","6ec6b77f86a5c4e1650132cc2dadd531a4eec7eb13a7f4f21242ed4e214ad227"],"key_sort_input":null,"q":"0277c59f71f1267aad0397c2a30d294027474993097788f9436ab2651d424adca1","tweaks":[{"xonly":"0000000000000000000000000000000000000000000000000000000000000000"}],"tweak_error":null,"aggpk":"0277c59f71f1267aad0397c2a30d294027474993097788f9436ab2651d424adca1","gacc_neg":false,"msg":"9ea837ca9625d872e908cdf0dcf4c928b3269ff127e09d6c04b9beb414b3f1a0","aggnonce":"039f8bbcd31ec0ccc6676b86c6795304516622905c0eed23d4b027fd0b4420b5ce000000000000000000000000000000000000000000000000000000000000000000","signers":[{"nonce":{"rand":"33a7f1c2788b65630ed851432606e3aeb100d86521bd7666852dc17892e46937","bind":6,"extra_in":null},"pubnonce":"03d9af146dfe2f6256f7a9424882bd3245203d47c9d94f410413355a0ac19d4ccf025d8babf522e2dc5712f11b4d5f44129e99ee1053dbf36e8f96b56ae5da6d6537","psig":"97f73981f20f973902ed8a74a1833ecb90946e520de625eeed466ced46a4dc96"},{"nonce":{"rand":"cf25748c98d5525e40ac13eddb20c524cfbe77b3e433f9879d7ba687efd099b6","bind":7,"extra_in":null},"pubnonce":"03e1657e687d8f9dff1bca9e3295dbea6378144aec6985144f58b958c91ea86287031073914b9249afd0ae818ac156b40408a57aca2a0110f6dc20151c8125966f6c","psig":"6aa08104d6efbee8391f9bc092c342072a2b9563c6d401920d5972429eba0ddc"},{"nonce":{"secnonce":"9ac9fe527f6757abcb977718706c7aaecff06983b5d2de7f6a7d531b00bb6524a2d3484fe2fbbadb6ece331b0d1a0b12b163955678637e2f72615b9afe51dfd902a9e78f50db9cee3e3660213d6595676f5e00ca353fa00a4579e60e3f2c76e879"},"pubnonce":"027fcd8a7a16dcefda835d32291e2be9085b92aaad1366b1dca978858242c6be8d0239b12fe98c50bbd2fac8e1718abc5bec7c3a5d0699b2a5b50defde41a973b481","psig":"7d31d00c692be62501629ee390a51482bc22ab8b36c75f10d44b330b593ef8e0"}],"sig":"9f8bbcd31ec0ccc6676b86c6795304516622905c0eed23d4b027fd0b4420b5ce7fc98a93322b3c463d6fc518c4eb9556bc33d25a5c38e6560f18b3ae6e67a211","sig_valid":true,"bad_verify":[{"kind":"wrong_msg","signer":1,"other":null,"expected":false}]},
+{"id":103,"sks":["635451bd4c629756230fa2799ef84018f7372aade247191f41efa7be317855de","5219467dd9d2eccb7cf9c67d2deb99292783c5968008919089806446417aa176","062b1f88518aa65c3908715a24d5402866a9d9d0d19defeb6ef9d73d4941293a","85dc479b47af293b3b482e0b98f961c24fbddb2452bcb3ca06d76148125f1afd","e5cff03d14c3d1bce9800917ebf311e3981ffcf4f6453949ff090b044992e60f","c67b960e720d62266288b136ef31bc825ec2cbd75960d6833aecfb6594a02f23"],"key_sort_input":null,"q":null,"tweaks":[],"tweak_error":null,"aggpk":"0203b46c335180e936a2acab5fa3108a897a2f57b59ef99769925786ee6844fa20","gacc_neg":false,"msg":"439afd532c7daddbbe6b9f0e39d76dc112175a77d71f4feec32524eb9ceb8725","aggnonce":"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","signers":[{"nonce":{"rand":"d9ed9f5c384bfb9f901bf542e7df662d6bccbe62816c78fec2548d98d745d846","bind":3,"extra_in":""},"pubnonce":"03c436124977ffbbdc7467c01f56609d7973d2fcc42cf413a2b8998a4faaad8f1203bf38d292eb28f03bd968f490a270a25b926d11e43654162a7a1e988546976381","psig":"c5733048e157f290cf8778938b465e615f6ded4ea744190bb13d77002eacd716"},{"nonce":{"rand":"f273d985d8e7c4b52bb5112bb5e82bb2d6e0c372ddcba2b70ce8baf1cc71f04b","bind":4,"extra_in":""},"pubnonce":"02d1064a32dd07006bc57c44e97983bd0c50f8c92da9b00e3931688320f11ed504037bfbff9cc3bf43d76cf79834a961b6072693a3687744e4e3a434e0cf02b813d7","psig":"b60736e1ef72321afd90cb1e3673589ee8e4c63b0382600db2318723db03917a"},{"nonce":{"rand":"c6c6a70279db43f29cbe947aa54c9525ab579aaa1b34c98fed08ff80e686e2ae","bind":5,"extra_in":""},"pubnonce":"03ad4e11a487fd7a88f544f0d323c9f5268ebfe50bd184ea525e8b53657efed84c03bb404c9374058651add47af89b25e2b306bf7e7d5f5b8937e66220102609eae3","psig":"99c7311c49664a6726bd9b0580e70c792b9bd6817e67b86d85668b2baedc7570"},{"nonce":{"rand":"de6fa002ee80af9a8317f0c82f0accd7cda99e9382117fe66eeebcaa1d8c9c40","bind":6,"extra_in":""},"pubnonce":"02843d619d1529d049ef4e067ba07cce1b3825ebe63afabd41fd91c2276c3d8e8902018732fb680323f6c556e5438ab20c411733e7aa87948e00ffc33230c9d5f070","psig":"5590979d3713c11857da27495c14d7cc76715a21b79eedd19e0512e6473a3219"},{"nonce":{"rand":"83429f8d4dc6fab8bc46e6b04aef0a206971b3790af7426ba7ec39cf9ad1017b","bind":7,"extra_in":""},"pubnonce":"02a3330aa3895814e62e93f39da707085da879d19461bf9f0609e4b3b6f13a2b87038b01f355cf0f8015e62afdd1c1b4da1d1eeea4bc59087cd37d4e8b191806890b","psig":"4988572ee1e1162fc7f9aa8b68f3406794902b2b624d426323f60d79d4efc867"},{"nonce":{"secnonce":"e6ed988cabba3b59d552dd1195053af24f7c4939d7bc271908c360fa15ef21de04899278bba42f420e97c6c079ef5a0d59e9813141cad6c918f68c6e03f382b6034c01986236ea39999f14f404f698cece85d9e78e348595318ef46efa9a89df98"},"pubnonce":"02755a294f13b792a57c1cd2f2626c4890e5af437a1939774799e9b6b23c41667c026591cfa7a9d044d4e509d9bf4ead987c09a1b8a9808527d114d7a04d45302c60","psig":"538a64c7ca9c1a3c1eb521678fe9002223365194c7b37fae3903d2abd8a0499c"}],"sig":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f8179807e4ebdafdc16097325ed1f39791dbd37219ca38fcf400b6a45d60b53cb45e59","sig_valid":false,"bad_verify":[{"kind":"wrong_msg","signer":3,"other":null,"expected":false}]},
+{"id":104,"sks":["0ca9562fcc4ab220b5a25d39f34dccf67ad0a4f41fd4e9b07d6c1d1073eeb509","0ca9562fcc4ab220b5a25d39f34dccf67ad0a4f41fd4e9b07d6c1d1073eeb509"],"key_sort_input":null,"q":"03d8a38f0d36c2236514ba525f90e667bb8b3f7d3df682bc06ed7d4bcc1045404a","tweaks":[{"taproot":"ad417a234a5b6d16e57a95298f25cbb8fada8724a9cbf5b82f242dc41cd611e9"}],"tweak_error":null,"aggpk":"036354931af7dec70aa84e59934ba49459dfedfaa518005cecbde7fc59c8bc673e","gacc_neg":true,"msg":"18bbadb67785f33deb3d89e83d755380dc824e7f65b6a15d568badee7ba3dd95","aggnonce":"0398420f7f8727b19abf20661fbee0296f294496cbb8561dcebca545d94cb67f2502c631b6fa7557a1462f30e33ae631b185c59e92174a5d08415fa66e445d4fef8f","signers":[{"nonce":{"rand":"8d236eea91faedc170afe8daedc1d037a31029cd089a95ee34b91f2c15e0399f","bind":0,"extra_in":"39be519ae52f"},"pubnonce":"03b8da8d705fbbade40c704dfec14e7b3e91b479e77a8ebcb73b77aea54bd81975026867d25d464095968cc2982dfa64c036bcace972e217be74bd118ca43625351c","psig":"842b533dbab54edfb253c470190742e7eb085513e3fc16dde34139b90a5b6426"},{"nonce":{"rand":"d41b8fb861663e5e26a7a7e63a4f1d098eb58de7a5be7922fdc7a2a88a10181b","bind":1,"extra_in":"e1518baf8827922c993269782aff8692"},"pubnonce":"03260065a9ab65d3fc1660b31c2e0f24d00b54bdac4d59715e0141e7bcb640d3fb02e6c328c558d830633a92512b7192a04e1a66df9453fe871fd882309cf785a861","psig":"63609e579c1be15b67a06bf15defcf1b15464a8dd3a76e3c1ef98e2e0a8083b7"}],"sig":"c7e63de14092445e5f8edc690bac46d72826c46538ba6fa9a0dbae90e874b3a75a5b4676d111aaa723603f81f97960e2c43b9554dc85d8f75994cd588fabdd38","sig_valid":true,"bad_verify":[{"kind":"wrong_signer","signer":1,"other":0,"expected":false}]},
+{"id":105,"sks":["5c98cac9f039e8936dcd8ee10df941db80f91f520aab6656f46254013faf6b4c"],"key_sort_input":null,"q":null,"tweaks":[],"tweak_error":null,"aggpk":"02b0b0749408d15909dcb79e706bc320b253b6c95876ffd3b981e769afcd318f7e","gacc_neg":false,"msg":"ea44d11acb85960f44e92f234f91aa9b29","aggnonce":"02894d12525e415205ebe8f9226280480503ac97983772388d7e53ce81e1dca45703293024949eabdbff428459a9dc007c30d0a3e548c5168fa2c19f1d0e7f572819","signers":[{"nonce":{"rand":"2e3640fa5daf56f9a73155fe1744e999cca722931ae24b3272131668ec1c5951","bind":5,"extra_in":"fec8409ed17c3771"},"pubnonce":"02894d12525e415205ebe8f9226280480503ac97983772388d7e53ce81e1dca45703293024949eabdbff428459a9dc007c30d0a3e548c5168fa2c19f1d0e7f572819","psig":"91bf322758bb5f7bbda7e54b74da8e330039415a02bdcec3ab637156c53e8b1e"}],"sig":"32138cc36d493403b45ea47fd8683f9731a0de64a793418584adfaabfb2f20e891bf322758bb5f7bbda7e54b74da8e330039415a02bdcec3ab637156c53e8b1e","sig_valid":true,"bad_verify":[{"kind":"plus_one","signer":0,"other":null,"expected":false}]},
+{"id":106,"sks":["9cdd53a98e21a2f8a865f59f795811b918e6a9311510471ac215ee94e13e0817","4a958a4e001872e3bb3e92651e31380cc9ce1721e71a15528bc92e66e6ec764c"],"key_sort_input":["02a25a223978352cff532d3ccc880d45b6f5c7d5f1437d79be9fef312038dd9982","02a14753f7ac958a27d851d943c4bb3b0305fc649584ec8ee23e5652d8a43fa05a"],"q":"02f48886a56180c2e278442e60c6577717db96bc6e8f724367af434d356b7d862d","tweaks":[{"taproot":"99cbd5e201e1572fee18e2f3dbf4d7fd3e7b84536a40fe8eb19b173dce08885a"}],"tweak_error":null,"aggpk":"031025b27912b2dda15fa2b05dfbc87da1e67fa287d65049cd0cd3ffacf6fb44cb","gacc_neg":false,"msg":"4bd8d4eaade123167dfd0fdcab631392340c377168ddf56362a213522ea312ece46d","aggnonce":"03c0ff0af2852eee4a744308b8d0caa1660e7a8aad8673f18d03061814a6153b8d02924f2380158c6c09810beb5ff6d0a0f72313922fdab0600b60574f2aca6c16b4","signers":[{"nonce":{"rand":"fd80370c2104647b151526881bd92075a38b54d0a2e0ccd2dd7b5e84d7ffc49d","bind":2,"extra_in":null},"pubnonce":"0233c03efdb4d22b8dede100660586dbbfdebfcffcc64cb8ef2befbc87f193b11602f9986d180dc4a2cf0087ab0f7b4b7470f1b8f87fd45da64aab8a8df68faa670b","psig":"4f67c0e60ec3dd0b7ce7e71ee2fea292bc92f4f80086ba0a2ed847e066a995f1"},{"nonce":{"rand":"616b21bc6a106e793c4eea64f5a61e0b91fa2b8e203b306993c07628beda0a0e","bind":3,"extra_in":null},"pubnonce":"033f79db0f612056494d4891e915c85f458b205fa3bcfa23b2bbdf32123e1656530393014f19dc39601f725cbf9d5d465ebe159cf2fee9152210ba6a97e2e55f71fb","psig":"e3976c7001a8fb3d302dedac007539eea26cbe205a38adfe40db3acb2fd77742"}],"sig":"2aa736aa312ddfaa3faf2eeed27c8bbb6481fe956db9ccb08ccafcb3f7c3ca0dba2a561653898bc97c2e17ba940f591a8f3a4b63167677dfa2a2f43ab58356f4","sig_valid":true,"bad_verify":[{"kind":"swapped_nonces","signer":0,"other":1,"expected":false}]},
+{"id":107,"sks":["8cc252fcd9090507cc51ada392fef01623ac38025ee7b6920124710479f647a8","4460cd9fb379187be88eea3d7513250ae03a0aa0af579c77e59ff0cc583a615a","b76c9a730898e296755a890c1274397a9d660bca6803548bc926369283276623"],"key_sort_input":null,"q":"0272265d916ce8c85c5c28ae65945df658dc4dc08da155ea750f4c90438db3be3f","tweaks":[{"xonly":"0000000000000000000000000000000000000000000000000000000000000000"},{"xonly":"5ecc7b4231bf2e98b71743debeec0ce2e3ded6dd651eb3fed2812538acd0fb0b"}],"tweak_error":"TweakResultAtInfinity"},
+{"id":108,"sks":["d840cc416df9aa89ad05bf639ce4616313c677e2ed1e513f49adc9846d03a03d","d840cc416df9aa89ad05bf639ce4616313c677e2ed1e513f49adc9846d03a03d"],"key_sort_input":null,"q":"03bf8ecef07228e1e27c4c384f7aa5e88a90891f209da956ee68ae2658c872f270","tweaks":[{"xonly":"55d6894b75ac6f2e9a25b0496fcdbf8b82ca1f54353bbbeaf2494aaf2f435353"},{"plain":"0000000000000000000000000000000000000000000000000000000000000242"}],"tweak_error":null,"aggpk":"03c87f3f01f5b8154a0de556358b72e9d12683c25ccd70dfa4061757a17ac90e16","gacc_neg":true,"msg":"e5337102ccdd577c1a01366a44","aggnonce":"0374a44c0ec3833bee02cd5f11444257599c4fe3b7079bf7c989c95571daa57f3f022a94a5609673dfeb6e51cfffae8af10082efd5236fce9122f59f84ca57643a92","signers":[{"nonce":{"rand":"1835cb49947e2041032ded16d73860cb0ecd1413b6283f26883594ef39bb9ab3","bind":4,"extra_in":""},"pubnonce":"030832b2424319c3386379921671d3d898068de0e62326b4b1c02403159cf90a69032e047447753c7906eda5c583056852fb18370f0cd067b792660542c495301067","psig":"d46e71b6e08cbb3e79381a23b4ddd45b460fb30090c30a9d90eb21fabc104cb1"},{"nonce":{"rand":"b8a5ab3290d779347d17d3a5a5563b4e5b5472296b497ee5632ab8804f01502b","bind":5,"extra_in":""},"pubnonce":"0389c3c224e387ac7d7359be1267ca2738aa787480927ae4cc7b5f76c72a2bda1502a3bbdc8130e26a68857afe34f4485861e8aa0a6234a6be5a694d614be9bf7b1f","psig":"de0b07145df68ead64814cb5d3bbc1a49c6517335cb4af9f81a1a50d19c66b17"}],"sig":"957e7b3e3184e715f1957a6a78d7a9d0fce193567d6558e020a2413b957a6dab0fa80889223136851e2bcd97cc0bafa920bfaa513b780ad17c961f6e3b27c5ad","sig_valid":true,"bad_verify":[{"kind":"plus_one","signer":0,"other":null,"expected":false}]},
+{"id":109,"sks":["6ada2b2c1e11806021ccf289ab1c697913678cd7310a8a21366e30af2764124e","ef7da1ed0e9f2faa854eb2c3e80661d661968fc6dca21e1ca1ce70cb69781a52","42768698ffcdce1e6858830fdcee6bea2d3cc0d14251a50c311a95a4af51c1b8","c6e46975e5d9706f3c05e564aeaeb3d6a7496baebbb6ba8eebec6a04757fdf2b","bf8a698981e4d0c145ddb8c6fef947d315a2a06a3a4effb6d90f568139f3a693","abd7533ef21b0175fc13a6b8965fccf5d8b6598f68c7af83676772f96b9c8f6a","87a51f212b88897b2fc9dea1d893f44b529d271bb64334f359d46c609a6a8eb5"],"key_sort_input":null,"q":"03a3207abea2ccde677eeef9b6ef7bc28db8fd73a103faec6bc0404ca69a21a7a3","tweaks":[{"taproot":"96820e79542a716dd128c4e0887e8c2745e86338200c6e6f1abf66206ba81565"},{"plain":"fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"},{"xonly":"fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"}],"tweak_error":null,"aggpk":"03e0c74b8f3f22bf99625e84bf581abfa636b7cce4af9934e19c8809803cb54b5b","gacc_neg":false,"msg":"46df2b2fe7adacdf93564f4311c7399496","aggnonce":"02dc130458632174ae3b09a9ff0be97b9d0ebcb66566a698c3383b0f1735f0ddb602df2e52f7a992c4d2d800e9eac80a3f8bd2f58e461754701e9e6f3e16080561b4","signers":[{"nonce":{"rand":"f9523b6bf812421125919f2d5454b7501fb800dd481082ef1ddba6bfd115fd2c","bind":1,"extra_in":"c93cf2f5fe5fd2578b"},"pubnonce":"02053c7284db8c02b6b38f6c8d43c2ee5a9d8437f772fb7fc1a631bae13a6404c5035f0f639e3431a2e12136e0408be900b6c683bdcf0a07ac721fb54d7c390fcee2","psig":"ca92bbd2f7baf92549362167e021697916cc1fbc576a2b46db6f30048cce4784"},{"nonce":{"rand":"047a45e8017ce72f5dca869736df178ac5c4c2eeff9ecdca19b00bd775c632f2","bind":2,"extra_in":"2fc1"},"pubnonce":"02c533a5ffbefe5b2a8bd2aef6433de5f83a07be8a285d5c8e31134c750b78b4fd0352f212563c4385155b6ebfa452e3d0feb73071280aab027ea642d0c84b41d664","psig":"00e59032401617ae115297f3442df7021ebb9abf20d196e4ae17b48e44dd26a0"},{"nonce":{"rand":"19a9babd360bab0abac995b435335903a6683fd39e19708fdac214a42e350ef9","bind":3,"extra_in":"e968f36047b0707a3d408e439e4b2141"},"pubnonce":"0374d36c8dab22e67bb94f9d231dabf62334bded821bc80b6038cb4f8a95494e19023ab64d0f6de36ccb1fb0aaad0aedbe5a48f72d03ea0f9518134e789ff6fba548","psig":"f49226668d552fe9f71e1689c4d6cf45a17b4bfc8b1f4d548bbb513eda1b9a82"},{"nonce":{"rand":"f9fafcd497aa6dfe0ec9bbbcacf6f51f69ac0555cd0f5481645678d1e1477843","bind":4,"extra_in":"9cc9b430acccb5c41bd0d263f1cf"},"pubnonce":"03fec34875219f94971ed73c487e8c807a6796c8ccdca6225ab61b07bdcb8b92bd037657b33b18f8b4fb7b81b51798c8d65c375425d992332cd4befa0c1f507bd7bf","psig":"003bd7db6b15ec2c028aae7d79daf8be61ebb5fd1f6ca37cf02750797bc0bebb"},{"nonce":{"rand":"7bbddf9cd23e7b085001c669bad205c116aee87fe5ec2f1b53811ad6a6a92fd4","bind":5,"extra_in":"d860"},"pubnonce":"021a8cbbf5fb676e7419ca5ca9cf1778d83a815c9075a438a043973182c62c3da80359afe3f89b367cfa85665d06446ef53ad0e44892a930d07d58b90cb0706492e9","psig":"5543574850bcb4661853767628958f04e28611faf11582660c5cb5bf8fe880a1"},{"nonce":{"rand":"5a443a496acc230d626c2e07b4f3461604926e87ef1de564508fee9e170a0a96","bind":6,"extra_in":"3db574c192eab72766cf4d3d2f"},"pubnonce":"02e26b86feed4221f57f2c95d9e781729a1f7a91ea0524bea40f283a7a1478cfa503422efc6c8ab03250fcde65d09ddc5e9f97c57ce4b7fa80ceaf069b370fc68406","psig":"5a0c6c5918f95c7eb034eac3228d14f868d2875ec3c3a1390ba55b5279a56333"},{"nonce":{"rand":"fbed273a0b617f58a4dbcf3092a4f8fcd4a7042e01a928cb4802955f7f15ae0b","bind":7,"extra_in":"91621bdd"},"pubnonce":"021ee26debb5e464a265b1bd2921fda37736c32e361fb9e3ab2ca82d774c11017103e55230f39d239645d8d70b7c17d76ead4368e103c855f3c17331f17ed7ae7cbc","psig":"782eecc13bf8bafdf4874d2a19ecef60ffbcb44804a8d727e04d1c15f3ba3abb"}],"sig":"e8b33d66381c137288135a8b3f6db4ef091ea3b9175f34c3467eb2d757f8d74776d99e68d1fbd17001f02563ff3a1bcf6e1d230a6d59723c3bc052da8fc630ef","sig_valid":true,"bad_verify":[{"kind":"plus_one","signer":0,"other":null,"expected":false}]},
+{"id":110,"sks":["a1aa86b4f9e01f6b2ec700b960b286c8bd5418b9f91bb0af107d7ef1df3d651f"],"key_sort_input":null,"q":"038e00af9111eb1c224aa3e1ac0e17b217b6ced9eeb32f423b59be4db8af92ea07","tweaks":[{"xonly":"2a01907a10ad4c7e49b5851ceb426d7a4d05e76532663ae01875253829e255c7"},{"xonly":"0000000000000000000000000000000000000000000000000000000000000000"},{"plain":"63a6b50fdafbc60b1624a96f21a2a810dbfe8a477688323e097d2ead35ac209f"},{"taproot":null}],"tweak_error":null,"aggpk":"02b818aee9341eab62ea6599a61937543817ae18d62a06e59264f0e5ffbeba2669","gacc_neg":true,"msg":"","aggnonce":"0365eaa0898473cd8958391337af3caf0d08b288dfde7d325201790042ac2bc454036c72f69888d34e6412d3e1bd460ae1b6d776246b1057619bd9798d9c2ced8989","signers":[{"nonce":{"rand":"b64bd53fe35a19b098bb2a60009424386e0f255bd59f56583444a2baaac48d25","bind":6,"extra_in":"1920ae6ee1470c5a"},"pubnonce":"0365eaa0898473cd8958391337af3caf0d08b288dfde7d325201790042ac2bc454036c72f69888d34e6412d3e1bd460ae1b6d776246b1057619bd9798d9c2ced8989","psig":"e738d12bfbc9c2e76246f326b25c899906d0aa7ea269fb0f4d5a8f250d637b5a"}],"sig":"719a0d48b2953d65dc64b86ea28400dcf6bfe1abb056143c8ac2858c2bd6b4ecd83432a3d698078f5d5e8ae9c46de87fd6fffa8c13cbae5cfcc6181e8f2ffa95","sig_valid":true,"bad_verify":[{"kind":"wrong_msg","signer":0,"other":null,"expected":false}]},
+{"id":111,"sks":["73c2886bac6d23d05e9e7980d92e3ef263979de836fb0dd7ffc87c0cd0716ef5","c8c5ebbda54a065aa636c99374758edb9b8ee091acb9f786d9a2e16b3712c115"],"key_sort_input":["03948aebef5be3fb2e8fa9edc8a14664027186ceb53ba333d62f994e56b1189040","030d67cd3ed6aed2abb227fb5a02c7957c5a0d5ef3a4fd9d62ce334ea85ff98b1f"],"q":null,"tweaks":[],"tweak_error":null,"aggpk":"02e677950ad368dcb5db67fa6a76f82cd9df450c1e2cf0a4d6b6651384f73fc65a","gacc_neg":false,"msg":"a4f87c4c06f0e96cec5577cb41d596f82edc9f2828ee0cd57f7d09a5aa7af85c48f881d3ae55743db8e77820e50edfd3db55da998a983dc16b79c6a847c1bd2b29281be4f1fd73454bb8cad4640f8d74136cd936a2fd9039d9ff4615e94b83d63faae41eda570ce2246e91ebb306f87279670288597a9d57e83e595500bf69d936764c3b29f4c9dc201120ac30e1e4f6f21da4e05bb74c017b5f8ba69068f7cb73768f619fe231b200f02dfa4d342033e50bc1f2a8b189f87acad68165a58db685d3277f63f7ceb8ade9056d7b57bfc59b9aaf933d8d81b4938a713bf56aaa895b3861df5d3c022e119232242d319a32ba35fe04fefa091b77f0e6b1b265bad3c70d1d","aggnonce":"0263c683052a234d64beea1dc5d0be7eb32c51f9ac1e788f4d68ebe39f12234ffa0295c2878514957315aac1335dd8b9c0d3683d14a2bda9f46f5b29dcc6e8a3b02b","signers":[{"nonce":{"rand":"7110965ec3365a23e40aaa3b84384a5163a4aa738a81ddcca1f977fc86da04f5","bind":3,"extra_in":null},"pubnonce":"02b7725d2d5d34d9faaed09423cddfadf7201116ae88705010561e060b05d05816034e96db8653257a780def26674d24291d2b5ed1760f4b032d8b7599a00affe193","psig":"5b8b52a83c1e12cd765e1e1ca8436c25d0cbb3bd8567b6782449038871cdd39b"},{"nonce":{"det_rand":null},"pubnonce":"02d2f55cbaaa1141faae9c652755f49b7061dfbca4b80c2553a9d446cafdb5987c02195f87aea50260e97d372219433e03c1252b51fc39267a54b47de2be8154c1c7","psig":"a10dd9ff163e1f02a651a39e365c91681927ae9f26e70f36bacb1852d87b0b5e"}],"sig":"090bda77948915b769dc0595add00c6d287ddb1dc613c09a37c29d86ef7e1baafc992ca7525c31d01cafc1bade9ffd8de9f3625cac4ec5aedf141bdb4a48def9","sig_valid":true,"bad_verify":[{"kind":"zero","signer":1,"other":null,"expected":false}]},
+{"id":112,"sks":["e9119e6b6fa1486341756417f9eed5bfa87ffc1b61fcd529e56881235230f5af","02c3b827c1c8c1d34e4ba18161a587d837b2866129439f6b95166a9704b31783","e9119e6b6fa1486341756417f9eed5bfa87ffc1b61fcd529e56881235230f5af"],"key_sort_input":null,"q":"03ddb9c2903030c24d5281a6d465362ad416545b06a57acef15cdbabc7505605a3","tweaks":[{"xonly":"0000000000000000000000000000000000000000000000000000000000000000"}],"tweak_error":null,"aggpk":"02ddb9c2903030c24d5281a6d465362ad416545b06a57acef15cdbabc7505605a3","gacc_neg":true,"msg":"11438cd5c6a21fd0650f489c01a22b9f1621b70495bff954910fbaa08482c97b","aggnonce":"031e48f833e0d6ef3b031a742dc138a3220662c45972d0b519a0f5662cff0d8388033a151f1237efd11113a75a8fde50270072fef18e8d912e7cf68f5dc9ad295a84","signers":[{"nonce":{"rand":"475c56b45997a49c5c9dc5e1adccbb6db9642ba31dcb44deadfd4a2c99b61a5b","bind":0,"extra_in":""},"pubnonce":"0333333ad3271466f0de34775b13412e155c44df38eaea9f2cfa486ca5704caca803bccaeeb1f86b89fc65928c9dabd2ff7375244cfd8f52ee23fd1dce8596b54bdc","psig":"f127b946a1267cfa1557605f5138442961f22f1e2f0e232c80d801f0cf33691a"},{"nonce":{"rand":"0619f49624d18b8e90b54c272594672d1fe76a3aecdb826d4e1160c8f25de228","bind":1,"extra_in":""},"pubnonce":"03e639721183f5d7e678a5aaf3aaff43dfd7cfee9b7d73cf51f211042c5ea75b5c02765d467b6690c862ae604fd00e306308a4163368e12e2c0e0cfb576c0188a7e7","psig":"53fea6679ebd3b499bfa28820c945afcf47d818decbfb96118481d095f4548f9"},{"nonce":{"rand":"a0c0014a61d9a226dcc1a0306460f16bb248ba67729254e52b7c7216baa63b0c","bind":2,"extra_in":""},"pubnonce":"027486447766f6707d39bcc316b183ab633b9456f608c273654f818c03b789674103809cb15b13389b678bb4af850a4cbc49b0f118fc891fc6c754daff9247c454a8","psig":"cf9277400da086c1303cda830e34f14676dc4310bac34d0fe947c7bce01816a7"}],"sig":"911dd66829d622be11f548a58cc8139c4095fd76df38a928cb8daae988b951d514b8d6ee4d843f04e18e63646c01906f57ee39ef77ffe92602c3299d6e244638","sig_valid":true,"bad_verify":[{"kind":"out_of_range","signer":0,"other":null,"expected":false}]},
+{"id":113,"sks":["fa21231914ee759a5a3ed0b4921321ad5f757bb984e78755120c73375a405dd6","c56285a6c1404de714a9deb4c4a5869eb794145033977a0c47134af20abd3e1d","0323f7277f41887d2c66d647158a3960f871f85455939b7308434e763c9bb381","3d86b9d3f357be25feafef27fb5981f2d743a2c750a29bafcc48a32e79ee2a83"],"key_sort_input":null,"q":"03923bb682dbee8a438b178a8382aaeb73025ec236ebdd9c36dd44295ba0168460","tweaks":[{"xonly":"91c7b88c58f027548e4f6b468fe90dbf2a1c75f3020c21041a045bddc21c56c1"},{"plain":"00000000000000000000000000000000000000000000000000000000000002c8"},{"plain":"755e61e74abb9cc6813bd0a5a0f92292b8f94b65fd2665c2d0a88bfe557986f7"},{"plain":"3b4ffa481d076142c3e876a9fcd6529abe98f4fc9369846a7037c32afbcaae92"}],"tweak_error":null,"aggpk":"03d8ed78cf3a7d3c879dc288abf60cb83fdc35e03efa6f2b9d6dbe361298759897","gacc_neg":true,"msg":"e35cf93141536dfb03fac3758221074c64c87fc968534a137ca6a393b611a2aa","aggnonce":"0000000000000000000000000000000000000000000000000000000000000000000243545bde5852938d1bc0ef98b583f8def91febfe2ca32500c76bbfc590eab786","signers":[{"nonce":{"rand":"32c0d06e67d37ad0c3219159f3e526d03ea589576e088e79645dce2dccd3e647","bind":5,"extra_in":""},"pubnonce":"0285cfec135acc2fc3d249d1112a94090ad23e31e5d6b0f4f0f82c568e4204ad7903b12460bdb5e34f2fc25bd2f402ce3b86c63ae45836798f33545806016c6af9e2","psig":"b00a9c98a90f9f35feedb13f6d8bebc5edd8560760865e882eee3ec11e9f03d0"},{"nonce":{"rand":"5094b9a652fcdab71d2a7d42eeb8d1c648cbad5d18162e1ece4c2df8921ce157","bind":6,"extra_in":""},"pubnonce":"021633d5d8a7e80ea8cf9cc1439aabd13ec590974d7bc1255f7880d89c65c9b0450307e9d2c8bfa114cbc03be3eff5f35317b36269a6841ce6b485841b5075cf6e61","psig":"5fc419dbda0dda239d0c721d39909faa6fcffa82de764b838855dc2e860d5f35"},{"nonce":{"rand":"5482fc15860cc6e1fbec61bd2795d2517fac40f1ac04b7710882ad600ce3dded","bind":7,"extra_in":""},"pubnonce":"024374f09298be290d82816e18796d73ccaa74930f8c965958cf12d967a7879e8f037d19ea78b066af785b2fbe3d6f36199288ff41638a29ab6bd762d6d1780063e9","psig":"081bc4d7a923295d4f949b294db95bb0cfe33f0bf8147db45430da2c97633637"},{"nonce":{"secnonce":"1db3bb89d6b018bd99c35203f5ea36886e39f444eda4f5064733da0e6e89f61c60a4d0fe4c58ec3839a585704b68d1f6a1c6cde684c106653b5b012a955c9ace02997c8efdf29bc7de258fc186dcd14d9a4de33e0baff9aaea94dfc137ed80b3ef"},"pubnonce":"02f1b79b52b1c1f67e83209530272bcfe26ccf51b682535914e0ecc36ec70f732b0398edd991f5132d56e82f541a564cb0e714d166560095c19c113e1fe7fa4103e0","psig":"9c50ecc1dd8aff9961c05ba2ddf18c709a64e0e6060028175f5cbac6dfcbc789"}],"sig":"45493cdb77916028506ed7cc32bd70a72d6f5f36400ede8839a864c3a5f161c8a7d7701a16ea7d14a15e373d119cc30f186365b412d74de99443275256d3bb89","sig_valid":true,"bad_verify":[{"kind":"out_of_range","signer":0,"other":null,"expected":false}]},
+{"id":114,"sks":["beb7c4ecca70610aa24f198b4fd26ee1e0981a39ab7d9649e6e197241976ab8e","b509f7710a3752af6546b22cddde7b20c07b0aecc1e0450313dc1930e322b4f2"],"key_sort_input":null,"q":"03937e6e45bb127929d355ea06fcd1b05f273872e96d2fa968a8df7d35620d2cd2","tweaks":[{"xonly":"000000000000000000000000000000000000000000000000000000000000005c"}],"tweak_error":null,"aggpk":"02c26e4141831f5d8334e20b5abe92dd45da19bc2b612ae52ce3aa23e7979f87ed","gacc_neg":true,"msg":"a74e825b295c4f0a6c6b6268f15b18b80b73ae8aa408949a3c8c99da6408c351","aggnonce":"03d6e16720e6b313230bc541ff9cbf137b57afc65b1e6ee9715939beb255fec3ba000000000000000000000000000000000000000000000000000000000000000000","signers":[{"nonce":{"rand":"f772e4b5eb6759426b6267747095db65646925d5afb69bfb5caac8deea5a3205","bind":2,"extra_in":"28700d0363dd3475bdc5b9dfb5"},"pubnonce":"03febf80439b544ad04f97d31dee1a4c768c7f3be0b26a187a7d62e95c9470caa402b92f0b5307a5b5922c095d851e196ca7d8a62fc604fa06e6a27411666c16caef","psig":"6524a643333836659efab8e45a8af1e0a84bb46f295215b7bcae6aed8da17a09"},{"nonce":{"secnonce":"691a19e3fea236b8cddc328db9daedaf66d8cc22782d359968e14b38d8a41ae9fb1899f602fb917ee7ab43586be8f8eb987b425a938643dc458f5bced5014efe03db9fa3bc7ccf05a66241769e1af216229659ceb958db2a3aa04655205ca06c2a"},"pubnonce":"02a5b91ca3cd664a191634eff576b3ec0ce86966050511c510bed58eaa37f0975203b92f0b5307a5b5922c095d851e196ca7d8a62fc604fa06e6a27411666c16caef","psig":"c0494b8d3f0ccfe0d625e129446f1954693217c915c4ba206e8840870b607383"}],"sig":"d6e16720e6b313230bc541ff9cbf137b57afc65b1e6ee9715939beb255fec3ba42ea4301f3d18f92eea83feeec950986f9e9ea2c28160d87ef92d5cb85c339e8","sig_valid":true,"bad_verify":[{"kind":"wrong_msg","signer":1,"other":null,"expected":false}]},
+{"id":115,"sks":["74a3f13c0abbcf50441643a5f55c57f108f6610b9dd4e7ac718809d36b0a9052"],"key_sort_input":null,"q":null,"tweaks":[],"tweak_error":null,"aggpk":"0397d348c582fdfb3db6b3256081521fab9ebde0b8425ec9446394680469ede1f1","gacc_neg":false,"msg":"ef645b8c06d4f138073fff32d417f7854730e7683f3e88fb26e0d15209e8966e936fc1c8719d1a40dca64dbab0889bd5b6a162159a40f0f78a6a09","aggnonce":"038d3acbaa0c238605dac5ede9be4ce0dcf36ab774a11bc2818e56157c9b04bf19026a5ff9b7e3d4753bb21f8bea9c7e06757f9bdcbc523586b4bf07ce0eeeeaabd1","signers":[{"nonce":{"rand":"4f12a34b594213b5521a001711d7b129edf8607203fd2fc53498f2db469cf4ba","bind":7,"extra_in":"9460169a9f960d9cdf01a16e69c469"},"pubnonce":"038d3acbaa0c238605dac5ede9be4ce0dcf36ab774a11bc2818e56157c9b04bf19026a5ff9b7e3d4753bb21f8bea9c7e06757f9bdcbc523586b4bf07ce0eeeeaabd1","psig":"2efecb1ccb2c127abfc3d74d708fb2e3383fc145e57aa5cd47672edb1faffe1d"}],"sig":"59221b13b1c3092b2c452baa3db0503d3312553a149f79ef5a9f00dc27f171b82efecb1ccb2c127abfc3d74d708fb2e3383fc145e57aa5cd47672edb1faffe1d","sig_valid":true,"bad_verify":[{"kind":"zero","signer":0,"other":null,"expected":false}]},
+{"id":116,"sks":["e16dd075c23f91e3567d062a05a4bfb2104c5881ca0cd5b4972b3a55cad0a778","e16dd075c23f91e3567d062a05a4bfb2104c5881ca0cd5b4972b3a55cad0a778"],"key_sort_input":["03a9c02bc95cb6edb0cbba165fb16380089128b2a18fae364151147d43d5d5eff5","03a9c02bc95cb6edb0cbba165fb16380089128b2a18fae364151147d43d5d5eff5"],"q":null,"tweaks":[],"tweak_error":null,"aggpk":"02093c6d1a8277559b73af6d8acf1e6b219899d81f96df6ba57645ffa13ffc4ea1","gacc_neg":false,"msg":"98ca58013d1e4da5722afdc2ae8f953e1320e91d0eb78a0b93f3012279eb5449535e00bd6e6a8ee0c4c81e51d9134adc4d961424b7cbf1800f","aggnonce":"03a9595bf5193ede3f8876023d16c8cc1bb0e35eacedbd092b8c559f646813d969020e5f84818663cfb0f729d87e39b63925446acfd6dcf9b0e76410da9e176fc7d9","signers":[{"nonce":{"rand":"3462f068fac0ce4c9824cc251ada5395da45112c0dff9564acf89c5a378ca03f","bind":4,"extra_in":null},"pubnonce":"03962d38732867bb1bd06555b5594dd3fa2f5f8300569eb80fe5521313f397704203061f38adf80b09ec01c3ac8ca6919085a766e7deb9b5f456154beb5ae12b5201","psig":"a5713314753410831ff367431b74ba13d21a8044b550be3445f55242bcd0529c"},{"nonce":{"rand":"0efe50b9fe7fa2debf081456e656b3c749ef9153e2433f73a1bc6659c6411172","bind":5,"extra_in":null},"pubnonce":"02fa78f0618c0efacd22520f8d446faaf809bbce87c41513a15ee32c16e15265d20394a79fa68cd5187e70a6d87173c5f1d2524c6c6083db2545d044d88dee10efa0","psig":"77c9b050a274c06883deb16a0d1e1f1b5fa79d4fbe9f2c5366385de65a58bf06"}],"sig":"1c711ccc5db21b1b280de7fa7c3fb1420b73bc29f732dda76463ac013a05fd191d3ae36517a8d0eba3d218ad2892d930771340adc4a74a4bec5b519c46f2d061","sig_valid":true,"bad_verify":[{"kind":"wrong_signer","signer":1,"other":0,"expected":false}]},
+{"id":117,"sks":["821706e863141d92325c15c89fa2ab3b3954e00dd0af4cc4b59b4f36cd63e080","b903e85f4c877796ebd8fb790064040aa89b9529e55a9f87f1093c010a8c2d01","b6dd2c03cb1d69a8279141e0c40b98f2e1fd6b67b0648f53775db873b3dbac64"],"key_sort_input":null,"q":"0344299c470f6f972872dce2c4d30b4695760d3692db11ae1130ae8382ccef9614","tweaks":[{"xonly":"bcba8a5d637c0d02d9f8d6139bf0655425cb5d7efcf7ce59bdbbc7fc2590aabf"}],"tweak_error":null,"aggpk":"03cc4a821a61683d9b4213fe5abf05a019707bd1896dcd9e2a82b794a15e90e7e9","gacc_neg":true,"msg":"7c64c7e7994f3ee1611ea9f8dacde3352bf5764c390c438f0f90d9c0e70404f04f59ee42fd17bb508be2e01179856b9b6f13501a","aggnonce":"0327d4a47db8f206ee42e27b09250b423a1aa309c5f95a5422d2f707fc85652454024a5bb1dc4747aadd11503e8332a05d11ba2233caad69449db691742d0551098b","signers":[{"nonce":{"rand":"87d513e4ed62ba9c10d60baa1f08ae52e9fc608ae334d2b6ceaf375c0854f757","bind":1,"extra_in":""},"pubnonce":"02d377408a484290da44893996752203dd022801b43a88778ed5602ccf077186aa024fc2914f1c0b55a404b036e1e6bc1532def5a3b5d2cc9451dd6b19c8790fb22e","psig":"12ee31aba340153f3de4dda6edb86a2d17fdae91cc8b02d744765c49bbcd6206"},{"nonce":{"rand":"ac068449188d5f8c82b0829315f39fe2b3b2e78e0a1925ab287b163919165755","bind":2,"extra_in":""},"pubnonce":"028d1da16df739047b7f3cf75e99a76ddb79cd4494c7942d17da2c1b7033a9a3b102863865fac63a2ffab9ea056598e6894da844472400e16c2ef3147ed93b8bdad2","psig":"5dfd413717abf9493fcca3aa2a0e05857353ec0f2c13874a46f6ac4281fe0a0b"},{"nonce":{"det_rand":null},"pubnonce":"02d5aba80603fe9daa640e9002eb15fb2a98e3d4f770644532792143078798b18c026b2f298c95a76dfc2fd54f28a1f77612a7cd1749c0932deb4bf45f78fd0d355f","psig":"c1527d162764fe862373b2b4a99c5b669d05a98d8aa153c5e1c61664e570cb96"}],"sig":"f293d9a01b8f7f41d3b7d7481a99ef86cd7f0d867a844492c303a79630de9b5d9fd6125bcedff51048e885728e005b9a4ec4f810ba20854889ba2ea55ffa0d32","sig_valid":true,"bad_verify":[{"kind":"wrong_signer","signer":1,"other":0,"expected":false}]},
+{"id":118,"sks":["5d4d1b750a3191a0b23b117fd2ca7fbb51b8624a59e787bf0e63a1be678725df","db51a101ae8b1209f7398ec57528dc811a1b02b463951000ba3bb1bb02082114","91c9e03a66c067e8b4845bdc3cc00b1c56050c31046973cf5ba515d235e66f35","228fe63ee453fe68a79ffbfd66f816a51d3b3a769e79eff3eb7970e4d3499b06","2152f6c7e112e5a3274d6539cfc6faae549b62eff003d57c30db40906c91dc12","987787409c828fcfb39abd07de5ec699f0b4f7ba5f4754cc10f7c643b908eee2","92fe01fb46214a3ca2b596b5e609cfcf7409179c5b8305ee4059b4c17cb4ffe5","15c81fecc995b18326224edfb69352a70ada2cdb9c6e5a86dbd21d7de9536939"],"key_sort_input":null,"q":null,"tweaks":[],"tweak_error":null,"aggpk":"03727427a2ffc8da640580ef89f17bd35266d6ba14f9ad82c67d241fbc3e3ec8f9","gacc_neg":false,"msg":"290f4aacd6370be4a66651c21e6079e01d63b75256b60340ec17302b3ea62014a574c467a1464f9c07f572bec3b66bdf40f9f18f9f801978b8945dbbe539df","aggnonce":"02df550663b3f82ddc26d9d08d07ddcdcebf2cb178726f9ab1031da9c04751bdbc035dfde71e3ba7e21552f2a82c43b7872f19e677db4778467f402ff445284f93a7","signers":[{"nonce":{"rand":"9f43abf08d8b7444af550fbfae1f59b2290418cb4d1977bb3a61db55fc91690f","bind":6,"extra_in":""},"pubnonce":"037622ace2d2071627df05e10fecd84d38e4f851a8d006c622342f7e5bac01197202ee6aa275baf58ac6bb1ec70a94d6f3741b358b95c8b776173c89129c75030a9a","psig":"2b9c7b83401203f6768a732abd4383ebf8227a50d6db370feb6f555690dde32e"},{"nonce":{"rand":"dd1c408871319b7de1560221cf75ed93a857f4c7438d8045ed6ed915d8f00e69","bind":7,"extra_in":""},"pubnonce":"033643cda41c27d72b77681b806f5778e42e9ea61d4a301867c30638e0d03a4f9803312512b6d71f9d4c589aeb03f7b6956e007cbaaf048b0b3755d9a1be1e329c8f","psig":"bfd53e512250318922f2813a697a13b0042468b2656d7fbdf84f25607c50301a"},{"nonce":{"rand":"c091d3c2de4cdb50bc41245b5a606fd0a66c09038c7c0adbf1abdebc8c4fd92c","bind":0,"extra_in":"d952b6d6c520963a"},"pubnonce":"02b3b5b99ab7e5642f3b1342e06c265de8641d15bbbd0a95f41d0044b0d61bc3d602f0b1264a0a27ce81086bb50825c919d7735c6b6abbd18f5419474e76a748fc31","psig":"2e20eb7d46c1c3a4a60080791e04402780c1653f8bd12fdfa3e31ad2c567be7c"},{"nonce":{"rand":"490a3e043be896ead0645d3acb05997444c15fae02ed465e2289d760c3e83a23","bind":1,"extra_in":"e654322c74a5cede0e3372"},"pubnonce":"037b8a18b2cd12f709c2cdc19ff53a33194e2ba7da286d297a67b73a770bd82c6202804c7da7336982d959f1d1135cf24c01ea1af508b60bc74596d17e28e0375c91","psig":"d3199817852f1a77d29f907919f78ea63f740dbf2de8ac85baf7e855d491d015"},{"nonce":{"rand":"9768fe96a1b447053fefb2faa23c7d31e07fe62b1210bac9a3804d4aebd62baf","bind":2,"extra_in":"5f7d88e4208473c1"},"pubnonce":"022c624f3f0bd90fabff0dba25f08072102925f4c85ba076cfc02a8d400b591396032c6eee927fca9e7ef6585ba634643f5d71b90e41ff36a7421a758acab29ed7bc","psig":"83f371e5ca7a519cc1bc9889f0fe13e3c294039efb02eeb5af9e9116b4dd25ee"},{"nonce":{"rand":"dff132b2defddc80d566ad4192284b683946e3783f26dc47b45be54ec3e687cb","bind":3,"extra_in":"91ff9cae5b01de20e667cc9a951b"},"pubnonce":"022fbbdd46a2ba390551b7873f8eca0b7bbb0f064b50829ef26cac1affb025476d02b1da27ca008637420557ec5087967254e08f45d18c7af2a54f6225fedd31eeca","psig":"21e6cab57f97e096a5a68aea3369fe22cd91f99b1d99299566c31ea4d866079a"},{"nonce":{"rand":"1eb195abbf641cb1f974fdc24cd1a12af859ca7d50cb797385d36c3cafc1fd59","bind":4,"extra_in":"911d375d70e955ef1d59d999"},"pubnonce":"02f8883cde500436a71537473de15731d3affa00d744d3d2bfc44c320622c4067f02b4578ee0f3ae2ae17112137e0e1853d0b1dcd600741631d8573d1cbe2c58a184","psig":"3ea18fdfada959c3f9cde465aa349f195574e411cd4f0af4e4ee46cae499bcae"},{"nonce":{"rand":"a1181f6df4afbead69413fb80dfdbb081ab6b50ff7af64ab408dc1082f2deb59","bind":5,"extra_in":"e3c43c386aab6ef8b3841b9f8068"},"pubnonce":"0379e5b44139bd7c1a6ca9d4119a0d11f01df295ce21dfbbc6d5c6f57691d3b02902e53d26ff15e7ef54a835d40597b9ed896a52a0920bfb2666449b09c3afcbdd39","psig":"8805b4d2f5bf6d0d42ca5edd24573942a3e139e74e80c425451e054004e100da"}],"sig":"d273c1cce9782e0fcb45e45fee89b5ed9b662dc8dd038dcd47075fcb9bb0176d592dbeb71bce0ca0b6186c0e51ad50d015ebda811c9499e543905dffad42c926","sig_valid":true,"bad_verify":[{"kind":"swapped_nonces","signer":0,"other":3,"expected":false}]},
+{"id":119,"sks":["d90bab494b3de2d09138caa2e92692b1ff942c6c2f674e6f4a873bccd57bd4fc","4ae71cbed8e65af6803fb7d5ea2ffae1e05174b5ac9cb8b429a8289090689bc7"],"key_sort_input":null,"q":"028157b42a3f5167dfeb93ecb18298aa4e0b6fe1fac0ad40b55cf47984160ef647","tweaks":[{"xonly":"fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"}],"tweak_error":null,"aggpk":"0278fdf313645cf90bf07c67804fc55cdaa498d4a4e91696d8528665db57627358","gacc_neg":false,"msg":"6fb4d48b54df9984839fc0d2eb651853caaab6d6b71d2981a72c8598b6fae9df","aggnonce":"033e20e6662fb176ff69512cc4c74bf5e14a81e460b073710cf1e8954848b06ccb0259d37efd032c5f2341a222d7fc42911a456b017152fbf23b9e320e66121fb6db","signers":[{"nonce":{"rand":"5616955ae861004e75a7e4dd616840560ee4d3bdb9fa2e08dc6224b1292583f4","bind":3,"extra_in":"fd98eb1c8c1417ad6c66b85b5837"},"pubnonce":"0309e795e883d53154c193fed734c7745d69ae5a8ef1a654b8e0645061de08e6e302b5e20a5c1775a9b4a33292c440cebdecec0492ae6f031f90ab645a5e9ed8054a","psig":"39f6f8f0509f9441f432f198366dad5fb11bafb21feab3ae5a9b8be584aa6da6"},{"nonce":{"rand":"aa807803ecc80c603df7d751ec9fb8ee1755b251887a0880ff32a87cbc9e3cb8","bind":4,"extra_in":"2a024c1f72d9d358fc024b"},"pubnonce":"035ade837940ac02d41fcbf0d79137eb644a72fdc34e146c5c6c6dde1449afbf3c03af8d75d72e8c3e76438f3bcd2dfa6002cecfed3fd9f95b6ec579b1a3768470c3","psig":"ee37b0dc8cf7810d0a779bbb04caa9d04c2807800b115d466df0f8904df61331"}],"sig":"d5f389b7975222420158b13d557bd22626f7573a05bd3b8f138d31339933ad7729c48a8b0827938d5b25c8a464d4d6f351c37e57e344b16ec23864d9308b1b31","sig_valid":true,"bad_verify":[{"kind":"swapped_nonces","signer":0,"other":1,"expected":false}]},
+{"id":120,"sks":["cad52360d88110296fbbae124e1034998bf94501e582250285db04fa448cebec"],"key_sort_input":null,"q":"03ec693512bd23d2244872d65d53b76a93982eedb9a83938b497b80bb2d9f95d11","tweaks":[{"xonly":"fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"}],"tweak_error":null,"aggpk":"021e5bdd55ffb1631edc7e73d7b8bde8004f1cae2cbf1332e8297cbaab45756909","gacc_neg":true,"msg":"","aggnonce":"02202a189ccf748ed30cf406d17cb3ca927381d211cddecadd2abcb2addaf4fbb102a576ac0248cf8d6543fdf5eb6eb0c9f1d5baf974943a315c8fbe031a85c19d15","signers":[{"nonce":{"rand":"224194c0e951fe616adb7d4c258dec575a485c7e1f6a88b1448eb0ff6b5feeb2","bind":0,"extra_in":null},"pubnonce":"02202a189ccf748ed30cf406d17cb3ca927381d211cddecadd2abcb2addaf4fbb102a576ac0248cf8d6543fdf5eb6eb0c9f1d5baf974943a315c8fbe031a85c19d15","psig":"a892ac032855f6d8a698d9a100a3c92ae04f433106eb8fb7d452856a117d35b4"}],"sig":"82ce25615b68ce41b366746787165f7f42e0ccf89e61ec2e6088e7440e7e6000d22e6820db9330b4192765a6dab745677bcf4801652e551a718267c2f6c0a690","sig_valid":true,"bad_verify":[{"kind":"plus_one","signer":0,"other":null,"expected":false}]},
+{"id":121,"sks":["0e79072562de36fadb8418056120cb67e5074154ca9be6347e2c6283ddc65c00","5b55744c2fd016ff13ae74b371764afd53961308f247d269ebb986f71f434ebc"],"key_sort_input":["033e5aac1bca9640012e6888ab66d4c56e47071169634fefeea0d40ebc38ff61e6","02f3befe166988844f38f5b9a853a87015f1d9cef2babb2955983218bc1fdf87f4"],"q":"0258d0cc4c6ff6242dc627dc60f66c68614b63f265236b317c987b76e2ee531bca","tweaks":[{"xonly":"fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"}],"tweak_error":null,"aggpk":"02de68e3e68344b3c475dea5c2b779dddc03b67a50ad8828de1979df7015092a11","gacc_neg":false,"msg":"23f237081ab44ccf3fb320b35cca04a1ed05db6788c2178f1104e4dc17b5e1767fd4d63f0ee30392b7a219ad0816057b76744aab90982161a7a0b6955274d19a71c4a7514a07c00ec69a7a6913b173633c73464e73ddb340264b99555e7cdfdb7f2feb20e0266d7f7ab31af1c712d54f05c3b277212308073bed25b9670ce9d28d17df353adca9e0ae7a8ecc0b4e480ec8e8c9c2be65abf81830f526ff94e81c39040d67f8e712612b26f06925a3db0513802929c2f4c227e2c489bff08ea4fd955de6822a0835e7d1f8179a298aaad2dcfcd9b8d7099f52d6b015b7b50905d3aa62ef8c29f86f508513fed63e758275311c41688f0bb785a0e88aeba7bc9652e4503a2d","aggnonce":"03ae46b1cd4d16a32ac3fb3ab6f8817ba8f0a33f0fbef8b9d4764c4ed827f9a2f5022feb4eb22a95f6b34c957d0ca54f50adbf5912c4c761f2e516705bf67d92c46b","signers":[{"nonce":{"rand":"b97e79c32f46983c9a0fc274f68bbd4690a5103360b43c876d961ef8c196861c","bind":5,"extra_in":null},"pubnonce":"039872b754db569c89c3719fb25637a6295785a72cb442b52570fc429b9394f770025a5eb5b7c2ccdfc48b18de14ac051bdd4baa1e2b4a7e102d7b6b38d5d1906237","psig":"f826d842dc6917adbc3cae84e5c4df87b034568aafb39939eef4e3208756d30c"},{"nonce":{"rand":"a86061d1e1e12debda65840487427565b6d03a1263ce623b8bf08ec17f8de2fa","bind":6,"extra_in":null},"pubnonce":"03241608e58317e421ec7eee4b5ce0d19426a4b6a204cfdad5ee269f57fbe3a56e0286d4a9c72e41eb21c06b2e208e9058c94a0d3bb1a0ce3287df10831d142079d2","psig":"df396b1536c8d81af19f5667102f43a31ef552e41d710ca10af0b285f6af0e5f"}],"sig":"5dfcba1d6fb8ca91c7b84596d96ef41682f609c2f8b58068724890584e3e1e61bfafbac12a36d368d2d4e48e262a69d837f61d99919713933c10361a27d3a9cf","sig_valid":true,"bad_verify":[{"kind":"plus_one","signer":1,"other":null,"expected":false}]},
+{"id":122,"sks":["f1d0e66eb9e81e63764514d70f362727c08eeb9940b18183104f551579a91cfb","51564990dc87549aefe78fb233cf20677265198874ebd48e7ac2544ccf70fc4c"],"key_sort_input":null,"q":"025674c835e77a6bc845c43e04aaa494052addfae6feac8cf74b824bc9c09988ac","tweaks":[{"plain":"d83266986667a287c1e55ed8130999e22d6fb89c6ca524bd300cd7e26d961c9c"},{"xonly":"0000000000000000000000000000000000000000000000000000000000000000"},{"xonly":"fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"},{"plain":"0000000000000000000000000000000000000000000000000000000000000385"}],"tweak_error":null,"aggpk":"03ae5e12e1c3fd552e664953e8aae50202b89d6df4e51abc5fb63014a7b9b1ad28","gacc_neg":false,"msg":"c6b44d658760b57656707dea2c7ecc5fcad3c9e61641056279f8bf417b818305","aggnonce":"0397db37870275f74c6ba1abd82d6eab79eb6c18962cadbc0649c0de821a432461038657a3755bb1770525b26c609f6c4d06901f54e194514b33357c15cc439922a6","signers":[{"nonce":{"rand":"73ef94fedbf495b466ea3969f16f552764c49f9a00640f2139ebf909aa53b686","bind":2,"extra_in":""},"pubnonce":"03a1128fdfd9a1c95040a83f59a8014aade45c7b47b4784fab286076f991282ef203d88fa37abbe757d80622dbf47105d0b8594ba572f4fdc0567c3c52321771ebb7","psig":"530a31d1fd47f777ec679ae1382bce63a42a2f55a46dbb8d1060fed440a027b4"},{"nonce":{"rand":"e589fd1c648e73438ec0c04a9b76c3183e8db67dda937334ee587f2539dca883","bind":3,"extra_in":""},"pubnonce":"036e9e57ed860d2ec0e1225587243d685e3854ea188af4e3b0a282411003f7cac8029ba20ba2f1cb816d6536defe595de3b78fbbd1163f9013fa4f8e521c9cc2fc1b","psig":"ed9d27916ff05cb811d63d28c7a4fc00880125d1c5a7b56a5ad641daa4cb0b96"}],"sig":"9a6ba7499e38d2bd3f1ff667e763411485de5652c04f1429f03d717c7ce3acc9a8b6398c0fd5e529d780325d61232767f1ee4df0c191ca6a4c474dc67febe57f","sig_valid":true,"bad_verify":[{"kind":"zero","signer":1,"other":null,"expected":false}]},
+{"id":123,"sks":["7fb71a06649e961e4b084a9bc043eaadef0ef3fce211747eee57965b5cc82899","5090f5efcbf28bf8eba8ac17bbd89e14774da022656506e47d60e20d8203d675","9c066632ef2d66dbaa41969f641233cff7f28bb50e72ce1bd117f7c5246034ef"],"key_sort_input":null,"q":"026be54f29168ae2f9208057fbfedc103cdd82c23275927d71e2000f97310e8fb9","tweaks":[{"xonly":"61cdcb31381f74d86c4b6d26eee87ecacb7f13d000833c0ba41484bc4958f131"}],"tweak_error":null,"aggpk":"036168f24f2bd131718f5280bac8d7fa8cbd9b788318851e52e67c17f12ba1b21a","gacc_neg":false,"msg":"54710f548292d5c1cb6ff9c1ec09996aac76feaba35ab0d99a121dd862410df3","aggnonce":"034f67a0115a2d346d71efb6a5261b15b32b3ade050b807da2a1e5366b519f86d6027c558f6b44d7fccae5a16f3d155ed29edebc1faeeb2c2877898b624e7797d850","signers":[{"nonce":{"rand":"0cf76633e931286c13960c198e7cffd48a8024c3296ff0b2190286968116e999","bind":7,"extra_in":""},"pubnonce":"031040ebcb16551080b1bd06f39ce489ef347b5167a6f84fa829a1dc6b40870a9c02e4af5972fe6c7a05fc0597dfe7eee56020543cfb2423e68f8da26079d010a3bd","psig":"076ee9d62e214c943673781675cd2f97693864cde369a381cab1bd65500c048d"},{"nonce":{"rand":"88b3e7fd1ff3fb676171d5bc59074987180247190b1d5a2b1579f22d3d34d087","bind":0,"extra_in":"7ee0e7938d080f33d85e63a9a572"},"pubnonce":"023b3ede8f8bbbb72b557b6424cc08b2029b7dfe42b478d323febdb1196e27c5f50262fd1ca758a6f0334790482ddca8427ee40d2266f4852314f0dc83f6df8790cb","psig":"bfb22b554ab2d50fb519c9db168b44d9cb0cad9e7c97ae057ddc337f02713a41"},{"nonce":{"det_rand":"02034d89fc8614918400cc4730297d0e6265699f0b1421f62b5438dedbf5077a"},"pubnonce":"0357f535527e4db73407f12d243c5c50caae140867b752ec3abd775addda3b61f10317a3365f287a7a0e53338f9dd7286e6ec8bf04c1dcf99a07efa05b20bc4256e2","psig":"f3506bed9301b7207850201568313dbd054b85638d0ab8b2b1fa3b71ae483a75"}],"sig":"f998d36a0c69ce97329ec0137700802d7d13b11a903061deab4407b1aab598a151d83e29b5e85bab145a9269a030261d875fa466989bc0c7246a36a71e579e26","sig_valid":true,"bad_verify":[{"kind":"zero","signer":2,"other":null,"expected":false}]},
+{"id":124,"sks":["8d82bea464fb1d86d55b96383e38bcb60b8fba8d3a101ad3be3d6fac2bae3a81"],"key_sort_input":null,"q":"03e13a61d538cfb92bc89ec7b7002205cb35c416d65a5b4c3cf39a730ed6d6a3ad","tweaks":[{"xonly":"fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"}],"tweak_error":null,"aggpk":"03faf4243f0078c6b9b8ce7288b6d6e5c8f2d88071e59563fbe6726f2c390a1742","gacc_neg":true,"msg":"6a95452a612d977d1083564cae308d8cbfef02170a1c0f975826b9ec9b977e5a","aggnonce":"031cde4c427da04981f1a3d96a17245cb3cfc8bf7873ee9436b878cc44489b5eeb03c248cb17f977082a51d34445e818b01baa7b46bbe471d39c7d8f63a9847c5af8","signers":[{"nonce":{"rand":"4e3fb900aba433a944693b837e50ec824dc6d4bdb6444fe0375ca60b3648abb2","bind":4,"extra_in":"078080b009d2f67faa"},"pubnonce":"031cde4c427da04981f1a3d96a17245cb3cfc8bf7873ee9436b878cc44489b5eeb03c248cb17f977082a51d34445e818b01baa7b46bbe471d39c7d8f63a9847c5af8","psig":"ca8562bd7bd877ffb40f2b695d6f388426acbe20e97a0e49540f85be6d60ae3c"}],"sig":"cbbfb810be8c18a1738d608949d314d889b9a9e00a27f306b02f86684c1d1f528e6f8c707a8b775433db198857e6491c6ee8fb25939acc45921575e06e574608","sig_valid":true,"bad_verify":[{"kind":"out_of_range","signer":0,"other":null,"expected":false}]},
+{"id":125,"sks":["a2a6e0626fa807423f7b5418782ecaf1606a14a4a61a5b8bd1e4b75097775dda","6f5f862c07b1933396c910663dc0ff70805cff426234f11d174af8e72f389ca9"],"key_sort_input":null,"q":"02ad8c968167342e5985ef49a4d4b7374abb0b0e7db9873b50ee916d8aa15fb370","tweaks":[{"taproot":null}],"tweak_error":null,"aggpk":"02fccde3e9ccc6ce56f2627a6430f91807ffd9951eb949aa0c11e1be140a229ec1","gacc_neg":false,"msg":"2351f69f74b7dd5bf77c1e65fd845fd182c50fdd9084124ee841b1ffa6b3ecd7","aggnonce":"000000000000000000000000000000000000000000000000000000000000000000037a392126fba28cea8f0ad938130d6a070b607c7d04b136f8c90e530bb3013368","signers":[{"nonce":{"rand":"42da65b675206a699d4638ca571b68501eff3fed6b1f00ec91c37d4c78daeb9b","bind":1,"extra_in":null},"pubnonce":"029e59c0e439beeac8dde004dea997ad07703825ddfe276e681968497c47e02e0302486079b95a70697ee6c919a2d099fea03e34db46f2ba4c361da9e3a56a0244e1","psig":"35584dd9b808cd8abb57862f17b502ec66b841e18df080d5fff322641d9720cb"},{"nonce":{"secnonce":"8df343e104ef522d09e78ead7247dc2923ec04f87d8be149085c8f3603cbb36963c220c9dcdfb6da2b165e4cb23300d7248ae975b7f4ca19a364348d6946a58802c2567963a945bcb96541282a6d3aa75af34d943361fcd3540327ce687bb075b8"},"pubnonce":"039e59c0e439beeac8dde004dea997ad07703825ddfe276e681968497c47e02e0303c905cb54b6ab8c9961dc9a723d65958b4116b2c816205b6f8341a476d9f82569","psig":"3d2636bfa00e3c96db93f64b5ce6018a304f2fbaf1b99748843fb23678162064"}],"sig":"4afcfcf6b39ccf7d63603b717dd291fbf518f4e92140181991042858f1ba4edb3087c298a85c6f57d52275802970f7855b1cbbf9d686e623a4b10075a041bdb3","sig_valid":true,"bad_verify":[{"kind":"out_of_range","signer":1,"other":null,"expected":false}]},
+{"id":126,"sks":["ca8ad9a403d40a2ef5845ff8c303de946a0bc343427506171d0b25fbad1b936e","a5729cb2abaa56a95ab28460ca2a42fac7f65e21f19bc54096f03eea30b73b43","6cc7e191ae9aae85a15d72d8618404095938d36f26f5b185c7e3369c384e320f","b72687e49ba95ed486a1c9f0e067f18f9ed8fc40a07be59b11659c5772279910"],"key_sort_input":["0287818fc42c49faa576b2ece2d1e83133a4a5fd647fb93321d946fa4dbadce132","029785b00b93d2456a2dd82b8f063471655cf6bae5baa57c46b59a04216ff5fed9","029410cf238b5a189603e1e07e65245c48f0463eb6383289df7b949d4f68826589","03d9602d3e13866ab9dfbe4ea87623a771e687cb6a465cd3f3712669eaaef93151"],"q":"028cb4a1c41b6f27d4799c7ee23e5de5ef8491997b54f6ff4200506a06f0720dda","tweaks":[{"xonly":"9f887bdd54816f28d9e03116274920c2c74e495e99e6b5b25a9aa6174a034849"},{"xonly":"fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"},{"taproot":"f8405a52f89c686d4be71484f5b4db684e99b135a4d368c50daa2a4e8b9989ff"},{"xonly":"942bff2853c83847f278355f21b76f32184eb8e97377e3b91bc8509779277a5d"}],"tweak_error":null,"aggpk":"020ff344d1178f8d649c77b6afac608d9e12a1ed0d770ee182d46d6c1fedaa719d","gacc_neg":true,"msg":"dd7512faf87a80e084ce450432e9bf7b395bfe02f428bb4540","aggnonce":"02d81b4e5be581d5bad3e0b797ba4d081e09fcc67de5851153c29a1527a74af476000000000000000000000000000000000000000000000000000000000000000000","signers":[{"nonce":{"rand":"4a654a9f0f5863b55dbbb963b70f826ad890e309ed1de2bb7be9f994a4654079","bind":6,"extra_in":null},"pubnonce":"026a5b05c00a2aa1efe3767e6e41be1b11a2e2fc6d3d76315d46c0e2ec6523122d0320733978e582ce2374ff40665ecdcb6cf5b2d13ea63e84dfe73e053f6eb9117a","psig":"b02674c36754d370340c1896f3660a73c923110e7cd756735038bf7f26f23ca7"},{"nonce":{"rand":"4d55ce595fa6b088da8be56c9dc42b0658652293de8c6788cd70aa9d5225a565","bind":7,"extra_in":null},"pubnonce":"02789ab4ab23d73ac03bcec458024dba5954713552c2861904fb4709b14773f1b2033ff21cd8b5c0e45d69ec06f0fa3e7fee33773bfa1c44416e273019e4bea12026","psig":"7496fdce9ba51b8efb1aff73b5a4f5dabf25f4d3dc7572c38586f075bd511bdb"},{"nonce":{"rand":"44eca3afb307a7ca2335336a8d92255a2d71069407e19207f33aa0ccda9a135f","bind":0,"extra_in":""},"pubnonce":"0302791ee9851ecf3209aa6a9bbff9e8c981d28248c960c88373cf6eaad8828ad80374919d514f27447e638aa0648b3495abdf67243c32bff76b5fce35e75431e810","psig":"201b247e3ca72353906239b1f0d8b2bdb04cd356ca3ebe19aa73893c5893c208"},{"nonce":{"secnonce":"78416d43d45dab9dbb818c478e6bb560ca43eecc81942766e9eab1a214df2c41d01aecae5c3295a467d5b91b2962014898cbfff0a372e96c5804449af15c433603d9602d3e13866ab9dfbe4ea87623a771e687cb6a465cd3f3712669eaaef93151"},"pubnonce":"03d0cf4dabeab9d8daea7c1b20f0c26a70ddeb040d29c89262b6b627188e40b87703c2d97688ebea92e20849b19fd99e821a86b78ad00fa8b5abd9cd06ecd62f34e9","psig":"0a83211403104595be5db06ea8dfacfb471918ceb541dff1c9a1645686973838"}],"sig":"d81b4e5be581d5bad3e0b797ba4d081e09fcc67de5851153c29a1527a74af47684f4eda32154745cea10adc34b822679fc8335272e5d64d215d6679c285bfbf7","sig_valid":true,"bad_verify":[{"kind":"wrong_msg","signer":3,"other":null,"expected":false}]},
+{"id":127,"sks":["cfbfe19e084ac639f19220c77406dcfd100bc3447425c57711033e0e9e64d3a8","5ae0cdc4711e6849eab07c2b546957ddd81ce40f2a1b01335516a7fdb9f53ad9"],"key_sort_input":null,"q":"03d39d6fd80f250c62477f28b1ee79295a8fe28fc1f3bb8d1fd8b38d2b8765efa5","tweaks":[{"xonly":"4b1153f5db8c2c58c2c10783c8b575b6c9a6c9579c8fd642050017f9bcff5313"},{"plain":"0000000000000000000000000000000000000000000000000000000000000102"},{"taproot":null},{"xonly":"fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"}],"tweak_error":null,"aggpk":"0360643f2315bac4f8e99bdedc58f42aa269d9ad0e1eac75fba08d7e4484b8fb82","gacc_neg":true,"msg":"1690852d8500d275dbb51c4f5eedfdd8e2bf5bb9c9b49e56c966192fa0e7af3ff6a26597","aggnonce":"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","signers":[{"nonce":{"rand":"c1a7a253a69d09eb9afb26338750458892ade6682dd491cf2812e5762110a7ce","bind":3,"extra_in":""},"pubnonce":"032c29229b3db24f7c1199fb5e34a8c491042d146c93d2950a0d3f0a7776cf000b0296e6b6abc4af5cab80d6c755ba899deb8114fff845f85adfae9251224f6336f5","psig":"f2f73ed879bfbf1205ea2814a5bd257e9b681efeba7592a5c9896f697275b231"},{"nonce":{"secnonce":"428c69693b9275fa6a665b2834aebdfca49978608f36a48faaf49565f05aae2bb216ae894436dfa9f8f297f78cda64369868dcebbad44e692df0ca08f0a450c302b31bc2795d12c4bb1650b6368187f793f49812a1b99ef89244a267ade502342f"},"pubnonce":"022c29229b3db24f7c1199fb5e34a8c491042d146c93d2950a0d3f0a7776cf000b0396e6b6abc4af5cab80d6c755ba899deb8114fff845f85adfae9251224f6336f5","psig":"fbaffaefe2b08290ef7af967b2bb899123939452e23b868709208cab93658069"}],"sig":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798006c40ed45b66ea3eeff20aa4d83ad198525f865faf91537886222bc61c3fd07","sig_valid":false,"bad_verify":[{"kind":"wrong_msg","signer":0,"other":null,"expected":false}]},
+{"id":128,"sks":["a3f1732b93ee806ce6e016a343219c4be1ba47a8e65a92a038f650b5d28d4c72","39a17ae0d0a5fec111b84eae0f347759704658d78f7f5ccf4b340fbc58ce653a","a3f1732b93ee806ce6e016a343219c4be1ba47a8e65a92a038f650b5d28d4c72"],"key_sort_input":null,"q":null,"tweaks":[],"tweak_error":null,"aggpk":"03eb19415e512513dc9e57a6ba01443ea5f6a133140cc326338a10c2ecb5cb7069","gacc_neg":false,"msg":"500896cd2e2559854fd30e588537b9df12c22fe44b84e57749c94bbd256e0da0efec948e042655a488c25f28a340a636a64653df0f3b204f36a5dbca76d1a3","aggnonce":"03864314dcb9eaed437019976d7125d53382073edf031ca64f2a6fedad440052a2027e7c842593a1f3c8f8b945dbad07c4984cf058ca43580a9c361e420397caf3aa","signers":[{"nonce":{"rand":"49715a6766c135c5dfc531bdb03e59a4b4e392dbe5904a645222639e7c53ac08","bind":0,"extra_in":"b8ad21f90f"},"pubnonce":"020ab2d01fb344f943c596147d8c9f200f89541ad203fb1a2adec9552beee8c84c02a58fc6bd0d0d7cd7817e754df07d0ac50ca035718e5381f5739d8d1c68875561","psig":"8c8bdc2e2e61f8e40377f0667f5ba53d3c4ac75d67efe6abb3b9576309776658"},{"nonce":{"rand":"13f2aebc7f9067400f514574119fd87301b9aff1e82aebe8de31373f4b78354a","bind":1,"extra_in":"f0a52377ac57"},"pubnonce":"02778d8adcfc63b7aeae20f1ce2ff0a0723f3e82f9e9e71baa5b6e88631f7cf86403b69b9d4a86698e4974a364d36be394a2dadbd7a4a857a223474584182f90a88b","psig":"7681b13abd9965caa7bfd6f8e23dbbf69ba7e54516e54b482ce98c9ef0f38ac8"},{"nonce":{"rand":"9de4bddfb338c8515e9665f254c12134398da30d6e431390d9524b3a20c3e72b","bind":2,"extra_in":"af65b019515c"},"pubnonce":"03ad3961228415ee5d465a05c71c8dd3023c3724fdd862eb6101289442fa276865029e2fa29887ba1251279d948592326f647a7f7ed4c64ca3b16f70f97c66ce739c","psig":"4b8d85b4def913519824de1c97fc3c28c26bf8f984ee976d9cdf1c068a2ece79"}],"sig":"f80c33014cc538f5a1c666e35dc5a62bdc43ea190910be5cccd05d7b8279b39e4e9b131dcaf47200435ca57bf9959d5ddfafc8b5547b2925bdafa17bb4637e58","sig_valid":true,"bad_verify":[{"kind":"wrong_signer","signer":0,"other":2,"expected":false}]},
+{"id":129,"sks":["bdcbf70463704b680f40515af0bb0cdeaa66e7ec82052c3ce93fb746a5492d70","94af59ae21acf06ca42515600cc13b6f60a8453faf8de6d1c0fd9814e06c5c7d","9ad91aaeacbfdea7147021b6b8a1032f5cd161e6af1a6041b0030e8f313ccc86","19073ae1e9074c1cf72e15eb2be6162974e92bb8d7cc7a3a16748868131a8a44","56d98079a7e5a26ddb389a34314c3a9ede81a6f0e9fdf51bc2c933f4946f28c5"],"key_sort_input":null,"q":"03f00d0e00982112ad1b636a3e373e7c537428090192cba95718ffa947eae0291f","tweaks":[{"taproot":null}],"tweak_error":null,"aggpk":"030b5b71e0872aab1d96b7d58715da21fec3921178ff5769d0caf639a8d2232883","gacc_neg":true,"msg":"d33d147ef5ce62fd34fecd1d41ccf06c8e1722cc836edb2c944afaaff9eb","aggnonce":"03748363275812082f09585fa3cdc019aa472871ca760113155c78ddf830355dfb02e7c26e18659296963265942f22adbd938dc932a134ae213c07b34214143e7ffb","signers":[{"nonce":{"rand":"06dfe1b2afeddd30936068489cb8d5e34e39a5119f85de48bccd47ccd459a7e1","bind":5,"extra_in":"38aa275e7420804b7f"},"pubnonce":"03db16386feb3bdcc8e99df93a3a972416b85761562267ba74177a428856b0b6e60393c812cb3e1ca90e1e5edd52a36e57b67aaed6759360394c7570f70dcbbb389f","psig":"9aec6b348e2d7b0090b8e12616816b4cb1bdcf9dbbe9b4d9e000b33dc14fd975"},{"nonce":{"rand":"79317ea490d6758ebfb9834fb198b0b6ea5142edf68cdb80ff7d9d7020a5e16d","bind":6,"extra_in":"c014725560"},"pubnonce":"02bb78af44eeb23301bf801c6e64491490a96a8141998cb475481a4bd1b39e7f570252dfdecd11ffdac115b7b17519526f1436cd4248367c74335a8ce252295d6d8f","psig":"098b933955371a4dccc3ed7f9c09d462a8af074dd355064dbabf5ddb7c52095b"},{"nonce":{"rand":"81d4690495a3861591f310776b4726032a8788a783ca682762cc1bad43961cc0","bind":7,"extra_in":"3d88a91ca2"},"pubnonce":"0216c0a6baf6363c91364ac702244ba06c98c1fd781cb761d697ff12551602bfb2031c1379e590a0f7a4b0401c8b250a39530aaf4b6aec3eea3bbcecee302dfc1465","psig":"afd432e6ecf9f4d29d3369a09ba3a05b4ce1f3702304566962254a7e0ee88d8b"},{"nonce":{"rand":"a5fbb965ec13fd4097a1a1b02ecc6bd182a378cec9936f1da513fc0aa285d73f","bind":0,"extra_in":null},"pubnonce":"026caf086bdd7460ac33437c585aac21f5206e26163956ab230375a8e89734d4c1031cf0257ad391dd6d83b568a6363f061dd0bca4595d3314f0f38d1707f3b00bff","psig":"66add922ff269fa60318f6922eafc7ecb4613845b2e8c0e73299bf68340c1504"},{"nonce":{"det_rand":null},"pubnonce":"024846bc09b966fdbb496abce50208eb375446f8e338c96de31dbff6ba37223003024d5ded8d14bcc58f8983b1622f3b1ffd375bb16a1e81ce309d7848309f82687a","psig":"b4aa1a5e6ad1127ea65581fc3aca3d0ddf99d5221fd3606a3a2e766767ccad68"}],"sig":"1ef01a671bdc90817dda93cba141257eb9ec83a2bb0c91c0d82ecfc8affd74e40319ba0b9943deda6c953ff6c52522b0b2ec5f6e7ccc61fb1d5c1ea09a4ffa2e","sig_valid":true,"bad_verify":[{"kind":"wrong_signer","signer":0,"other":1,"expected":false}]},
+{"id":130,"sks":["1279dbd96dbd5cb10c4a2a242923f476fd64fe4a3ef81cb2c44b4c8ea873fbe2"],"key_sort_input":null,"q":"0208ca2ab0c6d363f4d8a652c6317c1941f8444ec6d079384dc5b17878c9f60701","tweaks":[{"plain":"0000000000000000000000000000000000000000000000000000000000000000"},{"taproot":null},{"xonly":"880bc2bf14c8fafad55a15bf73d208ccbbf261a9329eeb6093ae6cecabbc71e4"},{"xonly":"c6d728f5e35885cbb045028d87d46052a83cb2d8f24483787285ef06a8e11ad3"}],"tweak_error":null,"aggpk":"02f82c48a5bf1dd72befa0ea36cb95802774b4283a15ed6139794b6ac4f796948a","gacc_neg":true,"msg":"","aggnonce":"0240b553607073cd0bfc5468a689a487d43313422b8f6141f4a88c6465720c0972034f6f1331fa6e95de7d83c0147e2e2a129b022951177ad63a845bc067f29f0803","signers":[{"nonce":{"rand":"3c55fbb175bacac8508a731308a55338c7eb9ab442114ea03572c4800865d1ea","bind":2,"extra_in":null},"pubnonce":"0240b553607073cd0bfc5468a689a487d43313422b8f6141f4a88c6465720c0972034f6f1331fa6e95de7d83c0147e2e2a129b022951177ad63a845bc067f29f0803","psig":"2a13508525550796dcca35e733e29378372868b6b09ff7f4a2afa55e06e4012e"}],"sig":"883a22a609f33912f38c6f8a05cba97573b6be3f946831ada71d516f9a193f12670f0f8887cb33c7caeae40f27d63e23ae06cbf43a32af98d2c05ed5933679cc","sig_valid":true,"bad_verify":[{"kind":"zero","signer":0,"other":null,"expected":false}]},
+{"id":131,"sks":["a6a6a955d27a225e19b3c5f4f8e943fb9fd4706ca85d79d15b4a38ad9e20d5ab","e7a751b3fc1d198746d697306e391883aad957da2f25c09af8cac27a7f2f4720"],"key_sort_input":["034ee8362955cf533500ac0fcbc24862fce4a11e3c89085829a6f066bae37fe48f","03980c1f5a7f84caaf79681d1ba3842cf022f65646b1e510007147e93ca18e3a86"],"q":"02c9de5dd9887b6b22b592acfaae2518b3511edb01e1aebd34968144385c7d32e6","tweaks":[{"taproot":"fedf53a52cd56e6da5b9365ee4821cb0fe1c0e9a7b078c0f7de8a5e0ab61bcc6"},{"taproot":"548ad2f9fb4b41873268557d466706b58233ef42d97f5d70f46f46319a71cc40"},{"xonly":"0000000000000000000000000000000000000000000000000000000000000000"}],"tweak_error":null,"aggpk":"0224b5bb9ea128f56e2d6fa3d02a25fe24301c485760fa621faf4280b2bf5aaa28","gacc_neg":true,"msg":"5ec81741d8e5d14c67a9cc5c9b670c8cc53709714b4519326ebfa44cc6b706919dcf4c4dad304417a1305d293c49e75a6693d1f5e827a005b259342b98efd5746ac80e9e2fccbafba8779ecdb4305bcb9372cca2fcd877547821e50cdc96b4d58f0be2eaa6074ccf9b73d869b07902a30bd63e59b550500c4e7d76890dffd3f5f54c747a345c9552361a273f1c8eb22ab8047e1eb2416fa42f80d23e532dfecaa5925f6a050b3b2e19161fb1ebf5ec25db2d1578faf0dcb01e4e3c65b5274c649ec8eb4c2392da5e71d5f7c9a5c14d974f2b3552e712e5a8a307e07a94aec3f2b0a8b377a80197d09125169200528bc911faed335164e58b7a489f243a43ccf6a0","aggnonce":"0319d7ae5efa5e2d4a039b5057aa0e30fdfaf20d6b8d26bc2fd5784607dcc4db7a02053f1681fbd2cbf312186f0855e7e75797a7707ad958d9228e8c89d04f174257","signers":[{"nonce":{"rand":"f30aa9dec34372dd416c3e44483140199c898fc611655e5bff0a06dfcd426a16","bind":7,"extra_in":null},"pubnonce":"038c996b2188a72c6c894956105b6ffb20f768ecbda647ab264d15a6d3ff9a215b03b480af9156a94efcef0261041e007e0c5ea2805713a8f144facb8a1427a3c663","psig":"de4f01c30080ea6fc2e0d65e03d93677a34388bb0c97c7f5deb80e5dc4f25ef1"},{"nonce":{"rand":"d1324c7530abf436fcdc5207805e2bc5440199705c57bcfb992a3f46e5972549","bind":0,"extra_in":""},"pubnonce":"02e7e9eb673ab4d423d4cd7847812bc7248b68a5a860b15ea2f18e2af0f9b69ee7020f8a33cfdcf0c6ddb5ad24d7594c1aa44dccd7626cc03ad248ddca4e708dbe74","psig":"d27e962d0d9ade6f1441a81a8d1797b50ed860b0db90581248aafe68534a2037"}],"sig":"e6ce0cf2025428ae13330f7aabaa3563024d4931221140dcf1eff03862eca30d053f145bb17ef408ce6a71c393739756c6fb9d9c394e8fdcbee064a6d1b03d63","sig_valid":true,"bad_verify":[{"kind":"swapped_nonces","signer":0,"other":1,"expected":false}]},
+{"id":132,"sks":["434589cb1dfb302de5047656d054ede1dc30a238340a997420115f1a3ae38dd5","434589cb1dfb302de5047656d054ede1dc30a238340a997420115f1a3ae38dd5","434589cb1dfb302de5047656d054ede1dc30a238340a997420115f1a3ae38dd5"],"key_sort_input":null,"q":"02825bad1c0185fd4f174cc0f7ba4bc8670071e71547da24ab9c490dab42527a95","tweaks":[{"xonly":"fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"},{"plain":"e0a47f9238155d196ce7b235dde1ef6a4481bb3a00ea258d3cfdc9fa604b2cc8"},{"xonly":"f7b44962f7f735dac04d62fa41241333fb78f8151fbe85b56ae7b072bb54179c"},{"xonly":"0000000000000000000000000000000000000000000000000000000000000140"}],"tweak_error":null,"aggpk":"024cf61f99699515e641e9ff7b13cc515872580994018621248c6f319a52545047","gacc_neg":true,"msg":"86a2a9aeb6c1994d08b599f13b0fcb7f43c88e0bf4d8071e9c6b052fe51a4911","aggnonce":"03d623919af86127e2732b5bc466b60ee121ebea32e841c793d9bf6820061c87ed03be522aca664b5afd8359498ed97729444c2864d8dbd8f70c4c8fd175309082d3","signers":[{"nonce":{"rand":"4bbe44dd5ff10306e6f5d68b9c03e2e459f713668c28367889e48e4162ab3ffa","bind":4,"extra_in":""},"pubnonce":"03159a87b1dde0180e36837ef0fee201462d1c6407a744bbb22bbe4abd42a640d0025fb2278f781ad5b86a44f7b2f8ec346fe31b1b7606bf55ce8bf17857d3a15eeb","psig":"f560e266038152d736c53ac487e93373c7b9641f867db0bc35807670bdfa0ba4"},{"nonce":{"rand":"7915bede5d9cd880f481c4590815b87116cf89c9448ba981e3c913b23913aeef","bind":5,"extra_in":""},"pubnonce":"03069caa634d16e42cfcd096e56f74004a658055a18a9e76d68bef6f7691b84808035e7a571e2c799802940cc8f2fec27d146882421313a4c3d0c2738de7b7483632","psig":"c3b47fc38498934240f46a1151742b2969b2bc9ede9089439a248467e105583c"},{"nonce":{"rand":"2b9bba9457d38951bf0794cbbab7df2727d419d0df705e93b4da179e7e01fe71","bind":6,"extra_in":""},"pubnonce":"035a1c2f19f79fd09e027cf5b881e2869bcfd4628b86bdc736b3125a1596842e95021f9a4d05d83536a034414960ecbfb0d8153dd29ef2ce9871faef1273dc3b9ac3","psig":"4d25de6da420dc580e2e482f56e175c43ea981d62c0d6314b92f2e293ff58f02"}],"sig":"98379282fc4122cb126be04fc55b54bef3784d6eeca557851103133929a2bf75f710b8a3428561957b25c7706e6eb79836963b00b68aa72ab26bd1bcf21c792d","sig_valid":true,"bad_verify":[{"kind":"plus_one","signer":2,"other":null,"expected":false}]},
+{"id":133,"sks":["5b5cc878683395e02aeafc562c0d238c7eeeef29dfd16c2c421aca8e26d125ae","14207b8a01f88e66284322e0431c998c3257d918d890e8300e578e49b22de1ad","6b1f1347bcd96de9a4aac4b91f92b972935a47f72e299a596390a596d3f2a249","e4b56c096af318f68971b2fc51ec18f8321f4ff58d032fb1748650e6a26b770f","216ed94eceba1d0957b016fde2036704cf94a147442d00b94896a533a5f0d7af","f8d91d4ab94bfe17bb13afa4a06416ee2d3f98057144acac5fbbc9f35638a3b8"],"key_sort_input":null,"q":"034371535159c8b1b6c039cd450ac867f092865d6f3a6f8f545a2dc31d188ee6b7","tweaks":[{"plain":"fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"},{"xonly":"00000000000000000000000000000000000000000000000000000000000003a4"}],"tweak_error":null,"aggpk":"03d2f67028cf5f4f980237bfef85438b74360abd6ca74b1f4226eff261fa94f861","gacc_neg":true,"msg":"5611b6c453dae86cb93da1f69dcf10b90fe608c5a586ae06171443e26c5acd5c","aggnonce":"02dbd7e4855f10d365e3f6006e0e558376132caf17f4118b795c319603eb300e160293bc44b6fcfad49cec2ebd16dc79bb0d65011f1179bd0e165fbc10cf2bde7bc5","signers":[{"nonce":{"rand":"53ae3df09d9c9a06c57fc9477e060ec87115ebf70929a70c9c496254fc66d858","bind":1,"extra_in":"e381fb"},"pubnonce":"034d814f7f574a45282f311cc122c7989702bbe00f83aebaf6d8e584787db08dc503c0063ef145483e4da7541edf5aa2ef6b3c9948e486a522dfdfe524aca9d8e8d9","psig":"866edb5039674f40bbae270762920187b7a04745f8be7a5af0aefb0e7c622add"},{"nonce":{"rand":"6281e48926e239e7e6895ed50d21e11e5c40237e7e1338037ddd8069271ef519","bind":2,"extra_in":"f96c48ce30eb"},"pubnonce":"03d200620a7f0cb7585a2332ebb34a02bc90bf94a3fcc8fa97bbf731ac6df8884e025fe15e1dadf17bebb9c6f4702ebbc2726f5232771db048f4c4657bb788aecfb9","psig":"9106f2253fe60fc4f1186bdb4117b877a0c631f1fdb164501e8bad9359fed7e3"},{"nonce":{"rand":"a3f310a57a3dca2d581904dfdc286218afec5a2bfc6c7aabdfdeba9d3d7c8730","bind":3,"extra_in":"130864bdbd"},"pubnonce":"02883d931cf16b5e65c3eceba1f5d74ee0ed71363a0a054035e27f3fc1388a2da80330571533829ad5880c24d336b872d42a3711bc03b08e0e84a11b7354038554f1","psig":"29c6dd37fa3fe51dd0a0b53cbe2536bdc87eebdad48dbd55eaaab2cc45e6a75a"},{"nonce":{"rand":"bfe8420e7d7356062f851aed1d3e11f4014e7474732ca58d289fc0c9ad584126","bind":4,"extra_in":"dba755d73aa5a3245930a9d3b1c5"},"pubnonce":"024a529bd4b6c27f13560b8d958f7533b59165f5e536ac484301c0d97da3bcf158025ee6690073424aa74d632c6d7715072865730d5c0c950a6f704301006dd840f6","psig":"607b3decbd3b49fd550651c70389c4a889011fb160ff6daa7c553a7a595fed43"},{"nonce":{"rand":"e36ffd57112a149d0ddd6fad36cc2f57cd8e91f3e7c3925036dc38642fc3d38a","bind":5,"extra_in":"de0e9908a0483dd96abb5a"},"pubnonce":"0318c0e9a8a336519ae79b6561fd2b31f5f34a7d2ab99bd69af58066aed75884f1022b721f527bc833ec4b5df900c5904bf6374fe7020630153817a583dd06a7c953","psig":"d322a62ea14c412a03f48143ef661f80685275cd980f37a6ac47ce53a0cf63e1"},{"nonce":{"rand":"4bcf0933df498e57fcba7a2d017008f84b5fc18d1a5d6946dca2e0ffd11eb51e","bind":6,"extra_in":"ac613218921b9c4b6b1db2b3c6"},"pubnonce":"024d9b0e12274e1cedb0c431d92ededbc8bf8990dc04d9a312ba8a39a05c4148c2029e0e50e162c2f9abadfb1554dd5f2fea4cba39e12773215f9cbbd7058b028426","psig":"cce48993494d237bf94522cf7bff498bf8f10e7b9691b486fecd9ef611e76d69"}],"sig":"cf7b31127eac7b1335ae2f2d227f0f433e5c02f338a1052337a00d74f44c70436dbfb1a2f6d7d6a8eaacea748a8a025c70ef976f9200c267b81ed74cdc0b9ab0","sig_valid":true,"bad_verify":[{"kind":"plus_one","signer":5,"other":null,"expected":false}]},
+{"id":134,"sks":["1d8c75a21ea32d3f71a868af6c3615d7d6babaa47e8eedf3f436f9a8fca5aa76","5cd2668bbf5743e9c6f73fad652daa12223995c96e84b0662caa16509912cb28"],"key_sort_input":null,"q":null,"tweaks":[],"tweak_error":null,"aggpk":"0398933d5d2671e03240297c5c6dac0034eb134bbcfda0fb6eebd3654a8f125803","gacc_neg":false,"msg":"5f99d3935600632c0d59a1db5ce383cfe0929308ee9f6678446db5a46c802150","aggnonce":"02330dcbe3689802e1f3a7b78bf96e1f91c2a13bf0b812d2808532c8f1a08a5af003f1b486ae446048727269d6b9646b160562b1412c730ea205d2ce403aae62b912","signers":[{"nonce":{"rand":"94c476e09a7364f1db19ed47e294aa8b4598d6cfc71f8a824f8227990abdba55","bind":6,"extra_in":"7765607033f85a7edb4a"},"pubnonce":"039f3df0cd7e4dd63db90d1e59df1e73b2515382ea49cc2a9e3cdcf7f4475b1fcf03733777e4a01377fd3827205e8da8de39ee3e85d14aa1718c23ba8c5439d1eaf3","psig":"ec5239e70d08ec7704d44d87fb524119549a233b80e32f578d3714d5e6e9404d"},{"nonce":{"rand":"7a39eae3f1b4e3f3ef64106f2ee17fcf135cf3428e27fa433068626139c10fa2","bind":7,"extra_in":"8caf88"},"pubnonce":"031ad6888108888fb84aa3789f5de67b8c7a159d82749b8a4c67535da7a025bcd1027d26c60a50829e8aa13c60855b841efb992cf12d842e4c583263212df4a024eb","psig":"584439b45108716929a0d92c9488bd26ed9f9832d3c9c737a6b8afc943e4e1ef"}],"sig":"83247a6b5cc0ca92f5c70726901bdacd96ce0e1170764d104868676e2f2912c44496739b5e115de02e7526b48fdafe41878ade87a5645653741d66125a97e0fb","sig_valid":true,"bad_verify":[{"kind":"zero","signer":1,"other":null,"expected":false}]},
+{"id":135,"sks":["4d0efd3f559cdaa79b91b8bcd962f918817f72c50d92a242d5d0a8a68e5de56e"],"key_sort_input":null,"q":"030d4b0764ae1c675b2d3d081ba01a56ea43707a139656834a79a89d9a55093a90","tweaks":[{"plain":"fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"}],"tweak_error":null,"aggpk":"02390cd384429dc65af954b95891c06e215cddb22020a0fdb29e1a19a22614fb65","gacc_neg":false,"msg":"badb1bbfd5efe462543dba5926943272caecad42c3d62c5f756e877553ffff199de147e1cca71e206f00865b36587feb","aggnonce":"0337015c77bae8ef3d422ab2711f09d67c69841bbd8c1134059c65aff2e2ae0aff027b715389eb378de39f8c23833dbd6fca50a7f87cac669fad9efc98e1abc03fd3","signers":[{"nonce":{"rand":"63c86bc2fe1e7beebf45f0505657cfbff2914c2ea5dfe50bd47b72846c4c6e38","bind":3,"extra_in":null},"pubnonce":"0337015c77bae8ef3d422ab2711f09d67c69841bbd8c1134059c65aff2e2ae0aff027b715389eb378de39f8c23833dbd6fca50a7f87cac669fad9efc98e1abc03fd3","psig":"f38ce652a802b557487a32029319b479d07a0fae37154a1d8453fa5332738424"}],"sig":"c878d832be996eee3695e4f60c686f1f49d3eebf949b1ea6233545ebea17f53d079e216a5f9680f38252830641e761887b46c7b89d368af29aea6e0e549199f3","sig_valid":true,"bad_verify":[{"kind":"wrong_msg","signer":0,"other":null,"expected":false}]},
+{"id":136,"sks":["9970489af4be3a0d2291d78af09d7033f59b01fa73278701705317adcff185f4","9970489af4be3a0d2291d78af09d7033f59b01fa73278701705317adcff185f4"],"key_sort_input":["03eaaca0390a1bafed23526d21ffca399e05c47383bbb8a27f0cd53c2ffa2f6746","03eaaca0390a1bafed23526d21ffca399e05c47383bbb8a27f0cd53c2ffa2f6746"],"q":"03c31a898ef6b80067da70869d19aeae804fd80fa3e47912b4697fa46709c83597","tweaks":[{"xonly":"fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"}],"tweak_error":null,"aggpk":"02b7bc040ccdd3aa104e80ebb1ad2ca8b16c615f134db5aaa34d74b6fe3ed522c5","gacc_neg":true,"msg":"2dc014d7efdc5630c499d43363","aggnonce":"03048e8b73c98763fc2b868bc467066bd21ccdf33f33f3a011f66c415c8a20cc3703a94c0f8a5453533438a3a30ec0d21b0b1c9a5933eaaaa1980990f0aedb0bcc63","signers":[{"nonce":{"rand":"c18b9e17b158f41627d01f8cd69b9dc0394aa6798f908da869a34283e2ec44c4","bind":0,"extra_in":""},"pubnonce":"03575fe0712e78de3f6c2eca6ee4e8e972c481bb9de9985571151ea8ddf09135e803f0dc4651ac9af29581bb1ea4c072162c8914849248e0d8143a9faeb8ea724ec1","psig":"e3ba3e795278351e1cd99542a0942f6148cd2a525b6439618f0db1efaa76f099"},{"nonce":{"rand":"e4aaad8a22d410d30e0d8e1cb5b70ebe0c74c87a7be5dbefd0cce15512d76a54","bind":1,"extra_in":""},"pubnonce":"03a208428b49180c721926b0bd70000dcabadd3d8c16901f1b3114bbeeedaa4c9c025bf1af4e7f9371441b631df56c0da5987c285dc354cbf19dcab3b72a57b5db50","psig":"f944270ba18aa89892c36b654af1bcf55cea7ef5721a21a4345826a89b63ccfa"}],"sig":"60c29fdf3d42ae9591ca5aee36c54e5a551839f08894ed67daf8b3b306043d63761e6675f86be6233d1f091e9baed164bcd6f9eb00468d6280b4b4b4c96d7fec","sig_valid":true,"bad_verify":[{"kind":"out_of_range","signer":0,"other":null,"expected":false}]},
+{"id":137,"sks":["84c532f7d95a8b1ef69e0161f4df1b94f092a6731acf3218da4a716fb45133ae","9d054e3e92b5724ddb2c3f8a28b7f5592994451ae3a318a3f00f1def35dda377","c64289afdbed21a0a295fccc3fdbedc40e8d35f7e5d4d0eaca1051509daca613"],"key_sort_input":null,"q":null,"tweaks":[],"tweak_error":null,"aggpk":"02714828f33f800a4ec1289f4d8bff7a7f85a0699f35058302c9b346153dbfa1c2","gacc_neg":false,"msg":"19f71ac9c3bce0f3634a634a55a29d75ad2c8d29e0fe01c94c097b876e07aec5cd527693","aggnonce":"00000000000000000000000000000000000000000000000000000000000000000002ff4e662aa42dd1e9ca28137a224d121aea0c8146857b6bbd348f92bb950f1d3d","signers":[{"nonce":{"rand":"e4f2cce0cb57894fec3fd35027f74b20092db02d28ef4b10b3d76e9338623089","bind":5,"extra_in":""},"pubnonce":"02f8098cc5219f56490f1f30db02efce3cccbd8277619ac9d5c502f688771e917e027433db5c38c308fae7736057b0ad025c285fd1dced15169858cedacdcec50bdf","psig":"a1626246973408bd525069941db16d4df69309280d22311801365d3bffc23460"},{"nonce":{"rand":"032934b6674f3e9f605a74bdf073396a4704e08ac137572e7043fdca8633b6a1","bind":6,"extra_in":""},"pubnonce":"021e65d67c0132d2aac97a63d6623c23ffeeffa2334bde1bf9dfce0469e66bc52b03d2ff2dd620450b3e53438a4a12045a7a1e917c7b549f64bc9f15448107d9f880","psig":"be97cc74276de61cbd5a82f3a1f2493cc9fc747a2eec317c08c777299f6fd1e7"},{"nonce":{"secnonce":"b4f776b08a19be3fd88318de7d9d9dbeb276598fe2a08b486260adf0c9ca4f800e23c8cded12d9263ace693f16a77bfc440b70ad15d5cf63bca5532a9d63dce203249594653ee3d78606cc5866531092e93cb5fb7f8c9a40e1a4be66327dd61299"},"pubnonce":"0209e5d3e1ee6af4922cfd2f9fdf780239a444d77eea96f1ea10814b68e2a258a3029d2e9bb7c338982f6f5e1342ab50979fa6f50c46a94cd9272a2fd5c0a42867e1","psig":"e89c455943fb5c608da7982866ee1027d5759271cc563c5ad1c49316adb9be51"}],"sig":"70cb19075171c80df3f0363a1995fafd9f569982891e06db5b9049a8005b9a1748967414029d4b3a9d5284b02691c6b520a75646a9d35e775c1daa62ac7f4216","sig_valid":true,"bad_verify":[{"kind":"out_of_range","signer":0,"other":null,"expected":false}]},
+{"id":138,"sks":["49ba0b905b744b0476ccc6eda7218b5f7e03bf3256938853a2b0a7744218cd83","49ba0b905b744b0476ccc6eda7218b5f7e03bf3256938853a2b0a7744218cd83"],"key_sort_input":null,"q":null,"tweaks":[],"tweak_error":null,"aggpk":"0213d69ea016a41d9b2841f895898ed0868ad1279341409183193f54795808d048","gacc_neg":false,"msg":"8364eb7a77e91fa030685776e2ffa09362f9ba90385c3e178e9fa0100ecd226bddedc39c58414cd320c5b49f9602c56ec464b2b71e294ec5053f455f58","aggnonce":"025959d2dfdcb849b058cabfe4724d36ec60ff89ddf016ae7a09a0b2b76d982af3000000000000000000000000000000000000000000000000000000000000000000","signers":[{"nonce":{"rand":"2208dc6d43750c39e49d88b1ba30a9f978c0688350fe6e312bcfc28fccdff200","bind":2,"extra_in":"78d6"},"pubnonce":"03faa8ddd69aeebe8f6e1f6b19421515fc06e774a51ea08abf27abcece62611ce102c988ecaf4787660fd68af747fc57649d2c0911a2d4b0dee27f7d7328f4511ed7","psig":"9589a807d7538798313c600e9bcf82452cf4ce02ec9020b4f27aa102d7e334e6"},{"nonce":{"secnonce":"cfd83d874ce8e0640c03d5a4c0276e92c206fa634a84ac7d1e54a811ba64945f3290a8551dbde2f745069009d572fb66846b7ff18ab2e0cdc9b03758ea32a3180399acc09e4cc232955083ea6b8d487473499dbc8620e088d28854d1f0950a8d9a"},"pubnonce":"03ced0fcc1e8d348ed52f78f3d8965e978c72b5ed4962eed57e5d10be89d381d0803c988ecaf4787660fd68af747fc57649d2c0911a2d4b0dee27f7d7328f4511ed7","psig":"321f21576eaa01c6c3c42badaaf49c415ccfb40a5702897cc23d1bd6ea1ade12"}],"sig":"5959d2dfdcb849b058cabfe4724d36ec60ff89ddf016ae7a09a0b2b76d982af3c7a8c95f45fd895ef5008bbc46c41e8689c4820d4392aa31b4b7bcd9c1fe12f8","sig_valid":true,"bad_verify":[{"kind":"wrong_msg","signer":0,"other":null,"expected":false}]},
+{"id":139,"sks":["4ba5fc237d905cb5d297237a1c2c9352ad183c1d289d306c77f37b7621e75db3","87a4a3fa46d50bcb6e026c30157128fe980099c57009c600a03324bce4c3f39c","74ece13b165563ce05a23666f8a95600fbf97135974d32c54920f3f4e520569e","6603f2d7136ddb86a8d90aede38d1e88f184992c624a97613c5e4c1e61826f99","3cc14a5b4107d473e8ad1318b318fce6d1fca2195dcaea3b5c0e15c6eeedb76e","57824c4a4ef0d54fff1f1622b10783a649f346bf3e5069841127c002b8bf141a","cf61fff410ae6f1e2a3970f1f8224df81d6273956a038a531692fe8e11566612"],"key_sort_input":null,"q":"0200e6e017ecc9c3d36d4bd5baf8f4a85ec196a5af8fdaa8bb569722bf0f15ef8d","tweaks":[{"xonly":"0000000000000000000000000000000000000000000000000000000000000000"}],"tweak_error":null,"aggpk":"0200e6e017ecc9c3d36d4bd5baf8f4a85ec196a5af8fdaa8bb569722bf0f15ef8d","gacc_neg":false,"msg":"1bf6bf5ba0bfb9b357f39fe05b59fce7a74bee94d34eea6db0a280e7343dfe2dcdcc448d0a369a6389037f2a8fd5c0e3b6f1650814fe7266f742","aggnonce":"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","signers":[{"nonce":{"rand":"df2adac813912a63a62ca60fa51faaf2c6af4271c2167523d4170e2accc07c81","bind":7,"extra_in":"a9590b"},"pubnonce":"02db6bd35c174b4cd859cb029b685d3c26fb75e78da08c4c2044a3b6fe673aface033e0c934a1bcf225ebb3feef18d97213331087e61bbb86e1917f14f399cf26bd8","psig":"df2e4db82bd339df0936d13ed56d8018e4f2d1e2a4ce953d23e53d96d150d47d"},{"nonce":{"rand":"839087b47d018a72f1843978837551d56481c9261581bfa4f8625bb3b91bf14b","bind":0,"extra_in":null},"pubnonce":"02cf7681ca6db1a32ffcc4b297c216ebd54c27282d59b93ee4977c910f80a465b403ed2e97a34472fbf43a6c3eb0184f592527731443d2a7270c1c808a07f074bceb","psig":"9a913f20ee2e297371c1b5e30f4706977596226964e230b9e56d569b1bf77abf"},{"nonce":{"rand":"8457f22ec0a1ce27559adc3618ef4f8fdfae327a9a8b729b49a4a1944bebe615","bind":1,"extra_in":null},"pubnonce":"033057a36c36ca4872d97c87b722161c12131c3e8c15ea41079b2d572c18a1498803d698ceeae85b63e821c72bb39034391bf753139852c4c29717f0323b36ecbbf5","psig":"4323297cf061e4eb635d07ad90a4602a7218fcd000c769ba46e42d90416c17b7"},{"nonce":{"rand":"4fa738806b93c2c36b56f53109e15d02e862c2b01bf347ef712f63b9cd59219f","bind":2,"extra_in":null},"pubnonce":"038d7081c570084b81a3d5d92ca7d6888690ca37c518290895159360aaca48cce203f053e10ad793546bd46dde41a07ceb98e41f08fc844128bbdb48565f27a1e15c","psig":"93f17ee4b4944f044130e0188b0bab7623ac2abe297035605917da1142be9d9b"},{"nonce":{"rand":"0caf86fbc5f11e9013e2e5714b96a728cc720f201fcdde5cbd8fdc0b503bda52","bind":3,"extra_in":null},"pubnonce":"03404a350f050bc2982443f2a04c68d0a5585086f89bba596348131e8b4d04fe8703b0dc3f314dbdee5012f396033beb447b0b8b090e97a17e5621a90ce09e0d53ee","psig":"499e345fd61de6fba1c91d749f6f8f1a2694c4f469367e5cdb9c652badcd4d16"},{"nonce":{"rand":"f7f39f67da48a56802f7f282a3aebf68cb0c127835374e849172982048b43920","bind":4,"extra_in":null},"pubnonce":"034fce4e2f89c9e538e58730d459c7c976a3eacbcaf6400a447c3dba20f366225803c3da7c97b60383be57994e555579e8c7d7d5cd884e1b74bd2f4b850322d43f03","psig":"9d400f44e1ca6591edba184328b785b534219d3bf3f4bd1cba22db1317b3ce6e"},{"nonce":{"secnonce":"3228a2d827a519d450e2bd764154f8a6a875097518b5be0b9d72e3c6229fc8eafa0f342eac2671099bc022cd004721c01fdb3f7ddb31464ef018fb6530bfca63030cf5b9f6eab0b5ac371c24b409fad42b79ca4e84cebe8f7aa8fadb1587877ccd"},"pubnonce":"037a8889100696636523197ca5d21302db20d3f9986534a4c511161f51f024300e02f8c5a948c1b9c8f129146d7165e22d56c5716b9c95c43705cb87fcc02fbf8fa7","psig":"7b03c3677892a616c0c49ccbf4884e651c6ed5bda341ee028c612f38efb886d6"}],"sig":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798b2b63c46ef7289e66fce416bbd13f5893766bd14267badda8bf7efa4b609e325","sig_valid":false,"bad_verify":[{"kind":"wrong_msg","signer":6,"other":null,"expected":false}]},
+{"id":140,"sks":["5a1982921d6bfdd5bdbe511df9a90329cc43d9a6cf93d53e8effb0d53e90493f"],"key_sort_input":null,"q":"022fe5f3d0807ad1fadb65ceb3e6f9ed2726370dbc895959596a9133d3efd3770f","tweaks":[{"taproot":null},{"plain":"6e5283ace63e73101e2a8bdcb981ddf6ea91f5a6b5dc48b1aea84b50ade3acca"},{"xonly":"687fc975ad96d8aaefe64d54607f975156810637202d43aa8a55ea5c23ccaa5d"}],"tweak_error":null,"aggpk":"02cb5a6bec72e3136dbdc234db7642ab7013c820df81756e6a876c541fcca15e95","gacc_neg":false,"msg":"","aggnonce":"027e1e82b997f9a6e3a33461dd3102abad2779201adc0b7cc53b5f323d8cc39070028fa640f8964e7e917a52e64d6a0760a4e23d3fc993648c93f817c2056f0dfcf7","signers":[{"nonce":{"rand":"98ff396a93dedf34e7531256a1f3205f2cfe1cd0696709a2c7c165198c4f0f13","bind":4,"extra_in":null},"pubnonce":"027e1e82b997f9a6e3a33461dd3102abad2779201adc0b7cc53b5f323d8cc39070028fa640f8964e7e917a52e64d6a0760a4e23d3fc993648c93f817c2056f0dfcf7","psig":"be1a24172849a830fa2feb414c83f7446393bf8e72509aa63ef9e5d7f25a1aea"}],"sig":"d59627c91ebb154d90f57f65ad0c6f6316ff808a3ffc4d922e236d80dcbf60da2f85063293fb16618fd6587ae56ab0f495e089f358518433ac6d5c21b1ea79a1","sig_valid":true,"bad_verify":[{"kind":"out_of_range","signer":0,"other":null,"expected":false}]},
+{"id":141,"sks":["7ef643011b47799f4b861fb1e7778f28e325151894a5dd8e5c16011a5392da75","8ac52f12692913400354e775065eb790a51c3f940f2786a91a8131b3d8fb6ba0"],"key_sort_input":["0293484eeda52cf54917c776dbc50dde979cc9747e050bb6c08c1b9dea30548fbe","02371841a37d3f6d9d3fc3862420744b0c1749cdc50f1b69d99d06907b76f30003"],"q":"03a55ecd3d6401e64581bf5c31aec651cc5509bc8418a7cd9002527af2145cc455","tweaks":[{"xonly":"fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"},{"xonly":"ee712d38948a1b6e402f800c11abcfe83ad71e5215588185d0fe63661ef85acf"}],"tweak_error":null,"aggpk":"02541a377892efc0ee75f7bce145fbde7b35b8e118f3fb2d7019c13c19411036fd","gacc_neg":false,"msg":"6f57127c5dbff064a0cb7bddf19c92e1367d763a609d62da305c98d00931171e848f0c462ee606a0e91ec8403ef05dac3b25d2cee1fc7cc5d72a5e83bc6d0fc6ff6708142c07039f9a4c4e213066a23a120d2de540aa46315c2270de0e10ebf692704898270081a9a5d374067738c67022d87bdbe5a341807d887a73b96f6bc6eab09bfcef139764d09933bfcd502d4c53c33f3c66cbff7b3b7336b9ee8cc114378649f2cf3cb9904cdcb07ecac71661419df5bf4de077c4d2aa8b79a8e1ca992dc13a0785a2614eaecca1f7151ed35de6afa43b3f6618cf93cacb54454ca7c01aeb69d68cc774f110b56d7adaf5a014ac75c65bdbac4cf17a25c6da77ed4343f73d937339186f","aggnonce":"02ecb08dd4025955942a0121d82647291ade2b0ef93431dd4381c2c7dbfaebf00203a65b3f81274cde43f332c488fdae929632768d074688492f479d3491db3ae66e","signers":[{"nonce":{"rand":"ebc945740980c552e7eed89a57680124f3309ca42e3e26b1e476c210af1ca909","bind":1,"extra_in":""},"pubnonce":"03d2ef8dd0663d1d38c92803f3698539bd57e1b4a51ac9967721efed6919cda4bb023a925e68ba7018144b44cd679e4c66ccaaf0b16f873506c20629c186f53586cd","psig":"dcad460c4dac000655a4f5db5889d4099e4543dcc7bbbb3eff146a4da0f2be55"},{"nonce":{"det_rand":null},"pubnonce":"03e4d080d6c732f016a304270ad224952df36d901b902d3d375db10404e3b91e2502475f2e353f8459fb7a457106088c2c4b8a3cdc08cf82d27a744db9679d58dd8e","psig":"8d9831d8da388870306336b40aaa582280741f7131d91eada912d5f086ca467e"}],"sig":"6dd368389beeea6974c102581c642d829fdcb5e6d5a33a50d0a14c12d16ff82b53de13a0ed51cb399b8e5d857a81490cafe027c44a72d4d58ac4b1b0a334e2a2","sig_valid":true,"bad_verify":[{"kind":"wrong_signer","signer":0,"other":1,"expected":false}]},
+{"id":142,"sks":["3b31ab3f9ff3544984002e63dd8990eebe01facd2ca5cee18c7939edbded16d9","baa4ed27b0eb2c7b47c9c60735558c84a734b61a5a105f5d1773e429b616258d","bf1ee64831cb0deac35059d95410904e64fc27f3d7124bf89a7748fd68c011e1"],"key_sort_input":null,"q":null,"tweaks":[],"tweak_error":null,"aggpk":"035651cd50383aaeb2e8eb05a519b232903b68e1f363265d9b862e398114948df2","gacc_neg":false,"msg":"bf1923b7f0a29dd68f3d0c9a538ec82663720dae9609864cefe55a948d83d345","aggnonce":"024ca66e27fb3881752d38d658fca085c30f70e4e0a9f2ab305f18913b26bff02f02131471e9d78cea4f09b8e33b3dc69a885352adff13145816e0e1c151b0ced6bd","signers":[{"nonce":{"rand":"2ca888ef30ab4a856efc10aca4ab5e48fcb9126ed2b1ea68715559016d3b7c4c","bind":6,"extra_in":""},"pubnonce":"0237a74dd2461829177ba3b6f02f16e69bf01db9bac0f51aee3b0be20cabda42b30272cb34f81bcb127d5894e5b362fc05a898f21fa7e09794dca9c48e3748eaf4ec","psig":"dd1d0bd8418470cc94800e678133853dd15544dc7cd549b0fab0733af3f140dd"},{"nonce":{"rand":"c1c28b86d3e92722f992af5f56fbbdc1e4cd21c2bb81978838bceeb1a0b37a3f","bind":7,"extra_in":""},"pubnonce":"03548053d1f4be1b60dc10cb3797c9f38b61fe5d4b34ba48ccbe3e85fd2033b0a20366a1f588f2364a13ceecfcd4e3dc9edc0ad11d1bd3bdffe7e2743057e430f15f","psig":"8f3eb3e1f4efff9d500470e795e59c6ddd1c37abcf8daabb140235ba2e4158f2"},{"nonce":{"rand":"0e0bb0e0d6f4e2d530235511e958991f0e18c382bb59e3663ef3b4804e74f6f8","bind":0,"extra_in":"ae2ef8695027664c"},"pubnonce":"0208a199671b413c9791c354c3ff03b0e35e191901f562f41f47e2212731c7f5b903e31af6ebd6e000eac12c79cf14dc54a6dc431f6bdedc41355451909447ab657b","psig":"afcdaf69ec8b8d0ae9cdf4975bb9f7085f2f3515014e30d93cfaf6e9c0919edc"}],"sig":"1399103a1424d46b1a9183d173c4bc1d7471f49d8fc31f7adfda75b91cc6fa4f1c296f2422fffd74ce5273e672d318b69842f7cfef1fe4cdcc08e2c54257b629","sig_valid":true,"bad_verify":[{"kind":"swapped_nonces","signer":2,"other":1,"expected":false}]},
+{"id":143,"sks":["c09148cc1ae5ef03e8de106429174d041eb72d9636e94f6b6e552d1e46fa9a45","1a0079f7b9c0977fcd5036826b69f72f47ab243b475511af72486c70bea721ed","28e0595c2d3a1754648c8f546857dc59137380e43ea0ad5bf5f7c46d6eea2f93","5027c23b6c8ed33121e617d25572889d5377ae4ec931f6e07ca7efe537326b5a"],"key_sort_input":null,"q":null,"tweaks":[],"tweak_error":null,"aggpk":"02b9c29ec41577a6f7606e972e6d0704e3eafe0cc93f536dd0edbfd18a287a1736","gacc_neg":false,"msg":"6a7f4fe73b3d6ced2166bc5e907a802500090e1fe8587f0bff2ca30328e9c3e7","aggnonce":"02ce0f10726b01148bab4158c53a0c7e9c1c5a433277eac115049232ff4e8c611e03f4e4a0efea7445a97c5c658f662310c1a54fa14c76e4f477d419f8052062f525","signers":[{"nonce":{"rand":"7d00ead14579a2164b7cdb8b3d853384a55dc49f14ba7ba95a8c93dcdb3c8b0e","bind":3,"extra_in":"0a411147198b5839d4a62bde3b"},"pubnonce":"0348685d5f8dc94e080feb5314033d13c48419c47f5551c4cd509992fda79728e50345f6e59d3b695214e8d3466ff541cd7ae5505ee1381f06db38dd685fd526955c","psig":"2c8a80176ce018a186490ca594359ed5dfdb0689fc915337423e1f28be290f6f"},{"nonce":{"rand":"8af0b6c8a13d1b0a8b788d09aca8c19ffb424398e74c97143e5f49b421d1dc27","bind":4,"extra_in":"67c47ef8471762e39a65"},"pubnonce":"0292285400c607151d2572f48164266d25c63b7cfc16e22329bd7ed7a13cd07bca03f3e560e031a22e4d3b4fd0f4530fc70779bbc5f6557a3aad88f6a5e95e0c50b6","psig":"9cd80d2f3a29df4f7244934109f834c5a03b01997c2ba024533624ac27d49cd1"},{"nonce":{"rand":"e32831af00954c0d2af98db50c54f127cc60d354dfd33460dd7483c424136d4f","bind":5,"extra_in":"e986"},"pubnonce":"02b93a4c7ba404104748ead6d7d35fc0dbca9ed82d20c252ec461a2f5acef465aa0257c354b6dcac1ddf722e670630ad07cf34b810594f351a544959a38251451b3a","psig":"4fbe9795c1fed044e351ca74e978d101f752d2c95dee1fe78ac898eebdbb39bf"},{"nonce":{"rand":"3497be7386e9bd6e6d901e3a24d52db5db09eed05d7a46c3398bc32028f2dc93","bind":6,"extra_in":"237b2705ab06feca7b00cc"},"pubnonce":"03ec391963b46ca3274a72e5bfddf2c1eef30d007ef613dbe4ada43e33adcfa910026a680b97010c2c4d8eb43aee1f78177ab4b1f985e086e21f6b3030bfbfb5e3c8","psig":"3370eb52322633c8f43466bc5830c29327d97beefe0ef77166de8e7696647e24"}],"sig":"31e6f19fb8f42e425ffe2700ff7c9152337e3cbc28fee846960277ca64e5c8f94c92102e9b2efbfed013d117dfd76731e49379f525716a78c7490cad69e722e2","sig_valid":true,"bad_verify":[{"kind":"swapped_nonces","signer":3,"other":0,"expected":false}]},
+{"id":144,"sks":["51ee6ff7eac36d72b925ed2df348f257cb538a739d5c29b7dfc3d8bef4d4b66d","51ee6ff7eac36d72b925ed2df348f257cb538a739d5c29b7dfc3d8bef4d4b66d"],"key_sort_input":null,"q":"0229884c8421ee0816efb7a565625be76ec094cb7956a5989db3e7be19ddfd201d","tweaks":[{"taproot":"63d5bfb733db4afc98d744fbb40faebfe088058294a38651a26577db17bd294f"}],"tweak_error":null,"aggpk":"03b358da30cfc5535ac81fd21bfefa7f00c8a50c02b9bddf74e455fef1cab16316","gacc_neg":false,"msg":"904faa43e552868051ef2db86cff96010daaab56fc00257b6890d9b5cc22765e","aggnonce":"0385045e235193115c4980b66bbf07a7a49d9483a45df14aa7a1ab0193b2c6288c033753d74642d7630f571e00a3327019c3a526a567ec0145a960bc7343aedc0840","signers":[{"nonce":{"rand":"bf40d15bf684d0b50995821b554f6c419e43b4457acdfb78869d147e88eadcd6","bind":0,"extra_in":null},"pubnonce":"038295aad294177a35a29b7ee6bbbbb454824cadfe94a3d09bcc1fecec23ac948902326d6e5f3b4494e33fd2ab2c8594770b3d41751fa7c6d86a622c15fe3c12f8c8","psig":"b7000184ee4d07ffd49803f6055df9fcc2802f35372d5a35c498e2ca6ffde041"},{"nonce":{"rand":"84a2ace7000109a74041cffce6a9c154959ab60cca30db589d2d2fb351e18e9e","bind":1,"extra_in":null},"pubnonce":"03b8c81bf9c9f0971213a7141be838616f30ab1140c2d01678beec78a94d1837d702fe24643e754b2aa25ea18b5d377d25e34bfb116006686ae9b609e2f25a1e2668","psig":"081adc95676371815b42dd4a6d05ab81d1700e0f871d27e51ce260e3a3f1ca8c"}],"sig":"ceb76eb243241737bd34b60e1562d228ad4b61cfbe1e712f575867f54b85413a09d777fb6cbe5605c7feb3b3fd3a6b3dc4b0ac4a492e9258ce6e2b6b5b2f3a2c","sig_valid":true,"bad_verify":[{"kind":"plus_one","signer":0,"other":null,"expected":false}]},
+{"id":145,"sks":["d8b21236b893c9cf1dcb99537855d453b9c9bc2dec5f69bef829c7682ff310f5"],"key_sort_input":null,"q":"02c58020e7c87c12578b04744eb375bda8dbfb2c9f56f40121be9eb5954aeca9b1","tweaks":[{"xonly":"791532221cbe6a6d3a5afb0d5c0766963618b3ad01b6f23b6bb9c957b0ffa4c9"}],"tweak_error":null,"aggpk":"02fb7aca1206660890dae15ea188ed3fbebadf05bc5f78d04fe948c42ddec0b015","gacc_neg":false,"msg":"1e251ac1852398cb421636ccc6e93e","aggnonce":"02320bf88dff7bf947db3588db9861e1c55603831e682022fce7aacc972969fe7f03489462628e926cc57a8b21908a98c4cf0cf69e4dc27ec0a594ceed0035483e3f","signers":[{"nonce":{"rand":"0b12e97fe9ee7e6f25aaec2dc638102c52313b028edf4d0d21384f7e6d5dd38b","bind":5,"extra_in":null},"pubnonce":"02320bf88dff7bf947db3588db9861e1c55603831e682022fce7aacc972969fe7f03489462628e926cc57a8b21908a98c4cf0cf69e4dc27ec0a594ceed0035483e3f","psig":"9fe645976e18bf4f88128bb156f11ae07445c19ae3a44b0819dfe447e2f6fb28"}],"sig":"c191f7ab212b53bd3a7a6048ed21467e348cda1b8f40eff6f5b41dfb1f93659720265e8f8d512b03a27ead35db565a82f76475c7710a182b5136a6d474f956f2","sig_valid":true,"bad_verify":[{"kind":"plus_one","signer":0,"other":null,"expected":false}]},
+{"id":146,"sks":["38e5bc86bc9e5b668996e08dcb79e9addcb1072afc0351c9781020775cc00453","56514a8c6f608a5ea54c39981a32ce774a327ab0f48763fc153c52770d67efab"],"key_sort_input":["02e41f828345b46f5ecfa2cfdbf4da3eed0840e5860c7d8844e2642ccd64b21611","036e5721232937e5c499c232e7bc01b22ce4414465957e91acad69b792e5e7391b"],"q":null,"tweaks":[],"tweak_error":null,"aggpk":"02d6aa6b78d867bc91cbe6051d586930cb424404a8f6fb7d1685e3f7ac8d391e29","gacc_neg":false,"msg":"00b417b747978f2943bb8ed9b8cc6fd1a05f1b22b929","aggnonce":"0350896cfea9e76c99e1ce68eabf85f9b784806b6b4319845f76915a6193adf970031c6455d34ae37e79b5990d0a0a9a41fed461161f21414b3720ae19b1f295b8ef","signers":[{"nonce":{"rand":"04a6465ff8bb5cc43ae911e8962c94e16f0a73a5bf97faa1a576ddd12278e26a","bind":2,"extra_in":""},"pubnonce":"03e188e14bbf59b6b1c6fd9d308a088e2765f57bc113790a11c2166a5f4fc7339703fee148b87548f53ad91264d004840b1f01d9c1e85b9a72b7d388c32862ad0920","psig":"927078eca854c30286d9b8f94beb38a0fb85929dbf0c36fac853572581c36f05"},{"nonce":{"rand":"6548e14305204e6ca88ef321e683147381a432e69d81e95797051d929e39c0a7","bind":3,"extra_in":""},"pubnonce":"03fbd5e7a82a139330e826635d8de001c13ea70424a06c4f7d1ddcbbb13daf8d8003eaf2fb38106928b56c1027524dbe2729ae6d6ced2ca3af1600302d0fca1bb09e","psig":"841ca4fa6c32a8c68ce85b3068abb8ea4a3d65182c8d2e8300c3fd132c8fb70c"}],"sig":"34323b50b26b20459a5b02aa420993d9e10bef2ee7930c586e713190b9fa5668168d1de714876bc913c21429b496f18c8b141acf3c50c5420944f5abde1ce4d0","sig_valid":true,"bad_verify":[{"kind":"zero","signer":1,"other":null,"expected":false}]},
+{"id":147,"sks":["cea57001cf262eb8f318dd630a3c1fe766e9e1b3f3b4b420d9d4a1ed8440812e","624a837b1cae1a5393f546764c8d123b7df914db4d03b5fbf901514bb83b4567","46a4bb4970a9aea01e750adcb9ff4356e2e76c0d2d294e79fef0434aae55eeb3"],"key_sort_input":null,"q":"034ab2af0a906d05e68871b3a5c438211c2444fb54a4c9d4b1812de43a40154e53","tweaks":[{"taproot":"d9865b9524651e5edd1fd04d6d9a5e3632dd6b6457d1b17d46643da892e2df71"},{"xonly":"fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"},{"xonly":"00000000000000000000000000000000000000000000000000000000000000d9"},{"taproot":"b02c66219939731428a9eaccd63414ff8b4aaa3fc04ec2fe306e807c339edf47"}],"tweak_error":null,"aggpk":"03d1285075abc25ee88bffa4d66a440d5ba2de39c027b25ecfeb20f7b2d7fa589d","gacc_neg":false,"msg":"c7fb096efaba4cfc6e22d88628c59a5c78e2ea","aggnonce":"02f499f4147b27a129e47d9a29e78f3e6b6bfa0d0effcc27459a40deaf71dfaba6021b3143ea0388a157209aba2276b1055d34749c5841c9f76bd51975756c538a5a","signers":[{"nonce":{"rand":"0dec3231ba6ad6f8ec4642fd1d1d4ca831b45439eab57a9849e48fcf2064e797","bind":7,"extra_in":""},"pubnonce":"034477fab7bff8b4ff80a5fadfab6ba0f84fe85651a4f87d8f808aaa041e78eaaa03bb0fffa7f562b82ea90bc4d02c6b8d41923736081b1306a28e48350b0dafe035","psig":"fde24920eba3b7a9e73208053f8ac0ef3f2151d359442368273d17c6b5119f77"},{"nonce":{"rand":"3853f90d78446f1575a5e310beed0255c828bbab96320e75e99efc9f9f04dd4a","bind":0,"extra_in":"38e519c136cb03df28e073"},"pubnonce":"034af042b7a9df6295085a322cb240f982dfc3125266f960fd3e004946c2587d18028503c2d6a6ecd668de2b42c379646531313c18b48a8eb288095d9b897fc7f22c","psig":"685d53b0d641ca9ca0bfc31943896c651b6330a33316e2df4727698f98aa883b"},{"nonce":{"det_rand":null},"pubnonce":"03104145fd3740a5767214ef96ff9ff18b5a87f3ac4c8fffde4b70dea52b115bdf020fd5f75f2df0b4a5c812cd67f0d9c797464c82d65e7803095b9bc203a99fd03a","psig":"979122393b25130f172024027ccbe65f42fcb455c929923365bb8cf8566fe41c"}],"sig":"c4450f11c6240de57f94057e00064b4cd0fc6bf0a8d20f01515b44949e7b8e68cccde72d479f904a6c85598c2c7e29fe62205f67f7fccf5d6650fad0cf1fe576","sig_valid":true,"bad_verify":[{"kind":"zero","signer":1,"other":null,"expected":false}]},
+{"id":148,"sks":["7b9f55e0ee7e7068f6af907fc6bc58f0fa4d3d39dc4217baec73efca9d179df9","42493193e92e00a0b5986ce222cf66f5aeeac6184b2ea91824b4895797053b95","42493193e92e00a0b5986ce222cf66f5aeeac6184b2ea91824b4895797053b95","42493193e92e00a0b5986ce222cf66f5aeeac6184b2ea91824b4895797053b95","42493193e92e00a0b5986ce222cf66f5aeeac6184b2ea91824b4895797053b95","42493193e92e00a0b5986ce222cf66f5aeeac6184b2ea91824b4895797053b95","42493193e92e00a0b5986ce222cf66f5aeeac6184b2ea91824b4895797053b95","7b9f55e0ee7e7068f6af907fc6bc58f0fa4d3d39dc4217baec73efca9d179df9"],"key_sort_input":null,"q":"03d039bc7ea1f1dc567985c2adc6e71a85e8c2b983cb0bc6d35ee21f5397e55c97","tweaks":[{"xonly":"0000000000000000000000000000000000000000000000000000000000000000"}],"tweak_error":null,"aggpk":"02d039bc7ea1f1dc567985c2adc6e71a85e8c2b983cb0bc6d35ee21f5397e55c97","gacc_neg":true,"msg":"25de9c5bc4d24b64c0a8f25fd4dea84cab1d591534a0dc81510e5b9cd00bdb9e1856da0055ed8fa50fa08d2f3fc18c95a43ca9a086aa","aggnonce":"036a546a680a48ce6b8dab334e3ac1b8ba8d4ca453d3cd51444e765ba8e6624d1703442727531b16df6fc680c684a178c90bb510510dd30f11faa7f3c8dce6ed1956","signers":[{"nonce":{"rand":"bac135bee1bd990f17903d66324e95b3409e40a0a8ba0f48b5a3f487a8d0f604","bind":4,"extra_in":"38f8ba1e24"},"pubnonce":"03ecc32d9b9e3bf723fcee7e128772be809e78837456a0b88278b92aa43947e38703a72ae17f4a9f115bff6d5da5a4127b17cb033245affd86d2925ba29bc02395ba","psig":"3a7613ae2f52f2143480b0444db3c64211da293d37ac1ce2ed668391b5f46064"},{"nonce":{"rand":"b2c7184f3df2bde4e0b76d26bd51932a1d22a6b2353764cc92117fe91de4b2db","bind":5,"extra_in":"d19e71d05b220254"},"pubnonce":"02a05cb93efe9b46fcba51a2438a86cdf66ef872aa57d33ceb8bb2eaba4c0d16c7026b54f4c183573f88942e7c0df1a0c21a83861cf11977d7cc17b1595086c13a40","psig":"fb1af5f1d09e86731d5a682132431619c34d63d2ee7bda448019a148c37f7e64"},{"nonce":{"rand":"4745b22aaecdd0db14aea344716068cf432c5cbd2742cfb47fc9f74c2b157263","bind":6,"extra_in":"b4278a21790d64efbbe35167"},"pubnonce":"0345681037ea59cff3d0630d8e896c2ab744bae96cf6665e84603235d819520dc9027166b1fb480c40452f06a486c30f42e0b7944b0dcb243a19de75252d7848b6dd","psig":"941f9b4fa1369b86e42605f4101d5042f5eac88581e41a78e26cbfd4cb4d8d78"},{"nonce":{"rand":"210d2785e22a5ae01ea7db21b620d61fa8ffa18cbfb7a7af87fe1ab3680ea317","bind":7,"extra_in":"2e66a1479070"},"pubnonce":"038c1bbf9f101f8855cebe0f9cb103ab0ca34870a9d1fafd82b950623c4cd8b2b0039e0fe6b850486918153093e3fd9a098d5f618a28b446a77479b97d3810df3660","psig":"99b6e7f8e612f25a5110fc82cec0153d2e1458276e36c7bc1548498cbe53a09c"},{"nonce":{"rand":"aa2dbccc90b192ceac76c672a395d042f2645f408f1b5dedeb231ff1fc9455e5","bind":0,"extra_in":null},"pubnonce":"02417cf9ed599a1086339af8208e0fefd3cae6d4fe8a988382e1ca5a85d11e393e02f751d2ed37d86a23f2d7a899d4ce8a493f747a2c17e092a30d6aee6a2606894a","psig":"51e5b84579383a12a7482d6f9f9f0769e8a81c9c141fd2d833b1b2236776bd5f"},{"nonce":{"rand":"feefa263a8e1ca48b2d173fe38a761bda5809daeb11959f37626d77ad30d3569","bind":1,"extra_in":null},"pubnonce":"02b7b1957e02a9e35ed5e72aced4b8b48fb4c1fd14c4c5586896eac7ae9ca031f403dbbb48559bd3f4329c770757e70d1adcbff638410f73b960f5a10e480878ebe5","psig":"6e41417b3239ece7a752a0074e88a9f9520e26d414bbcbead8c48c09da58aa95"},{"nonce":{"rand":"68260852348e5c550866079183168c6ceb6085daf194de7795e0ce7458feac30","bind":2,"extra_in":null},"pubnonce":"02f6b92f6880cfed649cfe63f8af003a5468d81ce3aab541e148de97a0d07291e0027aeb346c61ce1513d5fe915a78c6cce36f397cde809a3ad6f4e0e32067251d98","psig":"5f42f9c75a4faf6a0024c577d2b13dbcf2f89e9f162c00ec63bfcf78269f8465"},{"nonce":{"rand":"c53bceb028e5d3a27f0f75f8b678c57753a55c388bcdc0089d55bd8e8e75f396","bind":3,"extra_in":null},"pubnonce":"03910b9cb645edf1a9a0d5b7445e9fbdff6faca07e53771b8df680520c1ccacbc1020a51ef4f5e1e08f62a0dc1552fc8e8f90dbd8870542f221f04be20dc915ff15e","psig":"8e84cdfd45b5c7815f98460e974373ef5ef87dee61398d8fd1c1a8fa519b9cf5"}],"sig":"2edad8bc3bf0238eda7f1a0ec877d1227aabbe6e8c264e9c86b1eea2bdf21c8611564e6dd2b2a44e3569f3d9b6f0a4f09b129a1ff96185aca7e36aa87c469126","sig_valid":true,"bad_verify":[{"kind":"out_of_range","signer":0,"other":null,"expected":false}]},
+{"id":149,"sks":["1f58bd57655d5c5fd3e725c2afff45863c0f53ea8dfc5bbcabfb4b1d5d9ac8e3","149b6803bbb86d1543e69050625714104b8e974651698ee4e32ea772e5b4b966"],"key_sort_input":null,"q":"03e2bbd28263231751adda0493a1913b504595fa6ed8da480e302b605c5ff4c037","tweaks":[{"plain":"00000000000000000000000000000000000000000000000000000000000001f6"},{"plain":"fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"}],"tweak_error":null,"aggpk":"03cd87eba0ae7a78e2689d33de0d1a75a1d8223885de3b70ac638c9b8e450ecd43","gacc_neg":false,"msg":"bc2a22c211d269a02b3d4b723d21f581500923ecf73c4ec56d526a","aggnonce":"00000000000000000000000000000000000000000000000000000000000000000002b28e47d0f20847e3aed272c9ff4ea5defa1dfbf7a89051b07a9c80b6a961298f","signers":[{"nonce":{"rand":"e23afbfed3926cd54ed39e3e9dc5dca6bb026b4ee422d913331dd12b7c01e1f5","bind":1,"extra_in":null},"pubnonce":"0297c9e1b2265d6b5f014376885003534be45ec0d4f0f608c0e6401816b79e500703e3f443854bc6b57fe743c3273236ced843d0b77e894bf6933717d861d8d29290","psig":"9821558f62d68947fdb060137f5cda656dd0efcf518a269e1bd8c3da009bc767"},{"nonce":{"secnonce":"e7b5cc3a1ec58a5512cf2b97bd66fca0ef3ef1b14df3727f4221ca0829f34e46dd1392a49a7604c553edf9e2b82017b03625a6608bd01c1c2254aca5b8c654be038191c2f4ba968d8fd25d521b4682aa2a44d693616a2e73b5c653a7cf934db912"},"pubnonce":"0397c9e1b2265d6b5f014376885003534be45ec0d4f0f608c0e6401816b79e50070244cb5b68a3b1a553b6c72bdcc7a2f007810e9be8767dcc3feb45345ec1c74a9d","psig":"a2ab7088a3639ed6d65f7dc7ed051923d10b01a1442c6ebbd88ef46c065a0d09"}],"sig":"17d228b3b8489a92d7188557d1ce835c4aaccd018347a2ade9e9d08d3e083de984b4a294c76b21b3b2e98917fdba8ad71f3d8bd6527dc47d70ce4ece306ce69a","sig_valid":true,"bad_verify":[{"kind":"out_of_range","signer":1,"other":null,"expected":false}]},
+{"id":150,"sks":["f8d77f079377070461780892dd711f419ca2a188c383311ba0338589cb182d44"],"key_sort_input":null,"q":null,"tweaks":[],"tweak_error":null,"aggpk":"02843f2c504832c71f84fcee2b43e301b912b26e010ae211726e5c5cf338d8793b","gacc_neg":false,"msg":"","aggnonce":"02afbdbacf908eca8d7b4fa4ad6f5cb759ac2dd4376762ec212ab190a1e2d5ad87020cefd25a14ca8ed300f823d47ea76816a827f22b5da83610a18fc480f256193b","signers":[{"nonce":{"rand":"f824237570a6e51eeefd35e128aa0129acdb285f440a25d9cae44329a0dde4fa","bind":6,"extra_in":null},"pubnonce":"02afbdbacf908eca8d7b4fa4ad6f5cb759ac2dd4376762ec212ab190a1e2d5ad87020cefd25a14ca8ed300f823d47ea76816a827f22b5da83610a18fc480f256193b","psig":"9ff39fddb5087882c2f67d9192d5ac51b134e2d78d6184ce33e62f0e2c55ef74"}],"sig":"e594e31c86fd87ae2ef1411a3a36d809317bfe606b602c9b0740e04f2780b6fa9ff39fddb5087882c2f67d9192d5ac51b134e2d78d6184ce33e62f0e2c55ef74","sig_valid":true,"bad_verify":[{"kind":"wrong_msg","signer":0,"other":null,"expected":false}]},
+{"id":151,"sks":["4fba25156a60cc4445cc5fd2d3c7ee0c75b7c94b4cd9cc8841b69c5143ae2ee1","0952afa21d7f67c5a7a3c0b65efe7b71c367a53015e70a4f6e963cf03758fd10"],"key_sort_input":["0332bd78ec5f2f8758df726ba1b069ebc5d135b926817926dd1972352dac5409d0","029b69a28551ee219f9cd5153574c4b277fd6040cc923b910c3f9309488cb4f68a"],"q":"03896100fb254b7f997d295c95fe8442c121519062250c2ce6a6036dfd8cdb0992","tweaks":[{"plain":"0000000000000000000000000000000000000000000000000000000000000370"},{"taproot":"0b6be24260f6eb1a63582f280bbc17ce370aacf85e338c379cf9b5c8bd605c3d"},{"plain":"fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"}],"tweak_error":null,"aggpk":"0218d441e6fba2f90ddba110abf947b00f6386fb7bd70b7173a1a4d9e7fcdf2561","gacc_neg":false,"msg":"61564c8573eeffb2a508d13447ff740ee65f9432f4183db8bdfd856133cfe641ac756537a07ddf8c7878d91aa0292fd991ed74e809f32f99c0893cf0ab8f885ef0ae8cafcbf430635160bfe22c0400f5c583ea1994ced92e17a64d097e3405409bc6d2f807a8feb8fcbdb1f503334a2ed7867842982651f8fadbc38f9a5d7443d83e8d99dc9d827c376781221e0264e4e0e4e36fce72371fb74cbcc6605ae9613420cd3bdc2e571618243e76ed4c19e6501f7ec59fc3b343153f76985f6491e673954ed4ed939cbaf7b9114ec184e206647c873a78c40a2c5ee7817cef8cfe3baef2c4d24b195ca73cd69833f75cdd1cfe813616ccdfc84dd7a149172ac97f201390590e855d1ad12812184a5348dd83cee0c9417ddb2a86","aggnonce":"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","signers":[{"nonce":{"rand":"02d1b0a601c1aa84fa5419b42e19cb98a48b2bd5606e7fbd501ac98c7c750cfc","bind":3,"extra_in":""},"pubnonce":"02dc067a47005b6de2c092a3c39b07a56b11d6da5bc9f975754e4d72ae0924633e038f14d85a82833c6affd11f5af0f4abff5929731a9ca150ffcb9d04ee6a9e3b1f","psig":"8268412c4debd8e9e302507c32fdb4eb8a53dba75d24340b923ac0d56e152043"},{"nonce":{"secnonce":"4d63af1c99a12a18320b08ef5d02d5bf980599b0644c9df1ec957b40c9213f7400fa0e7eb9a35d8b70239de647796e6a63e629851219629bd7576c59acf77a580332bd78ec5f2f8758df726ba1b069ebc5d135b926817926dd1972352dac5409d0"},"pubnonce":"03dc067a47005b6de2c092a3c39b07a56b11d6da5bc9f975754e4d72ae0924633e028f14d85a82833c6affd11f5af0f4abff5929731a9ca150ffcb9d04ee6a9e3b1f","psig":"828cc66a19627bd5ab502f37a2b46db2b8e3d8453b6d822526c7c25b04dbe719"}],"sig":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798f15e9b8abdb714ce678fcf6bbf5d61ccd97755a78eacf7cf2639db6239ac3431","sig_valid":false,"bad_verify":[{"kind":"wrong_msg","signer":0,"other":null,"expected":false}]},
+{"id":152,"sks":["f565d7295c690feab0f45943a22730319b8444b9a13b5c4c292ef6aa5813d8e3","f565d7295c690feab0f45943a22730319b8444b9a13b5c4c292ef6aa5813d8e3"],"key_sort_input":null,"q":"0267ebd7e880e964ed29ffac4ee2b0b24a1e12841272ae771617341908b0b02540","tweaks":[{"plain":"fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"},{"xonly":"0000000000000000000000000000000000000000000000000000000000000000"}],"tweak_error":null,"aggpk":"028d2a13674102e739660363ae59debf2df04f44e59a6392bb3ed314385c7da630","gacc_neg":false,"msg":"32a77811a827484d7fb9ee28f5ecdf70238d7ff7668c35e99ce9632d6dfc8713","aggnonce":"03d68dc4f249ffb4e2cee5fc7e084e36671ddaaba95af084153a923ff5a9b6444102dfb85d837db51106949f8889655ecefe78058facd7a0e71f7cf13a74cec9f1cd","signers":[{"nonce":{"rand":"b819a5c47271cee718978903db2ef587d2cde4562d6eaf997ab230da30ea5fa8","bind":0,"extra_in":"97324e2b4cf776b28c83083a85ddbdc5"},"pubnonce":"02baa5d38cdf7ec05cf80154b30af5ca2447c79c1abcb7cffbb94e8ab843d049560284f61e5ebb69bbc8b98abe5c41032aa88e168fd81b9c0d3c5541f45258c29700","psig":"bb61cfeaa2a0569107a361acb55b4a858a2bf0c857b4e934909b1deb086591a0"},{"nonce":{"rand":"89cd3baa80016b521d7c13b00ae589f007dbf5f1a63fda5129280271db854d25","bind":1,"extra_in":"37800990b8402adbbef904d86bdded1c"},"pubnonce":"0301f1f73f59c459b944d6bb790c6a600af90062d378f5968b313f802be7beadfc037f5f0b03b56b7e33acc7c898278f9fd7ccc4808f88a33320794fac75d398b916","psig":"53bfa13356c451c7c046905701b9e2a60113382832b2539b782b83d2c1720b34"}],"sig":"8526f9dda3c84ff361c506ea51655764cd45ba424fcd7d2c4974e99f7c7f0c699b068c1c264a04507c8bff329e15e29fee1aea8083ebfecca8f7adb6b4db7d5f","sig_valid":true,"bad_verify":[{"kind":"wrong_signer","signer":1,"other":0,"expected":false}]},
+{"id":153,"sks":["ba8c72d57e32c5f698426c2ee5b533bfe0bf264d15ff31c3039f2789976a05c3","5512c7f6f5deb2ef9b5f4de3754092299a4cf0328fb2f4b046bbf4eb44149292","97feb063632f8880a5f58d8aaad636bcfda0d79a8506aabdab3a0c7b518405da"],"key_sort_input":null,"q":null,"tweaks":[],"tweak_error":null,"aggpk":"038c6425f981ce50a95c231bad536ddc180b65de729f163050552c4c731f412477","gacc_neg":false,"msg":"1cf9873041b96d1d66fe0a42b5f7f41539c93f6d4e2bd96c653a63650a3749aa","aggnonce":"03c04daea46d69e8c951da9a96849ccaba5cb40d389ab6e90b2961db3c9aa233a003cdff33bfb0c7b94c8f26a9bc35a5fb1375f5e9ca039efe459633f1363d4d3382","signers":[{"nonce":{"rand":"1ca8b6903f9ac62794457f090578499bd6cefaf29a4f2aa7c41a1d9836794449","bind":5,"extra_in":"769c24"},"pubnonce":"0218eb4a3f3e8be162183ee97787db19c175d9686bb3e693b74f7956bc8ad7cead020f853b8735ac609a3a48f43029a321d6e1413350a17fd068526e50ca100b9bdf","psig":"9ae10b11bf67237fd93c411c8bbc6c6d291cbda63aa62a249ac387724349c4d3"},{"nonce":{"rand":"012296fb4b4c9a927dcf3bb15def5eef0c3dd571a896aa7e525faa8a710a18ca","bind":6,"extra_in":"4cf23c40df5ca69946f158cb91"},"pubnonce":"03e92e96891d37519d4f1ec1b8650d0a0efdd97f0ab823e532f61ce764f8ee37ae03d6af68d58f53326b142792c16679d28eb57df8453c61ec281d25b4caa1cc1a12","psig":"f62ac03864d536a169226a0b455cc876b27eff5c9fe82066c0eaa0fdb7ba88ca"},{"nonce":{"det_rand":null},"pubnonce":"02cd4304e389e2ade46401a16cbced40b35a11b6802dd100f73e6e55374a6a48350214b0433301c1c9263c50abd8dda5fbc3eb73cdae0f998b2704a38ba89b40d737","psig":"0abf997a9a13a4e05425463a2fb15da77eab43a29fd5ed6ac344a0e1a41b7ca7"}],"sig":"8e31ecdeb7a3c3d393a64c37522a34ba2d541c27dd062653d27025318c3266c89bcb64c4be4fff019683f16200ca928c9f9823becb1b97ba5f206ac4cee98903","sig_valid":true,"bad_verify":[{"kind":"wrong_signer","signer":2,"other":0,"expected":false}]},
+{"id":154,"sks":["e15e007f4dcfc3ae061fe3e4515c9f2e0911a6e42eabbf0380be47844057558d"],"key_sort_input":null,"q":"031e9cd211cd10473410425f06d4ab6b2041a4dbc27fa0a435687931d22498376b","tweaks":[{"xonly":"21f17d64e37d4dfd4750be967260c70cb6911d8bc19f32a571d1173a967644c4"},{"xonly":"168754f807cefbcda999496998bbdf802fb4f295a793af5cc96e657851d4ce25"},{"xonly":"6b7ac67eccb869420720708559e9da5e2e45c950faafde6585a0f02b0704352c"}],"tweak_error":null,"aggpk":"02bf169df6fc88dfe94c070d14f669da71d689b3e072c0a537e75ae188cac12812","gacc_neg":true,"msg":"219af1c169c2b8e2d453cfcee203d0f378817c075818043a079a62d42daabab3","aggnonce":"02b559b8940bdff35ea2560df75dfb9458f2541779f7438961c958f77aa6dfba360377a13a23c9d42c70b5ce8a3189d5ca5ac98b389d3b9ff9a5332602151d9e09e7","signers":[{"nonce":{"rand":"4efd52a6140282374b219139b6ca246084d8464375e18dadab636e5d66f19f88","bind":2,"extra_in":null},"pubnonce":"02b559b8940bdff35ea2560df75dfb9458f2541779f7438961c958f77aa6dfba360377a13a23c9d42c70b5ce8a3189d5ca5ac98b389d3b9ff9a5332602151d9e09e7","psig":"e29622c70a9b73a82abbae5d24d29358280c843ece6265a30e9550343563d03c"}],"sig":"7177ee2e3cbd7d8c1f427ecc4a000ca15ca01611ef0bc9c2ebbf25dc19f529a846d01ff94722179c454df6b8ae198050f47412d83b0b47c2929e609c648c9938","sig_valid":true,"bad_verify":[{"kind":"zero","signer":0,"other":null,"expected":false}]},
+{"id":155,"sks":["c7fe73f31f6382e4a0fa18f9822f7830f1b69560091b4c503214636d93dd4345","2d6595c39eb80a1ca8b454676150a22ee935d13dadb30a3b8daf28ebe2270a22"],"key_sort_input":null,"q":"035e1b7a8d28323c7db8a209b9289e0b0ac929536567fdb3a27ebf20dc78e6d009","tweaks":[{"xonly":"00000000000000000000000000000000000000000000000000000000000000ad"},{"xonly":"fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"},{"xonly":"80e5b2a6ac29abdc62c94809da91d9d924c48e1fe3df6d0227b6577ad9b1cafd"},{"taproot":"708216c3520773f5929e244b8842959cd50562692e5b76180bcaa78c2fa6d596"}],"tweak_error":null,"aggpk":"03bdb45122b56a1e7df8d253d36357207d0fcdd6b0aa07af9edee40ce6cb889746","gacc_neg":false,"msg":"a73fb1dc116cbf953dbfe769d8e44e53fb692d9854d583377d2e70b458701d07da0c8562c40ca4ce9eac1dae12","aggnonce":"033d8b08794ac331b92a5df46fa517c1a5c2db2fd9948f136363eeecea2263cfc30257f40f3e1298097d20cd9e37086b62acc1d06b6e3193d757d0a80ce5aef084b8","signers":[{"nonce":{"rand":"e80e69634866aaccb2e82be7d5702058e1f200a8c683105de5d6cb09a089bc78","bind":7,"extra_in":null},"pubnonce":"020dbdeb39e4791dcc3fc8bfbba520dbdac496a3e003e4e3047686b334ff5c03d202c24dffa4a5a7b8819a2380b9791cd94ba67805355fd78f531cbfb2772abffa6b","psig":"059904d65b87a64020270b2622265bfe091fa9eceac02d6c9fff6d72f29ac137"},{"nonce":{"rand":"d2ce307b8ba5f436433b9173beed9cc88cabc7b7863b6416f43c846eb1c58012","bind":0,"extra_in":""},"pubnonce":"0371bb505c40d1d396ea33f21026ad6044a7ad617959efaee3b8503621b930470103bcbb6ca08fe58b911def9bf4f0f07ba7dd72335793b6b1bbdbc201715f1e30ac","psig":"4389e7bc6902c0ad976011963f51d74b8e6c3961f98fa16abb4eac62e8ba3493"}],"sig":"d64f9d3aad4be9f87c6c3ebde6c1be7d6936ac552d76890600b282d5ad65b04e3bd96b70b3aa9a17d4f629f405c50d5119fd816784260a57a7727ad7bf28e955","sig_valid":true,"bad_verify":[{"kind":"swapped_nonces","signer":0,"other":1,"expected":false}]},
+{"id":156,"sks":["c010136b1b6eec631bec0619ca5f4c2071d926bcae2f7874945b82ff926978ba","3d8688636953203aa88eb54b2bd27f1f0c220681a85273a6cbc2786e65a88dae","3d8688636953203aa88eb54b2bd27f1f0c220681a85273a6cbc2786e65a88dae","3d8688636953203aa88eb54b2bd27f1f0c220681a85273a6cbc2786e65a88dae"],"key_sort_input":["031a656facf56ee5e643efa37c28c3ebdad2d973ca8d3f1ee67cbc8b9d289cce65","031a656facf56ee5e643efa37c28c3ebdad2d973ca8d3f1ee67cbc8b9d289cce65","031a656facf56ee5e643efa37c28c3ebdad2d973ca8d3f1ee67cbc8b9d289cce65","030a2c74ca1eec7ce142db7a4dd707531c153b847d4bf0194993a260f74a576ac2"],"q":"03939c4707b522c57ae475fc01ce98bd3ba7e3a40c220fc8319c45574e3caddca2","tweaks":[{"xonly":"0000000000000000000000000000000000000000000000000000000000000318"}],"tweak_error":null,"aggpk":"03ff47d59dfd353c469ba81cf209d589e8716c7529495132c15713c6c1c8bec8b9","gacc_neg":true,"msg":"65d6cd0346671146a7015cf8fce69aae2ffcae7f5861cf6632b81b7adb","aggnonce":"03ae02f2dc19755159a6977a59095ea8199866978e5936793f2f20f6b9612efbb10333a9937a7699a8ca7a91dc2bf997520d2acc881b8ebb016f8550ad3187e3ecf5","signers":[{"nonce":{"rand":"859eb1327638774ff1c93c41fe951f1d6d9d9249e28119106d7b8db9a698057c","bind":4,"extra_in":""},"pubnonce":"03030a0c7dec9a5adf68aaae1d2c6492d6669275439c8c4be7824c6e362e1ff2020379e61040784d0a28d66e45d465e9b0d2618a5bc73347bad89f20aea5e393afe2","psig":"2f9eb2e8f6280f4568bd43b6cee044ef68e2e9a544253b17d2e8c7501d4bc195"},{"nonce":{"rand":"37b7533545bd4ab0247b306526d7a885e9aec7ab6268494e84b79b02f9656ee6","bind":5,"extra_in":""},"pubnonce":"028a3679ee03d99588ba5dff4037c52ffb2aca8dfbd3b567e67f7748f483307777021d0aa5c936a59208df96139f168f6099d3d7827b1b9580cbeb2e1a39e512009c","psig":"183d1cb320d26c8b8d8c9771ddbbe51c7060785313452f87b10e30c074be565a"},{"nonce":{"rand":"11c4e6f6960a97764e6253a02bfc14f5dd4260573536e315726f8af97fd67988","bind":6,"extra_in":""},"pubnonce":"024170a8f06933183b2ac116d3da4b47cc8afbb8464b9bdcbfe6818d0756aab824033a45f15a8f57631598be00b2fbaaea0dd94cf2909818db2784447bc4b70e4c2a","psig":"2fb8bfdfc893d6cc98a8b17b515dd53ef58e411a657dfddeae96dade134d246b"},{"nonce":{"rand":"5f3ceb16505355974979bbc211275de83b002b57a52b4dba01c9b257b12d8d54","bind":7,"extra_in":""},"pubnonce":"0246a3fb7c2bd7705e2cbcac196e58b864162d52ed11aba4e356a8382526063ab203920e8904ab9b736b7f8b1c7d0c3a4a8f539057cf74358dd48a69ad81c73b1375","psig":"20269bc2e120373d54d03e4b31cbae9b1002572bca75d35e8198fc6f806c15c3"}],"sig":"38e098c03f05646b9306b70fdc993f91b1e1d3b473665d55e56424a08885bc8642988dc7df2348d779a0003fd346cc6be464616dec3618fc75a28ecda073105e","sig_valid":true,"bad_verify":[{"kind":"plus_one","signer":2,"other":null,"expected":false}]},
+{"id":157,"sks":["3cdd27f03dc321cc95ac84234b657d22c7b6eef2bd69897fce00d2e4b788176d","4c6f73742558fbe9a0c06f01b456f3cfa6928dce572f3d2e15b84029d2edc479"],"key_sort_input":null,"q":"03944f739563c3e4bfea7bd544010b402fcfb86211bf7f532208273960fb6790a1","tweaks":[{"taproot":null},{"xonly":"b539adb5c90ea0dd46c6a86682b6cc72c7a76ca824d2ee049bab225347e3d527"},{"xonly":"32c6c10c1b564b38c6c3ca332db717ef5268c56da74fe4e69e81c69858fc1a7b"}],"tweak_error":"TweakResultAtInfinity"},
+{"id":158,"sks":["baba4e2290d688e61b7fc00faf944d6a84f7a77ca2fc299706acdfd8d60de7e0","9cc7cfbcbb6f11ac22865addc3b1fc46af0e62f83edc3ab6f4c5f25ee98c569f","d3005a20adbfb9f4307cb89310764756d63ad0e800938bc5000ebfda713f15af"],"key_sort_input":null,"q":"02643ff88c7f6ae2c2d325712a70af581078381ad8cbc67ffcd81749cac0254d88","tweaks":[{"taproot":null},{"xonly":"a443d4c2199b4bfafda1ca0604f7b384319fd8e30d79edbc48603831b5e63f1a"},{"taproot":null},{"xonly":"b1480b40e0c0abc4c951a2b8d063811d2a44b8bf7f431b65ec929bb21b01a920"}],"tweak_error":null,"aggpk":"039d10b1bb433fb409143db838aee3592e779b2a7172631cfd42c40352a6ed6d00","gacc_neg":true,"msg":"e43a5ba9ebea869765352b1f5f22dc6402bb3c0226ab392abebe16f0c32a575b9760f8706c40bb09f1a8173e03a3ab536a8c27eff136e34de5b99f","aggnonce":"03585f4904790349267ccc9e62fad1653c6172fc2bbffd63253ee5e55d912a77c60307541ad37bda7458856d3b8059153200da0d259f08e53830f1251a485410fa4f","signers":[{"nonce":{"rand":"3cc881968123648eeb6f057d52053c114999f72d620a500211ec2397aa2d8bad","bind":6,"extra_in":"a56cfec1d1eeacf7ef79b8c12a"},"pubnonce":"0370522254bab124abb8b755e508cd05dabc7a1597c5abc1b22c3cf89b4b919ae50240e4a98e5a71cb59da3b71a43ebcf04ac2912c8045d1771f34907926fafda002","psig":"7f486e9cf376c7209eab499055a7ea6a3019049967c40a4eb6f9f62f1265c33e"},{"nonce":{"rand":"d2b50465218c9761b1690c431a162da4357681d298b92a9e6b4c9d30374f38a0","bind":7,"extra_in":"9c9994ac1d86"},"pubnonce":"02f510c2597f47864dcb4b9b626e2eb5c49fdd1f617aa91ce3aa0933e9a298c9aa03cf1c1c514bdcbad0d76ba319593a6ba56631b490e855ec3cb612f14f8b3bb01b","psig":"8265d2060a34fff9f265530845dd3874e9613a7c3af448d9fe75f373c5f0146a"},{"nonce":{"rand":"7f7feb49e31f19a66dd9b91ee3b6c59c3327e0032e8ee036eb80b776e2ced5d1","bind":0,"extra_in":null},"pubnonce":"0217de01464befc57249e1d6b5199c77600b65a6c31224d81a714233db4a107e8f02ca0c765b9023892c91b3659a4a2e8e80cb77fc4d0a6549c0ee67ef7a6e5d1728","psig":"17cb1b295dec91f78585725cf58f2ea283d438fb7e41ea64414cb444275a5e09"}],"sig":"0e1e45a22ca804ef920004d599557858ae810d7dd336750073ac0d1ff3b0a60ce6e22a2701db9f492127d446e2d072f95700a3175d9d6c123078759bf588b635","sig_valid":true,"bad_verify":[{"kind":"zero","signer":1,"other":null,"expected":false}]},
+{"id":159,"sks":["0769f17b175f0bf970f3d263ee5b1bf0fb564998bd770632d5f0553f287e4b49","0626168dc4633e29264e9fc89df91d99480d0d084ccefc4cbb9bf8ebc9db10cf","985865398f7b687b26b43d7cea7bc0558117be5b18f0375123c7d714ac3834cb","e8b080df8b60f4a09f1bcc2765c6cc891156cc2288b88c3b8bb23f5c8750e568","60865026bf748a60f2ba83c8df1631ad1800bcde769a10411e878be7a44c36fa"],"key_sort_input":null,"q":"03c3085bf324fbf85261e43616bb2c43d8e6a2f3842b93a0d431a05d382d7df690","tweaks":[{"xonly":"49c0cd530f3d39c334e3cbfea0c1a6d927be10e701c0f67a889d965c4400892e"},{"xonly":"fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"},{"xonly":"2e80c2dbdfcddff48ee3a26e2a6fad2c37777f0dd1ebecac826d1e9b55ce08b8"}],"tweak_error":null,"aggpk":"03756f866fd053f3115c2d197f236ebf45c6b543c310af80d30e4596dc193ba292","gacc_neg":true,"msg":"968e6c7a5e18ac41687e275c739efeeddce782520d9a912466587c169db34b6e169cda5fb6","aggnonce":"036b479e6fb13fe5ecf3845fb8da5521e904564bdc2471e270740e1470d34452df0232ebfb49bb47679bdbd826c7ae52643dd74f516ce04e494030124b6a4afaefd5","signers":[{"nonce":{"rand":"487667b9a3e25b30367505e915235a75f2fed0a6c5b28392dcbdb59add91f600","bind":3,"extra_in":null},"pubnonce":"030020916dcd0992f113385b80150dd94b7587441ce12a8f167f3d320c0d3f497102a477471ac5e6acbe469fa81552040656d6dc51a14fea587492de3ac02cc17237","psig":"97c06dd76cd1edc66c1a38b62f759a561c80c3d9caaeef55ddae5bb9cf7dd93e"},{"nonce":{"rand":"d697c736065dffe7cd38ef8a9422acc23592b347d60449f559d3758e28e69753","bind":4,"extra_in":null},"pubnonce":"032da42fcce57db1ec714ef9fa1a5cc7d31732d632e28653845006e9e304fcc04e02c158d49ef3cb835f09a4ae4242f19627166def6ba95538c5cb88bd443e7a8623","psig":"e6d2a19d4180c4ca89411d1481bd02af9792a5f7a49816b42484fc1032b3aedb"},{"nonce":{"rand":"30b829c830c5ae881e0b000f463e4a5e10be9911cdb7c92e1cf09f22ba3666e2","bind":5,"extra_in":null},"pubnonce":"03ff3d36f30c1780c2cb4c3405973450dd7546377280fca2090f69f63a780c3ac702c06bd9bc336c0a224ee8e70e5232502700a053b85cb5ffe5fe7f62e4a629aba4","psig":"7d5289389e1006a0a1e89b58d72359a9a3c3725ebd7e58e41cb5d3d1468ae823"},{"nonce":{"rand":"882f81ce245c7d7e5447062c4621ff90157f8c81a9c053b261bcb56827aef5ba","bind":6,"extra_in":null},"pubnonce":"03ed898b00b95df9cdbf2e5be04bbb55ac23f0b134f831e49670517aa1929bbdb8028f2335c4d8f4ac38ea95b46e63e6eb173068998876c57569d7664879fa1660cd","psig":"c733ec141cd382d5626130694e99d9dd0183bee48bc08067c08328bacdf5aef7"},{"nonce":{"det_rand":"2300a19d3a7bea574ff06987977bde58c47f032c7de3c1f80302aee54025a40d"},"pubnonce":"0214ef565d411d2af5b4086b0a6f75a0799ab31843d40d46aa4f9c13c1bcaeb5be02948f2a7766d0da2175fa3cc65577015acdfc3da8ea9301203ab038f7e21cc697","psig":"6d8a940586989c88cabcd05487553891f22fb75d2f6a056c8171a9d81fab81cc"}],"sig":"b9f8d1c72d07c17d23404b6fe0032acc53e49427bf40bc65d00aca28546d52d45fdf70d70ba39412dc0fa11c0e904cf6fdf36978218caeb0c85b4d0edc65db93","sig_valid":true,"bad_verify":[{"kind":"zero","signer":2,"other":null,"expected":false}]},
+{"id":160,"sks":["f26cc5433f66cfbd69461b976cc674a6322f378e7a8b668f0d1d729f7fb4e1e4"],"key_sort_input":null,"q":null,"tweaks":[],"tweak_error":null,"aggpk":"034b0d8cc8537a636a0a5beacece28923a9fc71293a2c94bd46580bdc5cc1a9283","gacc_neg":false,"msg":"","aggnonce":"02f1d0eff98aaad0e4dbf37eafb21f264709c9daf411238181c31ec66f584e3a2d02961b6f4d71fa2f04fab05743339f7b5286ed0c7fef7d7b3a7317ff037688d932","signers":[{"nonce":{"rand":"8397a5e46ea3e1c8769b722d321b4d26a10d4d13df076eaf6a224f315bf70a1a","bind":0,"extra_in":""},"pubnonce":"02f1d0eff98aaad0e4dbf37eafb21f264709c9daf411238181c31ec66f584e3a2d02961b6f4d71fa2f04fab05743339f7b5286ed0c7fef7d7b3a7317ff037688d932","psig":"bcafbf3b7b78ba427579e4980bdcd1971c5e48cb4a38eede81876269ddc76478"}],"sig":"2a36bc245a519ce69f34906678cd1a79977b9d6d9d61dadd1160e5dc8f758d84bcafbf3b7b78ba427579e4980bdcd1971c5e48cb4a38eede81876269ddc76478","sig_valid":true,"bad_verify":[{"kind":"plus_one","signer":0,"other":null,"expected":false}]},
+{"id":161,"sks":["2bbee5a76866cfdf6f1b8696dc15566df3b4ac002aed80f81e1325efbcd25d15","2bbee5a76866cfdf6f1b8696dc15566df3b4ac002aed80f81e1325efbcd25d15"],"key_sort_input":["03fa24cc014f3cffff0968f79c8b52728baaa703d58b1b069902271b319339b197","03fa24cc014f3cffff0968f79c8b52728baaa703d58b1b069902271b319339b197"],"q":"02e3f39c65080a6252b8f32f7b6547f85a4612780dea113168b047d392746c4afc","tweaks":[{"taproot":"db652f33bf17fc8622dcd4d82c2abe51e211393c5899c9a36d8420d673f8fdd0"},{"plain":"a445de7eff788620c981418ab4e26261dc982577dcd9e3bccffb814ab736a45c"},{"xonly":"48ea4da103037f224b07469d7ac7f2dad78c10451ef44156b26cd1147fe0f942"},{"xonly":"00000000000000000000000000000000000000000000000000000000000000c4"}],"tweak_error":null,"aggpk":"0232afddaca6fe0ab0d36ddb61afbd943f8f82088dacb3b7f1773dbf8322f9cdb3","gacc_neg":false,"msg":"3b02d51ed3e3b8fbc9a0d42b26b8097e6cf910676c0c7abf3eefc7597e6fd29a249e1049dce724e24dff3344047333171a5980a71ec07a334ed9ce36f422e7b9e6b07f5f41a3ccafc9aac3515d30f1495c1c85299c8a6086bd0fa886906f281b8067d57034f7802af3fedc5b99b75426b60920574f305910a04ca5a00ed1d569a0ba3f818483e459a2f2b8ad44f42c92673ebb736f59bea9bfde2bda34f84aeb06a878b4a11cb290cb92ed7c4d30aa83a9a4b0e875d511385602712bf3c46f85fc969fa209e921113e2c71c1cba8ec05034498ebfa6577c9989104a9676f1f3442088ab8bbaf908b9fb667cf81495ef38268c3b4fb313524fc74a536797a144baf4c51937becd4fea636e5d366bafbea5285392323","aggnonce":"000000000000000000000000000000000000000000000000000000000000000000022bd56b4de53b33ca830aa40486af5b92a0f5c64b2be0286be90ad71cab5d3a0c","signers":[{"nonce":{"rand":"acd619c98ba11d9b9b8d3a62436f63f44da8caedd1d91375b5407fb29f5119fd","bind":5,"extra_in":""},"pubnonce":"024dabf79a22fe6721523ddf3c1c492a877a6ee1c610ec3fe438db4ba648e92262022b458e8a6fb6b082c535118b72aab2f75aeb334621a5d9c11408914db35aeeab","psig":"c7f1e11e03a412b9c62dc948c548a48c0a30442b3e5c5afdd582c9ff46a63784"},{"nonce":{"secnonce":"c81d7d2f22b618516f366b9c06c304702360e988ffb8615cd41898616a310edd2117a9f2dea90b7ae13af497d0701fc4ed178259aaae52fad657c9a848c42b5c03fa24cc014f3cffff0968f79c8b52728baaa703d58b1b069902271b319339b197"},"pubnonce":"034dabf79a22fe6721523ddf3c1c492a877a6ee1c610ec3fe438db4ba648e922620322a78a63e65c045eddb140d1b04df20a8e02c9d3b2df829a56a2a8046ece2ed7","psig":"9da9c426502fbbabc600010734cf668ca05522fd8bd37275da5e1f9cba2397fa"}],"sig":"67ac3088a3913f0f6ba1ca7e08ea31a1c21021b088aea311b0be5c6c9a4a01041ceba55dfbee0ab9fb68a9ddc5c2b15e924466fdb2fffd31fa34a374184ec18c","sig_valid":true,"bad_verify":[{"kind":"out_of_range","signer":0,"other":null,"expected":false}]},
+{"id":162,"sks":["b8ecb5dcaefbbe783ab28632d164b40973fab74a8712da556fa4d36a8d2cab21","adc290775fba4643d5f92c26236088978608924ffc4ef63f2ee250bb7aa2f770","ecf87a4aad9ea346a69d66ec2600f1bbe270aefcba315e15604393ef092197f2"],"key_sort_input":null,"q":"02f18d7b0ba16f112f40f6f369e1cc7528c3ca3ae42e968e871f7cddb851cd16bb","tweaks":[{"taproot":null}],"tweak_error":null,"aggpk":"02d691ff60eee69caa6451f6c17c550e1a665283c404d676eef700e94ffda942c5","gacc_neg":false,"msg":"db3506957143061ac6d0821cd5246dc2cb0f2481d488e0971b881ec0cf543ded","aggnonce":"03dbda6d4150c2eb66f758e38842b4b318b7ecf648cc9fcbbbecd1da88e2f1870a000000000000000000000000000000000000000000000000000000000000000000","signers":[{"nonce":{"rand":"5b2ebc17c2676884e0b91fd7bbc64a66e9808ace0748c35897efcb0720bd0872","bind":2,"extra_in":"110fd50b493a0386"},"pubnonce":"031b7e4ac38aa4554c692ea5595a244a4396a59f37f61dea371ea459f1e86c274f02f8608bbafa0b70623754209744577acfa56239dd0063f035e307416adb5e0243","psig":"5f72db534de32b207cf1cd93b7a7eae8caa197e00cc7ff2905c9a1bee9638062"},{"nonce":{"rand":"4b15986b596d01cb547c6de4c784fb9f655336264f0e951b40bb9ad08ba56019","bind":3,"extra_in":"5357308f8940d88311"},"pubnonce":"039e84303ae18d0b600b2c2708966becc5fe5a0638d5ccb3ee6fbb646c0c33f42402ce4c01552c80990ce741aab77bbdc2c73007d9130a1b3250782fce82f7bd5318","psig":"bb578c8d7ce057756496e546402052881a8853365f1cabe540f00af2c24cbe5f"},{"nonce":{"secnonce":"33fb9d31b7a4a0ed8b5a3b558aad94dced199b709c42b5876ce6a28dca159f882f4e08faf3e47c1a3aa3b27b18c715a5aaf14e30b75611ec53e75730906bfea703e66c55bc4739413fef85e5d3beb363ea7c014f8ab430a3f814640050d2c45a8c"},"pubnonce":"026d12ff6efd545f9c6f9a96036a85760520e4a9b0ba5a65c4fd5b7197dc2e1b31029b65d3fa517c38577a32a733e9665ad31acc527fc32e98a1791b10b71164730a","psig":"8d0fa3b418af7d8ea4fd2b560fe8b96b32f0ed5b9684d0f8c19ed7087299fa49"}],"sig":"dbda6d4150c2eb66f758e38842b4b318b7ecf648cc9fcbbbecd1da88e2f1870a441b1ec1d3081529906ca728f1dc85a137101a7484814e3a3059242f47a9cbdb","sig_valid":true,"bad_verify":[{"kind":"wrong_msg","signer":0,"other":null,"expected":false}]},
+{"id":163,"sks":["53d664370b58fd9a9802b294c9e3625f98d3df11530775f4ff84b2d443f1ca8d","04fe203db16ebccc532e32c515d414a9e30670f753492a8cdfecc1d92d75f044","e60bebdfeefc0d0ea087454df108c72198677a71f0713302d4a6f0cceca0bef4","701684d7ba028dc915ca615a1b655605ba17a7f09cf98bb97cd8a198deb2c78e","65a12f6d571b5c5698ea2d0dd5d7637a3dbfcd3307a5c6ad0b8c8dfe74af340c","8dda8f26918c8ef2d5a91c8bea8ead9f591604ad65501a4bf5430a65ec250aa0"],"key_sort_input":null,"q":null,"tweaks":[],"tweak_error":null,"aggpk":"03245a1211fbe2c5098ec3ce98492d35b78d2d5e278f4e8046c6cc0f28a4e186bb","gacc_neg":false,"msg":"c414021b82d275f072ef027b8be5a5ad3e7e0e4811a0ec567335f74fd3cf0c51","aggnonce":"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","signers":[{"nonce":{"rand":"7d371f78a8d4f4c24394ae861b8350e927335baec8f869a0aea245afc478caa0","bind":7,"extra_in":"16c60eeaac651b791defbb63744a2d30"},"pubnonce":"03c8582d3405a1a35ac1b97ff24ef7f000ea96c227b0fa85d33d7c7c7984c7c34c024351eef2f18dc49fa4f8d2023cd4e059ccdb4326bd801f535717d67feb209f1e","psig":"30a5452871babedc4ff738145921b2c29e3d23fd1cbbc4f2b61ab527b8019bf5"},{"nonce":{"rand":"2fbdd8262230882bdc4e8baaf3235b5440f2b2c6b95631973f92aeeb4cf3d029","bind":0,"extra_in":null},"pubnonce":"024b59b4dc48d0786652ead765a47a940bed8d024423877210b7d2b848cb658e7b028f408a69dc94540bf83eb80bb117ac56b96dab9f16690394ad9692eb2a2f0b70","psig":"9ecbdfc420e1ba5ee6b27de768e3480ff9f7176fa560903b130ccffe0779fec8"},{"nonce":{"rand":"d890d725c929ecd28310fc27834cbeca06ca2c5c8038c9a603c17840e03f2033","bind":1,"extra_in":null},"pubnonce":"03d2d9adf48e1d713d0f87d34ac5abedd78326892ceffab2393085419a3ca43a9f02156fcb6a77ddc7d4ba68f4ec4d69f425fa9848014ba3db47a380d79180685f1a","psig":"5ff817178d12a1becd3a4fa18ffbcc647942476011e129759d4437c6c01aa02a"},{"nonce":{"rand":"4fa6be26f88c953c7b25ea9ead297c44313caae44bcfb99f2ce50386b8d0b90e","bind":2,"extra_in":null},"pubnonce":"03a72598fbd37d5013c660c3e02896a0c187c63ebf2e5d6c3d81b3db779a17d1d8027cefd38c563e5f791d21ec05f8cbace3c6b4b255c280338875311210a9d2aa9a","psig":"34ae26eb0986ecd28625c6d34846a9462087de6c97dd7b2f8ec9503d3879de41"},{"nonce":{"rand":"a9446079d658d073150fb0d09d00cf57752517af37c151cd9e59088faba594b5","bind":3,"extra_in":null},"pubnonce":"03ef6ef1cd86a6a1a3c86420cbaf665f0447c8a60ac28c44859d822ba900b21e9102fdb822cce83920f4b0daf0e9d1a1dc6b4247d7eab880276b723545be213c25d4","psig":"5fa3553357ade782f475f0dce2009f5f1812ce9cbd0d549ff3b192df4f2f7d82"},{"nonce":{"secnonce":"ba0d411e4036015f779d04d5b8729830fd0de806e24eeccd99894bd09b8337fa3f65836adfa5ae2d6bcd499bf2ba29fa9bfa72510c99da5143fb48871c1d5966020f24affebc6c5100204e9bfae5259b7ab6aa2e63bd472a42441d5375fd87f1b4"},"pubnonce":"02bbde032bd029e33f4b4d52eef254f2e52d8d867083e0f250d5f9e68136a89fff03e0b578697fde341008e9d028a9c13ec44382109d514680e2b49f8fad6a529a18","psig":"af6c5c1f30467863c708d0fc2250d8ccfed396d1357d8f9fff39afd4966c7dd1"}],"sig":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f8179873271441b12a67b345888e499e98e8abd3870cd9ffd49d9b687b92c3fd3f91f9","sig_valid":false,"bad_verify":[{"kind":"wrong_msg","signer":0,"other":null,"expected":false}]},
+{"id":164,"sks":["de23e76f5d88ed5fa4fcbeab10447874a5cd5afc700454b5565118479e23f115","de23e76f5d88ed5fa4fcbeab10447874a5cd5afc700454b5565118479e23f115"],"key_sort_input":null,"q":"0387968fcb24702ed8d2e6abd5f075f07dcf81edf9c16099b7ffa33b0e58359d40","tweaks":[{"xonly":"e891ae68c82dd34094064c623fe71155bc2c146d6bb7f1806f8dab1345f1fd44"}],"tweak_error":null,"aggpk":"02bc32012612270fa8e2c74594bb36325bd5e8bf57c56b2694e570de054abe8645","gacc_neg":true,"msg":"cc01dc98fc7a99deec8da0af162cf9f80942860ed7b10a5a737b0bc8c95787ce","aggnonce":"02de461b3ac8f7dfb2b5da8ab785f86715d43725ed4687ed5068c78ade827a1fca02635b7926ba63f6f0f9d26aa007c629221d64b91e1dd083a084d097498f72c7e6","signers":[{"nonce":{"rand":"a40bfc3cd03612282678cd3883a282cb17ab84879a63b51e3f7bc13c2fc6761c","bind":4,"extra_in":null},"pubnonce":"03403f9bfa18ea806d19bdfdb11973e54ac7d927ab5b030535160078dc6e01ee3a031762b541daf2677d19a336b3160aa06dff2626ee87f97b5d153ee59485de8a4e","psig":"e90cd9873c5a43edb7cab39744e4485c32cbeb66e6be7077f5c4a2be645bde29"},{"nonce":{"rand":"4915da7d47c5c5e3db9d93b2a1a9190feed08cc9c488d43ad6e6a7d9b4c66c7d","bind":5,"extra_in":null},"pubnonce":"03bff8e01a486307e29d9dcbf897a05e2a97914794a045baa0c93dca8790d006af03a20b7fe4ee74a2eedad6abc92f3a8ba0d67b012c51db5e9ee97a26772c3003f9","psig":"35c8b114d83bbdf3616b167b540053f439120536fd4ac3133373e23569e00948"}],"sig":"872c64bb934c39a96420c7df11121cbe64a0df7057ac81c5b503b6d2b4e90f0a02457fd095f1e7372f26354050b89df6460311b273031390d0534f2b4ed30249","sig_valid":true,"bad_verify":[{"kind":"wrong_signer","signer":0,"other":1,"expected":false}]},
+{"id":165,"sks":["004ad60f66af18490f89afc4f4b92293755381ef2d56c4655bd56ed28ffaa602"],"key_sort_input":null,"q":"026cf31be7356887de441cd5e63cb2f938f7cb96a897395e8e6a2d2f04a44e3038","tweaks":[{"xonly":"fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"},{"xonly":"00000000000000000000000000000000000000000000000000000000000002d4"},{"xonly":"a965c17371ebd2b855942b59f0e66d595af224b1b09fcb129bb74edb847fb6f0"}],"tweak_error":null,"aggpk":"0229ca1f3f7e23eeba24b85461435347f77a7f085f22d2703e4fd643663121acf4","gacc_neg":true,"msg":"e37b62c067946156538a324330ff74a6ed46294a899526799b05574af8fb883f0148473110d6c6845225a7918814abff44eaa17503","aggnonce":"025e1576a5ed8a3ef856b5abac96cb07be741334096b66d2076650df9c8a09ad8b0252fc886e74acd518a2e06584831e531229f9d53669f740b910d9e8fdc2f6c4ea","signers":[{"nonce":{"rand":"b2b8fed50c1ff0078f26fb9058805cdd0e6f87f2bc31de14a6b82a84973af0b1","bind":1,"extra_in":""},"pubnonce":"025e1576a5ed8a3ef856b5abac96cb07be741334096b66d2076650df9c8a09ad8b0252fc886e74acd518a2e06584831e531229f9d53669f740b910d9e8fdc2f6c4ea","psig":"1b49165c92d77a7124cb97e3fc5c59131b61cf51d0a3551bcbec3bb87c37cd2b"}],"sig":"29cf7ffe511533187c1da492e95188cc28bb93c1fc12144af85b3a5ca86839fb7db4d63a8e3f96de3c84bede03800f5098f2905c379f0e4b3f4452f41b1e333b","sig_valid":true,"bad_verify":[{"kind":"out_of_range","signer":0,"other":null,"expected":false}]},
+{"id":166,"sks":["0bbc8ec71277b5e1d0791086ac9ff9166ce47f78ce886b7df7d8dd7b764b43e7","145ad53c9b856e3c3d52ef61ebbd560452756929d018fa86d8ef97266bad2ac9"],"key_sort_input":["02bd1c02ce1f27c5f06d10db36744cf3f0f812864f7acd690ee345d78611ac54f2","0344c077486228bf9bd5d29df889373aef046bb9184210171d68ac85c27782236b"],"q":"0382e9be6a191ed220a346fb0d6f609ca94efcc016f1b557f67e31b5aaab1bd53f","tweaks":[{"xonly":"000000000000000000000000000000000000000000000000000000000000030e"},{"taproot":null},{"plain":"6044a4167abb69b1af13e4d080ab37252811df73bb8e6e73484132679d7576dc"},{"taproot":null}],"tweak_error":null,"aggpk":"03ef4019fd8aa16047c1d5d96307b481893e25755622543fb306c7e537226615e4","gacc_neg":false,"msg":"d084","aggnonce":"036a6b139416ae30d46222a1a4e31764d3146c8de858b419848a331f528f724e7703fe8861f551939099ef9a4aff08efa8f7e81afaa32b7105bb87b6d5625aee5a00","signers":[{"nonce":{"rand":"87842871bbb9b7df5d5ea7af27e4e4f3e29ed55b864f75bb8bb2352965e35b16","bind":6,"extra_in":""},"pubnonce":"020158531a940d08aa481d227c22ca711f216b17c007431160eb1242ba727a434102a6c838232b605cf1894198a4770350b5251516a4f1a14cfb553992bc591bb606","psig":"ac9ce10900b8a97383e04dbc03b51b4056a96d331c843d650cf6da45e64f6960"},{"nonce":{"rand":"117a8d613b7713b9016719b457c09f2a8c2a6e0891d7ea935ff287bdb0693e67","bind":7,"extra_in":""},"pubnonce":"036e2b3e91774c1eadf26a039b0b2ea4c2b0f91134ea85f52e4b554f74ea0004c30221b572b07b2575f63a0cfba3eb78161a172d269e354d8b03f7962d8d97445119","psig":"dd4366e11f49e30858bf0419cc641c98721a764dc05e8af666e993b6832e0743"}],"sig":"77fb183d4afdf896b70d58d348619852c3d7d2230856b7f255f60871988fe9a5ae7111c560080dfa100c4fa55b836e8056a4de2e47c0dd157a5c1d3947ab389f","sig_valid":true,"bad_verify":[{"kind":"swapped_nonces","signer":0,"other":1,"expected":false}]},
+{"id":167,"sks":["9075e3ada99e3454b662e8f53eecd58f961cbbd44e1151ae0041b2be04783d15","24513156229095bb5c9928c652199724e4b6a866279baaf3966437c386fc4578","c2b6122ed75028ad3dc492b33d5533d30ba58c9c3e552dc939101d00c5f86ebc"],"key_sort_input":null,"q":"0246d632401865ced1534ac0c3f2641195efb5c7f3f9794a170f79a47e01ddd2ce","tweaks":[{"xonly":"0000000000000000000000000000000000000000000000000000000000000000"}],"tweak_error":null,"aggpk":"0246d632401865ced1534ac0c3f2641195efb5c7f3f9794a170f79a47e01ddd2ce","gacc_neg":false,"msg":"0389cdcf8f5ebace1bf4a439","aggnonce":"027bb177eb71663abdcaf7a2f5af220ca163688cc5aadac9305699fdfba4d0c8c202ea6424b51f7f9ad74a4b5f32344e6c6855b83cf052c0c53149804ac4e591bdc9","signers":[{"nonce":{"rand":"0215fe16c882f8952d2bce5942e4d6af23b31bf2a3987b52981cb704cb12d077","bind":3,"extra_in":"0e69c0beb15e48"},"pubnonce":"02765b80c9a9e7c80df4c1bbee29d4b356c209c8b4c0d3c74a609e6ba90f14ec3903961fea051d951eb7c3afe4eda87b4ee21e482b133b47cd4c59c427c70ab876c8","psig":"2892f4af8be4de73e21c718bb1fc741e36fa647c7fad22eb041ad8b8251fd9c2"},{"nonce":{"rand":"8c0e6aa584120491291d237adf3db9b0103ad73d3863ac312c98e0c32e8e5587","bind":4,"extra_in":"8c8b952056213e10905bb8dd"},"pubnonce":"02fccc744aad9d3c6eac36767264a21451f7e2e626ac758758680cbbb276f812e303eac03d0fd31532015e15e8d1204b28186df1517b5dd58910898a9c21e590f9f4","psig":"f636a425021160fd5a69a3807d49a53cc74c7da754f3a39ff9dc92a4ab7d681f"},{"nonce":{"rand":"1172238d20cd0ab4acbfe6388a64a4220b680c7bea1075ad3d4d4154af93e357","bind":5,"extra_in":"87339c5930df12a1c5"},"pubnonce":"03bd4fce9fcd61091428b77f405f427119a84a4cf06616f45da27a636da4715a360305b36aeb3d6528b90bc9e2069da33d2544c5736d4722f7f5ba3225ce44d766ab","psig":"0acf63248439a998f3e3632aed8c9aa958111323f296d07104bd6d6bb3f3e7cf"}],"sig":"1c61770f72d4d9d19ad12d9636693321e4d9004ab83a50730d10613cbde22db72998fbf9122fe90a306978371cd2b4059ba9186117eef6c042e27a3bb45ae86f","sig_valid":true,"bad_verify":[{"kind":"swapped_nonces","signer":0,"other":1,"expected":false}]},
+{"id":168,"sks":["ef319490ec09fb4f916f59938fb75421a2cc1db6a948e01f3217a4a854b20822","ef319490ec09fb4f916f59938fb75421a2cc1db6a948e01f3217a4a854b20822"],"key_sort_input":null,"q":null,"tweaks":[],"tweak_error":null,"aggpk":"03d390101ee19fd967af6930be33ac29a52a5c75469f036906ff98ceb58934e458","gacc_neg":false,"msg":"3d","aggnonce":"02328133bebf05560376bbbfb0373be91f85097e1427b49d9f3f2ce061ab9a6f61023b465bea6626d21a727ce7f99bf4758b42bf4a3e17df0f3ccccb7478e3a2deb5","signers":[{"nonce":{"rand":"2e6555b9fe515fa69dd858058e365ed7312a287129a0474d455b4b9c816e4c41","bind":0,"extra_in":null},"pubnonce":"02eed929aaaec06563fa0d546b6076e3e11a70a3b0b4ac3db106f284408bac651602b757523ecd423b5b1d8be41feabffa1185b054d7fd2e7609ad44a152cd3a1f8a","psig":"fc2bddd28b3c6bbcf6051e87a1664629cad2b3eec79d31c6fc0c50efa7c7e843"},{"nonce":{"rand":"26f5b27dc1d088a0a4c7c75451bf591b6f1b3e9b18128ef386bf26781591b684","bind":1,"extra_in":null},"pubnonce":"02e1e445a1f04787f2a0b78105f392f92cf9a73049590748f361855db06f3c6eb603466ddff0c376af2d61396c572880bd95c71135c973a1f9dd9efe6dc57d1b679b","psig":"e658d1fdc275d70cb650e99e280c992d2fdfe1c9989e15b217aecd76d275a8bc"}],"sig":"c0488f1fba45b4a160bc455cf5c885ab00a96d6e0960682fb634212acd64aaeee284afd04db242c9ac560825c972df584003b8d1b0f2a73d53e8bfd9aa074fbe","sig_valid":true,"bad_verify":[{"kind":"plus_one","signer":1,"other":null,"expected":false}]},
+{"id":169,"sks":["66a605452a2b4a049417538f47cfe79eb91bc15fd47097156a0c21e2f361b2ef","99c2bae806cdfcc911ddac7e1ab4b14eae807ca88bccfe5901dc92a1a2f5dcf6","7b9b97d028471195fd308bdf1f4b6c000a3beeb474731c973894244d2e96863b","72698c53c303641ff55dffaa582c2dcb597fca8042cc4d6c96f5e2bd1214ce09","828ba0fbdcaf92ace0fdacc2038432f2f6f141c6ce9d3bce9643a819c4f2b13a","a709e3331706c6040eb5b2b7093284f096ba221fab5025bda28d6cbbca85af98","0fc4e0ab0069293e969d0131b370c23ec140ec617a973526f94bbf3589079c74"],"key_sort_input":null,"q":"038f56275ed0ac35c01aa2c2a637fa47786cc236d4b8167424778f6cbbc7244283","tweaks":[{"xonly":"78d4790cb658cdbf22f031de3bc1946c2cff85df8864792548d63c12be6c93f5"}],"tweak_error":null,"aggpk":"039bc835a810e71852c611919f8b155e3bdc9d0119af19177c3001afded95517fa","gacc_neg":true,"msg":"61349c9ce31591ba2d5bfdb0d1b271eb1b8b","aggnonce":"02983c6defa65a2605a7d97c99a63bd15236bba3420afdc79eb581487338806b6a0395f87f734e24835d59513b5e3cd829fe59224fdafe5e325d9fe05bcb235b808a","signers":[{"nonce":{"rand":"2d2b799c50a1aea04634e75a721b688f83c7311852aaa5a69761daa8ae69f437","bind":5,"extra_in":null},"pubnonce":"027cf5f1c40f707db33c81e6bb9f73f449fd1e295048f646c6bbce6a580a8aa6f702842a35ad869ba3d2c55e40a4b3b3c6e8e414464e4eeee06436f104caeb00a712","psig":"537a6bf83cdb0c3967a25218a86868945e91c2a79a93b6e766be278bc2677bcf"},{"nonce":{"rand":"22eb65b2811b8dc7b368b99dcf8416d5263eb959227806a4237f07eee5f8b6ed","bind":6,"extra_in":null},"pubnonce":"031304d877865e0421352a867fc26e9f468bae777bbebfb191db85099bcffd71520333edaf57f41ee089e2373f1db8a8ae33e47e8911eff109c459c65c0db389e0a9","psig":"d70e28359ec16c627d4ed0993a0bf54bf8ffa003ecf81bb3398711ce079f96ff"},{"nonce":{"rand":"0eb4772eb0483556d86409923ca7ba66664db9e76c6bbc1fbc531735c8824b05","bind":7,"extra_in":null},"pubnonce":"02b5e3dbf86606a6753770b524f3f90cf3f2ed9529b48e4b4edfb61cccc1ea0952024a61b6155c01608ef7d2a76ecbc6838a1af8d674e7307fa66d4cce7d8098deb6","psig":"d926946c883314133c8c089e7fbdbb6985ca32e339eca6a9f6362b4df9bb6efb"},{"nonce":{"rand":"1c5d3850832a33d5c51ec77156b85204e74980d14884a1e06b3d740b4f7f5ea1","bind":0,"extra_in":""},"pubnonce":"0337db14a6d596e53fb9930afacd4d303bfcc8e929c4e14eaa6f5bef2d632edcc902d9f36013e893c97bfdff145ec8cd64e92ce73989197fc3af700bfe335bdf7973","psig":"6feb6955b4fb4122368c1eab0be8172333f92b8b4e30ece22faada669e27aab5"},{"nonce":{"rand":"7ecae181efeb05990f02f2873659066197c93ff7a601d6fb0a5ab7cbe7fad11d","bind":1,"extra_in":""},"pubnonce":"02357a18414485b7f5b5a487ce398498120135cfd4eb3fbf829daf5b00d96272fd0308a39b6ebdbb9ef3f6cac9fbb5e81a350f24b5abc2c67f22c5c7a847f07ea67e","psig":"5ce82aa8a422d4141aa5c4f54727acc0ced9e4b31a5a3de156ff26ca77cf432c"},{"nonce":{"rand":"c3d715fa4f1f0b07b8d7443c959ee42a493e59babbd9807a2dc0c2014d6e3cde","bind":2,"extra_in":""},"pubnonce":"03c4d1e4732a19ba2285fdd510fc242f72d26bc5a3ca539884647728b15a3aeee5033503977df0cb4ef5010c6354f6d04b7a2107afb573c1359a03902cb6d5931cbc","psig":"c2a7f5e471113b2fbf1a3f3a5cbba34e89736bb587989c10922a12f61d18b4c6"},{"nonce":{"rand":"5bb64c1fe0db1b12353d4c54873987f78afd551b613b3320acedf953315d108c","bind":3,"extra_in":""},"pubnonce":"038fba63f147d98b1973cec2a1a435a230538efb1aa7e5b5d60a95c71e8cb3c025024904caa009780d839e558118cb800843dd1c51bd472af1442bd6349bd0048eb9","psig":"76a42ddd5033253937b298d0cae4137c3a60910331eb029f55dae855f9e496f6"}],"sig":"cfa9fd124e16c1cf09ac43ddb18f60b0b3d59ef712b45301665cda0c010e3969ee50e4162fed7c625924e9b2710a6dda4cce5353a34de7ad95400ff5ea79436c","sig_valid":true,"bad_verify":[{"kind":"plus_one","signer":3,"other":null,"expected":false}]},
+{"id":170,"sks":["f8b7d96cd9448f6f91db62e41c0b8c9d1bc4c4b21aa8a9ffef6fd12da54785d7"],"key_sort_input":null,"q":null,"tweaks":[],"tweak_error":null,"aggpk":"02a36adadbe8384aa672891153a5f51b10d4d4dbeb786daeeb09b6a1c1aa54abd0","gacc_neg":false,"msg":"","aggnonce":"02b0a5e5df2e15e0399c3c9b463447e09ce0f7c163148919cce72e31abf56e80d20290ad53f2b1bb8215310fc5a553b0720b633930ed74633c64f57de7128fb4366b","signers":[{"nonce":{"rand":"727a6b36d60c15d0ed606a1089957d47ff0a9459a2173ce85ea3337f1cf0686d","bind":2,"extra_in":""},"pubnonce":"02b0a5e5df2e15e0399c3c9b463447e09ce0f7c163148919cce72e31abf56e80d20290ad53f2b1bb8215310fc5a553b0720b633930ed74633c64f57de7128fb4366b","psig":"50f30bcc44deb3be2435216255ee73ab3a5241de847957f4bdbc1e25131b9be3"}],"sig":"242dd0ceca4718a46b7c77a12bd4a70923aee94867ad2734bfaad0758ea0026750f30bcc44deb3be2435216255ee73ab3a5241de847957f4bdbc1e25131b9be3","sig_valid":true,"bad_verify":[{"kind":"zero","signer":0,"other":null,"expected":false}]},
+{"id":171,"sks":["e94058d087915ddda4162db3c5dc69f9d37a0e36e7de4703be0f86d4907cbf44","9f7446487ab15dd36382af00f996fe55cec644cd3212b8443887bd087e7cb43f"],"key_sort_input":["020966c844ff9fe9025ee14513555e5ab714f0f9194d1edbe5c3e7e9c363a95cf1","031e3a1364242cdbdff69ee9dea27c9055afa9537901235134e9a42a92bafaf2e6"],"q":null,"tweaks":[],"tweak_error":null,"aggpk":"02f0d1d08e2d5f8b68c92f4f5e9230381293f281bbfe2dc832afebb5a83bad1925","gacc_neg":false,"msg":"506b9ab4367498c71b13c02bd9738ec87b283deb791742299068dfbe6120d215a221cbb8df61f5752f0b911831a267e7b35fe9e9090691f1bf440b405ef0c8426ad906cf726d49f2d4402c7015ce96136ca47806e6050839f1f98dcbc5208246757336cdd52e9b1ad6db5b25b7f27aec1746ca432854c0861ccf6e053cd08b15b8f2be5fb74bfb9f79a8515ea29c321da686d63d4edab85e96bf8e90f9842dbe8e798f51a10b9d120531d336d323433a633a5d760173e72866aee8c516dd48fd49373e959589990c239ebd6694d4c50ccc7b428f86495535c0eea555ca51947b4551b49d01199c9f13202ea97cb8c350cd330199e5e171496b9955c1cfac60be344a98fe31b26352fcfa3a258b2cdc90","aggnonce":"0271fc74de7fcffcdb3591c0e5ae8a11684c4be0a27ac12de6d7ad56017178e1db03b7d75523fad270aaf55dd0c69e4093b103407d884d12f6f3acd1ea8de5e5a475","signers":[{"nonce":{"rand":"3affcef5bca0df9bbabea920738f92d10b00abd1e7578102acdcd636b6216ce5","bind":7,"extra_in":""},"pubnonce":"02371066b20fbce778d01abdcdce5ed7e6bcf9e9eb41fcb0be1a42fb8220a9792d021f7338465070335555987ee9e01a6de19329c80897e56f1e1ac7b366c71fd33d","psig":"c141c5457ba9bb4c8b0451f7f5ce300cd1e502148b47b2236bcbd994ce52d563"},{"nonce":{"det_rand":null},"pubnonce":"034b69b7dd29f02f74f11a00840093e000467e088e7bb82779b46b68eb613e33b7038d2098ad957bd68f70f0fd75848e39177f3583e8a03092bb2aecd5ac26a9c369","psig":"ba83000a2bf2c7439d76126701ace0f564869f5dca041813c2dbfcccdc319d2d"}],"sig":"e8ad9bd6799e92520fd08b76b30a8458ffc0f660ef2b3c67251ef7ce94eb457d7bc4c54fa79c8290287a645ef77b11037bbcc48ba60329fb6ed577d4da4e314f","sig_valid":true,"bad_verify":[{"kind":"zero","signer":0,"other":null,"expected":false}]},
+{"id":172,"sks":["192d4baa5a8c163850080c6afa110ca5cc1d5313f0fa24320896fb75201d7349","6214394a7589f63f7a310d4bf180e25992508b5e2c477fad67012e72357a1b42","192d4baa5a8c163850080c6afa110ca5cc1d5313f0fa24320896fb75201d7349"],"key_sort_input":null,"q":"02928f2c6e176ba2f1ace86287edd61b5ff6c0c2d37b9c8451bd79b5d1b0c41056","tweaks":[{"xonly":"0000000000000000000000000000000000000000000000000000000000000000"}],"tweak_error":null,"aggpk":"02928f2c6e176ba2f1ace86287edd61b5ff6c0c2d37b9c8451bd79b5d1b0c41056","gacc_neg":false,"msg":"39ed28b562774f27b5694a0053916dbba425aea361ccbe7f2f90a260468ca7f8","aggnonce":"03b2291105332157845bfc19549bfb1081f6cd6ffc5bbf014034693155bfb90cca03b807032f01bc0f4c55f3ecf5f2b95a6601f8a501301f953c101b706719f9e65b","signers":[{"nonce":{"rand":"e94f6f153dba7d7dcd7b1d7b0016c56c124ec137074e37fad1c13ca1f79b010b","bind":4,"extra_in":"f62ea4901e07fc07d5"},"pubnonce":"037428971ab701d6f8a975414febc63f916a77622eda1d6c1bc066d9dfbece04a9027fc5c18cf759aaf63c915a589e114792d545c891b73c2c731e00a6dcc762557f","psig":"38727f64b3b7db82167ebb819368c889f4e3cdca869531b2b9c3419c3f1d717a"},{"nonce":{"rand":"a63d3476f4c5fb5cef2aad7dd9affe80247b296460aa1504c765aba0c671b5f4","bind":5,"extra_in":"a59f34068d3d800e"},"pubnonce":"02f1ce3b7e49e32ab3d292b0859ea9ac6e0534559a7b6f6deb67fa361b4b129fa503b732b6da91fce6586a96eb13695b88bf2378303b239dba368eec3cf256d2d019","psig":"03fa260249536daa9a5618cb6cacd493c3e4ff23d1f541cac8d973d67f4832ca"},{"nonce":{"rand":"ef5b0123c5924e5666c8b20d8c0c993f6b6339b23b19e66eed3347b4655ac412","bind":6,"extra_in":"131dc63001b1edd7df6f867efbf4"},"pubnonce":"02a4ac3f29567122c52c1f77a552bc97e1380eeb20d0c838dd25320fe8c1fa567603fa29cab369c2378a8dc3d45087f03376fc0baf529a51441db91a5acb94563f99","psig":"bbbad3e70056eb06aab28a38f7994a85ecc7138bd9d4c16a2673c8d79a52430d"}],"sig":"974f324457c19499777fabc57056431f6b57007ae8966280c871454a0df33af9f827794dfd6234335b875e85f7aee7a3a58fe07a325f34e7a9107e4a58b7e751","sig_valid":true,"bad_verify":[{"kind":"out_of_range","signer":2,"other":null,"expected":false}]},
+{"id":173,"sks":["f6e0506991ca1cf2b716aaff48215ad26253695ccb8280aacdaca53b1a9840a0","ef198cb3668c0bfd84033dbce208ddadb87f7d217554397aa7ea7063afffb09f","11f4d1ae16a8813c8d1ef20ac3afda509e4b41d59e0b9ec40a28401e55bba1b7","0c0f773d514a235200d252ea86db8434113826cd968c44207f5e905e495255a3"],"key_sort_input":null,"q":"030f356e0b7c52c9bd1d43e9d1ec206886d51fac3fc8106b6640ec43ed5f2faf63","tweaks":[{"taproot":"bc9510968cf84c48e38ea788d4e2f152ad0927828f36e4f2c28d975d9fad0152"}],"tweak_error":null,"aggpk":"0219a476eb7051d9897405de4933fa3310aaa69bffcba7270cd8845bc92c7cd5f6","gacc_neg":true,"msg":"9d437fe1c8137d24ab09a70ea0b806ccaa2ae4fa8f41e737a2e659d84424f15b","aggnonce":"000000000000000000000000000000000000000000000000000000000000000000025d51cdd67133df60965accd8b1daf92eeac9dd3c38600058d78cae3920de81cf","signers":[{"nonce":{"rand":"4f3a9753ef61011184ca8f7676a3c074405c392321809b725f37718d28e6bff8","bind":1,"extra_in":null},"pubnonce":"02a5d63513e583f2ea37843ef0bcdb9e26b182d827dfa4840ad3eff18878f117ff037fac7e6411e6f9733c5accf68ea8956423a20874eb9bbb63dc093b4120914f57","psig":"260bff85f670e7f991ae5570680776b62f6c7775743238dceb9979cf00c3c359"},{"nonce":{"rand":"c191cd543f02e71467a610d965ab94d9b16fc3d51557fa5b5efc7c8a53d05e07","bind":2,"extra_in":null},"pubnonce":"02f8fd11ba31e88326336511478aaa4e95eda52f88a96bf53dff46c29ae9159ff2026792cf33f2a761d232cc091407fe38571f452525034dc30733c81929674b87cd","psig":"37c5aa15bb0a2b64719695e251ac6e277a9b6ca72797c127a7a8d409ee60314b"},{"nonce":{"rand":"f88c1ec25b246c6a8b76b70a671df7c5d86c98d6343811e27821ef73d652387a","bind":3,"extra_in":null},"pubnonce":"03779ee80dae89865142010ac7dad09143e5ec6ba58bca88518b1fd379a580802c028e8170fc72a51b8d8f1de40c92f6d311572403e8b43ccbe644bbc5168bbc4f39","psig":"4bf5f81eb722e05d7a065720cc26af7ce71f9447b69c1e550bc8a8e6dc902074"},{"nonce":{"secnonce":"64c06824dabdfc3233df8c46e37441b7e326124083f29c2110746fdef55dccf042fae2364f63641af01059f716b35dd54af2de3290bd6e10bff2b50efc64b5fb02a18cee6368f54f2c59eec0e10c0296e012708e4b4bf02ec7486fe780a7f02fda"},"pubnonce":"02b96dd528d95ab5575c87117db44585b9e908eac6f7cc94366ce7430718c969d402135c187a0675e047e732bef0431965bb4ddd107a43ccfd3338af20009b119b00","psig":"4af9c639c3df2a4784b56505a062ad106dd5d47ad537645e1483f7a9e63c0b84"}],"sig":"b323ae95a8eb607ec8e2d8887325d20cdfb73abf9f00bb13d1033ee662a529a4d6b595277d3db3423331f5e5c97ea2141dd7986ed57093f726a4d28f0df5ff60","sig_valid":true,"bad_verify":[{"kind":"out_of_range","signer":2,"other":null,"expected":false}]},
+{"id":174,"sks":["1ed4ec2e1c23a9e818885ebbc074485639e560b3516244650843c2434498e90f","9d3369ce3d87a7c768ea6a15c98f5ab416492074606954f93a1ebf4e32d10cc8"],"key_sort_input":null,"q":"0351a07ca0db9c3a2bbff011414487862df1e2e4d08a4535025b4ad7d62d0d73cb","tweaks":[{"plain":"00000000000000000000000000000000000000000000000000000000000003d9"},{"xonly":"0d6efed43bdbb67d62c02cf15aeb73468e3199173f2c3a4b57a84e07ef983dbb"}],"tweak_error":null,"aggpk":"03566d32b7d42b5e9b506ba0995c4fe4b577be3f85fa150204a57149acb51b699d","gacc_neg":false,"msg":"f3cd97ef595bf47d123873d5558357cbb5008b3492f0c225310b5c1f87dfcc5e","aggnonce":"03ffa82a249831ec81282ecd47b6f7ed79faccc53d2dcc1b58ab461d344362a4fb000000000000000000000000000000000000000000000000000000000000000000","signers":[{"nonce":{"rand":"f8c7ec2a866daf411badf2d98fcfadabae05fb33fc7425d2a5ec076727f1fd04","bind":6,"extra_in":null},"pubnonce":"024ab0a7d2bbad36b844eb7d234f87b04659630087f22a0b9dcd5d64388498288402e3e3d3d46d63d8ded12dfd400d17c6e44e97672e145ea1abf5592e2a36849f2d","psig":"f2e4d295cdbf0f8c651d3cbf1d5125edb98b667fec5d2ec6929dd114842bf35e"},{"nonce":{"secnonce":"38dfd5882e555d89225d8282b691d8322eaeee479379de4db16ed7df869aa5ef4ff28fbd411e656b4b96c041873f43195372f180de77a12ef31dcb2bfb9a641503694103383e318feee313c47e38515e1a27f97350112783b83844563647d4bb2b"},"pubnonce":"02820cd4a7015d888758de1aed7212e5877b91800408a70ca4eda1b039d2094df803e3e3d3d46d63d8ded12dfd400d17c6e44e97672e145ea1abf5592e2a36849f2d","psig":"5e8b363e48f45c33dc92079e4c5918731d70e4c561d887fd484ebd272cf5764f"}],"sig":"ffa82a249831ec81282ecd47b6f7ed79faccc53d2dcc1b58ab461d344362a4fb07fa84596d4efec7beaf1a76db1802c8ff1c865e2bafb000511d13e51328254a","sig_valid":true,"bad_verify":[{"kind":"wrong_msg","signer":1,"other":null,"expected":false}]},
+{"id":175,"sks":["938147a916692d55c036584a7a409f93a814d4d02f0a6bc82d4c4e752c6e356e"],"key_sort_input":null,"q":"032c8fb6ba0a63ae77a806b00f5bee0a83560782399e6fc19b3b29f875b2d48306","tweaks":[{"plain":"0000000000000000000000000000000000000000000000000000000000000000"}],"tweak_error":null,"aggpk":"032c8fb6ba0a63ae77a806b00f5bee0a83560782399e6fc19b3b29f875b2d48306","gacc_neg":false,"msg":"cc1600aa203f1f3ce9e1ef0e9a532b0ca9f8fa687c854d4c7f73b72a7d8c8be7540c0b0bf35e8911f6b8cd88b76e5f66a44fadee2efbac27","aggnonce":"03a514fd2e3bb1a85d593e700e7f75b52bd895b635fc89761a88f49f8f2f8b548d02fdec2cc56ec199907f9f5543d0f47a334ec04b0b7108f5f0679a6ffb746f7e2b","signers":[{"nonce":{"rand":"97eca0c31f5b8203b1170462a005183ec72fdcbfcc92db5f2b887a3b8b03b6e6","bind":3,"extra_in":""},"pubnonce":"03a514fd2e3bb1a85d593e700e7f75b52bd895b635fc89761a88f49f8f2f8b548d02fdec2cc56ec199907f9f5543d0f47a334ec04b0b7108f5f0679a6ffb746f7e2b","psig":"f5c3aca3183610a38af9c8a9ba67bedbb34eb42283243834aa78f68b903ce10d"}],"sig":"b29e9d96508a3f42141b1270a39793cebdcc55bcf909f6fc503ad432f2a85879f5c3aca3183610a38af9c8a9ba67bedbb34eb42283243834aa78f68b903ce10d","sig_valid":true,"bad_verify":[{"kind":"wrong_msg","signer":0,"other":null,"expected":false}]},
+{"id":176,"sks":["bbb1d969cb07e5134b14fe93263d3cbc629ae75a3a50c2ff730fe02572097418","bbb1d969cb07e5134b14fe93263d3cbc629ae75a3a50c2ff730fe02572097418"],"key_sort_input":["02d7606097c3b01a221069f9d36a0a17143666cab09a9edbd177c604722df6b14d","02d7606097c3b01a221069f9d36a0a17143666cab09a9edbd177c604722df6b14d"],"q":"03d8359a9db9ce0cce0b5a38118b6d55db0a86d421d18b81ed4470cdfc0205675e","tweaks":[{"plain":"03ff27cd537d783095d4be0081408184a990dcc3791e211e2ca3e2a48efc68a7"},{"taproot":"36cc221e9a694d476999707c2728eca0af3251d7a5a14085dc9d352072f18c7c"},{"xonly":"fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"}],"tweak_error":null,"aggpk":"0275adaa08fc9c3503ba862cb4af1ca0afb38e36018bd7cc006a28ad8b57dcac31","gacc_neg":false,"msg":"b37f3edf6967df732a5d64ffe7","aggnonce":"03cefcf16fcf38dbe08f3685f5744723aa9563416fdd8265e744a04f4ccca0213b0341be31775b192fa500e8bdbb273a4fa0153fc53e58b052c1cba41a51a2555dbe","signers":[{"nonce":{"rand":"9d06cd3ac8ce078fc7322c77ab833acf7c9856cd00ee3013db75a2d38c508c88","bind":0,"extra_in":"cc74ad3d406bc11fbc"},"pubnonce":"028dac1dac2c58bc218ae6b319a9fcae1de36b5c23bd708844a954b9f0e762db4702075eb208917b5c71278d69e89a2c9518890b0a95ea0c02c27a24c06d88626b3c","psig":"0b6fc1286e9fcc38ca4f21616fade0576b6c90805bacb5751ee65694cbced142"},{"nonce":{"rand":"c57de8b5d39dc3e80b7142487fd72f98a59eadbd81c80df54dfa0ff0f3f8d923","bind":1,"extra_in":"11e2102004a551e091448ef5dbc12e"},"pubnonce":"03013f7bf7ae16a1d2c0591536f28ba3494528a18687f1a1c48796ac23d3de0a4403363e6b2231e53fa47eac53eff0a43fcaeb6ce558e2d8c745c075ccc9e5237b22","psig":"f1fee8255888910d6ecc3cee58ae753555bda9ecff22ab08047b889e714e1d95"}],"sig":"fb3a40bd8bb355508f10401b68e442435df481eda66be12bc928c1877390e1ce7cd06e5a094f00246ffc75037a88870df442c8984e582d9093141c413ce9f0d3","sig_valid":true,"bad_verify":[{"kind":"wrong_signer","signer":1,"other":0,"expected":false}]},
+{"id":177,"sks":["2d2b6115ed85d604ada7f53121be8ba79597dcb183b768b719d99f4c80496d3d","64aa9ca0b5ed906f6480963be352a0f48a16bd04c85baccb948e95aafc450ed7","df510b8942df11164dea2654fb08bd5c75af3dc0ea77c671c854fdd58db872cc"],"key_sort_input":null,"q":"039a7b1a1d25f6774bbc795a3581d8a626a139b325809761772fa42ddcc0340d87","tweaks":[{"taproot":null},{"plain":"cee761fb8eaa2d24a8328fb29b7549b5764dc7d41149b98b5a6849d38e1180f9"},{"xonly":"cd790b64a141d49711d2d694e51222a928bd315c653ae5496ad195bb4bf098c4"},{"plain":"d72bc9c89a1bc5cf72c79abfc270afe9830b2dfb5b6b41389ee24aea44375a32"}],"tweak_error":null,"aggpk":"03a6e34b4c52728cb3354f62fdd875ea3bc293722e4a23c4f0529515b08416905f","gacc_neg":true,"msg":"fbeb3a77938afc3e2396c77aee03b68bf4","aggnonce":"02cb3f3858dfa366a05a4fe80216cb096b4b26a987416aa8c0df20d5ba12005a5e0334f01aba5f0b7736a8e5db902cf626936d83797acc3e46d24e4ce26d43af3de9","signers":[{"nonce":{"rand":"e35503bec361c3f2f09e064158425e1c7acbc2fa43129775bf4c0efb636edfa6","bind":5,"extra_in":"77"},"pubnonce":"0226c5480515006e6297e4d19baef634bf9980874e788776e5d254f8d56ae97ce90292260181061cf56555da267edb193c101dcf0920c8be4b7982e45d5d0eb24cfc","psig":"abc981ffdbe8fc305086a48ce89a4de75891cb88b484a0b306fa3a0f86c83421"},{"nonce":{"rand":"15bb5f20b9b47022e8869b9eb0688d100296d236bda31228e7eed7ebecc47e13","bind":6,"extra_in":"13e89990f76935b313440fe06860da0c"},"pubnonce":"03f4b0631a65fb4734641b862e4f7fccc0edf314455b0e7e7725821415ed2755ec0309666915305b30e4cf27c09a1604d8b63d5eb7fe21d17a45ca900bd45761d5b5","psig":"290b394aba519d44b74bc2778efea54be600daa13ca0e7d05126279aee06079f"},{"nonce":{"det_rand":null},"pubnonce":"027024fa00bfb05a43dc1101598817dee60d6e8e87db6bf35b3a6baea9c1f44bb003a667082377d9b6f92c3ddf796c3d69ab21e312482c82319e1682f477a3dccd52","psig":"96e8d4990c6a9e1e24c58273e5f0b68ca91de278deb51d642ea7f5c9496c5346"}],"sig":"6e577ff0e51e161fff09a3bd620876505b3b940b1d1a230e71f881b99f4c594adabb4258281e2c75d1d130632c297b223ca40cd3d8f712ae9f170e4e7092bc51","sig_valid":true,"bad_verify":[{"kind":"wrong_signer","signer":2,"other":0,"expected":false}]},
+{"id":178,"sks":["a36abfb13c9dbf9ace306966085eec08ab536cd4dd2ad9beffb511363d214aff","383369dc4420ce49163db4f5006728f4d8047fc7e30f5c5b10dca5c1ca4b1ebd","9e1d610269ed5f887cda97a6892f275c85458502200ea8676f2b058bbf5b991e","e6755fae905b45a951e8ea837dff7458e85f0b847a33e1c430f08b85c6a7ec4c","ad22f31e923f4d1aaac9183bed40df037d1eb62e1934dc21c747d9072ec69b3b","631e1ef5180070bd34111fcc531c3c936d7fb3add073eb70e8c708bce530939f","cb474a696b7bdfa686cc22b8aa1316e8c9227e805d8f152d9a7dea2005faebec","18960e00d52c2c609f3d298f58a548be03f76f5f7a03469bd5e0c7f0ceddf32f"],"key_sort_input":null,"q":null,"tweaks":[],"tweak_error":null,"aggpk":"02332304bd930f1b721d54273b3e7f33665f88cdb57da549ed40001dc17ccc5df4","gacc_neg":false,"msg":"c09c39bacee394dfc61b60e858aca3c8b932dfd45a93395999d3d008d318ea07c8ee5880fab325dcee25423625a821a7315742ce45","aggnonce":"03cab7290b59240cc6226933cfc7a7eba1bbccc6ee421ea2f7e47383577b8ffe1202aea31f03b115fa8192f173ae3b454026810381c582e0a32e7c3a294f2bcea81f","signers":[{"nonce":{"rand":"1ed98e142a4d074a741f8ee815577027484a8d251f64de04cef527e45bede7ea","bind":2,"extra_in":null},"pubnonce":"0387dffb923e4c5a3377e5df4a03589bd7a3c1d8721203c3206b1bbb25fe95879802330bdb88651b589decd7e6ee9d01e84783911aa1521cb4838b27ce5450a3b1fa","psig":"7cad71c4b161c3a6da82a86fae1474c12f26b95e87dff83d4b1fdca508d562b2"},{"nonce":{"rand":"b030e8f0ad8b8386cf3196baecfc2d39ae3c4be8ce639def9cfe7ca00643d5d9","bind":3,"extra_in":null},"pubnonce":"028bd047d736480c7d483cc3f59e864e759c651c7b95f47820d7be90cac8187685035b963728503e430a241d5a36cf4df481801792699757426f5333035c5f0541b8","psig":"c16ea8360d382a70f0088b06515d1626cd5d0148bf3ef64ce64de6d344d7d70c"},{"nonce":{"rand":"48ca428b19f8a9f64fe6d3208c580256e2fdd3c956139792a9317571f43a65b6","bind":4,"extra_in":null},"pubnonce":"0202d4c717ac9dcd01dbb2c77a4ab1a561b835f2bf40c0fa49e4a83f328822c0760233c7fe981606252881bcc77e95ba52ec3445463e02681c3e15d00b85b21c5e27","psig":"5a25d27234399b68e48fbf7f3c770db0e40e66897043cb4fe4434b0473d81de3"},{"nonce":{"rand":"311c76d50b0df0dffc6dfe8fad325f373af165fa12c44f05fabf49f1cabd0a25","bind":5,"extra_in":null},"pubnonce":"02b96dc09fc68f63d4835c6d72badea0937e23254eea1d703d801ccd4e0cea2add02b15b9b485729a145e7d2d1162e7f426c59a6a37264792206680773402705af94","psig":"7a341c67022ce9ea4e2fa322acf853b3b6280f3beb8809c52e4028c00df0de7c"},{"nonce":{"rand":"67a0dd3d81c8674dbf42729771be3e5176ba6825093a255ecb0abc2c271d3ebf","bind":6,"extra_in":null},"pubnonce":"03238dab175d7e24713c9d3115e7e5af7a75908fb5dcb76b8bbbfa847ae58c04fc02d8713412a9fa6c147fe51789d0c83340e559270f8a71b7da5ea686f2eea07f50","psig":"c09194c7c40cf84a8607c4725f06877f6049a5288f02210946ba52a4d0aa3b2d"},{"nonce":{"rand":"df926c6e66737984fc211ef12ef25c55632058e0a7f9183c4c17dacdc7e57c2d","bind":7,"extra_in":null},"pubnonce":"036ee5a5c94fe98cfb22ff0612d28f3e0d4b40acf90c3ecfd06e29a473ef699d4a0307cff15d0d38afdda734d330425e817fe9b6498b5c7abd61b05275e68b77ef0f","psig":"f68c66facc183c87820a11728e868eb555ad52421c4731a0adc8df44d1ecf428"},{"nonce":{"rand":"dbdf4d453d3799aa992a5d5e823d493e3f74b7f5ecf000da314392866153234b","bind":0,"extra_in":""},"pubnonce":"023cd5b49de2ac10b1924f3dbdadc0ab7896c28d25e1b63459e5f56b0c08e6417f0396d2be55606cb1607aa99564a8aa6c5b0ca2490ad8f83b7fce8b885caf17a604","psig":"1b31110138f8549e281d0c2430bd4b86b78896aefaa47900ee7995def56cabac"},{"nonce":{"rand":"b5d6d0623c9fef127238c9634a71ad1000303833dbd59ddcb45a5986493f4388","bind":1,"extra_in":""},"pubnonce":"034e574548405e7a7222cbb5fb04b70141d18010a679fcb85867140027c1dbec92030a08054253cf35a28771e560b0dd90f2f8d71bc718c63e0cd4a6c3b9f095a69d","psig":"1b65dc11863ec24113d41ff3e5054fb5ffd802be87bca5489912c8968a40e271"}],"sig":"7837d9cf08d4b219cf0fa859419057b4157675fdf8ee654e86627532e0327612002af1a9445cbf1c414d9814ec309dc319564daa1372b3a3c0b74d68b0e1ee8b","sig_valid":true,"bad_verify":[{"kind":"swapped_nonces","signer":4,"other":1,"expected":false}]},
+{"id":179,"sks":["28d40bed268aee8713c4e2fd7dfaf1822197dbdb5b69f695dfe5929b3d5b7f0f","f53e6446cb03c982e687c1e5d2f8a44d3f7f37985254c032b1ac40a26940d993"],"key_sort_input":null,"q":"03838c0c61c903be37e357a72863105e3c80e0eec8748f26487a468612c646809b","tweaks":[{"xonly":"fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"}],"tweak_error":null,"aggpk":"03300e73caa083b40b01663437d19df64937b6f89d9ccff013198b35f68054e07d","gacc_neg":true,"msg":"fb1d82d167c74e46c113adfb4ec6341e7e7a4843806fc40fd79bf4e490bf378420c7578e2451e8d25d1d612e7bfd310417","aggnonce":"0325624c7aed199f6e859fb06cb0292feacdaab8589ea436ca19bf57244018b53202ff0ace10e6d71df40bffa35de3c9e28782c8b2b6548e4fa57602b4190b2aef79","signers":[{"nonce":{"rand":"84676edcd38bde79d5339f7cfcfbb537987285cdd02bd0e439197a00b164346d","bind":7,"extra_in":null},"pubnonce":"03c1a774e828ee7b645a51ddb2d63f731aab8e29034c91985c0ec524a8debf1c8102d3483a368dc57dc381e0740164c220c76c217c94fd8603c5f7f926c43b09bb3a","psig":"750d304f25ffc4803253bf9d38c1c9dc61e3c2a3d6b5d53005bdea9e740f2d76"},{"nonce":{"rand":"887b8c204efdac91ff3f9073c65f1e5e47f7311dfcbff3cacffee94276084578","bind":0,"extra_in":""},"pubnonce":"02fbbcb0fa0605a638dcc6a0afcc64dcb282be35d7356c19eabb0e8087876bd32c0281274d9207f593bd899fee71344bce948ee0f59ef34587057a72e5c419234061","psig":"b73969def470b0881ee55b385a236d19e259e3c44e27531316f275f07af19754"}],"sig":"9fa84d1a9490e525964436f4d3b1647f5b3cfb663d164a1acfc987b1bbc709514e5bbee63f7e2529400f3b48c2e4dd5bf804053215efbfa2ddbbf0cccc7fefde","sig_valid":true,"bad_verify":[{"kind":"swapped_nonces","signer":0,"other":1,"expected":false}]},
+{"id":180,"sks":["ccbce4bb6cc8c57721a9a24bb48ecadd19f8d132d9a263f1c2fb4f1c797a1922"],"key_sort_input":null,"q":"023890d7e2a5ac48a23b7d2c429c13f0ac6ce0688498cb37444e9fe0e800e16e95","tweaks":[{"plain":"fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"}],"tweak_error":null,"aggpk":"021c5430563411ee08b48ce26a250d1a7e12d46710d1699551f8d4e5711a3025ed","gacc_neg":false,"msg":"","aggnonce":"036f999fe42aa6ecdab7581b4be47e140b1e603f7641a4951c8cbf24b98bba1be203c8a727f6ebca7759f25319815341ced66f734d4a15e94981bc01d43200caf2f1","signers":[{"nonce":{"rand":"c02ee7b90aa610b016697b69f1c421036cf1337f1507673764a6bdc2c6941f11","bind":4,"extra_in":""},"pubnonce":"036f999fe42aa6ecdab7581b4be47e140b1e603f7641a4951c8cbf24b98bba1be203c8a727f6ebca7759f25319815341ced66f734d4a15e94981bc01d43200caf2f1","psig":"d98acb7acc27effeda6566c43046e9faf617deb57fbe7d69ab52cc0b52e79517"}],"sig":"779c085fb56152f7e048935a39feedc9a3d3558114ab4c94c4456e380233ae7df316865fa329393d91b41241d0942ae1e644001f71ee2da5db2c5ed647f91e9a","sig_valid":true,"bad_verify":[{"kind":"out_of_range","signer":0,"other":null,"expected":false}]},
+{"id":181,"sks":["9d304f39a48f3ccedb189249caadd945e7b63c9eb33059a9502c312d60c30237","f22f334c0689f56b18b5781e74e168e40620ef925175c6619adc99bb2594e4d1"],"key_sort_input":["036a2af0f3c15d2c5df63a156fbc79b27f81b4d14e7c84124b2583c6b4391c9a8d","021a60ded8a158dc7248a2ee6808cff2830678c054cc289e4d9efbb6b4a7d187d5"],"q":"02acae601dd1f9c3ecc2894895054ec2d2df466fc97a13c24b10e935356f25e843","tweaks":[{"xonly":"00000000000000000000000000000000000000000000000000000000000002ca"},{"plain":"0000000000000000000000000000000000000000000000000000000000000177"}],"tweak_error":null,"aggpk":"0291f61fcaf590ec9f34c2ec61ed05618c498c14edeba72cb3781ab7cb7de20f08","gacc_neg":false,"msg":"b3535d272c07f846f12e58e341067e3bd3c503208b04e41510a8703bad1afeabe3757379d0d03c03aedc8dea2f2f2a9856e762b7db21264ef611f839756320564d8d9a5720114a38aae364221882901637af2dec9256f3bbaac11d8f114ce4b9898f93995f586b4db73de466af71f093d2d24bcf5c3cd887f2216e93531583045b04a4c37613ddf2e1d010793598e187caf7f8cc1a32c34b9f9a1c5bd0b27ca889b9c32532be8c78d334ddbe03104d36975425c4dd886882d4456dc878a58e6ceb9b2b4a2bb97f2f7076aa1545275cf8747f37c0c2e7b31fa2a067af541b6446486c524fd69690d697b1e31236c501330be9e2dc312167b0087a3668b799667ed5dbcdaea1","aggnonce":"02ae8a13530b5315daeb316d32739e6b74a6fc9d7fb409c67a87d0c1ab595c0df302f2819c3f217c1306eabf31597ed952ad64c4086dfc14c16453da200c83d2e8f3","signers":[{"nonce":{"rand":"97ecc5c74daffe0bcfe19addbb855544a8d379f9e7e90f372ee7daebebf7f52c","bind":1,"extra_in":"38636e7689"},"pubnonce":"03c2b6a0c330b232eeddf0e89c37748a6275a485a44d661ef96937a8db32ba41f00391aaa6bd4a6d9148521bae01284fb81e9de68991a8ffda3d7c87cc768de54e93","psig":"fc963cc1f3262ad95c44149fbcffee6a9d215e69fe5505504531ccf0ea21295f"},{"nonce":{"rand":"7ddd534968ec046e30c6aa25ffa21fc7124ca3467d2e32054ace54bb7ea48a29","bind":2,"extra_in":"d29bc9b1c07bcc973737dd0bcc62b8"},"pubnonce":"039fca59ad06da64da45309ed36ef61ae7c335a34f892d8ead8c19746e6ab099b2025f2eb4901ce7fbd3e215d3235f89ad4fcd7d8f6d473a7597946258875cd9567e","psig":"23558ec6e368321490e58c84505ba6e0fee3c3d9936bf2dc6149aba07a416a34"}],"sig":"5ccb4859fde5800098148cc8ed23007370ad34c77dbf0949d0f5ee2f4edaadf9a0c1a97d9b933630ea937dead4f7085486e83b12c3265d2c3346b4dd4f41073d","sig_valid":true,"bad_verify":[{"kind":"plus_one","signer":1,"other":null,"expected":false}]},
+{"id":182,"sks":["d919266a6110e8b0fed6bba9585a8c16d81d6da2662913831c29a923bb8041ed","71af7feabbd38e4e008c2a908bdf93ab00b80db00d4504ce571c4fb73f9c2761"],"key_sort_input":null,"q":"02154c24e5ac5eb36d1f6d2ffa0d34c85f6aec21a779dc60a7b78c7f70d1fd6c3e","tweaks":[{"xonly":"000000000000000000000000000000000000000000000000000000000000006d"},{"plain":"2839567adcc596ad58631402c4926a11146ab1e09574187d98ca3b14c3bf663e"},{"xonly":"6e7442054c12113a52a2141cff37adb78fc037c0981ec0d7c21edccd2585678f"},{"xonly":"7701e2490d64998906cd5987bfcb61f4da40fa95cc577966684df20db13b64cc"}],"tweak_error":null,"aggpk":"03e4393081f21ee4b4d84db6b621e053e31bcccd00930ebdba46d04b49c19747c7","gacc_neg":false,"msg":"7fddfaaa653644cccae823cd9f47ee95e126a1a1595c8aa0744c8afc7ed83c78","aggnonce":"0239ba251dd863c2b48f8dee06937640c51ecf6d5f153ab1e0d2ec4e540fa24e6802bd80eba0bb0a1053c97094187eaaa2d419148003e1c58e0d6a6f547237b44eee","signers":[{"nonce":{"rand":"89e30a10a0de9cf6516dc698f382db44a2aaf53d20012cc7bd7776424ca11a7d","bind":6,"extra_in":"d1caae5aa613f11f29"},"pubnonce":"0290237efdd7275c89b0af6021a1b1aed77e6260fcba954fc18b524d58f731ecba02606534552632e3c5c11f4a9dc22d086050fbdceeabe3cd2416fd9f8362f679a4","psig":"c752f58930a0a9e37ea7f831b9596b5ef8b63d8e47a8bb2ba6b854ebb4f79b8e"},{"nonce":{"rand":"d61db538c936832772117752d4db8339db0d90631f6c2e18674820e4b30a9e42","bind":7,"extra_in":"b4f03842ad80ca663be4cd90"},"pubnonce":"02a46d92e10e5838347a509290e0a53311db983e2a8e5e3c895ea9eb4e56d2d55702835f1db231a5db5de4ec2ab74a645a4cba21c72b453d19f9cd480ec60488cdac","psig":"413bb2d2fb9f8284a3f661dfeb3f19dd85e42357e4885174b94667965de67deb"}],"sig":"e99def6c618edeada45f89bf475fde86d90b9071ea5b3aa9316ba2d319e8c4616cad58087f118e3a7a936b92dac36e6a163238f61024a1ca803352836019e6b1","sig_valid":true,"bad_verify":[{"kind":"zero","signer":0,"other":null,"expected":false}]},
+{"id":183,"sks":["4554df2865bf8c98a58dca9cfb8e21a4842ca869b4df4542b6c28ae741cda67e","34f7999d9be405c804e393656e35397d45355e03eb8ce530671f8c7fbd5698b8","df0e59caccea02b944e036958bee129300310a09cc33709194b6725f6cb86fa5"],"key_sort_input":null,"q":null,"tweaks":[],"tweak_error":null,"aggpk":"02d71fde3cbf75722c719f9cf360ca01a8bb6707afa2e0ffa092eabf19b82698f6","gacc_neg":false,"msg":"0ae58b3572d3d674854bc72d195d06f55b7ac5fd61cfa9a8fbd6ff7d34ce155f","aggnonce":"033d1a33f735630ca07609dff2c99cc867ab6773521ce6c9e08d67d097b8cc921503454e1b18a3caa62dbb5edede104e192e32c32461316a7c3abe5402830467504e","signers":[{"nonce":{"rand":"f3f15d1736a7c0c854bc4ef28a027be9c460f8dbaa77124690d923fcb06bcf0a","bind":3,"extra_in":null},"pubnonce":"0267aa7eead61b3cd94c6e194feda77c1d50112312663dac3e9f47df864f8f8fd0023262472ce800a6c18c868e18634c04cd7ebeab9d7d4befe8242e64d5195d4261","psig":"c1d1a4c6b0847b0951317f045be6c0bed2ad2cf65e08e9fe59fad8f90db196c5"},{"nonce":{"rand":"ea8432d1bc07780e80d3682c02fe01bf8dcd51b5410e5a6fde449aea6ea97c8a","bind":4,"extra_in":null},"pubnonce":"0221fab4772d4929cc708dce32d70b2011390069c3049ac552ad3f366ea94b31890344e53be4762924d952b05e3e00c819eb146686a0a04e9b125ddf1236449cf61e","psig":"514f701c15702ff93414d160afa213cf68aab17e75c94dbeac5e0767ed38ecb8"},{"nonce":{"det_rand":"abd64f9be1c3c83e6b8ae4cd8a78864eb32ecfb84cde7491ac6ae505b1eecd90"},"pubnonce":"02ef14a173f5fcdb9f999d0ae2fb01e28cf51e03a8d37eba758fafb70112c03d70037b6d0e8b6d990b308e90d0a6b72b91356591287102da1b49481c5cbb701b67e3","psig":"b1b0a38b8db5bc170aaf9fb8d6d6b2119c1e69010547f355d6bf346a06343e25"}],"sig":"82c9ef9c1fcb7ba89654bbcb35f6ac4616ba392a0375899cf12e4ae9b7dd2445c4d1b86e53aa67198ff5f01de25f86a11cc76a8f29d18ad71d45b63e30e88061","sig_valid":true,"bad_verify":[{"kind":"zero","signer":0,"other":null,"expected":false}]},
+{"id":184,"sks":["5570569938dd9acf3755a2a1857a5bd6ae62afd0db0f885a23aad096eda36db0"],"key_sort_input":null,"q":null,"tweaks":[],"tweak_error":null,"aggpk":"03a4b00766a90de1887888e4dc0afcce5e4056d80ed34d1e9f4cdcc03f3d95811d","gacc_neg":false,"msg":"3a5761c23b69975122920d24d79b754d10f6433e8019723edd3221eea26373cb","aggnonce":"034156b25f441fc427b1e4670d79483ed5cfd27b33c60d661319a18ce1b16c3c4d02b59c8da8fc8b58b45d1381c286f4e84af71b92abf1fea16c936dca704397bed7","signers":[{"nonce":{"rand":"029324cb2313fb890aa26d4b0fce10365c9452331da78ee0748c80acaa2509a1","bind":0,"extra_in":""},"pubnonce":"034156b25f441fc427b1e4670d79483ed5cfd27b33c60d661319a18ce1b16c3c4d02b59c8da8fc8b58b45d1381c286f4e84af71b92abf1fea16c936dca704397bed7","psig":"9c432cb286cc6123265d59c7b2976e4c2c99821945c5d2f5012ea93858a9e304"}],"sig":"424831bec5c6b80263d23be847fc68278d47c2b32169b8eb95df41ad868f95399c432cb286cc6123265d59c7b2976e4c2c99821945c5d2f5012ea93858a9e304","sig_valid":true,"bad_verify":[{"kind":"plus_one","signer":0,"other":null,"expected":false}]},
+{"id":185,"sks":["43d6e824d32ecc9923711dfe7685284bab9e8a780c00b2e663503766d6bbd6f0","36e4a9fcf73faa82a3004bc3b0edaca314f6b59e2acd8dbc6a05e1327cdeb515"],"key_sort_input":null,"q":null,"tweaks":[],"tweak_error":null,"aggpk":"02f2ee9ac1b6aae89e73f9421487e3258828149c6ac3d5d679b2c9ee34d1f652f0","gacc_neg":false,"msg":"95e7eed5aa2fba512a2bbb94faef10f39ede2ce6747f436423cbbe50cd6ac60c49acb6b24c1e76179f50b7108725976f7e","aggnonce":"0000000000000000000000000000000000000000000000000000000000000000000380be4fca23317f73ffbb43d4bea24d17f77db4fdf33450bfb0750ff59de06aed","signers":[{"nonce":{"rand":"7668ad85ad5d0e32549f57fad7da4d5639a457c7350f97d96f4b8c0dff0597e3","bind":5,"extra_in":""},"pubnonce":"03cad07efd72da7e8c873db634b4718877f5f4c347cfd594b219c1506e6900dfbf03d5e100e27dadfbb4d5f363c0bfb7c4cc4d5edb9c7b0a8a1d61836ba03bd38245","psig":"90199ba360cfd0d004aad9af378e1d0759058bfb4fa594f972ba031188a59076"},{"nonce":{"secnonce":"165a560cab9df2c5667a7418acf70582b3542d807f8d85cce46730d049ed2f8a9b28b513b041105932fad858e0c6f1ad07f94a4bb001c28597d723d4f70bf51d0393209fba890a273b62b16e8d8063801a109d38a8f7245654773813390b5831fa"},"pubnonce":"02cad07efd72da7e8c873db634b4718877f5f4c347cfd594b219c1506e6900dfbf024519ab09642cc6ab4cca7b814c727398fd2da0adc1da670f0e5a462bcfe20d0a","psig":"e11b357b1f73145ba7f2ec032613bf49c3b54dca55989671468653445ca64fd8"}],"sig":"28daee08ae0fd75c265ee37ad5fd93dc83039347d100f2c6fc0c5204acd861d77134d11e8042e52bac9dc5b25da1dc52620bfcdef5f58b2ef96df7c915159f0d","sig_valid":true,"bad_verify":[{"kind":"out_of_range","signer":0,"other":null,"expected":false}]},
+{"id":186,"sks":["1fa968d3b4e7d78d92f1f1ec4d15de163750d2eba2880e1e16f3abf96f3b9d5f","44f5c38c3160f2028be34e82d992651c730964bd21777532ecc4e2f016b06b7e","dab57129f2b6c75c418d74885f70c7d98d967d05d97af6e5ff017b0492e7cbe5","13e6a53ad030fbd4327fc072e93017c3a400b1b08e068b7b4dbe19cf735c9762"],"key_sort_input":["0206ff68ac11abadff15c391506642bfc674759de0ccdbaf7e41f81be5da830483","03335697ba310bd3ac88909e89165f6eb013d4b0bff0c4e6fbd03eabf92c4d1f8a","029b3c59a2f03ce87031d3947af3f6508002c5bebd438eb41512c67c6784fb227a","03040550f089e4a1c604ac9d29e23136ccf2dd257d768491503557ec3badd72372"],"q":null,"tweaks":[],"tweak_error":null,"aggpk":"02bda0f83ecb044649f11060deb10add4e6ef1f22e9f24cb3718fe0373a34d880d","gacc_neg":false,"msg":"394cb743442b11694594a4baa8658a1ef9936f66e89928cc0e3d7ff07d3fce9c39db7dfc3a97a752625f4caa28eba31d9d","aggnonce":"02115169ef2cb2d4b0b0aaaa114f7494d14b599a74ccb83ad495726a0280db15da000000000000000000000000000000000000000000000000000000000000000000","signers":[{"nonce":{"rand":"c2893ad4c03fb4a308a3959a741bf992470edda2650cdd0fcbad79bc1630972b","bind":2,"extra_in":"ae8e94ea789472ddf9"},"pubnonce":"030e49f770cf985b86f3c378479c2a9502fd49542ed5cba5b44aa434881d9d6a0d024c86b54090d8c342fb679f589b0b42b7533f3d398062275aec305b56978849ba","psig":"4d94e9f3a0fe1db63a85b6cbc6bf69e577f0d90d712dfc3b25602546462e22c4"},{"nonce":{"rand":"a4e7794ecb57d4b29e8f4ac8015b61c09da9e005cd9a4bd56445b90824c528bc","bind":3,"extra_in":"ceee"},"pubnonce":"02673b1fa4a58b5c0b29fa1ce4f7567337d9f1d657367c25b94ec39ed2ed85e8d302d95d48f8a9848dc2758bd3d9d6ee7405e0dd86e3559f2df5de6bb7aeb7fa7a0a","psig":"2373afc2f0af9942f84ddc1afca69b1c52fc7e7e6e755824dab483378c912cdc"},{"nonce":{"rand":"20f8b9c153545992c1e34dbf98d3bafbde6e1030c8cd1db5253cd88ea004948d","bind":4,"extra_in":"f716fa8a5b434a114157bdba57"},"pubnonce":"039fa7603e822d0331ff99cadf05312280a5c9b1ad3641027433691afaea27f96702d6888ab5436bd2f74bfc67a2f24cf27acb55cf9443cdae2520770ff758385843","psig":"c2b295f9bbcf6331a40ca5ac64ae8ba660cafec90496c6738e45504200c82e3e"},{"nonce":{"secnonce":"e205cc7584c301a457097c64f881d524ccf36d5ea84df1a4186108ab48056cabf4f65c651d1c112ca8d1713071236c4876fb9be4b491ea88dcb5d608619abb9e03335697ba310bd3ac88909e89165f6eb013d4b0bff0c4e6fbd03eabf92c4d1f8a"},"pubnonce":"0320b6085b472877eae7383dde88ed89f3f4ef7729f8c2ea43f70d5985e40eaf23030fca7cf3d88c300c5cf8e6eae5bd057d3c3d01dd6f78d6fed2add08c100258f3","psig":"ad5633e70614ccb5d53459ba23f5a5fb14f359b6e78767af7158b3d9460816be"}],"sig":"115169ef2cb2d4b0b0aaaa114f7494d14b599a74ccb83ad495726a0280db15dae11163975391e6e0ac14924d4c0a36a485fcd3251c78e2473fe04e0c4959535b","sig_valid":true,"bad_verify":[{"kind":"wrong_msg","signer":1,"other":null,"expected":false}]},
+{"id":187,"sks":["5ff03e6e880979af4b1d241b6972a54de7c3eb872256613f134ae636b1914154","6dab4664af7f13edef9be5b487c8dbd79daa70fc13f1116d136f99aa405eca96"],"key_sort_input":null,"q":"025c3357c28985b874821c600a4fbe6e5bb586e1a5911426f41aba00314de0a11b","tweaks":[{"plain":"0000000000000000000000000000000000000000000000000000000000000000"}],"tweak_error":null,"aggpk":"025c3357c28985b874821c600a4fbe6e5bb586e1a5911426f41aba00314de0a11b","gacc_neg":false,"msg":"9942016a838eeb8c0d66e68ba8b93db956","aggnonce":"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","signers":[{"nonce":{"rand":"4938337086ddfbc417a45f97cecdec2cea9486110d843af727bbb2526545773e","bind":7,"extra_in":"d4264347910dc25b710d0883"},"pubnonce":"0340dca8ff9e532a8eed35bb45513715b1774732d0a19ad62aaa493dffd4c0d7aa026665e17fb9e4cdc85ed911a1c258f40c2af9a6cfc5af80f55500296cf691fd34","psig":"fb98eaadf169aef4f9034e29b5e3ed6bd9fb4f14acf17418d64dfbbb429bab10"},{"nonce":{"secnonce":"0d7d55abbb258947c3cce38aeb26f75501836d3f7616d5688506a425dfe2c92d114d4d53f5571ed92225bb4c5a67f6659de713bc6c2d6c59fdfc8c112358697403e056207e054e4ed1f1d569149fd33df68f6362dca4da8d8b97f1fde1d1399b51"},"pubnonce":"0240dca8ff9e532a8eed35bb45513715b1774732d0a19ad62aaa493dffd4c0d7aa036665e17fb9e4cdc85ed911a1c258f40c2af9a6cfc5af80f55500296cf691fd34","psig":"a35160ef751b99078ef13660d7dbfda3e1006339956619200e36d4ca36f844d7"}],"sig":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f817989eea4b9d668547fc87f4848a8dbfeb11004cd567930eecfd24b271f8a95daea6","sig_valid":false,"bad_verify":[{"kind":"wrong_msg","signer":0,"other":null,"expected":false}]},
+{"id":188,"sks":["9bc45552adfaf5a06ee0e17fde1764b7e9ebade72259d62b0b21e1a4ee112151","9bc45552adfaf5a06ee0e17fde1764b7e9ebade72259d62b0b21e1a4ee112151","ffd799cbf70aba9ad56f09ed38513262f654c62641ba724c5b77a3b1ed7e075b"],"key_sort_input":null,"q":null,"tweaks":[],"tweak_error":null,"aggpk":"02c0a8aeefb6d570d6c726b92a559bb8fecbd73e6f3761cb71f9b86ec2b0a36f8b","gacc_neg":false,"msg":"a64e547ca961de4d1ab9346be62728","aggnonce":"03f17840313558e3c802e1abd1f5aecbc5f71142d178efb11426cd8fb31bf6ec9f02366c737752116e8f71b4293f05854931d08dc47b9f5dcd4fd33c406552279c97","signers":[{"nonce":{"rand":"d87399eddca6e577828777bccf21e7bc5c908f2d8e7d531860c81e73f72f3050","bind":4,"extra_in":null},"pubnonce":"02195720a84c4f5ca8ed8cfdb5b7fda133382f3983c1bb75acdc929c6db64f0f2a0291ea0e0590bc8b06cb0b0fc470b26433a86b58e3b8bb8a1cb46acd7b40930c4f","psig":"d67b2f42831b31cd97d85a792a3920d9334e48f6ecba894cd704fcab4cf65fec"},{"nonce":{"rand":"4e3a69270a560c62c4245ca87724630afe3be2391dea9e4254795b30f1dfd013","bind":5,"extra_in":null},"pubnonce":"030363e01c7e0db1266a152d2f5e75e8d53194168e48049ef77002648d00f9e51c038ebb1e34fe024fe15f4c9c20c9e19f29a49e7bf00bdfe8d7869caeef0931d08b","psig":"d33e47e6a937f255ff8cb9c53a62dd90240dffe4ade8ab9ac2bb217cc5235793"},{"nonce":{"rand":"46467e05ce247db5626e4cc69069b4de883dd27be84783f44c6e5ff32d011311","bind":6,"extra_in":null},"pubnonce":"03d7c590078379662f923781c46da7d92fb3a88d0bbb843346f326a7fbc0ab9c7402c8398431ed7842138c58d98043ced88676979a8cd35a763e7586e151f0f9766c","psig":"b583d42f58c72e8f70035815daf6104aa0597503216441fb368e85d80056a82c"}],"sig":"637bab40522e0bec3a88ea84cd368545224ff563f3691bf48c76903b4b200e3a5f3d4b58851a52b307686c543f920eb6825804115d76366b50a9e6e67203dd29","sig_valid":true,"bad_verify":[{"kind":"wrong_signer","signer":2,"other":0,"expected":false}]},
+{"id":189,"sks":["1901872526a91c5e99eaa73bae70c679f42f46eb087cc0622bdf153518008cf9","911d662c90e9844942a40172252da7b075a4dec6880fc39b195047d6a8919fb4","462366e3c65338c946953a1e8d48679194c5e5d885c03b4fdbe1a2ad9eed11be","1332d6df12222861f8cf38c7729e136780ecccdebb0165146bb34a1bf536f22d","2b544dabcd94366c0a4f5339c50f7d36d6a2aa5068a1a7892616c2cfb9ab69d0"],"key_sort_input":null,"q":"0337d582ee87cedb67d1ead4d8b6d7830906e226004c02884151e9e17e5474238d","tweaks":[{"taproot":null}],"tweak_error":null,"aggpk":"0216238f0b725055a5a183a9378a2b5a2246f49909e18af1c1b078bc270c2f9278","gacc_neg":true,"msg":"41ea075e3d8e395297ffe3c1315756bdbfea3cb752bead71fde2bded25ff607c09e96ac33e7065b664c25bdd49684c","aggnonce":"0202253e2301a1cc05f2975b0effc09d66590b87c2649b6fcca2c7e243877515ca03d4e259288a0bb254e44f27b693724c29801182db59538fac3987a022cd97fe6d","signers":[{"nonce":{"rand":"9b4684eb140c82ce01d7480a17c23bac21a52b79a9a7b3ed9dc0b4c615b4e119","bind":1,"extra_in":""},"pubnonce":"03703dbed74214022014ef406ffe3bb6c093280ef482e9a4d39b0218819bdfc01e02973d62d2b662fc7593745ff76418013f1aa3f6284e2174fcc64b4f8507ef9d15","psig":"1a66d3369f25277a3a25010b6b4cda70bcf8f595c7951c808342a08f2ae5f962"},{"nonce":{"rand":"f573696017e0843b680e0faed7fbcd993d18eb0956f63561569b7f0b75223b01","bind":2,"extra_in":""},"pubnonce":"02bc019564e22913dbc29cae8ca3e1cd6a211ce49a46964be0cdd029eb8aea3d66025eced548bebdadc6e32a107340d0ee65d8e011f06b731b1658c611eeb9e5e5c3","psig":"cd0bd67de7257140364c10ea5d7cc768689c53ab22299b5b77c4d9b267c9f6fc"},{"nonce":{"rand":"5ca3e530088381bfb757d56ba3f00090a47035cd9bc745b7f71437b388122c23","bind":3,"extra_in":""},"pubnonce":"02a437f21069bd667f123b45fb4d3cbbca83237a264e2b1ed1ac5cec37aec6852202eda19ddda716b7b36cefe83617f0cc32617d14832fb1ce84f9d3e2ada0513c97","psig":"ab3ab902848dd61e2d0977355d9125c402f71c3b913df3be2fd962d9c3dea4be"},{"nonce":{"rand":"4d1572bb62726bdbdfb9016ae95ad027ad4cfcb98cd41d08d9a5609793403e3a","bind":4,"extra_in":""},"pubnonce":"031df189850de10f884446032af07bc9fe7c912e30d1c9dba695b4a54c8e2b550303babf85fabe2eeaf3bd5896bc19dd2fc1fe72ea82e8269cc82fc1106721141915","psig":"276d573d6246ab9c3eb0e93e661c03f95e42751ab0d271cdc60a7b088e049794"},{"nonce":{"det_rand":null},"pubnonce":"033d708711b0a052119c8486d30719eee700d5cab5b3c9782e2f6336c23769aa2e03c25471fe722f7ab1f35ea5e5fa23a7c8b2e3eee4c6c4f075c6c7f2651a5ec541","psig":"b6f285ff015e6e214427a597b7a85eb6ec086e151ca79bd7d7bb2def967d1adc"}],"sig":"5b2a8d7d9a0bc88f22c509eb3a0d8c3d89a0e2c28c35f23292eb21cf46b97120cb31076faba7755ad45aa621d0151204ea4940397641117092fb6e892c15b12b","sig_valid":true,"bad_verify":[{"kind":"wrong_signer","signer":0,"other":1,"expected":false}]},
+{"id":190,"sks":["264eef33448499a5bc8b3fe2e2f7578621b68e716e866a6f23741c756196b0d3"],"key_sort_input":null,"q":"037598c0d229cd6a36681bcddb7cf17487913f06bd598659d918335aa1af67ba71","tweaks":[{"xonly":"0000000000000000000000000000000000000000000000000000000000000000"},{"xonly":"6007ce83eceb43a7acb3a0af740a1dceb65f7102e97e4a4259c09e02f5953fd7"},{"xonly":"fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"},{"xonly":"b9d03cced0c39903b38d023d33df98f8a3aded66c58ecfa72f4cc5f278fa681a"}],"tweak_error":null,"aggpk":"03388ae1ca8b4a0cc241bc542164a33f99eaca57678588fba3cf2e6fd3c16f1fae","gacc_neg":false,"msg":"","aggnonce":"034681e09e2fe3214b5b2bf92a025ebb19e64b681f4076710fc81d14a836350b37021f9da464f448b88d48c02229dab11987b4d6ad2478d0866a2d3eefca69cec78b","signers":[{"nonce":{"rand":"d8e7c5846946465df9ac748fa7707cbe2769aecdc69ef188486cf24b9bdbfa74","bind":6,"extra_in":""},"pubnonce":"034681e09e2fe3214b5b2bf92a025ebb19e64b681f4076710fc81d14a836350b37021f9da464f448b88d48c02229dab11987b4d6ad2478d0866a2d3eefca69cec78b","psig":"9ef3e42d42e885b79aeb6b13cb8b3521fc44d0a8a649e36d04db54ab437d9243"}],"sig":"0494598416e5285bd65cfbc3ebc863f930e88de08de7a0aa369b054b13a795a7b825a58a8120d2153664b0ae530690372eb17cdaca3a53cbca0388aaf004ba6a","sig_valid":true,"bad_verify":[{"kind":"wrong_msg","signer":0,"other":null,"expected":false}]},
+{"id":191,"sks":["9cb544b1f993abdbee2045e4b674e0c3a9716a5b119fc5817012ab148ded194e","c4fa0ff28187e311da5f04c4b9a22835654925e152d0b1a28b4638ace285a8d4"],"key_sort_input":["0231048551c611e05aae297291b3add9265aba3613ddbed61e190b99ab237035a0","02fb85c8e6abf6c52576ef6b1258eb85808d549a26922bd663ebeea2b57e20a029"],"q":null,"tweaks":[],"tweak_error":null,"aggpk":"031a3b9adebe1633e8bbc189ddeeb3644153e4b4f0fe645e3a945597b16a92c386","gacc_neg":false,"msg":"5c7ba8f68aaf38306b9ddb84b9ff748687478365a68aa83898741ba0c441645473b60eb16ad4a495944873bdea5e8a483e7a462381bd8e46caa344cb12ebb8bc9828c1f42c3bace9c30632ac6516de0ae76205afde4308e625fcd75c9a1d94461dc3ff4360925b264de8e8ea300d6811a25afa313eaa4310ae06bc3765ce0a6efcdd398931473a7b89d8a3fdb10888dd0a0c5ca4b14bf6f24b940eb16e1803dc0178f51b7fe2276ec4f9e8bddf983b9246bbe46f7314d01a3811b490c2c57f545df7f2bbcfe6a9ec144f335bc82a4f5f0fd8ba16631e449626aa1600bb7002d955e8317d2c1263056501aea4c8bb2061cbf4321f1b90713ec273da00501ac9cf008eeb6c9dca95156a0b0360af011a84b604b743e065bf40138f6380b0814b17","aggnonce":"0253a0f57bdcaffe2136ac35bd820c808a91263a87e53a12f43cc3a9ad4f8ec8b9022cccb3a30595966efb8cfb3229035b939388e0fd4245483938ccb493f8511699","signers":[{"nonce":{"rand":"c81c2dc74559df458e8c5ea28025a38abc98ee8c586e44e935d6c00ebf2f2e08","bind":3,"extra_in":"0a"},"pubnonce":"03f40539fbec5e1663ad8cbebd68e6a8df2642d3ee91681c0a418a65ed343460da02ab6c3f3a88ac68141a2f4098e829e3706ca53a27b3ff7f7eee5e2a41f0d23be5","psig":"c4408102c6d742ff121db5408c45459f4aa52a3161eb5c4d72c6e7860a0e1765"},{"nonce":{"rand":"700a2d62d3360868365bf1c1127e0d60679f3387f1086f4617e372a402be8470","bind":4,"extra_in":"ec739315ac125ad8e3130aecbbbd6f"},"pubnonce":"024270da05d1201a1154a11c39ec4594ddfc1267d90f54834211024550d148da6103693e4bf9bc2af6b681579212dce4c7b6e99289a73f41847ac23808e6e14700d1","psig":"3cb997a14630c4d427df274e142364e5d58c0be96f0737ab0e849cd03bf4d353"}],"sig":"30f9fe2fb2c5b73181d045a70b6bfafde690ab76dbb5a505465195c57bb5ac0d00fa18a40d0807d339fcdc8ea068aa866582593421a9f3bcc17925c975cca977","sig_valid":true,"bad_verify":[{"kind":"swapped_nonces","signer":1,"other":0,"expected":false}]},
+{"id":192,"sks":["c19db3825386cf56be96e97a962c0d43f149292707520fc77d255ec250b782c5","c19db3825386cf56be96e97a962c0d43f149292707520fc77d255ec250b782c5","c19db3825386cf56be96e97a962c0d43f149292707520fc77d255ec250b782c5"],"key_sort_input":null,"q":"039a9dba6978b7a1521a250a01d0180bd8c0b97cecf253915f1b63de2ff61e6a0f","tweaks":[{"xonly":"8e7c0926793da4924f3f874070ea488c79956eeb1e7f96670a193a795e2822ca"},{"xonly":"fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"}],"tweak_error":null,"aggpk":"03ca1b65de7b6df2ece8eddce92e79ed86e4c3cd87afbc57bec1f152e9bfb57147","gacc_neg":true,"msg":"788102c41ba9455e016460d4760e70de202ca0c018b1789ff5aec0c79f3b9694","aggnonce":"0315135f4c53d780a041eb24451f02595728474d0029a1b86d99d3b2476fa3ce710350590fa7f12a8557eb865d14e93eefbfc0ff1bc0acbcf5f184a9733c56ae708f","signers":[{"nonce":{"rand":"0bf1ca229a31d542155bfa2456fc41251c57fc9d36e6a3bda4f79f687f964a74","bind":0,"extra_in":null},"pubnonce":"027ee0bd20f34f48d90dcae62aa61b9d20ea8e8ca7c5081dc77bcf38b43e6dabff02f0fde34cf468012c096f485b834cec35f9d2ef47fdf0f3323d4813b6e52c2cd8","psig":"0759f09d7867f93d49bd83cabcc13139aed97522db94b62010366adddd535480"},{"nonce":{"rand":"9ce18cecb2b265e3bf76523ae5f99831d6efb63970d143eced1e7c9a275910ad","bind":1,"extra_in":null},"pubnonce":"02ec01f7d4f38ea83d6bff9633a9285763290deae3cc1b855002209b96857f0d46028780b4ea13f2f7ca295d5e8800ed64b1b8733773ac3be6ae3ca10df6079dd9a2","psig":"e1fe613dde83cd6cd798e1bcac93e52c304028a479fddf304fd452567c323ebe"},{"nonce":{"rand":"ac76a8dcccc7ce85637113c7ec18053bcfd604faf2a085b06dea89a742f10906","bind":2,"extra_in":null},"pubnonce":"0269d8415e9a9bd10756380a814e39aed1cdbd81c18b6efe00772963b639520b7202838fc3eac98353f166ed8a8676e3944cf8479fb0a9cecaa4a58174790052f51f","psig":"337560423ac24e4573f33108a86a90a9a1aac323add8b58d6ed50075ba2fd92a"}],"sig":"e2f374189415d4825e308c3cac8db05d968ec5359fb9b90390a2b8f6ea3d51f9c983a9eb2f611f8d549c4f8df11564e83e125e3b038bee6a978291bfe8569a98","sig_valid":true,"bad_verify":[{"kind":"plus_one","signer":1,"other":null,"expected":false}]},
+{"id":193,"sks":["33a30f2e891186c94059064a18348ffe2241f7e995ba8355d4c84ebf3d5bf58c","c1654f0cf6e4f9737bbacaff247c5d97447c5b77aa1bf630e35bbcfca05b258e","dfba18493c263585202892a370dd3566257e29c3c047006801636edf497d735b","4b1b8eb23a87605faebf071eb93e519403c0c4a4d839fcecf914a2fb8bbbde39","3af80f0790af5ebebe8ad43dff52d4898ff6bdba9c70450d3c213d8ebf37b78a","0975625797e7c6e3d03f1e07c4abddfab5e5adc92cd7fa193f51503f42331325"],"key_sort_input":null,"q":null,"tweaks":[],"tweak_error":null,"aggpk":"027cd474a88d4e2f0cacc7679029ccc7c9ae75168cbbd8bf49d70904089ab5a2f4","gacc_neg":false,"msg":"658a5aad64563e0b8630e8258315109ce60848ecb1e37282cf34493872761a1d","aggnonce":"0310ebff666562c8e2da2fa77ea02069e2c0a425171ff89d859ffde49eb61c59c9021e3b581557c883262f4d1898faf695e90086bcc491b557b6efa663421492d4d7","signers":[{"nonce":{"rand":"d667ebbbc50b9a75d02c5b941341d5d92515dfcdbecef2c459ba7aa5aa6543a4","bind":5,"extra_in":null},"pubnonce":"0263f4cb3c4a83401f2653a97c209d8fba4268f806bff933b61837ad8ba62f1dcd031aa87182df1064d4befa3102c3672b69179a470a9c9b9ffe3afa42f76a32afc2","psig":"d359c1c25b4a42e6d43b7a52a3449643fa899af6b02545b0f9d0fca3399790ba"},{"nonce":{"rand":"e46c1360b6b81544faf51723090e5b1b34d9599726923b4e98f8ab7dc2d9c96b","bind":6,"extra_in":null},"pubnonce":"02e673c9d8baf2b42e74477840234e1f44f140d1ad7063b21c9003483dcc08486b0295b33efe0f0201647f8038f234c240aa48aa393237ea17e2380d71c89c10dc9f","psig":"6e634c3d609ec0347dd0ee7bea760b879bb96dd41a42c8fa8927e40776ee492e"},{"nonce":{"rand":"44e24ce8c7a76d717bfc3b34b4748ef1a41b3c3d23fe294cd69e86765f0f4338","bind":7,"extra_in":null},"pubnonce":"03748c843977da2435765253de8ee99cecbe1497dad15ace314c7485ebfffdcf6b031e6eb1da35706587c255d7a78e7b4d600de41bc226c582c4d5fd299daf997d4b","psig":"c1be98bde0d53dafcaf684c61586efb5b177525ae6f224bb93db203882d97971"},{"nonce":{"rand":"06b8548251c95dec11e500b46d67e19a6cdc3abf185ed11adffa6bb6f9c69ecf","bind":0,"extra_in":""},"pubnonce":"02d1b8791263ca61f448a47f976559f71e039132821cb38c53fa807846e722df03027e91aad0908f7f1de769be94bbae5fa3aa05351fb89d7e0006e11668a2ca85fe","psig":"939490242d76d53c87f3ad904aa7841c0f3c2b19c80e7297c7e052d6e62ce96f"},{"nonce":{"rand":"b3f70b9e1a5eee6c13ad97b965e0e1af89fb4c017fb0092386704a41f8d524df","bind":1,"extra_in":""},"pubnonce":"03e67b60cd50191163b2fcb536bcabbaea92c0e91e8cd0ddac281f841621f6a357023ec139c10bfac168fc17c15619aca98164c0de68aad4952082c040c69c655271","psig":"c345cc38585781936f92e10a06e39810f57322877b93664d30fe135ae869fd47"},{"nonce":{"rand":"dec314a68b74cb312377c9eebbea4ce04b223a16ac9597663a86a9d3ca4f9ec9","bind":2,"extra_in":""},"pubnonce":"035986e9a1e9c2943b9da082881068c9f3d8abd83bad03a4156c6a4c49fa57003e03b79ceafb5b4dc01e3a14956de77459bbfe64a88171096813340def8a04e8b0b1","psig":"0db363ebe5a89690fa8b661bd07cd8f63f08f35525f888d96e3d5d4c7944b38c"}],"sig":"a675c10a8c9498fa80e0a70ace6e9ba9ab30a019ef0e79cab2bec32faeff811a6809670608352e2c0f14e24ac54986a85b6605680d1ab4723e78a8bb0a9829d8","sig_valid":true,"bad_verify":[{"kind":"plus_one","signer":3,"other":null,"expected":false}]},
+{"id":194,"sks":["2db6ab3c3d6af567e62712778feacfcdd0749502aadb100d7a16c5b724ba3fb0","afd365d26a648b431349ac0bbf4357d6d1ec25f702f968ae1c75f785cb9be1b5"],"key_sort_input":null,"q":"035064b13614eb4c6fc86d824659d7fd625bb5e0460635df8d0b22806b229b02f5","tweaks":[{"xonly":"550e4949ce73ad08cde07373ccfed6401a271f8c2b630541a8eb2211b643b5b4"},{"plain":"f1ea9514a2f9e757aa26792ddbb2c94b893ea17ca146646c7639f4ef75d389e7"},{"xonly":"f99f5331deeee254200329a208738ff89b7c56553f89326de254028e9ccc21b9"},{"taproot":null}],"tweak_error":null,"aggpk":"03dc125aa5a5b2bc08932b06b5150e69f06e25945aff41ed16aee87fa8b5387ace","gacc_neg":true,"msg":"e298c272d9291d1566017e1af898aaf15c66ba11dc38e20e825a5cfe157845e9","aggnonce":"031c72d52735a53de7dcbb89f6fd92dc7b75f08ebd7b42a914c950955479d67a4203896f6a0de8cf310d72b642da709bc00f93b7adb3bb75b85f47f434a6b7849006","signers":[{"nonce":{"rand":"cdaf0e773342e56d1b5597b7b0b89d4d4750b346578005ed04e64d82acd17beb","bind":2,"extra_in":""},"pubnonce":"025d18b9db71f3b47e2b18a1c80fa45e1efd7fc3a7ae4cb08c065462743ab3c37e03c516f5f95dad67a44952f448f94483620f630be7c822555bdb0b1677273c6b41","psig":"0d64d4da8371f79774cbcfed32a27ca37bdef67536b7f7f63d68815962eb58e2"},{"nonce":{"rand":"d4837253ca329675905942d27a3dd16aaa0de40a674d2ac0821618d71f5585df","bind":3,"extra_in":""},"pubnonce":"02a3c7bda8c6447aaabf9bfb1265cc4c76a46dfd5fcfd2768fc742e5143c91f26902243d8ef0dbe46ba63c08f86dd24b2d9fcb78e14f323cc2ff2ab1624ac16611bf","psig":"1d31705da3dfcf6c0d5246cf81c760c20129088c963d340628c61f7b631641c6"}],"sig":"695cb12e7f54ba573cba81e757c9cb1e7821fc6528e85dc5e05371a7b7d7497897f77b8b01685d08f262ec7a997775b2de0824a55f0428452506dba841714f96","sig_valid":true,"bad_verify":[{"kind":"zero","signer":1,"other":null,"expected":false}]},
+{"id":195,"sks":["d30376296df7db548d1bc57b6cc6a107f4d23e5849e52f208b7fb3fb421e2c2c"],"key_sort_input":null,"q":"02d91bf13e29cfeb54c89631bbc7d7e952452520f30e4427e9d68718de390b0e92","tweaks":[{"plain":"fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"}],"tweak_error":null,"aggpk":"02d12e1720896395e7b35a937bf75e3771f1eca3b5db240c40eab07340a85de51a","gacc_neg":false,"msg":"1278474b889c44f93ea755d0","aggnonce":"036e8f14be07d583c5d2c6efb4c70b14feb76ea2e8eef93ec006ed73d9dbe1c94d02f4df05ce2b7089db3d83dd4cf5f08e9b28e893377344d469bb1e2977063a6097","signers":[{"nonce":{"rand":"a80f833b8441b951a86af219c77302bfe03f1f345644f5d435e2626721b54c97","bind":7,"extra_in":""},"pubnonce":"036e8f14be07d583c5d2c6efb4c70b14feb76ea2e8eef93ec006ed73d9dbe1c94d02f4df05ce2b7089db3d83dd4cf5f08e9b28e893377344d469bb1e2977063a6097","psig":"5330908fa2ae980573e317567b23e633abdb6747030a56b19fa6882f8fd592ce"}],"sig":"05716284631355de2d250a240410e758b6cc308271f73ffe8b13369cc961caa42208d825a8ee2d3111f474389f23914b6172e203210868927a4b6d7cdeb4384f","sig_valid":true,"bad_verify":[{"kind":"zero","signer":0,"other":null,"expected":false}]},
+{"id":196,"sks":["f5a75ee50a2224eede43c320d3c47290b308584a4733dc8b7be2b5e0963512f7","f5a75ee50a2224eede43c320d3c47290b308584a4733dc8b7be2b5e0963512f7"],"key_sort_input":["02a663bcb7c19d833ecb993d84736c7a919a4211e0cb1ca94a9ecaedc6ac5fd221","02a663bcb7c19d833ecb993d84736c7a919a4211e0cb1ca94a9ecaedc6ac5fd221"],"q":"03e52a10fd9c8fe2d1ca4ac5783290631d0d879d32c65012c3ec18df3410593474","tweaks":[{"xonly":"fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"},{"taproot":"b79c764e49ffda274442d6977dc5c8b7afd2d6f54acc07a4f5e8e114dfbbdc9f"}],"tweak_error":null,"aggpk":"02489cc0c8dcb2f65f86c9da6cc879140bee7ffa3ae8ab726327f30b6b8b257ccf","gacc_neg":false,"msg":"fdadc209a32d32b5f6c1d63c9e1bbd1e458079230ec715e4301454b31516e4c5115fc91f395d","aggnonce":"020208d57de16d99aa7ddfed146de1e2dd2edd3a8bbf87388012d74b05eb03cbb1029e70ab60df7174adaadcf1c15dfc3b62daf220b615eb152014a2a35ebd5a8dee","signers":[{"nonce":{"rand":"e0eaffe7bc4287e5a488c92f745f7f6ae2124ca284a74663d77b045e72fa3cb4","bind":4,"extra_in":"ffd93f59655619c8b3"},"pubnonce":"036c6b461f8505a34f35684ee0994633dda4384a366958de6c46078687d1d346e30274d0d820dda0ff889e4cb6cb11ad6ca57c95f5f7b5dabe329c190b862a973e9d","psig":"35260ce47a8b7de54a08b1e72b380ca97eb83fa4df606cdd51c85f6217af9f7a"},{"nonce":{"rand":"76d9b6c6732cf52a53f727797bd129137d7ab0bb5659bdd04085ca5c7048b8ba","bind":5,"extra_in":"01b142cf"},"pubnonce":"02e477c70420bad97b977b2b7b91ac418080d5f15afbf3cd75ebfc84521701e93f0281643ad7d0e6dbb2bb73770956076beeb9b32d14d53b7507e85611faad015b21","psig":"c1165e7d21ff8ecaa067be6c8ddf95475d96d13fcd5d64a70608755673ee7477"}],"sig":"159047a09be1966ba61955a5bf1cf40d64ccbec82afa321a6e8ddb959a2b3b956d7e352d792bed8be6e8f598c84703fd58a51c48663f7aac135011b88f9dd927","sig_valid":true,"bad_verify":[{"kind":"out_of_range","signer":0,"other":null,"expected":false}]},
+{"id":197,"sks":["9cc5f3ac51d503edb86fa4208bd79d27b0a3267521dab110b8989b65f7ae3041","f8b6a2e697865c07ced4141978dc2fd748b02dbb56bc13305330b20e5415be25","4b5107df1c2a1a4eb830e0bb2d27d6bee39774d2e649f9a12d4a65445827537d"],"key_sort_input":null,"q":"03505afe6c56ced2aa3dda948419960d4b287d566e427c0926fd019e1c0ebe00b5","tweaks":[{"xonly":"7eb9dabbbe1de071a380c96d1c4a1c7cd573e1f5f7ddd25e586a5afcdc9032a3"},{"xonly":"f710a8d204cc079cc66e8b0c2d70d1e86062482ed5bbfa7bdf893a376f59c8d9"}],"tweak_error":null,"aggpk":"02444851e08fb8cf23ec62ddb1d75821c7dc7c0957e93f9c89a6373a4d9b445ab4","gacc_neg":true,"msg":"48f2f5787d8ed56481b2f0c7bf3a79c5ab8f","aggnonce":"00000000000000000000000000000000000000000000000000000000000000000003310ef72b9b7e4512b6404d386422fe8c95137c44491ff91d2c34b85aed783c1b","signers":[{"nonce":{"rand":"8fecbd7c52d79afd52524843522b9a9b7acb786bb6ea20e2dcbc2f5be5157f5d","bind":1,"extra_in":null},"pubnonce":"02d870c3f1076349e416118a3406fa64425813044a8abfc95894d1742dccaa494b0246bdbc501fad112602f07fd6b32163899e6f1a99188ff95ea3becbf0de900c54","psig":"03b7b0f503e5102b5ff25821e94444171f07dce6da44877fce208fd5d794bd36"},{"nonce":{"rand":"4ff57d99f52501c7c9dd0b052e749138fe441370522ae9845cc0ca38dcf2329a","bind":2,"extra_in":null},"pubnonce":"0202dcef5906de6d517ed50ad67f02237db4be278d497b5f844c4e3bffa2d23371023fa3ce42aa25e1b40c337149a7e3bedf918db332f150ef6c4eefd2481c8d80e0","psig":"ffd9e44cb02e82760c8de69a2c2fd4ff7cca2eaaece0941ad4541f2890064154"},{"nonce":{"secnonce":"b981ee9e4c67a3c61211b03a376f31d4598e3be9b1a4c908f9dbe277c728b3320b7d39718cff0b23ea5a313a3877448359e09cd6bed6e378b19c380476af22c7032286378df40eb37da7f125a61d862f76ddfc8b75c1b7fb4d31ab016b3405a68b"},"pubnonce":"03ef4667c7d469dbdb010db5b1eead1f81e3aaed5ef60ce8a357b22a9425f7425e03633e3fcab69d62ea5569163d5552a5a4387bb615b804f71062e8dfe8856fd639","psig":"bb3f8671178083101a7fe1885610f684977cf4d37048fe108d08903171dc3c54"}],"sig":"3fb64f29e7f4259c2612aa98c7176830e43b7f9013f70535b01cc41c46a0957ccfb42fb6bba3040d67eea6baa66be200739703ead747fd60bcf6e85df4722c83","sig_valid":true,"bad_verify":[{"kind":"out_of_range","signer":0,"other":null,"expected":false}]},
+{"id":198,"sks":["738575a6872cb1010d5b2bc1deb51d3a58eeb2d1d7088a53d51da8afc63823d6","c5c7e8e01e4cc253ce7847aad3f4f40ecc92242b951340152de801a536bfcb35"],"key_sort_input":null,"q":null,"tweaks":[],"tweak_error":null,"aggpk":"027e6f7bdfb279e1c12ee3b60ccd54d3410352a9b7836b3a3f25eeb37abf82200b","gacc_neg":false,"msg":"8c494ac525678552117f3b8e75b7b815e7a7f332c9a9b0c075f5ce2b","aggnonce":"02de3f4550484fc6c9f749c5a12ff7bee42206de61a90f11ba8c17bdf789932ac8000000000000000000000000000000000000000000000000000000000000000000","signers":[{"nonce":{"rand":"d6b231aa1fc217e2652aa19ce7fca274d361d30b5813ad021104888887b113f9","bind":6,"extra_in":null},"pubnonce":"03a22749babb7992ce3e0871d90ac9f14058059cb6d64fe19122fe967991b9b70d03c4481774fcc54a449ad2e4206d5aa6eb2b136e7a51a2acbfacf1c3ab1a1b81a5","psig":"539bc6f90a64a41f4aaa5c85f3ee8d6a05367812fe318119b079c47873035a99"},{"nonce":{"secnonce":"87b9cac23af0d18f56abde10698b681cec047f76ef1f013bc854901f7283090e77a3643f6a3bc33f27793bdecea6e4ae80ed8c953dded03818440aff25fb9d2802ef8a5de1da4c370d437f183a9e0d712b6cae66a03e1060ccb0ffb96da9048b3a"},"pubnonce":"03f79466ea4297f722a2e485f360420461733342f9920b9a33b582b0b1bd95448502c4481774fcc54a449ad2e4206d5aa6eb2b136e7a51a2acbfacf1c3ab1a1b81a5","psig":"bf191b9b41c6c42727f90cd002e7ba23ed226ea676d8b752db154b5846ab7728"}],"sig":"de3f4550484fc6c9f749c5a12ff7bee42206de61a90f11ba8c17bdf789932ac812b4e2944c2b684672a36955f6d6478f37aa09d2c5c19830cbbcb143e9789080","sig_valid":true,"bad_verify":[{"kind":"wrong_msg","signer":1,"other":null,"expected":false}]},
+{"id":199,"sks":["13e2da7791e8dc814f60e8229302df9eec558f9808e52fcfa85833ab870f56c3","33b881e46c1f7b19b98c52e7f1ec94b97b76caf1563ef2606a968adf0affd7fa","85519c7ef885c76efe97276024623d01b60d6e879ca52eef3347f4cfa7054fbc","642fe6a687fdd925dfe6719a324ab0c45bd6761e8b201d6f6aa1e5c383cfc300","e6551907ce3a9bf2f065592cfa14265408d43281680b366314dba43c74980b89","8bda2f8ac3b1624ff336158636e82b0fd29ad5f8a7a166e8bceb1e626d2dfafb","d11bea25f08d18d8093eba7993b1a56af756ddab56bfda854ed59f137d69b0fa"],"key_sort_input":null,"q":null,"tweaks":[],"tweak_error":null,"aggpk":"0208aefca45541df633e64670e9625f4e4c7761ec80410dc2f983bc391f99189c9","gacc_neg":false,"msg":"c3af64cbdd989f4ed40b988cbca12b636aeeeb8adac630a12ff204258532f1f09f6f51282ebbbabf74f25681b05aeb","aggnonce":"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","signers":[{"nonce":{"rand":"b24ab3f52d40a6dfe1d30449a7900182f67312ba32bab85a19092d0eb333e2c0","bind":3,"extra_in":""},"pubnonce":"0393388b0e976ef8878ec27a7e57532536bee065ff5ca0111999d7f2889e18b7bf03e8eaaa570900a3e57c9258547c4d77bf482ee82cab15d1ba122841e55d13884f","psig":"56bf36e53fd9aa64d21ba638b8167714b240c496e03568c1a0fc8305e13e6c7c"},{"nonce":{"rand":"28c84493ec5bfda212bc654478dfe8e91a8cf22e435daa8855e321e99ba7a0d1","bind":4,"extra_in":""},"pubnonce":"02b52627721d840318a2f0d47a8f3a94bc98aec1aa932ed3a6d5a0969e832fc6b503331ff02159bd65ecabf10611eea5af7479f454522890c76d28cef5667cdec3e2","psig":"cb9800f6fc5e8d860cf2f4d959c32530de70f3f45f52ea4909be5febf71255f9"},{"nonce":{"rand":"0fbec762ef822f6b01de5e0522c2675d29cf960c1d6311135717598eeb59f42c","bind":5,"extra_in":""},"pubnonce":"03d773d80b2eecc02f58adc03326fbcbba42100df69b3833e0958ddb1c80d9c9810393efe4f504820045749c5c3805d37300fb47c1acf0007a7aaf15d7ffa833c8ae","psig":"cf6b86d7adecf9a3ea67552e5125ea194c441268e8368496abd67bbfc0ab99f2"},{"nonce":{"rand":"69d193af27b874588748874ded109ecc9039fdc08d49d03b86401eb66dfe0fcc","bind":6,"extra_in":""},"pubnonce":"03206daff6cc4e7971528146472b01e25327441bd011dbe3f7e84f0b6c5219a4cb028319003e9e67c91a42b3f70f2d0f0f0161f9169437868574a6cf94c827ac548a","psig":"68457d21205067aef574d64b16254e712671b4279912fc2459b1163eb8284f75"},{"nonce":{"rand":"983c08b22fa92cdedb1f5d76a7ed1f082748737dab126c0e1e9fbeac5e3c3825","bind":7,"extra_in":""},"pubnonce":"03d9ef37182ef510d73b8fd493f75a9a62aad8e0e8ee890b4ca56b6c8f2f8d9b6603b2a7139604131fa8d835c148b234785a42992fb220128699bfdb4772074711dd","psig":"82ab50b71cf74960a6cc97ba5849c8b9548c7a28a020be408fbdaf50d3fc2f3b"},{"nonce":{"rand":"b81a896e6d7752142ee75c647c5516e772d36a710e88796605b4703efbe09dd6","bind":0,"extra_in":"f7ffd2b0be8cf3da315a"},"pubnonce":"024cd9fb9c8de64800c4fe872948d174cb0215739ed572e1d60baaa67fc1c38265039dd93b7ea5a70aea8e34aa54b4c8f1998809c7566591a860f523d2a5d777c6f5","psig":"da7f14bba3377fd31d1a13f02a5d319dc6841ff7517143b8781f117eacf51dae"},{"nonce":{"secnonce":"9c3500fe38264c4a441c6daef199d371ac9724531ab7bde25c068bdb7c139719f9da463761c6c9aeeb019441601a43c1203d75b8dfa566885d435db9b247654d02f9ccae730c104af4340ae183496a951f44bae91b47d3310873d1385afdd5f11e"},"pubnonce":"038048d0417c01bf8c130af299035dce339f16b768159250562974b9bfcafe3cad03c57e8f2a9d0b098ccbbcb6a2e009493a687072fe03489eed5fa0b88a7eb256b6","psig":"aa5f8b90459b719fc985464c2d3050ab0c25ce9099c087ca9ca3fb4b5ef11b00"}],"sig":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f8179861922cd8103fd4114c56b88228fc1fd73fe274318f01dc9a5579b6d7f02e0ec1","sig_valid":false,"bad_verify":[{"kind":"wrong_msg","signer":4,"other":null,"expected":false}]},
+{"id":200,"sks":["88af529f3072a5f6b2ae93b8d6d7f913356d21d9378ef72318258a8d5fcc73af"],"key_sort_input":null,"q":"034ef0a640fc0f5526268d53b838eb82c0bd572495ade98a0ec919df563ae2d6ee","tweaks":[{"plain":"e139e6e2731568dd9ca91f5e158a0910462d3e416f2fb8fdd50ed52eca716e2d"},{"xonly":"0000000000000000000000000000000000000000000000000000000000000000"}],"tweak_error":null,"aggpk":"02f42c8085f19a350cbfd5ff1cf2637861021fde67a423fd1d5da00242d8e9bcbe","gacc_neg":true,"msg":"","aggnonce":"036469ee5460a2cb538b900b6ead5edf2fba4453d5c2e0148a38bf4ab6367d32f302c583e4b7cf67eec486785bd3323e2c1e1dd37dacef9f5f564796ea29b636692a","signers":[{"nonce":{"rand":"9fb85b051868ac0c96e4f3218025d333a61be530fef9e4fc5bf983c7686bb93d","bind":0,"extra_in":"1a692103c737"},"pubnonce":"036469ee5460a2cb538b900b6ead5edf2fba4453d5c2e0148a38bf4ab6367d32f302c583e4b7cf67eec486785bd3323e2c1e1dd37dacef9f5f564796ea29b636692a","psig":"cd2ccf32378061048fb2c41462ec3c8e3c438e436ba98fe30a65e02ca0d48058"}],"sig":"bf49ac8332815d4da656d5791f015dee74c459ab93a81f8abb01ba8136c6e5efa642625d3c7d7fcfaff37ca7b477569e5a894557a6118a6d300c3de4da9adad0","sig_valid":true,"bad_verify":[{"kind":"plus_one","signer":0,"other":null,"expected":false}]},
+{"id":201,"sks":["ebe520d90a438f5b741c3a3db6bd13d96a651a438e5b024e44553e3b004c96ac","a4e3432e34084bfbbfe1345c3394be326f9412480ad1fb8ed162d79ba03bb425"],"key_sort_input":["036a636f7a525928fe6c619324d2f85677e119bc19658ea8c04a286d6b8e8d8c59","0237a0b33643c455912eb79ce5059d2bfd5331c9f0a72c2b28450e3deb4a3e24f5"],"q":null,"tweaks":[],"tweak_error":null,"aggpk":"0233b0ce819fa5a05b10caa6a6c03c1c37ff8771b051a8d43148d86aea7bded43f","gacc_neg":false,"msg":"9a1695c3d8c1ef32bf8a6d2f4a784d620fe681698f0f6cd200a29da7d482cb39443769aec5fa89f796983054d8fffa2d185e2b7c376b1644634216b870ce28a7ae09c113c1d6bbae4d505bcd1c952d9404e128539311fe2b75136478f307947752c92b6ecb82558535c12d8b599602b0a27f272397edcdb591ffb0720527de7ed7643947435456fc969e4aa0264e120d19b1e9c98422dd7be9c5153f0334b441c3eb0cecc2b7965acac33a32062880b0138bc8d632b9d50f83245bcab951b97c37d0ef6bdd7439dded9fc12e9dbffc626a43e74e9be8292608fcf7493182eddc038652608dc9f2b2e5a9df4a2902afc50486fa439a77fe69c90a8e9a909756ccff8b51509251295cbe6a4941966d8173977e4dce452941a170e3","aggnonce":"0212e233b6a1dba7198e228a3fdf9c451da38f97a90329c3573c15c21b5ab515670328a6b3694c6062e1921fb505a2fbc1ff511c6c85737f0218368139ab3c4dfc4f","signers":[{"nonce":{"rand":"6f72cff8aa379fe2647a5518ea18217846a31b21b7f53454b7ac4661064861a8","bind":5,"extra_in":"86fc782bc210e65acbb94e2c84d4012d"},"pubnonce":"02946bb153a06d1605961723c46616d9ac6e3429c1dcf0e2af5da2792976d9791a03bc75c45995739d47d8a203d6ff105c5d2c654780ee547176ca020d5dd8dfb81e","psig":"1c2a9c9fe5a698262b084764c3891e060ea02948ba03d2eda408f0cff9f6b7a4"},{"nonce":{"det_rand":"7bef82f0a5197e420b4b8fa3bc279e1a9e202ee7ddb20078bd4a3b7448e55e80"},"pubnonce":"021b853702f612e6d3ae9531314d5c5e63d5920df6c077803e1ca21c4e999f893b02876b74bf9f44365e447c9396a4e4d84712f1648ff3b19356fc69a2f9afe78a88","psig":"7e751c167f5b715a7fceed38e68ac9a3838a2267bb049d5c6840902c27e2bb60"}],"sig":"9a77174efda033c55610e4e0a073392e173ba36ca40e5d711f6647a9eb1e30f69a9fb8b665020980aad7349daa13e7a9922a4bb07508704a0c4980fc21d97304","sig_valid":true,"bad_verify":[{"kind":"wrong_signer","signer":0,"other":1,"expected":false}]},
+{"id":202,"sks":["8ed638489d09e3b49a02b28d8806aff49d8a6ef31a5516c3a43b37394a1aa4b8","918efd39988c4130d40630775ed2c67f669efdc6d978c7226663994faa753ef6","b657072688b23ac2f9dfb12bef1481ce1cd7d47a3ba492bec8ceb430eb0b1a4f"],"key_sort_input":null,"q":"031b4a7aa56ed8180f3478b933ed21abb62e1d80365e1f88e8ceee7bd55a7b3c4c","tweaks":[{"plain":"0000000000000000000000000000000000000000000000000000000000000000"}],"tweak_error":null,"aggpk":"031b4a7aa56ed8180f3478b933ed21abb62e1d80365e1f88e8ceee7bd55a7b3c4c","gacc_neg":false,"msg":"380cd076ee29ed4261d77aae31021213d35c5cf7104e735dacdbf5757c2e596d","aggnonce":"02d13aa7f45e8a67b4f5bc4dd699fa821eed449c4b14fb607b534f9bed28806e0b02a13246493be53e442d55dea0689de698de3d7607683af2ff90844897e282a7f6","signers":[{"nonce":{"rand":"e62dcb9f39f1b43e6643a6e6e8f7d3cd99b25746256f85436da625130c0f97be","bind":2,"extra_in":null},"pubnonce":"0232f292bf01caf59f82400a7e0763f8e36e889ac15207ef6d64bfa0247d278b4c038679737628c990d18bf2fece0c5b122db7ce20890e7801e44109dd86c07511d6","psig":"b0f1996c8bd35b50e962c98476e6d66fd1c9d2961b9f9413d379cffa55a41fdc"},{"nonce":{"rand":"067ac2413ce669046ba78da15f946ca4edb3afdda77bd80d497bf56a53c07319","bind":3,"extra_in":null},"pubnonce":"02e07914970cfc2602e683077bea31b41206fde49ec9473fa948f8dd2bcbca0b2803cb5879ede939245a7088c275a5c29186c96c378569f1724dabbc1068709de1ec","psig":"bca11520e2ab0b925c89884925725f7d1d651eb027c40009e7970761752b8110"},{"nonce":{"rand":"2222094e9aafd096a236b01c8fb1b0a1bc4fa7dae0603364d3ba240f4277651d","bind":4,"extra_in":null},"pubnonce":"02d1a1d541494600c7b69fe223f16bf9e81ffeaf888f2573a460620be51e1f7c9d03c1502348152f7f1031f39aae77b20ccf5bd51fdcb0388cf6fc2e6dff531ed41a","psig":"9e4aeafe3cb570f9a79031f171c2ade474fdf3fa48e751e654ecba89f83ba3e6"}],"sig":"36e1b37bc4dccdc4dab03624224bd5a1733079e7a0d8c6ff612c0e6fad7bb02f0bdd998bab33d7dced7c83bf0e1be3d3eecf2b732db9a58c9058d4cc229ec250","sig_valid":true,"bad_verify":[{"kind":"swapped_nonces","signer":2,"other":0,"expected":false}]},
+{"id":203,"sks":["77e3b6cdbe757a981db15c20d7d7726a5cc12acccc11be3eac338f44a5d3ddc4","67645413ed5a66f0cfd812ea223f64aa4a233957841ba2189758a7acc1a1a617","9c7a4972b6d1b9ff287cfd0d0716affbb48fac4aa52d24622a0509a36c8811fd","48b6a59a8420e50ca19bbbc6f1535d1b41f4f04890ac2c643a87a0c1230563e6"],"key_sort_input":null,"q":null,"tweaks":[],"tweak_error":null,"aggpk":"037506d17a1fc900e4edb028444f546ef569b894e9c26a75df55bc69dbe7323cc3","gacc_neg":false,"msg":"738ab38338d4a84a381dc26a5daf0e45de0f99c0fb55ef1cd0fd1b9fd10876c6","aggnonce":"02608dbfa5030fc40e06a8249ff7bc782c132468a28e5a32fd61d1b5c8e52d435903f17800df3d61593d34d7a058b77b1b96916b7ff4f18f903b524f837a1d259e95","signers":[{"nonce":{"rand":"70e15c794e98135fa0021e2366dcd81bff833427819ff4f084fcea1a539f31c4","bind":7,"extra_in":null},"pubnonce":"02d9a070bb36599a0193113c7066c5881395c9928dc41187454be3bc335bbd1ba803460d1afdc7705e582f5d0ae93bb3b89392e3b084573fdaa824e0af0b52bdd37f","psig":"688d662fa7d8c3fb1649827c59228b220063cf51178f688ef6ea187bda343276"},{"nonce":{"rand":"874d34d09d06b3221f34be54511a7f3fd9ece0127c89eae82b39cfddb59f343d","bind":0,"extra_in":""},"pubnonce":"03b4bf54e21f7e17cee13d79cf72c7e4160787f9326ac89b296f81a8d272b20c07037f161f478306e422aec9ba6cd4ffe7ffdb2560ee27a4ec92fbe7e6eb327b0f0d","psig":"f20be17690cc1835062bfbceae5681bd7fe28084930d6d8140a4a93db36e745b"},{"nonce":{"rand":"5746fce42822b3b91ba47c940d8559b0f9a721322a9c5471a8d26890351b35f8","bind":1,"extra_in":""},"pubnonce":"023636c70ea62e7e449ef9cb745d37a3f56b9d5649a9ef0198a40e4a9bea5e8b38022c67ab2d5e91b9fb1b09fd3c391102bc549248b2fa87852d6b0464c50b0f6af1","psig":"3d652bb893898c659bff9b3d14b8b242cf85aaaf7dadb27a59960d899c258202"},{"nonce":{"rand":"e5a52695a17017b759f0b499e957807fdeec6c164248ea164675b2ca64725bfe","bind":2,"extra_in":""},"pubnonce":"021eb60a83728424d2cedd98a126c7e1b97bc0b3561262108248f0348f633c422e0234585c4e3177cb70242626b713793c295c92d0e5bcf5f4742782da2578bea583","psig":"c9eb89c45a224fcfbda4558bf4b8da030b4548748dac688d60dea767e1081652"}],"sig":"8fc71cacaae8c1e8b47a7d9dea148061dcee4bd179e80c198bf858984e4b84e261e9fd232650b86576196f1410ea9927e5b3892c5765b0a0725eb9916a63bca3","sig_valid":true,"bad_verify":[{"kind":"swapped_nonces","signer":3,"other":2,"expected":false}]},
+{"id":204,"sks":["ce32f42cf6cce4559870006f356c7bf028202e177e82fff1f84ca7b5f6d23293","ce32f42cf6cce4559870006f356c7bf028202e177e82fff1f84ca7b5f6d23293"],"key_sort_input":null,"q":"03c13bce31917b83d428ee757801b791d86abeeb0ca10c83efc217e49d00384224","tweaks":[{"xonly":"e50641779872a1e31c4a7c275e32914213f1856a209d5f961e6de5793c8ffe49"},{"xonly":"e9d0357b256bd47f65a71ab8bce67270cbcd257e66757f73e5e0a1f0d034c648"}],"tweak_error":null,"aggpk":"029cdebbd668ba5c3ce135bff75408a8566e122e171e83f950e4c3df356fe6ff34","gacc_neg":false,"msg":"440d629346d580e6f8a8fa18546b2875777144a8dadc2d3c3a7e30fd79472fdd","aggnonce":"030c44639385d95ea2303f9584d89c3d28b69a5165de728bb066f19a93ba5440d003f982e6731b8822fe0cb983cd590a8393b41fe285d90d5ac12d073a5ea2adcd2d","signers":[{"nonce":{"rand":"af340550a043b29dc9fdbf2626f33d72aca3d343a2f3f983fccc3bb3f226cae1","bind":4,"extra_in":""},"pubnonce":"0377b3d1d225ec81f5e1a36cc46b44acfa5db622e5f8518419ad02be482b4ceed603dee71c8238a45de65c18f12c326eca859da0db60d7bce0b8642236b1cecc6dd7","psig":"9ab9d27acc24e90152609f0533b620353b65e48a97094cce4add4d33953a22bb"},{"nonce":{"rand":"54db8914ec8caffa80b8e02beced90d27cde88985fe1a0e4739b236b762be683","bind":5,"extra_in":""},"pubnonce":"02106a0cc20eb31562c1fe862e6548209af08756d7ff7385ce3d49d3ba0694c75b029879cb4f6a83a5a9f9fe23cfe9a3e94d880ee41c8bc9707f7985d3e58936edf0","psig":"0d6a34e3b531283f5b1eb34a1381261dd1de4a08d550c4171d5387b469c2e607"}],"sig":"58929f28b1b1b97a36a71ebfca3bc6ec341be332e2e80cf2aa247fb5a009d89729d2136642b5e75feb0ffc32eb31b25bac953a6920cbcd9427e91e06896952c8","sig_valid":true,"bad_verify":[{"kind":"plus_one","signer":1,"other":null,"expected":false}]},
+{"id":205,"sks":["454fba53503127e84fce0a98998477840cf05c9e110a8592ce0624a959635478"],"key_sort_input":null,"q":"02cba0240b8fc78b0a9c2fd5f146a225b54ef528e119bca8e28c9b3709d2691c22","tweaks":[{"taproot":null}],"tweak_error":null,"aggpk":"0322aa58b69f931807e93c2b6f67422d1c06bce96a178ff0b8fdf4edd2ff948f33","gacc_neg":false,"msg":"d5a9bee4db3a698b1b","aggnonce":"03ffaef7bb8f550e44bc3092276ea3a4fe201e5030c61aea013b920d5f860305c903d974649e80ade561298adc16399b5735881d36744b49688fca90d779056e2838","signers":[{"nonce":{"rand":"89e887b6e104079a55920a57c8fef6d7c6f9671d2a038feaaafab3e7344ce669","bind":1,"extra_in":"669a96b3ee36"},"pubnonce":"03ffaef7bb8f550e44bc3092276ea3a4fe201e5030c61aea013b920d5f860305c903d974649e80ade561298adc16399b5735881d36744b49688fca90d779056e2838","psig":"cb7291392560a099f44e518611f21b4cef0a3b4b984ad569835c654615858921"}],"sig":"fecee939d297b75e0c6d15dd56f9736545814b0b3b2bbc27eb3b082afae5555f5fd24b5dfc02788b7e8c6056be7cf00831e41fbcc36ed583aeed6d1cb2977117","sig_valid":true,"bad_verify":[{"kind":"out_of_range","signer":0,"other":null,"expected":false}]},
+{"id":206,"sks":["1ac6ed22d1bf6809778b12f4f48fccb0566500580c19dce512bc8f3c83772839","1e2ed26dc890f64abf95d0ec93661f1fb35b00fa98784842ae608f7f52d4055b"],"key_sort_input":["03e955ff2e50bbba11e2034847bc9821d0be4d2ae8944a9fab46422e3c56d9c2df","03fbdb65b75495835679391ce9aa7058cd31a266aab3a838560023505e9f5c12e2"],"q":null,"tweaks":[],"tweak_error":null,"aggpk":"025d1587ab9b36740f482bec01bdcd9cbedb28f760af64f638622f7876f437f816","gacc_neg":false,"msg":"2463df20db80894ae8abcb31d95b3715ad11904f8cee5b99cc03806f5e7f6e3f470c92c69a59c5f01283364a173b3729d0cb1d84d74028223d31f472736e4cdf","aggnonce":"022699459a2ddcb0f841e0c8fe126cdc0fc07a521686c552884a61bf0df1e8638f03949d886260db87f2c0612e7b363157dc56f1910a0c44b3dfe720d07e4f02a933","signers":[{"nonce":{"rand":"b80e2aeaa6e44f8409320d35a89fb79092aca0da38ee572298c9e460b4c95745","bind":6,"extra_in":"2ea02dc065"},"pubnonce":"0380b3cb8ed7f16994dbfd328af36ef04ef5bd882a41cf16911ed6dc97d61a4d240312e7fe90ef7f6954b4e2e6ba8134a88cdefd43f5ea1ae0ffb4ef5444e1576afd","psig":"1a30dcb937c656bcfe28949e1aaa28f622255d9e8ac48cb2321598e320e0cf0b"},{"nonce":{"rand":"005596797bdc04a2ed8928d914c0debf8b160e865b9e78825cf467e6ddcb7cb9","bind":7,"extra_in":"ca4e7d68"},"pubnonce":"03eb1dfe19d5f5a79fc7fb12b807186911ef7c0ac24e50479f7ead8acb4b1ee5e302f8768c95eb3308fc3fc89a8473e92eb3382d3768541dcfd7a0ee8ded65a22baf","psig":"a46e9168d1df2398e1f24a5753d06a0e173e6cbc24e039a832b1907956b665cf"}],"sig":"28c6ffa53783cdcac55c991feeab7d0ef49288c0a0079f8d1d3643854ba0be42be9f6e2209a57a55e01adef56e7a93043963ca5aafa4c65a64c7295c779734da","sig_valid":true,"bad_verify":[{"kind":"zero","signer":1,"other":null,"expected":false}]},
+{"id":207,"sks":["88f04e74d344875ada676cf83f9a5a2c6ed7a76d606fb5d69081871b9a22552b","88f04e74d344875ada676cf83f9a5a2c6ed7a76d606fb5d69081871b9a22552b","88f04e74d344875ada676cf83f9a5a2c6ed7a76d606fb5d69081871b9a22552b"],"key_sort_input":null,"q":"0304e150f4922c6eb08fd9c818b6aeac1abbdc2553f0245a53814327bbbb00439f","tweaks":[{"plain":"3ae4fea0e178791fcf416fc070b8f020bd1a5e4cb0ff28db49c46300c4df95cf"}],"tweak_error":"TweakResultAtInfinity"},
+{"id":208,"sks":["9e484b048738f9a4b487724cbcd2c5893694263caef89d359b72fa59a0acfd40","1fb7538727f2504e632ad89c982182c4c522e13b48a255e7bc9575dd51a69bcd","b0665c46bdd987ee8eb5aad9d08d34e6dcd9f704ad3c1ad7b189160758192e83","1fb7538727f2504e632ad89c982182c4c522e13b48a255e7bc9575dd51a69bcd","aa92e4617073523f59b77fe87cf013778901f242d88727abcf2f345dc8adf3d0","1fb7538727f2504e632ad89c982182c4c522e13b48a255e7bc9575dd51a69bcd","1fb7538727f2504e632ad89c982182c4c522e13b48a255e7bc9575dd51a69bcd","aa92e4617073523f59b77fe87cf013778901f242d88727abcf2f345dc8adf3d0"],"key_sort_input":null,"q":"0369f24658129ae29f696685358a09ce2bc0f57c8368652e6894d3f2a0b759ac39","tweaks":[{"taproot":"84c46e22e3a156ebf0f8768a5b95a8ff82f343c54cd7790d6534eee3b30fdb70"},{"taproot":"87e8c62a69aa646c30da4dc6534c0f44505cf481d95255339f3cc4520d286109"},{"xonly":"0000000000000000000000000000000000000000000000000000000000000000"},{"taproot":"a6626be3208a65bf4f3e9aefed033fb15e05e557c261d9d2b605f096758c2897"}],"tweak_error":null,"aggpk":"03f74f999f1a19a6a94c726be57eea55a676d6014ffad410f5a754d57ea149a5d7","gacc_neg":true,"msg":"c9b76bd9aac8432332c11a518f76992ce411f780539fd694b85f301e94b757ac987a51e12a54e8a68f7765","aggnonce":"02e0b367d0aa9a1885a684c366dff56056868894dc2b0dfbe88a0225807f63bd5902fdc0ce8e78f09435cf3ceea75d4a213c714394dc6b0e208689eb351956d9aff2","signers":[{"nonce":{"rand":"ec03c43c4d46aaed4cb1aa2121d0b9d47793ce557ad63f8c371e43af8743e01f","bind":0,"extra_in":""},"pubnonce":"025350ceb801489cca5c749518e794dda9a0a685ac91579c6f052a104a52d6341f030a649d96fb914e8042c8e293f845a5503510f565100f902923e617104a5cc52c","psig":"120b40b75357a360a0cd4e5bdcebb003d57a0d749f69348d025342c4c716da75"},{"nonce":{"rand":"80b4e32593004c007efdcd304506455bdf8f884bfb4b0111f3523c8de0b642e2","bind":1,"extra_in":""},"pubnonce":"02c7ab3c6e70e98d6f4bf01a1bc692a5c9016900124b3c71fc31ed1c6dfbc56c1c03495c0ec323c0d5646d9a6f60588f822badd2a1ef92f0487c1cb91b941d33dc9a","psig":"190b4f2283926c0b548519f72352d59a669ca272325ebc93ed8f807d72bd5d50"},{"nonce":{"rand":"fbea80159909dce589d2065c119d922ccbd7bee792ecb8a34502286f6e04b68f","bind":2,"extra_in":""},"pubnonce":"03abc47d635c16c673c5a4d3b9d0b204ad1faf4b4ed96039ac296823a27bd9345902fa0cb21ea21535020ec4e92875ba0c2ac5888a04e59b4a52b358c7451fd61504","psig":"c9a6b00b9a921a7930fc9dbac1f6e65acba6879635d3e92a04df1036beb873b3"},{"nonce":{"rand":"7ecb03622bc27c8367f0ca099bb4b17fb9d047e3f78ef6df80dd79ed74a81e8f","bind":3,"extra_in":""},"pubnonce":"02b479412a6b0a91c6715c4058194bcda451bba3ecbff8de84fc60b20324d50beb03da5d0aa39139a1bdbf04070d0daffb7d6f779bbf4dd2004eed19935a2d501a21","psig":"846166e8f107e6eaca754129aa754f18ef5af6c630f0c451aa54d3e83a895062"},{"nonce":{"rand":"262ae68b3ca258952126307d857d6442dbafc9a88697de3034e20fe48fc852a5","bind":4,"extra_in":""},"pubnonce":"020385bc5e9a717b902fbe1573f349e7428b16858ab51040cd51cea5e4cc6aa1370302c1c77032ec955cf24c0257b516d781a4577de23808a6064371d5dcb320fa69","psig":"b5977829b8d965fa596186b5984034f99004fd0d0d3bba103ae0fc517841cbc5"},{"nonce":{"rand":"8baeaed6b388e371677d1b9202acfc58a1b6197940239bb7b8ccb8317f3e007b","bind":5,"extra_in":""},"pubnonce":"02c55c42bad8f5c2e0a01408d0c0d59ac95ab01957b2deab0f9bec5826b24dde9202d5c4cf52e92c8d2f4673ed022b5c943e99f9997d4c65721c88c0e2a239857da5","psig":"65c0c17c5f17581bf407e8c53381b19677b1ed9cc4a935202e4a317d23446909"},{"nonce":{"rand":"108c2ffe9b707322cd2c8b1474ad22a631c100578561c8dc744f0ddd560508fb","bind":6,"extra_in":""},"pubnonce":"024a29013f2aac704791902409ba22857a1f2bf3bd0c2b3997b3510ca044f4a64f0384e6aff9a2d97bb7a1fb1945ebafc6333c32bcac8985c85cb01de4ebd208f46b","psig":"e2455f31436ef5434ee1b0d5447b3ac91cef961e74c98758d0289f0c7078135a"},{"nonce":{"rand":"b14db2b02267f3036c16861e1a67685e2ecac2f00d086dc7d66b9b8da91a32a3","bind":7,"extra_in":""},"pubnonce":"022d0a5708ebb029651ec3f60ece26c0f79c76eb58c254989c5a6e0bb690f852c6024136a173c8cfb65b96845bc5bfc2e85948034b17f2eec800bcba92ddff5bda4a","psig":"e8f56f3878ae98f0ccb1c61a349bd6e0384794e8172e114c143989db87601f23"}],"sig":"5b06715f8097d719a466bfad9d01575560be521fa2d8062974f62932e1afaacc69e4ff36110ccca3604ebf934dc75de0a657d3d364e3cd7824ec57ad3b73a727","sig_valid":true,"bad_verify":[{"kind":"out_of_range","signer":7,"other":null,"expected":false}]},
+{"id":209,"sks":["433f91e322e8c076507c7c4216bc9f3788bfd21c326528bc11443cf2a3016ca5","b8ebdf02121c5d01226a22a56ac723be28583f7f4a3118e2349e273e03fed45d"],"key_sort_input":null,"q":"028a070eee788900094219512f1cff5f8a65f30953c9a6e82a8fe7c8e821d8e61c","tweaks":[{"taproot":"5d6b59bc97c8e1bdca5964ae481789a77674322c9a5c8bc2e6f93757ab1e17b6"},{"xonly":"0000000000000000000000000000000000000000000000000000000000000000"},{"xonly":"00000000000000000000000000000000000000000000000000000000000001a2"},{"xonly":"95d73830c7f411007f730d20dc355673a0f9bde393bc41d1aab2871036d4826a"}],"tweak_error":null,"aggpk":"033014bb6c4f5fd032cdac3bc88c098e87d8409edb03f3e6d4e7a462c4d8f4e06e","gacc_neg":false,"msg":"462af49967b67d1cc1c74446dbee14f46d9c0508f60e9b45f823e53a7db768","aggnonce":"00000000000000000000000000000000000000000000000000000000000000000002ea343e547872ab62c306eea14d84774d5b5d0ea5d0dbaa5b9e0a4741d53cb4d5","signers":[{"nonce":{"rand":"c347eeeaff5f3c1be4fac9f78f71c0c144fe9afa8529daced9639c25ff009270","bind":5,"extra_in":""},"pubnonce":"02c6fe4919c05b285fb5338f3cfa5014f4dee0d0d83364652fcd7f9a6cdfbf629e03398c49a8a8dcb77cac9139a26d4a3d88f9329123c768a59d1d6f3c5774e283a9","psig":"a0efa13550d01636566a7928d725ad78bcb6bda5048a4fecd6d404c90affead0"},{"nonce":{"secnonce":"b6607cf42bce7e841280c9c7890bed8ba96c798d5a433beac8901ca87633d0818ecbb5048e769c27ab0b8e4b075c22fec83443aa2679218816d81b58d399a3c4034b6b35cba566469cf24986ff50129316e3bbdd79138dec811d5daf579a16afad"},"pubnonce":"03c6fe4919c05b285fb5338f3cfa5014f4dee0d0d83364652fcd7f9a6cdfbf629e02c5864df5556f9539f9421bd11259edd074c4397932c7697868c7fc3ccb9c1570","psig":"5b449b4bdff41eb43759f0fe4a940e479388f47c12b59419ce6f460ee3d48840"}],"sig":"0986ee4dfb37b13d94be796d2ab875e2acaed7acc73a14130e887e51e9ef75ee2038ba3f4b8f2816e4aba4219234b7d41d5e4a2854c41340034834e29cd727c4","sig_valid":true,"bad_verify":[{"kind":"out_of_range","signer":1,"other":null,"expected":false}]},
+{"id":210,"sks":["3d9d99c6db01917b891a6935fb798b3b434d5037c1bae321717acae2c5ddd52a"],"key_sort_input":null,"q":null,"tweaks":[],"tweak_error":null,"aggpk":"03488338967925865fe37e147e0335523c7b1245597226631ed7e270266c33d7e3","gacc_neg":false,"msg":"","aggnonce":"02b05a26dae7a8b5aa5b260bd2ed5d3a18d2462eb017205c4ca0a7eae9901b319803375c05f47ab97a405fc17e1e11def623289c3d4f20f29bf360b811c79fbccbaa","signers":[{"nonce":{"rand":"3aea2779d68c3d70372006f2f0be0001f339b98d67a5be79cc87779b60e38477","bind":2,"extra_in":"6b85475b1f8a2dfd894ddcda46a9"},"pubnonce":"02b05a26dae7a8b5aa5b260bd2ed5d3a18d2462eb017205c4ca0a7eae9901b319803375c05f47ab97a405fc17e1e11def623289c3d4f20f29bf360b811c79fbccbaa","psig":"53444b22dce0a3a648f539a824588cfd76b5e8485b6edba28123936fc2d0d96d"}],"sig":"c981cc28bd9dd41a77974416250e76b93c7bf957d7d91e42d5db047961a73f3253444b22dce0a3a648f539a824588cfd76b5e8485b6edba28123936fc2d0d96d","sig_valid":true,"bad_verify":[{"kind":"zero","signer":0,"other":null,"expected":false}]},
+{"id":211,"sks":["86f5e08d18e5b74a5ccacdc8e8d880196472022864ba8e5958f5a6c2d0000887","1ae23dca1611730c13ecb693e225f476d5add3b92f4b9e7dfdc7bb5c9cbd854b"],"key_sort_input":["036e347e5de18afb5e23394412c29e2f52257d45d2901830f7359116d13843678c","0229c157e6106b65725d4e94c2d0ee76bdfbf29a42be40eb548c2c35d1db875e36"],"q":"03022680ec9c8ae40b7f8f9f5ee54325b1a49feee0cee443451b42c3cb7370bca1","tweaks":[{"xonly":"0000000000000000000000000000000000000000000000000000000000000000"}],"tweak_error":null,"aggpk":"02022680ec9c8ae40b7f8f9f5ee54325b1a49feee0cee443451b42c3cb7370bca1","gacc_neg":true,"msg":"6bbc62d3578052996cb2cb2322e6b0999f2f3323a33d95080a04728b41e39770a050f614187c47c85a81190a6f1037eb64c58aefbafdc513b8e0a627ac60910f9fb7366c69d3ce592ccefbf0f721ff3053d6374b7926c1476d99a11049df4e898e711f32d98eca2ae05410c7156682113b829de632f56534697531d5977230196818744cbe4e69c530d68e250fccebe8c8ee457b3d5b1348fbbbf1ecd1d2e9bb250a6e7bd2ec01283900a141bec1714bec59657f4dcd9a5cd7c1fd00796487b07066aa2de3db6e9ed1d842bf1fdb6add682a7a2ef49ffd60235763bdeb67291d4f637d84278853748c2062fa54c3c1a6a5c952489325e50fbbd3b7d39c241a444425453cf6f125a0401ace1dbf701d1df8668b3eabd724a7","aggnonce":"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","signers":[{"nonce":{"rand":"069a44abd40e87c4e62f26191d65be3417d8eae64b151aca8cb54d7531ef9de0","bind":7,"extra_in":"2d0b578bff213f1085a253b7"},"pubnonce":"0237257b1961e9e6565c33bd9df648ca45eaccec00dbdd64d72444e380547986f103c8e3a6b0cc89972acfb5c8c4763c4d3a5c74a0f1adb950b071c5205a4d32796d","psig":"6d01e38283cc383ba86576338b948073976dcf4c0d0b112db651fdc28fd00d56"},{"nonce":{"secnonce":"6e98457755c195cd31b63ed084588ee9bfb382971c0aacd25bc325a168a043469874613f79926b5ebd38d7e5fe71dd9a51567077d4105b5aeb5931a2387a6cfb036e347e5de18afb5e23394412c29e2f52257d45d2901830f7359116d13843678c"},"pubnonce":"0337257b1961e9e6565c33bd9df648ca45eaccec00dbdd64d72444e380547986f102c8e3a6b0cc89972acfb5c8c4763c4d3a5c74a0f1adb950b071c5205a4d32796d","psig":"fde1112c0f99c676be0e4d8026f439dec16d8ded39b148bf9a966d7c85d6165f"}],"sig":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f817986ae2f4ae9365feb26673c3b3b288ba539e2c80529773b9b191160cb2456fe274","sig_valid":false,"bad_verify":[{"kind":"wrong_msg","signer":0,"other":null,"expected":false}]},
+{"id":212,"sks":["646ac7abdf39e0bdf2e26e85c2906fc54f0d118fcf86b830897090d03cfd2bc1","646ac7abdf39e0bdf2e26e85c2906fc54f0d118fcf86b830897090d03cfd2bc1"],"key_sort_input":null,"q":"027a351c952969db7e3c02292690984de40260e7d7f6acaa1d8fdc8c07debaac3d","tweaks":[{"taproot":null}],"tweak_error":null,"aggpk":"02724eeff8840415a702ef9c3d817b6a15881ae130120893b0f73ee2e062825bfd","gacc_neg":false,"msg":"02efd0f2e395098bb8c5385468913f51e1af46d0ed877bb6cd3d51d3ba0e9133","aggnonce":"03ec2d507f1169a992b83d09b927b26b2b395bb3e2770573d7ecb0460ad410388a02e25144d2eced8f1b2932f6ce2e356243f94ff4f03a4b0403396637ec6a7ddb27","signers":[{"nonce":{"rand":"2beb40c06083c1b28ade81850ecc9c743c88d17475388499ae0e26c2f5268539","bind":4,"extra_in":null},"pubnonce":"031cb42f764e6b53b24f593aae49ea85af3bdcdf028adc4df61e017a16993d867b0204bbeae8c7519df0b99409b37f1ccdd3a6fd0d1cad1600edbae3be9ce785e5d7","psig":"331a80859f151b87f547354f526fc42e172df21780b5b91f9331eaccf5a4f442"},{"nonce":{"rand":"491bfdcb856440376ecd52b39dae397404fd6de5fd9a1a0433642d0d23de9fca","bind":5,"extra_in":null},"pubnonce":"038b5ae7e15fd3db55bccd82fbd3513a925f3795c0c2bc2f9f9c53cf959c614e1d031d590f959f8b463308cea7fa00db24cef3f6736aa8fefbd69d18c2e866f0a331","psig":"051478810218f372ee58218cb4ad86929230b3430103a4263b90db1c3e2dfac7"}],"sig":"101b34113819c972ca5e98f4b4f7eb7d991b3c09082b9015d68993ebcf65a5115ce0e65879b7917c15434514fd407ec690c9fd8ef30e4b0108a2c9c26b537e3b","sig_valid":true,"bad_verify":[{"kind":"wrong_signer","signer":0,"other":1,"expected":false}]},
+{"id":213,"sks":["e19fc4946110e3fe89b7380b1f151b2746f34c87b14be60fb37d584fe1f7664e","5998397187b07fe38fa4e31ed4939b6ee55449ec8446179c3559ec6c50f34dd6","32b09fb3079ae0aca81502a88c7ebcee1819f7b469bd7367e4cae3225b4e6a98"],"key_sort_input":null,"q":"02108be909e39eb23da90b0a2cdcadef81af5eb311dc4dee40a2536b0788018d16","tweaks":[{"xonly":"0000000000000000000000000000000000000000000000000000000000000155"},{"xonly":"00000000000000000000000000000000000000000000000000000000000003b7"},{"taproot":null}],"tweak_error":null,"aggpk":"03d45bda509d6cc42db40fc6261135ed9762edef74095410f33fd9d8f20f704e89","gacc_neg":true,"msg":"1f6ea3ea34c99c9f549182c542cc8cd0f4dba8dd7084d2f26da49d95d2add4ac","aggnonce":"029d80909424557ff6cec6901a211292bdeee292e2f1723c9361c106f477faa34f02710bd35743c94819e861ef49165b1c5058e2f4466cccf907fd884dbd23b2a116","signers":[{"nonce":{"rand":"390f9ada1b7d8802ff1ce91fcbfdf78c71e7562bcf3ced4ec36e4352e179edb4","bind":1,"extra_in":""},"pubnonce":"03e6ad453546b6be361da8634b6f4d80b5e072fb023ecb6c594b4d6692dfcdf53f03df6be37cdd732687be44e95a2f0399a5c00073974be05071718558206426b652","psig":"5c1e82565374d05722d16aa2921177102ff2f61c5e508ac89584deca63d5b235"},{"nonce":{"rand":"2bcbf50f7abe7beb72f45f48da9dff65bc759cbe60e67f8d76c790fb18a16c5f","bind":2,"extra_in":""},"pubnonce":"030b42b846272fb4076cfdc0ba76efa00b031a6fd6730c09cf0ac747d8aa8a4ad70267ba8baa12b36f0aee090c2adcd6b8bcb93eb96b3977c7787606db2cdf6a64e7","psig":"33101717b3a7bd61af6efea190c8894f7a01b023c68abf11d0bfd085d8ca9b3e"},{"nonce":{"det_rand":null},"pubnonce":"02ac80154ca484792d9cce2ad44df3da4ab5edc2c54ac4d917f9c8a5c752417dd603050262ccf8b09746d8bde3006d6239d2ca4aca3378d62ce3866b30992ea641bd","psig":"bd494b0ea89647c49dd52399501896a885f1f0c06a3a759d99ddfe4097f5eaa6"}],"sig":"f4d5241ff55e951fc0d0443406f087ba9df4fdb5571073f9fc59d2328335837fac87b1a3fa6843eb80ae23e6d883b391052a78903b3ddd170235cc1db1a6eaf6","sig_valid":true,"bad_verify":[{"kind":"wrong_signer","signer":2,"other":1,"expected":false}]},
+{"id":214,"sks":["430ff09d1e5e39abf4655b6df6c8561a24801a40943d5f11e7aea884b52eb1b3"],"key_sort_input":null,"q":null,"tweaks":[],"tweak_error":null,"aggpk":"0354dcabff22d0ebedb747c225458a168aa451581940369ca8262632f80b8a62de","gacc_neg":false,"msg":"9cced62f6cd151a71e166ae070677343359b0a4dde33b268be720e75acd10bf8","aggnonce":"037ac3f038f6b6bd30d3d65ff563aed589d4e0198e021f5529c1f497fceefd8a9d030e2e4b5b4c204e2dd212e7485e05fb550d049c43f883a2f9aae0727d532a3de3","signers":[{"nonce":{"rand":"48afd9b3c5d2690a871c59c019a5685ac4a30305fe80e296f92efa91fe2f19f0","bind":6,"extra_in":""},"pubnonce":"037ac3f038f6b6bd30d3d65ff563aed589d4e0198e021f5529c1f497fceefd8a9d030e2e4b5b4c204e2dd212e7485e05fb550d049c43f883a2f9aae0727d532a3de3","psig":"6bc30eeb7b4e5fcbdd91f422e33fbd01b1449916e078b5aa201a9d89f3477634"}],"sig":"8d37d8aaa2b748727a1f51ffbce817207e4777348048128118e3ec44fb5370996bc30eeb7b4e5fcbdd91f422e33fbd01b1449916e078b5aa201a9d89f3477634","sig_valid":true,"bad_verify":[{"kind":"wrong_msg","signer":0,"other":null,"expected":false}]},
+{"id":215,"sks":["e6fa10a68715098be7d81a28ca617829b0ee5c9ea40b8fd3981d25a4ded8276b","80c4588f6951bd8d2c3211e7a9c67737f1258b54b4acd14756c869b3113d64ba"],"key_sort_input":null,"q":null,"tweaks":[],"tweak_error":null,"aggpk":"0204100a6e79dca6c731eb505b052519a1010c9723ba5dda7785d77fe086588caa","gacc_neg":false,"msg":"cec68d916115b2e11d31e11e5ce3b3ae651165ceb73904f6b8","aggnonce":"02bd36fde7e823209547d92eccfe5474e212dcb987808f3a229d4cfd65f918799d03d2c481de172f371619063a31793a69f32dcc2c2b75f245561bff8908e56b25da","signers":[{"nonce":{"rand":"0aa094e07963d74793200d8830ccc0e65721f5e17ba5ada7da13b9b840a7b923","bind":3,"extra_in":"4060d5edf9159c6579"},"pubnonce":"03818049392c33dc1962f546a3b21fba934f6595ee4aff87647f4a8e7dfa53b7ff02c333cfdec965002eb6bfc6bc9e2b1ac36f43b0219cd68ddf85d90914366c9a26","psig":"8834083af2b288d253b2d1ab076502e9e82824bfe8ed20f0111328fbf0248099"},{"nonce":{"rand":"d46ff9a07d503525ed4e30a7687eca50d97d32549bcda08d0b8fd76fa522082b","bind":4,"extra_in":"ad"},"pubnonce":"023e914497dd752a29398bc4fc5c4f573f2019541ad0c14995e7bdc6aaf1bbce170284f7e375cedfe6e108484b07dd56e4e796b8a9aa65b17020a5fe35ac183ca744","psig":"f3620eb772c32ab5444138617754bace11f4035e5da5f0f6df65ccc71f4d8939"}],"sig":"44c701991f0c501a0322ee59a6da4935f308a840c4d2f2a5588756d1d415f4f07b9616f26575b38797f40a0c7eb9bdb93f6d4b37974a71ab30a697363f3bc891","sig_valid":true,"bad_verify":[{"kind":"swapped_nonces","signer":1,"other":0,"expected":false}]},
+{"id":216,"sks":["1b9ca8279d32054c8f6d9cf471fe9c3e2c07c89d9c40bb7539dd4f315d7b526d","deb7ff4b54c2d06738e88aa5c46537da020693de5ecf9cce2445cf7a82bdf838","deb7ff4b54c2d06738e88aa5c46537da020693de5ecf9cce2445cf7a82bdf838","deb7ff4b54c2d06738e88aa5c46537da020693de5ecf9cce2445cf7a82bdf838"],"key_sort_input":["03a3032ff04aebb4f15fc12a7d880c5bc90c631684033cb7b930cbf0a754df6bb5","0344db4cbe0ae7ee33e55937f5692d7132ccedaf730c96792ff217b696b1fbc367","03a3032ff04aebb4f15fc12a7d880c5bc90c631684033cb7b930cbf0a754df6bb5","03a3032ff04aebb4f15fc12a7d880c5bc90c631684033cb7b930cbf0a754df6bb5"],"q":"03f47940f26a025c34c72021ecb8fc9a080e5fd5498d18e273bfb3871e869d6765","tweaks":[{"xonly":"0000000000000000000000000000000000000000000000000000000000000132"},{"xonly":"b9aa29bd1445e98d42147b51c5fee65fb90cef00d5c5a3232cda3869a7ba29e8"}],"tweak_error":null,"aggpk":"0237e33e2c41377725bdbb45c50e03c6121aea95f42abc58e637e69111754765d3","gacc_neg":false,"msg":"fd17c854beefe11dfb3d79f18716bb482ab0884dce870842a7865a7be0297382cfa1edb175","aggnonce":"020e6971252c2e037148bf55b1cab490fd6c1725ab2c0a7cacdb50b6d2cfdabe33028ad509bce46d09351630c77e684f6e39e3592435711803f0844eda6cbe71fca2","signers":[{"nonce":{"rand":"d7bb94afe881187c1b83411fcfd72cec971f461358b701ac2eb73824a5c04ccd","bind":0,"extra_in":null},"pubnonce":"02c2f9dea181bc013ee1d46feddaed2121257863b27a9ded3a1812a64cd4abe9d20284a4d093a7a02c046e49d310de4716e879b47e37d3663a896331b8c72b3327ab","psig":"96b857607e0d98a95e8f2e4fab177f1072373788471bc4256c0cbbdb0790c8fd"},{"nonce":{"rand":"c28729fc27055ac9b33c3b7cfdcc08b130aab26cf41088bcbf643798690bf21c","bind":1,"extra_in":null},"pubnonce":"035b9a3db655bb29bec504a45c174c451b2944551f189cbf65f86237411abae73103f2770d605dca1eb7c0d022b9232777182a4a9267ef016c6f790eee1c443c11cf","psig":"1964d56cf574e7a43f100fb314ce292b2dfa28fd1099425d89c8c4ff70a3c5b1"},{"nonce":{"rand":"68cf8025d7ebc008b9415db523b5ba651e6d1a29a54e9709e6895a28eb344bba","bind":2,"extra_in":null},"pubnonce":"03746ec0124f88958ec2130b06e741bd419d91616ebe830a98aa54b633b32d5efc03d26b3afde87b27590dad9796709778e3b0ae7edcd42a3339a37f08bb37d140d8","psig":"d62d94ffc75f80afeec991c3a10c2f99f7cfefe55db6a4e2b8cfdb78b413e8bb"},{"nonce":{"rand":"a013ac795a184375189bf84f0d7fe072c5b837fba696e6c6d3678a7262f49a2e","bind":3,"extra_in":null},"pubnonce":"0225303dbba574645a3d9d783fe95d440dc341e34a939b57c7e86b37725179e1bc0370b500e0dccd1dcd9e6bf4a996e5a408b2463c93a233c37156374ac40e267e37","psig":"618d70bcb0cdf0d2c90a4a2fce6d13cfa656189261726d14148225939bc9aabe"}],"sig":"f4fc39eb09bcc910b15d80a4db925c906f83c8538c231f966f7430bec9b2c7a5de1e8cfeb5606a9ac2a57ee0d814af8db8d65bd34898592361e45d1fff0e2ef7","sig_valid":true,"bad_verify":[{"kind":"plus_one","signer":3,"other":null,"expected":false}]},
+{"id":217,"sks":["e030220a6fd29defabfb7b67b62c9756f9a0bebe0a2c7db1fd669f461f41ee13","f2252eb5c2eca2a274f496fb29a1b456f70a43ae0d346890467d21dc81dc8a95"],"key_sort_input":null,"q":null,"tweaks":[],"tweak_error":null,"aggpk":"0267ab9c5c47463d5579f723d417794a069b1c522540695542f4ca00e78c6432d4","gacc_neg":false,"msg":"dbd4a7862832c4","aggnonce":"03eb3df995b2a5af3870d87d7f3b62712e64c254fddd57e542e715434b9ca6818e0323164adeb17267d27fb40643eb2188075e4051828c4f3fe1fa3b0488d4a3f8e5","signers":[{"nonce":{"rand":"76970e2fe9efcf5fb4319e8d05181290b54c0b2ea2b44a229c7581c0583d458b","bind":5,"extra_in":null},"pubnonce":"020f71572443001687b1ca3e3e64c5f7b985c04d59167d7aa43351e9da1c97d25603f7889761fea0da1a2cac3abad4d007ca4b3eb3123a2c92757d4b8dba4bb10525","psig":"5c75eaf6efb905e0b4377ff32b485dc4243e93bce9bfab75efaa9bb8c3fbe89d"},{"nonce":{"rand":"d2336dc1f77bf4d9a0e7949ab285529867124f69361a4bde9d7f7fa783a2a677","bind":6,"extra_in":null},"pubnonce":"02bd0b86d8aff8c3925fa3abcc8f11fd12cb1b6c3a7f703beeccf225e785758374020990d0423bd8d79b0bbcf28ce57654711c1acac1219441825b796f7ad7f93fa7","psig":"eeaab6be9de5c6576b6e016e9a8d5b6d0a85aeedc8415255eba6dee5f6d9f5bc"}],"sig":"79301182057ce9c3d77a67a3271eebc3390c6917da4b644480dbd9f5eab32e194b20a1b58d9ecc381fa58161c5d5b932741565c402b85d901b7f1c11ea9f9d18","sig_valid":true,"bad_verify":[{"kind":"plus_one","signer":1,"other":null,"expected":false}]},
+{"id":218,"sks":["194f958b9b9a2fe893143b4f89d84ba85b81f6c386c7b62c453290c1f682f966","fb1586462261782dc9db1a63a00f995577316936e831c75b1333c3626fcd1f4e","ff8808a85e3932e31934cbb3ba99ab22f73869d94cdfc7bdb9ad9aff4f5e35a0"],"key_sort_input":null,"q":"03437621b60ecdb09b9b5cbfbd399e46cd90bf1a17be2d8280ac0e8288f1eda108","tweaks":[{"xonly":"4328dc53bf166754a516cd8ce899d69e076f94670b64971972b3fc0958dbb628"},{"xonly":"0000000000000000000000000000000000000000000000000000000000000170"},{"plain":"fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"},{"plain":"e08a781ef2712af2b376bb8de7b9a7867b6ff2be3bc7565f59cc6da8e201fda9"}],"tweak_error":null,"aggpk":"036b56d1d196dc85f0c7daf4a91874751fc707045b83b39bc272e86071c601a388","gacc_neg":false,"msg":"fbef2d8eec5e8b","aggnonce":"0210e3c31a8d7eedfcdc0c58ed9f7d7c044dcf420c2305484d67993bd81f31580f03c55dca53c08d3010317624c0c7fd61a35fe0fa0e5c9b733529019fae858ba2b5","signers":[{"nonce":{"rand":"ad7fc0d3f74f099086091bad431d145a7182497cf27ae52cc1df3dadd9685b6a","bind":2,"extra_in":""},"pubnonce":"02527e8cc9a1cf238d03d34144b0efd21e0dc24ffc881be77a4b551d39dbeb7dbd032bd1e9c49b2da78d413d2b729f5f7281aa761672063f5f9250189d09c8f23cc9","psig":"dab46d7061422053b78ce44a0b361bd9c29a845b31a6dacb420f1f4e5e01c1e8"},{"nonce":{"rand":"5352ad4bd49a288d8d4c196a7d03794840f74c7de49f948fedcdbdce46db439c","bind":3,"extra_in":""},"pubnonce":"02d164894ed090fee4fccdb061918f2232e97fb3b5159bdf6af446ee2dd5ca20c7031f8b543c826c16fadd2c38872c07f134b35a0f43176f7284f5aa69a24b25a009","psig":"b9b3bbb767a6e1d86f08a3a1cb3684f1b6d6b788a0cc617dee46b0a111419718"},{"nonce":{"rand":"25040adfeea88b49fc7a72288a25598c622f0920085493ed2b438c1882c78db3","bind":4,"extra_in":""},"pubnonce":"02bae81e794e34bf7f0445f6352a2791562dede9cc1c5b26e8cb7700c50b4e2275032be0b38973c9121f28f58fde7b4401c5f8e0abf4ff256afc3e45ae7c4db9a4dc","psig":"71bd4faa2435afc4cc9a6753aed0fb590a138aaf11588b38bf14fde75cf9b14e"}],"sig":"248628d2d7f41b4874acbb510a85512fa89ff8ba263409654f8e2312e82b4c22be45d873c25c6803e8f0aaf7935a9791335e2890ce61b09c10cbc3099e006752","sig_valid":true,"bad_verify":[{"kind":"zero","signer":1,"other":null,"expected":false}]},
+{"id":219,"sks":["b2cd2d8ae02ce3cff02e327b81e518de242a1cfbb28ee219093252b05425a76c","1980c3f3a3393bece6a80f530ac8100a28631f548d7a6d978e4b556c514242cb","2e9db1f34ff6d0503d8c2fde5bbaaf35489708dca01b5c90576539d24be8bc18","bab1fb0823f63107fbbf0066aeb0511e8848b80982ad58db20021381436e5458","81811eaba99f8117864a8afdfdb3917e8a9f7d606debe3c88eb18a3f43e4fc34"],"key_sort_input":null,"q":null,"tweaks":[],"tweak_error":null,"aggpk":"02cc4811f3de0dce6313ecf34cd97645ffde40cd9cb312884e2748351350b9d44a","gacc_neg":false,"msg":"e8","aggnonce":"03d5be0fc93aa33b8c5d8a668ce2ed0d1d762cd611cccc0b0366d13a1611bafeff02239534524667da6c764576a8401ca5a205e97aea3e9ccc356e9efbe38122cc10","signers":[{"nonce":{"rand":"f8d67bd349d7a46ef1c5210b89c49a1c93c7b23b2419bf8e643869d6dd891b8c","bind":7,"extra_in":""},"pubnonce":"030ddb7b1befa21753dc771236854764768bb2ffb14dcbdb613e366dbe0abdcd45034d6fba212662e54ebf4b57c439bbbcb8a0afaf1b4d8a54d2665e45fb645628b5","psig":"5442d9146cbce404e4584d51112982c491bc4a5dc0bf9071ed8da380860b9318"},{"nonce":{"rand":"69c29100cfc08dc8659771599543e5a6ef3729801dcd91a5eda2c4b651351917","bind":0,"extra_in":"8dbf70ea87cb92a3fcf5b7"},"pubnonce":"02ba728d6887e2caf7fe9f782e69af1ca8f341eaf944511e7cf0be63f099bc4c8202b561831bac68230338c84602900db73213abe4d3b81f638a90442cdde39f5e53","psig":"d35f9dab2121d26eff79706c35c76ba4c46558486850c8bd215065fcf3f271c6"},{"nonce":{"rand":"541da35f470aa84ed66c20db8b79b53776f10926e1a869994cabcf68788fa227","bind":1,"extra_in":"79ee66234637e7510e95abce412b7b"},"pubnonce":"0385d3ffe45d56ddee8af6368c3147ed978bf8cf107e67669e92f0778c9ae45fd40374ae02546779f603d528b0e3b70ecf59388fa5460cf0d37113466e1b75415a8d","psig":"60dc47abb042827f61f414264f1074aa8be28792ba7f5af8c4c578937f0458cd"},{"nonce":{"rand":"5e0d2edf32614ad0c74dc29a58ba26a8baf9c6e49280d0691b7316e16cbaa7a5","bind":2,"extra_in":"177fb71bfe60c116"},"pubnonce":"02708af0aba55deb30ad68103d80f38072350d63879d189aa8276f7e9c5b6a35650302a01c2ff73ce47cd061f4e7570b5b40e3b37635de2c2a578418e1a46648d31c","psig":"d9c4ae739e89b97d0f08d99b929a2582b9d5753c7daabd8f0d7901a85458828b"},{"nonce":{"det_rand":null},"pubnonce":"03156968cb5f18003c83b7bb5afc05d484a72831a4bbe13ee5d86503af80f18e5503d2ddd2cfbd8d95c2205cc3afc628ff06769b9ec16a8dd34f05b1bce8ea8e0dd8","psig":"3b1068912734ee7fcf8a36698aa339c6d753208ffca7c52f36e7e1cf96675a6c"}],"sig":"b951cf08a73c9078ea29f3e252f18793eb18d4db970457a8c43572ff21073d679d53d57003dfe0f02458e1e8b33ec25ffdcf0637ff50f66e985fa86f4355b820","sig_valid":true,"bad_verify":[{"kind":"zero","signer":3,"other":null,"expected":false}]},
+{"id":220,"sks":["088ed36e985e15e61dcd713d4acafb22dd882d5b1f438e974f2aaf293a77e30e"],"key_sort_input":null,"q":"03076c5cc8ea46388802619b13522d208a3fdd9d21bb41746ba2d4a4df290f4c46","tweaks":[{"taproot":null}],"tweak_error":null,"aggpk":"03949d541df931d26e5750b7e8c846e274265dd9ab80b9db7b40ffc29710649e8d","gacc_neg":true,"msg":"","aggnonce":"021fc6d88eebeb286d5d9b7e1d4e8f3e512017771c18e4d3a4629e1a6c507f40d90369e54ce7790640c48f86bd3032c280adf938a4e3edc478a92953ae6fd15eede2","signers":[{"nonce":{"rand":"6ade1ca9d2b2ad00eb0e48d05978a8a1a9b56a3043778b40a071c9eac0481cfa","bind":4,"extra_in":"bf5fb7225b4a1e1ea7ffd3b3"},"pubnonce":"021fc6d88eebeb286d5d9b7e1d4e8f3e512017771c18e4d3a4629e1a6c507f40d90369e54ce7790640c48f86bd3032c280adf938a4e3edc478a92953ae6fd15eede2","psig":"9990739519f018366f0249f061e3000a09a8e63ee16184865687a18f6a31e9ba"}],"sig":"5ca6b0c312cc89b77349b022f0ca7821af775a101c16cc49898a3ec6bcb2fba273152cdd2849158f5c0694c21b8cb21a169d6bb94a06abb8946ac23cb4da7159","sig_valid":true,"bad_verify":[{"kind":"out_of_range","signer":0,"other":null,"expected":false}]},
+{"id":221,"sks":["00a9745cba6a500732e2e6999b9253dda0ef0844c670efea954d293fd575ccc3","80cb31b015e56fed49220528e8936260f55bd7be5a5b8449184fa5f00ab83801"],"key_sort_input":["0344a441dc35f270d6dc80bd714aa1ce167d1129115a06f8fe6934cfe459a5a8f9","024153b475766c90ae2fd51bc91e465ac3b5035681f076c08ac5c32275a31c317b"],"q":null,"tweaks":[],"tweak_error":null,"aggpk":"031cb16ab9dd4bb9656a11c3a9af860dd6aad6b2a1f695744f45d5c4d30ac417c2","gacc_neg":false,"msg":"4d27879bedda9fa31be04e09a2746be456a88b03b211d8918e8104d94c2c546df71933a89f2b86b6b0e86ba35ba118a11888873fc68aa162a84f38b9cfb2ba3fb922074b51c951641bd06be11e9cd9a227ee4873369aea086493a74c5c95cec9766a65ce6db18fea4860244e4f17ad2074757dac21d7d8c84d0ef665501e6b036cae4a4c83e5a79028fa935165875331be86a795c467db504c2b959738723c982b0c5d2e21163ac687eec5bab5a828db2cde2b7e897ae763eba40dcfc8aa3ba031d7c3c39825cf6069be47d44190066d8984d230388f8071c03b51864d7a78b11cc1da3c36eb73b260b39d7cf3d97247af2f679b69bd1c5c9cdcf6a1e326a555319086af46","aggnonce":"00000000000000000000000000000000000000000000000000000000000000000003fba3add84cef12ec1aa38848c30fd119508d3ad470af35c171ebac0d9a680734","signers":[{"nonce":{"rand":"eb5737598af9f5f94eb818cbdcfad7c0ea208fa79d7788032a4843f9ea90e140","bind":1,"extra_in":null},"pubnonce":"034f2a4fd977eccb2ef9f0f9f5287b491daa3246cec6f3111e9d1a164bb2e2b1d2023ab18dc28c247272d556ad79ec961ec1435db4166a65990d11c7b7227ed7cc96","psig":"f9815f0deac40481c98c685a80f1f5f3dd3f61c061abe33e05109468f039f3cd"},{"nonce":{"secnonce":"2f6ad57a7324b625c9db05ecb3f7093676a3c01bbeb79086d7e6a29ead83a803872219daa527818b70cb5ed8d5098724d2b84633ac17aa111bcbc84947ca39580344a441dc35f270d6dc80bd714aa1ce167d1129115a06f8fe6934cfe459a5a8f9"},"pubnonce":"024f2a4fd977eccb2ef9f0f9f5287b491daa3246cec6f3111e9d1a164bb2e2b1d2036ea24b2235533df1a64c21b79561af5e047fdc97b08e8a79498e6292d2ca18ee","psig":"a90d4b1a84ffaba1bbef8c319d4757a868713546fe13055f54eb2b899e5ea2f1"}],"sig":"f7c8b6e22b87f1fee80d06ba6e3b875ea0e49010c6a0b78ede9c1033975396daa28eaa286fc3b023857bf48c1e394d9d8b01ba20b07648619a296165be62557d","sig_valid":true,"bad_verify":[{"kind":"out_of_range","signer":1,"other":null,"expected":false}]},
+{"id":222,"sks":["03b0f2686f0b1ea5d146a2e7d1d63b6005cba6af78d8d500b484a307ff9131c5","99e8dab806d90e7f92c6b90088a43e79d7e74f031c51d72d38ffe9507f2a3294","d15a179992d2ad2907afd4caa39e4fc4190016dd7bde352ccbde2b47eeca8308"],"key_sort_input":null,"q":"02e5ceefcce5e6ddf0765f527cc6f02f3402d15666936eea44c6c0d22e14c39022","tweaks":[{"xonly":"fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"},{"xonly":"0000000000000000000000000000000000000000000000000000000000000385"},{"plain":"57be8943613721ba8dfd4dacbbe87b597fd5b923cacf4bf70135d04a3ade1ba8"},{"taproot":"b727fa9997d174aa79494bdbd45f6b911fb1c67a555d5a16bcef934da0fc03b3"}],"tweak_error":null,"aggpk":"03de53a29afd700ff09d588058d8bd354238e33b3b232725404c70c6958e892c5d","gacc_neg":false,"msg":"55c769749efb0625c36da42d440f3ee9d7b1ee6fdc831c4f138cd6831636c987","aggnonce":"03846a7d2d85e68f6cbc040b3c99e0ce8bfd2c89eac75a66c2c12bca6385f13061000000000000000000000000000000000000000000000000000000000000000000","signers":[{"nonce":{"rand":"76c5b4342e40d2448302da9a8b16ad7c27bbe0ac6adfe25d08c0069a8c6940e7","bind":6,"extra_in":null},"pubnonce":"03fe2a1ee4525d311806f79f02d5101d0442aa5db8e5d43d19678e1ae921853807029971e2ba5cf09492fb01ab4071656adc19fccc29799f55155140679ecef4f7ee","psig":"cfffa441c8afaf7e19d641b9d26cadc5a74a7f60698473d129a415acb2533b30"},{"nonce":{"rand":"d379466057c276bfa2c45f7143c721b349e5301eac95402cea3e82370db71a84","bind":7,"extra_in":null},"pubnonce":"03e962fe03bade939777520e799baea24cb1e869747e165baa14b778218321e11f03ca266583d18c4f0452faeb91ac4d97c7d9ecd0c09848b6c8fc623c58606fe6fd","psig":"fcddb76388da4c5e11c3361a0ce8a91a70405b210f994cd185087451deceafeb"},{"nonce":{"secnonce":"07156468409339b91ad8795c33126bde2d12ff1882c93f437ad3b3c3589b662e0b2846e4fff12affb0ce7d07baa9b27b1f646f61ffed24ba80a5c59feccc42ce026f4f2b405c61828c1b98d444d985f29fe1160b85ce5f5b451291c6775eceb22d"},"pubnonce":"02ea77a8cb9a30141be9e6b8cc16f309b03609b17dd2406cca24fe8523609db1b503c55faa32f625c6e8ada38e86ded3c1ea04ceedc161c5ee01dca31424d7bccaaf","psig":"3291ef140893cce53595b35a92bdf045d24ddc5ef030952f87554a05bc62749b"}],"sig":"846a7d2d85e68f6cbc040b3c99e0ce8bfd2c89eac75a66c2c12bca6385f130610ab62821e4b86a46800a0bac6d4d3282f84f646341f89e4b434f843f428f7f15","sig_valid":true,"bad_verify":[{"kind":"wrong_msg","signer":1,"other":null,"expected":false}]},
+{"id":223,"sks":["d66b643a56a2c85963554595e1b9b1a847a8d4521829c50fe8a0c3d13dab6e90","49885753b8d369b34fb45aab82766c59ec81026d952a1dc53cd81628f20e6c1d","6074ec3baba1e576c9c9a2f9c991a7c1bf6ff3535503f2e9e53a157f9c8d43c8","79b7cecd619aa737993c70c6f3efa9854fa6f7d46b4d6b9a324e40b1285a8f47","41f7bc1b746fa305ae0de4072ee8fa22fba781ad9550d05ab7f7202e94a0632b","372c8a6d2f23ad25962a57a9eafb1b5eb9ec96b747d7175f7b1b1db29f6f811a"],"key_sort_input":null,"q":null,"tweaks":[],"tweak_error":null,"aggpk":"0366fd7d0fee65d8e9fd46330eb174ce41b50194fadf37f07f729267d6b2ee5431","gacc_neg":false,"msg":"57347e189c10044c89ad121eaeeaef2219547ededa9ab9bc1879fc81ad752c15","aggnonce":"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","signers":[{"nonce":{"rand":"616af21d74a03e9cc278c76accc11b88a056ad5553dbd2f2072f71e1bce0862f","bind":3,"extra_in":""},"pubnonce":"020f9aa400b3d112d9de4187b3e2d35bb5cc28a926a16649de79bebac4dd770b7903e5dadc552ce1871189819a98abc502af9856e33df08ef21a07e52ce5780ab92c","psig":"d26f76a4e54c2608ca34fa51560c6cc71e9d6248074964357b579d7f57282134"},{"nonce":{"rand":"fe9cf995478db6d300aa42a8b8cfc52158015039376288ab87dd4bbda2b055b5","bind":4,"extra_in":""},"pubnonce":"036fe1737dc260ccfcc8f227a03286c48062df619596abbaf262fcbc898e8a361c02429474d00e0a31683175294f880961cdb0c105d369f889ae470c575ddb1ba66a","psig":"d0e71a2505e0810b90fcaa5efb911b2894ec1186aebc6e4e651feb4700f416d8"},{"nonce":{"rand":"21927fff9a9f6a64ef42a27b65f88f5972895e6cf9251c55385aa4d7efc5c536","bind":5,"extra_in":""},"pubnonce":"0270ded961d728d48632c83cc635de508aff5838164781d95d186978a904fd54ce02ac94620564d6675df8f16e38bea23096cdae9e9caa9432a240021b48735e9c7a","psig":"a3eb518505c625a07fc15a6e11bed5b0c15cbe957e7c6d55d2bb5e5c5a6394ff"},{"nonce":{"rand":"242261ad65d8a7112b6565feecdd7812e9ff629a9d2a40c6cb064fefe68b2594","bind":6,"extra_in":""},"pubnonce":"02ad0977b834bc843d1b1abec80ca98810b22c47add6efc1e5dd4ef20be9d7692002f3760985d00a2693c9097ca9214a15137fe8ee791de13d74eeb11dc2c1504489","psig":"64014d79274c5167a389def0db2b7d166fea10185d0777ab3948078c7096d1fb"},{"nonce":{"rand":"d17778d63669929f4c2978addbffca4473802fdf694ad46f3965d1488305eb9c","bind":7,"extra_in":""},"pubnonce":"031e07314bbb0bc2cfa3c05bca4ff4fa23f54634d9928f797eb466c8ef9918d77d029cbf8a9055c59482337460070dd10c957c04cbad688c1f2ff801af2997c6a0a2","psig":"17deec5d3c172b947c314f33f20cc82c2858232b1b7c5a9bc9b3f6c4bb982b8a"},{"nonce":{"secnonce":"1ffd6aff21f8604a07e7211415226f4abcb6ef3677a5ac00c299c910b2519aebb495461c5b3fbe97940f3b86d38089269f4a1aa865710768cb7faa8f2100b79302dfdc2e1dafdb9c66f6e3e2821850744f17ec2bceb7ba42561c41547f20544688"},"pubnonce":"03f0daf6f24e2d6f971309d3782c5ddea91137a0612c933ccbfeef30d9fe30f87d02acfcae46fc7e7b52781fdd2272c7cff0173ad407ba8fb70371125f9820109c1f","psig":"510d28120c2c7845ed9f1a9cca53f8eb00c0960851267a3b17159c54c49b09e5"}],"sig":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798142f44376082c1f6e84d47dffae89bd1dddc64fbf052aba88dcd662232a710b2","sig_valid":false,"bad_verify":[{"kind":"wrong_msg","signer":3,"other":null,"expected":false}]},
+{"id":224,"sks":["c1a90ffffe31276530e4a00d4d6440d247b1390e411f1663bfc7b58004b84d00","c1a90ffffe31276530e4a00d4d6440d247b1390e411f1663bfc7b58004b84d00"],"key_sort_input":null,"q":"02fe0707635185d749026365efd4288b30a71743bd8e9229b517c6ce7a0f82c1c8","tweaks":[{"xonly":"85663237ec59ad66274b2475078cc8c160762f1d152e2191eae91bcd0386fce5"}],"tweak_error":null,"aggpk":"0387768d63f23a3996f307abf4ece413dad89fa0199c449e6a327361152f2fedb8","gacc_neg":false,"msg":"2854739948101ae924e48747e1731af782d4d80e037a2b345214f7c51b1bce86","aggnonce":"035757df819d195f1a6e1ae04ceca5ac7a4bfeaaa62dc9b4f92f334e958d13592c02549332c1dd3fd957a1cff85bb54def233e7d7d8228d20f10813723dbf4b36e3b","signers":[{"nonce":{"rand":"e522d6af65931ede3703d6e0181a6bd75ab277a04c4e1e6068af6521a9fd73ba","bind":0,"extra_in":"4f67"},"pubnonce":"022e86f516b3967dd43a0583f5eb81241328caa289f6368d74aef7b06a659090d40281f3a404b555fa1cb95a5dc88cdb62be0d20011db69f665f0065236aaf7a0324","psig":"82dc4e97327223a452711661f3e4823bee2231011e034ad8519c500d1a3b7d88"},{"nonce":{"rand":"f4326211d5ecca0b00d22d23bfceb646d60b315b979b6bc8eaad147a0885e62d","bind":1,"extra_in":"f426af4905ac4029d0d3b7"},"pubnonce":"03d61c3b896f8c5e855d0bf335955d2b1fe8890bb54cdf83458b5de9ab6f6200b902db66cf82830ced6125aba0798b4bf4e8b96d204eff062419135ed1251110af3a","psig":"b2339a3844b8cda927804046f122966e8573e92a00596c33c9ba006b1092632e"}],"sig":"0ac3c24d18afa10ff72db9a9b041f4e1b17d062e3c12193da4a4cf00c6ed1374426ee4d9b097c0bc8897133ea711d0ab43fddc4d8b0b146926e32bc1099f9135","sig_valid":true,"bad_verify":[{"kind":"wrong_signer","signer":1,"other":0,"expected":false}]},
+{"id":225,"sks":["afe076335e3ca8d14beb6c2de2519b809ba5ad080bd24c886ccfeed380828342"],"key_sort_input":null,"q":null,"tweaks":[],"tweak_error":null,"aggpk":"02d61e6cebd51978a8a270a8b6f2ebcb97ca100a73deab6d004db749684bd96ba8","gacc_neg":false,"msg":"d3caa65b39496bcf5d3aad39c82d53197d5778ccffdd028b071cd217cebed36dc20913e8250f3e2f990eff4e60ab83ec8f09","aggnonce":"02d5859bd9730df329ffae26ec3f96725ff5fc04c69c19a03fba660dc183275e0402ad690e965afcfc57a7372dac40d68c234b1cb56f14d48b430265658eb52f1de5","signers":[{"nonce":{"rand":"c732d9582c2600a4adf5ff9d1188213e5d2d89097e01d7d14c16db9c28fa264b","bind":5,"extra_in":"80a8cd352d0171"},"pubnonce":"02d5859bd9730df329ffae26ec3f96725ff5fc04c69c19a03fba660dc183275e0402ad690e965afcfc57a7372dac40d68c234b1cb56f14d48b430265658eb52f1de5","psig":"c5f52223ab2d4075191156b8f5a2a79fc4f7679926dac6bdf302349bf7b85d04"}],"sig":"8600e644446eca96e09a531e9b5c1bbd15f032303da4a4bc90fb4898a1b7e397c5f52223ab2d4075191156b8f5a2a79fc4f7679926dac6bdf302349bf7b85d04","sig_valid":true,"bad_verify":[{"kind":"plus_one","signer":0,"other":null,"expected":false}]},
+{"id":226,"sks":["3b0ee538020239955abfc089b1ae18f1687c3b4f01f53ab18824723cdb0ca27c","15269ad5a8ac550b10f829324ea989f8ff13e85603036415d250ad76b587a1b3"],"key_sort_input":["0245896e3f54efa08a790006658b98260ea69e2277fd1e04e19e2c78a3ce2f93b2","032b090439c2ad135ba066db78a405abf072599213d99fbb2e2f7d05b55c7f0aa6"],"q":"03558aa982f360fbee9c394ea458414e571f10d9da1e8cdda2cd38dd4a3b76ec41","tweaks":[{"xonly":"423a65d87cd0fcc33d2be8423b4a79a5a87ac26da6b538014ca1c22cce25f651"}],"tweak_error":null,"aggpk":"02c6f3ad53fb00447f79d8e6d63ecf0f1c8fe973e0ad89dd8189f37ac34c308268","gacc_neg":true,"msg":"0e5a4596c1b3129c07a515162f6f1541b9511f4294fdc9c18430580f39a3e9fa25b98ceb007ea7c0bf22d6cc66236f","aggnonce":"03b67d21a417390cfbf871723a25cd5c744c651d3d6497bd7a3791bd43b7eb60560312c62fa27164086196e23bcfb12d1747fa1cfca10d999394b1aa0d95a9ffbf27","signers":[{"nonce":{"rand":"c00dbfad833976d646b681bf39e5c9737c0eb07b5200ed164c3023c80bdb64c0","bind":2,"extra_in":null},"pubnonce":"020594564f574289d4ecf697f657592dd965a80c840c7937d2abbea0f5723499ef03a20c4f302f2ef4b19e51ee4d8475e1b580e8a2819a60390fa3318176dcc2899e","psig":"542dfbc15a798252ba1d9005032ce0f846aa2f60d463054a469ad3a0c6d1ff69"},{"nonce":{"rand":"d177d132caa0c066b085159c5ed54b85d2221aca0b644e61b2a5bf02d09ad2cd","bind":3,"extra_in":null},"pubnonce":"0231bd6cd97293d864ff4d1bc738889e3e5ac26e500ff2e5758f4fb0da2568ba6102c1a3cb780102cfd83ebc1ae970f67dd4399820d454e02dce74768f1c801c2a41","psig":"40f7d15031ca61cec0db3c7d9a14645f3a0f89632e59c3d8c1186902bf76d44f"}],"sig":"9c2c4100eaf3410869c84aebb9ad1448021213d0654f1ca7d03e46c0412c1710583e21cef9cf2bb9ed869cdaf706b49d363eeba969ee276ac50bb5f6f00038de","sig_valid":true,"bad_verify":[{"kind":"swapped_nonces","signer":1,"other":0,"expected":false}]},
+{"id":227,"sks":["41754ef21f6df90793ca5d350d0a592dec6ed700a746e882fbf841c70d9cb11b","e37f5e64a31f0369a69729789d4dbae01f82ed7ee16a08153548fdb1575706b9","e78e4daaba004d6daddf8e22dc32825f138d0e2ebc84e33aa74a344fb5d728a7"],"key_sort_input":null,"q":"0380f3071640a7d3fc2d5cb50fa22cc156ba7c9593ad45b4449c2f674df8fdaede","tweaks":[{"xonly":"0000000000000000000000000000000000000000000000000000000000000000"},{"plain":"fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"},{"xonly":"4d9897b4d0e70c93b9c58720cefbce03a1559d1ea80eb0b54e12038b61cce75a"}],"tweak_error":null,"aggpk":"030fc42d3c7b5a91d846e3605e8b8fb7b64719a066adc711e3b4279c6042d2bc0d","gacc_neg":true,"msg":"c51a06455c93fe1ad76b6c2f99d33625984664e11a4bc350","aggnonce":"035ff93aa4a6e76150c16bda31ded7ffa1fdfde931476193c1ee00dfe15df58e86026e153f4ae00375305335521ea78711a8ec408304cd3b1e29b7764d956f4676ae","signers":[{"nonce":{"rand":"128c3a0fd0f1289f275ba53c387d12f960fce94db418cf04afefe25f4206f95f","bind":7,"extra_in":null},"pubnonce":"0370d9f9356af57d57d0742d8a077ede9b04f2ae38e726767fd37823d78dd131b102ce08c375103c4df76fad87322312b88c7135d61f0714338e31d8b0d2b4af92b1","psig":"032208bcf4e1f2b029482498b49b830993f59304435388a422a832e9c6cfa98d"},{"nonce":{"rand":"753ed5ffe9365929a52ea23e12a2a895bebad2c5dbb9eded8f7ff5ea32447718","bind":0,"extra_in":""},"pubnonce":"024a8b0e154e6451c7f9ed2fbec1b6d72c2855748c610338cdd32eaf2afc566cbc02d1ba9e13363e2e8271be7f7af61a5ea5429f0d4374be7f1c95edfd7db8bdb42e","psig":"4a8cdabf00319b1757413a25a9443bd09b6c2e39082b6f56b246e6518bf7cb5d"},{"nonce":{"rand":"c5fd2bf8c006c4bc7446882c0cf6bdab3043827276fa06fff13dde01c2c22103","bind":1,"extra_in":""},"pubnonce":"023ecaf152cff00c844ebc902ddd9f7126d9cfa32045ddfc87d2c2183c21f096b5022f392e700a5c904af2dccff3c72f85c6c66e612660e04c0718b94fe7cb4d04cc","psig":"103a3fbd51f70251dfbb2639a407745dbf4cf3926e70fc12e4eb73ba1bc54ec8"}],"sig":"ee884c5157c661e91cb0e490034c1bb3f2cfa3cb3ba625993eab2d0bde71b6e60ff07c2b6ba430ac6504d7df637a7d589b7c649e3300621b672de444cd953836","sig_valid":true,"bad_verify":[{"kind":"swapped_nonces","signer":2,"other":1,"expected":false}]},
+{"id":228,"sks":["0c3ca3998aa6b4afe79ad95171951a6233828543ac4526f862392f57f8618076","0c3ca3998aa6b4afe79ad95171951a6233828543ac4526f862392f57f8618076"],"key_sort_input":null,"q":"02f3328810d76021258a4a159803b31561e3d26be3460686852d9f14b26f13249c","tweaks":[{"taproot":null}],"tweak_error":null,"aggpk":"03e27a706a65dad993dfaef3930bfb1f2c74165c2bb28c9cfca769df00301c9309","gacc_neg":false,"msg":"967a7f8922ddde099c5175d3493cb2faf51861af93805ee16bab67310508db7024f81ba5d602b7ef","aggnonce":"0328cdc06444aa6ceb016c4cec873c4e6b678935108a93be50339b3aaeeb347f5e030f3750deeefad8f647dac123c01aa6785821bcaa0c5cd61cca3275d827c4b788","signers":[{"nonce":{"rand":"1184f369d33d573e25f3e4848f75a79b9df629862fad60fefde2fe36686a004c","bind":4,"extra_in":""},"pubnonce":"0236509226abf3d7790dc1401fdc8ed5c3986c29c0c2460750aa4fda4c6bfcba2702634e5a947d9858ef6064494500eb38ae99a79dc814cb1a0c590d8dd52331ffd9","psig":"0daf9ef22f0ccf9c545b6330cd0235fa4f3c463f24bbf49659a908e82d75278a"},{"nonce":{"rand":"f286c862fdcc904fbd093c08f9940de3f1de208893f7415fb19244dcd4669ff5","bind":5,"extra_in":""},"pubnonce":"036da4ca12f193f7e683fc901196f3982934d06318c5ba102d57802bb6c9ffc8ab03de1f5ac30f6452c07431c90b1d6b795466310f0fc403a9e5c58a3883e089d9dd","psig":"957233229d2ed3eeb1793fb0efe4f7850cf73c4a8b69cfbc994c779e6fea317c"}],"sig":"93e7df9cfccdc0fbecda726f543bab072d838b2915b2be01019b6a7f0cef4aa143055a03be744ef43ba2bc708bea9544caf48b158b0c5f9cefada0e5088bb6b6","sig_valid":true,"bad_verify":[{"kind":"plus_one","signer":0,"other":null,"expected":false}]},
+{"id":229,"sks":["678e91763197c87bb08074a392a2f1ef740afb4ca5b77bde09f3ca20d849bc48","cc500217725b6c0b1aa5ac06780a05cc268a26bf0ac8d48fc7ff2c69e8161532","c5573983054a996b44cedee6afd442033b372486eac52b5bf06245a41479eb5d","061622602fe5f4f2457a912216795e1be437364c939d63fcf7a4e15d56ee3f57","45036d8e6e87b0e9a91b5cb03532334104054eeed6de15178d9f8647e30b1060","04f00c53d190ce777a2a647ccc9979940b33fa06702c396c46558a7daf04a5c0","9ea4ca74d868cf7132e76d3b107d5f849bc2db9ba60e78feb13a0172c27141e9"],"key_sort_input":null,"q":"030130fc2553c74cbe06488a56d85d75e39578ec7173afaca89748dc19ed1e0413","tweaks":[{"xonly":"00000000000000000000000000000000000000000000000000000000000000ae"},{"taproot":null},{"xonly":"0000000000000000000000000000000000000000000000000000000000000000"}],"tweak_error":null,"aggpk":"0230811add2b305375202d84767548ec5ee0ce6446170dbc3f3daf311c3259534d","gacc_neg":true,"msg":"ef80f78e75dc32910841c45bcb919ed61f54f1490b064a3a63ce6c1b5d744ef0f61d2d6c11d707dcb93f3d1a82c75259ff6074d2248d","aggnonce":"03b939fab8df9dc0863db93d25146320ec90325be1a19ee0ac6a8aba238f8256ab034b167d32b1c4ffc2c3741170f2cf87af42c7661d93e161d13d3edce3538cfad4","signers":[{"nonce":{"rand":"64c2b2bc643884794ae4dd8e7b01bf01810e8eeb99ff13ab70a9089b27f6dc60","bind":1,"extra_in":"7f3e5e65188c24afe75a84f88d46"},"pubnonce":"03a2c312ea0887068e3c73a03dbd287be3c4457ac2784931e68423e4536a04e386021aa9657d01e9f6d32f42b2e8a454b42046c1a12962093b1945c0350bd0c1df66","psig":"80811225ed5030961eed9ba8c91d4cec7c8945420aa727d82a111f04150daba4"},{"nonce":{"rand":"4fb5388221675f19f7281634cc0fd42a77ad251df85aa07e06ad94039124ef74","bind":2,"extra_in":"6be1000c2763db5f40a13b9e14"},"pubnonce":"03858955ebc9b8e273d37c31b9296db7ef80be7a908a007148e53d25ff21cb91a3033232aa22d1252a7caa61a006df6498e866149e615bcd3ea59c792df91ca9da28","psig":"21f8a480b6a77ee948af40127936920a59ba258f94bddbe1d4d0ffb0c2ed4018"},{"nonce":{"rand":"e8091ece3286c7a5d6492e2d3faec4d0de0a240e6375bfac039f9eaecd3309c5","bind":3,"extra_in":"2ed49a0d9a06d01122c5"},"pubnonce":"02bfb1cbcfb1f225f2614564107c087623e96c5a1ef0018faa5f94c9aaf966e40a0237611c2103bd992f0b54c0b7314804b7234fb69782bf422e68b7195d47a1e287","psig":"9a558119c4c5627da6b38c455a3580cfdfcc441556b8caa7b39424e3ab64b008"},{"nonce":{"rand":"f31f63ff6f0c3b9aaf18498c871cc1a4502610ae130abc13c6b602689cdc6da2","bind":4,"extra_in":"547627af1609eacc"},"pubnonce":"03feff0cbc6aca42fb32969c63169421df2655e15bcff8808b930d3d8243346da00306caffc2e67097e4d5a43ca023f65b96a445b78c2accd47570f6e5d1330792dd","psig":"ff38037e266f20b8695ec1eb2af32ef0d675a565280e7ff67ec4124647c68fe2"},{"nonce":{"rand":"fe89afafc4873480374ca2ee43718d478b32ff3990a84b8b70a080014e97bc85","bind":5,"extra_in":"c0095c53ed84f9"},"pubnonce":"02984a386630759472e947d9897170ade1dafca57bc07a376a3a2bbf3fcdcb0b3703f6fa5ca744d7f6b6f871b206dd65e6c79b910ad568f293b424c764a09c7661cd","psig":"7ebfbca45d598c525ff1be5a047117ee71b359298a350d6188c51abdcfcd0f88"},{"nonce":{"rand":"485dccf1fc6a39bdb9ab2231747a9cdab502f3de8808e9fb5f437fea217c0a44","bind":6,"extra_in":"c5b4a14526"},"pubnonce":"02a832c6176ae3ff7b9da2702e2c94731d05fb02109834b7dc9057a5e334362e5c0351137585d7ba0c9130911e031dd4fe111174452f19bb8fb9144b2805669cadec","psig":"79611cf7926ff37a8d56f7b57d072c6ad10b5573ae425fe6cb64f06db05062f4"},{"nonce":{"rand":"68e661e4f608463041060eaa1ecc879aead3800aa396a327c66a0547ae695f2e","bind":7,"extra_in":"d74d7a0be569733d80f24cede38f"},"pubnonce":"0271f951f7b1745d66ea50af84c299974d8dcbd1a28ea977402e93bc7b8f4edf4a031cb4d607e583ef31eb77ec557365631ddd9df70aa6d1b53f653c4d7636d30dbe","psig":"5a78e27e1d87fbc68bc0373ac15a7feacc0dc58e4d2d299cc0559e74b60fefcc"}],"sig":"b6e9d3e8d4b08e7d35b57562c10380e2251ad81e85e462ef126ce72d2e6efd1ac3d790538313a05bac919be1628f4504687ed486b09d0180bd4c0c2f651e8ddb","sig_valid":true,"bad_verify":[{"kind":"plus_one","signer":0,"other":null,"expected":false}]},
+{"id":230,"sks":["e94eb439f89af092fa907830cf5ae7ebe949fdc56c73a13f7fab8fb11bdbc12b"],"key_sort_input":null,"q":"02508b626f4eebf3864b986d54e540806c4c9aa7d38615a5b94839464741d3c3bd","tweaks":[{"xonly":"acf6db7b2829d115a2da4c9828321739590d99c6d909956407c9d1ced0a10eba"}],"tweak_error":null,"aggpk":"0279da29283100332e639d2eaa321d9e0dfef6a397c49783edcb562d32ea49ec05","gacc_neg":false,"msg":"","aggnonce":"02d74b22a8e2ad88b9f03e63cb43dcee1c64f3b54fce6ff45631fa95d144d40c1902b72d20a57b905a66f6532153454f458388e3cb0bdc0703767cf164550fc9b84d","signers":[{"nonce":{"rand":"f33c858336ae60135b6d374e8308202ccc7fdfcb3f7021272b954075be9d27d2","bind":6,"extra_in":"f81476"},"pubnonce":"02d74b22a8e2ad88b9f03e63cb43dcee1c64f3b54fce6ff45631fa95d144d40c1902b72d20a57b905a66f6532153454f458388e3cb0bdc0703767cf164550fc9b84d","psig":"be73096e8298f1c4cd8593716f483f62ada244af27ad616f8ce15722879d7da7"}],"sig":"fd64343f8e7ab7d2b46460e65e69f2f8e6194cdf6466b4c34c443619c2b92635cdc6ecfc6838cd1529e62a6f2415eddcd396018f4e0ffc94b5bade44b68dd900","sig_valid":true,"bad_verify":[{"kind":"wrong_msg","signer":0,"other":null,"expected":false}]},
+{"id":231,"sks":["bd65330d23bbdef9adb3e0a3f8cbbb15121352d15b8189562551aa09d3070d0e","669e1cca10af0d3e8ccfe25b43204f011b2835c7b438f0d0338994a8edf7f8f8"],"key_sort_input":["03b2f41a7ce924400e753e1d5e53f4894b0910a338edb7b037a40d0fd66eb1e228","0344f07b486bb686688fd6465d8ed58e4559f3209ae54b06135dfcd5a481e66d63"],"q":null,"tweaks":[],"tweak_error":null,"aggpk":"0206b3df0c5ac6c9466aac834b76ebd524df4f33e2f74cd0c2014e3cace9069bbe","gacc_neg":false,"msg":"85157201a83c179bdb1531065e461398b083d7377ed1fb7fc312f632ade0b22baf607b4b7db1b06e508b7fb97c5976ab1f92a34aab52bb8b2e5efba91a60c7576cd442909b71a62f65acf8b26e51281f99c04acf9c824d5e4d87965f01a6829281992c349d6e4372891479f8ccdf3c2073b2e7590a84ff409a17a6c963add34923ec73ba88c5ab505350df4df4629caf569f0b68c7cf4306741291c2cbc20e24021c26c831bd71fccde0bff1e2f5694b80340d889387dc89247ce2b2a5a611b9bda559f32b86104b932f8c3324222bb5211302cf30225ab09081a8748dcf83ba17338809faa924f0db17505abc34935c0076f7050536122ca00abed2337b83b860d849fcdd2754f771c1ad7d38","aggnonce":"034e8850b73d72cc4a7529836a076adab1d85939bf8ccaef471f45faea1d14dd120258123f5ce6bc6370396da50e3731a5dc71fcd1f86fcc8a668d3c487cf124c777","signers":[{"nonce":{"rand":"272ac64a97996b01bbc0c19c9522f737836f1f9086377345ef43e12481dc8904","bind":3,"extra_in":null},"pubnonce":"033e46c3f67e0ad22b32f8e917228addb3a077741d8a4428c13a82266b550d9d5b03c4f5a243c842b286eb0c6d564e2415bab600a1c2fc793904105bda36b3886140","psig":"2c53674ac1cb62bb07c7e34ee1e293e397af8f64d7fa93462404d91c2e34b257"},{"nonce":{"det_rand":null},"pubnonce":"03a11fcef8427f107b0953ae25167ae7f6fd3f82279bf108220ec0a709a355b8930240c943d835003ebdbed3419460b7eba8accf21ac5ea5ba9217c02797db43ab0f","psig":"b9f2c31a4e4b44d28e112d740e1d60c548d5d70ae6588d81632c5fa083bf53f5"}],"sig":"fabeee0ba12e1a980a778823a7d5bfe6703d45d8685ba4bf75c43fe633b25d6ae6462a651016a78d95d910c2effff4a8e085666fbe5320c7873138bcb1f4064c","sig_valid":true,"bad_verify":[{"kind":"zero","signer":1,"other":null,"expected":false}]},
+{"id":232,"sks":["86206ce97a3c12012f5fe83a95c7542bccb97a10cd05fee5857075a0ff5fe421","86206ce97a3c12012f5fe83a95c7542bccb97a10cd05fee5857075a0ff5fe421","1ed7138a002d3817511d45855f39f397f0e4402c9a4266397b2c9cd86910ad6f"],"key_sort_input":null,"q":null,"tweaks":[],"tweak_error":null,"aggpk":"02bf84eceeea54ad466487d7680f9b50420d59338609a69c1fdc6ed3ccc872b375","gacc_neg":false,"msg":"2437be7f0e5f087a3539bf9f9e8d597344c520d6489255940b55678eae5c2952","aggnonce":"028d58c79d68712b8bc74c750bb87215ecf13c9e7c3f47a4b3778ad365881b17dc0316885dcb865473ae4e34493c8f71271a573cebc0b50344eefdf2b46159d611e5","signers":[{"nonce":{"rand":"217a87b7aac23022090777bb48b2359966c7d990efbe00db2a17f0451c7d8b17","bind":0,"extra_in":""},"pubnonce":"03e436b15e111e503bc447cf7ffe706b8984e9c8e54c321b49f0756b764fc3142102f6d68092cd00798d221116ed36c5ac8d7dc30826ce5488b37908931378b98607","psig":"e4938d81465491f6cae29cc122286dd5918d67173f6778ceb6f882747b7501f5"},{"nonce":{"rand":"26bbd87fe5b352badf56850915d34a17028ab112dbc3ae80d51b70092da266b9","bind":1,"extra_in":""},"pubnonce":"038e0a60b5aae179be2a89b4e437182aea333afe76cadc176a98dc068f6170384e035c5a152d75ef9881d18beaf27fb7449f1c5d22d0194c16ce903abf7c0a924536","psig":"a5278ad9a82d553ab1ce86239f578a2b532bde1c88746747147b3b4be326f44d"},{"nonce":{"rand":"e52399793caf911de73bded901e40b1f1fc2c8ff3f55d1175d3cea30db9a4279","bind":2,"extra_in":""},"pubnonce":"02e5ab43d2a5feab6791a8a6fc9568aaeb27a4b8fa76f18fd6fc4bd5c98a3f16db0336376f6a0373d9aca620eb55512890887a68388492745c2d996a1a049a7f3fc8","psig":"5bcb171357917144782a60a70dfd2643bf82fb4cb23f3d7741e82458167b1bc2"}],"sig":"4abd41e13bb4205fcf166200bac23bf41ed9acfc9cea81519b26b88ebe9f7ed1e5862f6e46135875f4db838bcf7d1e45e98d6399cad27d514d89838ba4e0d0c3","sig_valid":true,"bad_verify":[{"kind":"out_of_range","signer":0,"other":null,"expected":false}]},
+{"id":233,"sks":["a36db166194f75a13055ec0742a0aa67a3fee2746b1c0fc1d0500d6505605772","f9c2ce6549824073083b9db65d6004faf69d3d47e6fad43d1f0d5a3970961ad8","8dbea22a757a429bf74bb5e1a67c57a44f9d6fbf80ace2ac1f979e2b369ae577","4cab66e1bf54da610005e6f5828721617a35ddec5ae5e1c1774d48f5f5ed941a"],"key_sort_input":null,"q":"039c7e3d4f68ad542b48492b7eceb7653cb47b91b702ca08164537a20e6cce6d03","tweaks":[{"plain":"c90a13318d3ec3d2bc6f72a3d0db3e3a060ca137ddc4ee9beb489de614485f86"},{"plain":"0000000000000000000000000000000000000000000000000000000000000180"},{"plain":"0000000000000000000000000000000000000000000000000000000000000000"}],"tweak_error":null,"aggpk":"020a8d1a6f37c684dc041906fe027590299d469716d02fcaea411ec2c3f70bb21f","gacc_neg":false,"msg":"4e93128240b737c49164f9d5e4212b1cdb603fc1bfe4a46e37a7a1d425354787","aggnonce":"00000000000000000000000000000000000000000000000000000000000000000003ded353c491df40fe77330aec4599c78685eaaad227ade4995662ecdeb716374a","signers":[{"nonce":{"rand":"0a9596178dcc246326268a78ccc0d385acb72b888d320ec81abce0022fc69b16","bind":5,"extra_in":""},"pubnonce":"0348e6aefd643cba69f7f610b1d411fcc0433c241e7528d4670a1dd85a007b53140338730aa6e3efc9d471b440d56fb9b6a964bc57795ff16bca57494c9f15e6f3fa","psig":"bd4032e7d56aec7aecd09afbae0a63480717fed9bef2de2f8e91e4bbb695b9e2"},{"nonce":{"rand":"f6412bfb94993a5e338e9af655079f338a8ba90bef6be73adee6a1978cd9004d","bind":6,"extra_in":""},"pubnonce":"03ef7cea0362fb54909c30d1aef1ed1d214969a5ec8f3ec6f719e83866945602500303c2282edfd1381df8cd7a95b54d390e58bdcd32edbed6856b4a5e2d0134fb9f","psig":"976db9bf69c14f2edf14b20615950c89d37ab09230b7d91efd73ae70bc8862fe"},{"nonce":{"rand":"2f4c2a5d3750852e8bc9b9b0de9ae38000dd1a9fec1af294eb3bb634910f8ed6","bind":7,"extra_in":""},"pubnonce":"03a9cf63fd6d9249fd1ea95b3cd11dfa95d5905e8f5faca4f8d4cade08be1f614d03191dc1a8851d2ca84b00bc76bc0b8b99721d908b8e9ac346af48d225db0c3b20","psig":"e187683189dda8871a17020587537db9ff13853e144d28e48dc2388aa642e0dc"},{"nonce":{"secnonce":"20d128175b6bdbc763c509b68ebd95ab6cfdbb012c09656ff095d51ec0a612f9f49dc4350a6e19731717ef1c18058a84bd865b2e75353ab106822fda1fa5d43d03022182be869197e4af2deffcf09763f4335e8c5f89e7d0ad006d174d9b2ffd86"},"pubnonce":"038508ead464f23184221359c11d4edf7da5def524143427d033a54cda25b22cac034030734c8093ea1a0c8e58e0904f0f3584fb7a553df85dc505ac11e7b6259608","psig":"b9a9039874c15b7b541d07ffd70e7d44bb7ff7b690abc3890071b33efa48f950"}],"sig":"98a039cd71ef112d1be74d2bfc1993a878b1f914e452ee9952f7aa5a45e756bf1423bc09a30f8506897c07440f85481a1572c5bd6be76129621cacaeb8022563","sig_valid":true,"bad_verify":[{"kind":"out_of_range","signer":0,"other":null,"expected":false}]},
+{"id":234,"sks":["775b954d4be1c8e03513adbabc9c6f8d3d82679878e09342a879b4e6ca1c5c50","96190ffaf9db40a66dbde0a63cbe5fd4184f048077eecef76667f54a70502548"],"key_sort_input":null,"q":"0340de738f20f435945aceb4dfa1c665c862db5c05310e2add8e9844fc6b5e85ef","tweaks":[{"xonly":"0000000000000000000000000000000000000000000000000000000000000000"}],"tweak_error":null,"aggpk":"0240de738f20f435945aceb4dfa1c665c862db5c05310e2add8e9844fc6b5e85ef","gacc_neg":true,"msg":"84a3a7e454f915c4e48ea9c9f1c515859bcfab30fdb9c9c1e3a46998f888c7a3","aggnonce":"03396e5d1d90d3505568f995c412850be6e53da46112e6cae6e7216de318ab105a000000000000000000000000000000000000000000000000000000000000000000","signers":[{"nonce":{"rand":"541000cba68d8975345cbae6d050321413fe8df23f010c1fed4001e7d8de32b2","bind":2,"extra_in":"9851"},"pubnonce":"022d75d0d4617cf6ae5b2b42d721bbacbc89e7cd9108165f798e4518f21d26bf090255de19c9d5ce2f033d94b52b256a0eba007b89d9cedfc21ad834ee969c244eeb","psig":"d910d34b8c52bfa38477b8f756815a775b8fd7c934b394e0ba02bb99da7118fc"},{"nonce":{"secnonce":"612463b68cf00f431f146407d116dd6447118376b3d707eda926da4df3e5ff2457e662d566c05f5211b7993b79c5bb2c85e8dc1312c8801d790571d9775b99c90391dac052ca54a306bc7fb698da86cf97bb68f4ecf26fc8365413a3621e3634e3"},"pubnonce":"02706f750552bf7d4e8a28bde41979b33d1e1eeb6923bb168bd5a733ecb99c7ab70355de19c9d5ce2f033d94b52b256a0eba007b89d9cedfc21ad834ee969c244eeb","psig":"22d974936c9d00a7dd277eb15e7c258501aa48b8d7f285285d054bf07620d674"}],"sig":"396e5d1d90d3505568f995c412850be6e53da46112e6cae6e7216de318ab105afbea47def8efc04b619f37a8b4fd7ffc5d3a20820ca61a091708078a5091ef70","sig_valid":true,"bad_verify":[{"kind":"wrong_msg","signer":0,"other":null,"expected":false}]},
+{"id":235,"sks":["9a540653902ba1d6dc77cc2f54670951e8e94fdfcc879a62ad2121e35b14cb8b"],"key_sort_input":null,"q":"02219a5b152077f67cfc76ecc959d54f74dff54264b190bcd99e7018784271eacf","tweaks":[{"plain":"0000000000000000000000000000000000000000000000000000000000000096"},{"taproot":"788074667ee0de7a6a262bcbc7a81cb8dd94e844df931bea3206b29f14d96683"}],"tweak_error":null,"aggpk":"03889eae3b408d2bb6102d294e950ac8776b08e258ea6e01116711f8bb1d4c741d","gacc_neg":false,"msg":"aade6ba216714586d68d9079ae41f85b280d2685234d0bd5be606246cc4ec51d6b511d","aggnonce":"03fdb637be1373f652d14c89a4f885d64e80f8b1b8aaba7c7561c4278c250863ea026cd0a4ed0c950981bcea15d8e6676f339f9a38c484c877a4df9e6c5487fa5f0f","signers":[{"nonce":{"rand":"e3bc18d84329606c80a2fc9d4687506f76dbcab44c8487bcf2e32a0a9c1cdbcb","bind":7,"extra_in":"45dacd558ae58923a3d9f5a760"},"pubnonce":"03fdb637be1373f652d14c89a4f885d64e80f8b1b8aaba7c7561c4278c250863ea026cd0a4ed0c950981bcea15d8e6676f339f9a38c484c877a4df9e6c5487fa5f0f","psig":"29eeed79e630cdb626373ae0868d79a4bd03684cef078568f367ecff49887ce3"}],"sig":"0b05b0ac7fe5f131d3b12c7d8f438e925ac04d5f10aea718c064fe7b5ac36744e6b15afaec2e1ade212f3c32cff0283def72c8d2337bb2c6d0c9819dc9f26e7d","sig_valid":true,"bad_verify":[{"kind":"zero","signer":0,"other":null,"expected":false}]},
+{"id":236,"sks":["aef100c849f820d72eb7ff20618f7c45f10ecef3f78ff6a104a35f21f263fc17","aef100c849f820d72eb7ff20618f7c45f10ecef3f78ff6a104a35f21f263fc17"],"key_sort_input":["02262fe86086209ff2236418aed29aad60c59a6aaa175c40aee30b5f5115c86d99","02262fe86086209ff2236418aed29aad60c59a6aaa175c40aee30b5f5115c86d99"],"q":null,"tweaks":[],"tweak_error":null,"aggpk":"027f665573e2f08c591493ec6c3ba79b9379cc3f4af570525778e4f5610eac99f7","gacc_neg":false,"msg":"20515fb788e3","aggnonce":"03a318925f4363acffd56df0fd606081a0256952a2074dc99f1a048ad324c12fe7024a836428bcf3a376b19d5004797c390776b6027051775e23e5d8b35d692f9152","signers":[{"nonce":{"rand":"8a4ddec3f10e263c48ef1531fbb7a47ffcaf46cf93c51c809df04df214006a26","bind":4,"extra_in":null},"pubnonce":"02c089864bc4d361b3b82465a5132843f08fcbb0a102b82ecf8a4b344cdd10bf64038b8628fa68c5501b002b4bf8ecf8d04302eb0ab37e41e741a7981a5ccc9c4349","psig":"0a33ef6d3b2a0870109db7e02d711c3ccb87615cf2acf19d373a599c648c3806"},{"nonce":{"rand":"d62271e79c32d85e2cd1969788e3ff8b1e9f137ddffd7fc829b6afb37507b569","bind":5,"extra_in":null},"pubnonce":"0367139c5230e01d50fdfde2f403068b52c925ec16f1e7dfe93b3b80f38d17ee7b0275b6dff020686c1779e415dab284cee2ecce97148dffe2a59efc8391024e55b7","psig":"0fdd48897930376a6e1f8b9a38a5800ad3813af6a9543cf1ed30d150c3894c1d"}],"sig":"250765c51770f662bd2026a0909734749a5f8bd3117ac55a0df1b7b12d72e2561a1137f6b45a3fda7ebd437a66169c479f089c539c012e8f246b2aed28158423","sig_valid":true,"bad_verify":[{"kind":"wrong_signer","signer":0,"other":1,"expected":false}]},
+{"id":237,"sks":["b06385bd383594deb7e28ec22c85052725d60fac4dade566f9000e1fa4759265","9a4ca56dd33ca7d48adf4373c0b52b4cc5e1c900ba06b4261aba48a57297525d","81b34a2e82978081f9c33831ab0b63beea79b354614e0b876c7fcc0c2ff4d6bc"],"key_sort_input":null,"q":"03fc48e9ebc1a952738ba10e8e044c977dc05aae2034bedc818065df7f80640c58","tweaks":[{"xonly":"e89e33fb12068b7059f156255d9f0c283e7446f51716c81b659e9523caa33b90"}],"tweak_error":null,"aggpk":"03dbb0a54071629e74832cd7629f60a156c620a752665a36709bc108a762518c18","gacc_neg":true,"msg":"ab9c1b6c8a5390d61b8fc557c0327e639fc8fc","aggnonce":"0387937181107cae92ed405320adc24621bdf37fbb802534eabbede07d8b94219f02ec1839e88ea96b2ff8850c7fa787d3d6e7f9fa8b5c50de7addb5d27315c6bd27","signers":[{"nonce":{"rand":"0e3402428ef7a1214ff792b49fc1511afdff5c127847fab0e32992c5ccd5e84c","bind":1,"extra_in":""},"pubnonce":"03c642b2441ce5918219b95f5240c7d78c3289b6ec0c4eb9a441501ff364f62ecd031da2cae1d0d41968b5f3bdd77ef9cd55b8ff817f782293229b34bd3e2f2f5337","psig":"57356159d859c949a9ee6368e12d20f81826b8c76072650e9cb51c9aab61f7f1"},{"nonce":{"rand":"50ad55f5fbcb19369b4f1b79138bd1a164e718c919c6c9306961e7cc6e79dddf","bind":2,"extra_in":""},"pubnonce":"02c1b008fbe45b9a3a82d254132a5827b7a309986c6436958e37d3ed9106db6b9e038cf13d421deb0c8fd96950a7cded4b1860aea80bdd72ba304080dc268ea28e89","psig":"f7ee688fa8656e63d774ac83656601807928702a1743d49f722051f8d1297fdd"},{"nonce":{"det_rand":null},"pubnonce":"036d38e64d37ee0df91c2b6127d893b6383b8c4ae8ea5b0e3883f0dbfb2263f92203cc7e276fd7731121612c54917aa7c16861ec5111bffc40d85b6ed1a3353b466a","psig":"0263c7eeecb56100a24d3f15b99ae995e03bc0454dc52ee6f76747ae54de475a"}],"sig":"d051afa7f347f612225cb389a8f4b3e4bf6b4aa7e14fd40dc3f52b3377e4143a0a9e3a98ad5c942efef2ba75ca2f844f13e808d9b94c827cc361607a1902ffb8","sig_valid":true,"bad_verify":[{"kind":"wrong_signer","signer":0,"other":1,"expected":false}]},
+{"id":238,"sks":["d1a1bfc770487758b3ce2b589260d7b5ff9c1d430830f2e2a05c5a75ebb69d09","7c46ca999b26c9274b08eb3b04d087407e4f1a2b17d1140446b0be54ab85c195","cdd3d5f508d1840b37dccc44383a57ae7ef07b2e636a502a0087532eed9fb088","72c73cc30411562107112705f5bd995f034e2083706d8032eb8bfe13b905b181","e115fed8cdd22252c6b19635908ac27c6e35c86fb466e97dae91dd60e90f3fd8","72dba83181759cfc7e0c4be3225aba69539e48a08cac5b53a43e5eb232e11805","eeaca4fa998ea14d1ec1533fb41022179870eba13df9742a661e896b708a0183","7f7d21662770e3249a1eba9d446035d58a8faa3b56f1d7419ebe36a7584fd473"],"key_sort_input":null,"q":"025b178572461461e9f26ce5aef91feb5d06dacebbf04678837fb950fdc2d22b2d","tweaks":[{"xonly":"0000000000000000000000000000000000000000000000000000000000000363"},{"plain":"fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"},{"xonly":"0000000000000000000000000000000000000000000000000000000000000000"},{"xonly":"98cfb55b3463de0d28e269b9d5d48d3b27ec3e4ae5cf99e6ad6226c8ea229bbe"}],"tweak_error":null,"aggpk":"03e101414090bec594281388a016bcc07147f972e318f4ad863bbe9776dafee0b5","gacc_neg":false,"msg":"3060dda53c42b1945f163f887c9c8c","aggnonce":"03c70b1f3803e5894f79c22eea5788878b736af7df05258d690d88e7620251385c03152b1a07ca9fe2d2b4e84c6922421fd69a78570e9ff4ee19b258a262e1bbfa93","signers":[{"nonce":{"rand":"8909d905a16935f16f80edd680e15e39358b9ab6924cc00a2794e1f79cebfc93","bind":6,"extra_in":""},"pubnonce":"021052767a1d1a420e15a67d1e0818b880e0362afe3f82b17b6b0b305274a9aee903f923c867c632a7b0568e2e020b9ffbbd408a33effc9c60253b9572335587b059","psig":"f90d18c3f91b4e84a7f2d505ab2fb8b3fa741725adf4fd00ea8256644bdbe9c1"},{"nonce":{"rand":"f86c7e34083c0594acea090ae13ac70e8161dbee0b35a569a950780b82861c5a","bind":7,"extra_in":""},"pubnonce":"02a74a3f7aca8b084108d59add17c0b009501b71ba2b16b19e76f1dfa9fcfa0ff902ae2d4bab852ca22c9beb7c2fbc0b493641623247bf985f02ca1b5cec94d9ea3c","psig":"cde48f22995c97d3942f317319c137f0f7a4040f429cc0609e452fd39486c32d"},{"nonce":{"rand":"a95d8b0107eb25509b2c44426d6d6512289192a2eca1d53b616e925c5149c197","bind":0,"extra_in":"ecb29477c1bba9231b24b395a573fc43"},"pubnonce":"039b19ced00b4f5a51e7d8e6aa51217b562857a624d7e709236545dfa19b72ad66037d7ecf018b382f566249e9463323ef1654807a2193e8b4382d28f66901ea67d2","psig":"38f3021a2745ce0ecdc78b05df3003c8a54d79bb34097e6babf7dbb7d5973013"},{"nonce":{"rand":"c07543de6f85514ee17746066162f79227ce2dd0cf534a09bd6672e3ffff7bfc","bind":1,"extra_in":"1b614b396e933a"},"pubnonce":"03e0f8156e37395a3260291b05eeb07f4fb8a8dc8abd845c3a99b97e7a87631b9f0229712362e648c8f1cf5e1221a5e40c3428735185dda9275a93aeb42a0b9b7bb1","psig":"712917b0dd972a6ff8bfb5f4a1142b85ebbe944d2433ad74154bb78a2896c759"},{"nonce":{"rand":"74c9200756280cab98631f845b2d4a3795505bb02263f576c953841b9aed1385","bind":2,"extra_in":"6b17af220205238f588726"},"pubnonce":"032b7f5749a1fac4851aa97e1b82b94b62ed0d67c9a3ff2d306275e6df2e20de510240b11bcb935afeb442c36fcab3302249f3c1e4233a920842648caf6ee7236f2a","psig":"62b254c35955f3dccc8bca9b9ad2781cc157668299655265536d263402e0ddc0"},{"nonce":{"rand":"041ff6f068dc51e8435ee42f63f026e0101bd5462e210724f4330b7eca3fce60","bind":3,"extra_in":"ba1fc018064b"},"pubnonce":"0249d60f0bf7b68389341cc9c4d32e81b43d53d6ce2f6e3a2f6117fa656e890fc90264ecd4b21b9f5e5a1bc038bf567200a4beb885e34002a19ac660520c044b695f","psig":"3c44181a880838023e275efe2f120b257cc8bb073ddb6d3e27b7d7e94528e09f"},{"nonce":{"rand":"5c402ef93940e83c9035d890d8c08438268fb9b42362a5f72cba8d3223cde799","bind":4,"extra_in":"fbe785f18d73e93a8245427b719564"},"pubnonce":"021cb5554d1bb7677ed7f5cf8bf03c58a238ab98d16fe60cf33f35f739478e1218038e7cbee56d4f4339278df1d9e968852f59574f287edbd9a48bd63084c5317842","psig":"f5373c427a4fa9104986e709c2b3e9f9612ffb88be1a5356de4f814e1926ee4f"},{"nonce":{"rand":"54a6c4c5c6f6e093fb180fff407f6bf4518d22dd1814c38a9db5874b8813a9fe","bind":5,"extra_in":"a8"},"pubnonce":"03d2d352f815b44c770b06096ffbb3708f1dec55195ebea10075fc754d87eed47d03a98840527af6f4d053358b2d1ed7b39e97a64b3d6122a10fb08a379cb7c89ece","psig":"1437b1548cd914ee4dbe96a4cb0b17c4002de516981bc4b69297d8edfcd5e759"}],"sig":"f022c8018e25022518b5b1781787e34c3af90d518ce1c3ce50ec91ac74bf49fd69c6891b30f86d38076947819b5811242c04c80e06cc877099efddb94888afc1","sig_valid":true,"bad_verify":[{"kind":"swapped_nonces","signer":0,"other":6,"expected":false}]},
+{"id":239,"sks":["3167d332d43522c5b49ec2b2b8c6f537e22fa8cbb6f53b1031f91ac41bf84ada","ab4a1e5710504e341a08c1a381c9dc918d3e74805fcb970e6dabfbc3b54e31a3"],"key_sort_input":null,"q":"02e2dabff977202b6b20058dc707cc27640d7319495005b4025e2bbaa8078a0792","tweaks":[{"taproot":null},{"xonly":"e22d0d4a5377dcf3aaa6330cc587f159b31067c22e4e729ee13efd3f89d10995"},{"plain":"00000000000000000000000000000000000000000000000000000000000000e6"},{"taproot":"d1cd500ef7db14fcb5b8394f7f4cd230840edbf474f67f56cab76cda089410d2"}],"tweak_error":null,"aggpk":"02a3a8e560753512ea4211fe45fde79f57e5ef70bce58b7da107de89742c3d4c60","gacc_neg":false,"msg":"dbb95cd4948f6222d11ab21d4c4f877d54e218fc26a2b4e429ecd28c1bf830adae2f069c43eefa1292","aggnonce":"03e3cb52394a3433f089dbafc073dbb79dbf478e4d0dc27cea79d36ef74792df24027e4ec5271471eaafac2a50d65ac828a41cf2c6ad2253cab313d104dabd2bab56","signers":[{"nonce":{"rand":"3d5387b36fb4a45d8029953158283f58ab6b78c570ebb40dcdceb56806d6d097","bind":3,"extra_in":"f253803f45dafcfc969d56"},"pubnonce":"02f5123be666e7ee8cd215c2b8fcc8b60ea4bdd9d11db89f11faad61e476b03948033fa86f9f5d6970f444a620811ca6ffda45ea4d5829b2e7d7f57061ca048ef118","psig":"0e4c08dc203374b4eadbedc2aac380fe90bfe1190f17198e9d09eafc9cfe6b23"},{"nonce":{"rand":"6a5d1448ed3079eb64fdc8c8dcfec13f1de1a94aa9ac5323dcb60f291b293d69","bind":4,"extra_in":"473e04e41673fd23a368bb"},"pubnonce":"034b40bd534c610cab5e5d6fc048f88265038abce521ac1f7c92702fe2f40424bb038408136c71f9c41089e75ea6b5588338473cf0b7104df4abb66c4ad1d23a1e3a","psig":"2735a857a174186c9ce82037472e1c9f1a57f1d079c4d68a7695a008643834ef"}],"sig":"b1a9defc27ede6dcb9d4616d8f20e93b5f76714b25e6346b1822941d8c371b62fe92752b93e42a1fb25af03b35c564411b8223f0f4404ea54d06b45ff42cb249","sig_valid":true,"bad_verify":[{"kind":"swapped_nonces","signer":0,"other":1,"expected":false}]},
+{"id":240,"sks":["6366d863e0176eb40a00fdc20b168bcf3d88d22fbd8a6159a2b47cc2f570fe3f"],"key_sort_input":null,"q":"021719b4f15c62deb397dad88f7b4379943d1f5aa9d752ac83ff38b75f53b982a4","tweaks":[{"xonly":"d176c7c1276ffd5ff4b9a590ddf6e04a0a90ad5c4bce295df672ec52a7d01da4"}],"tweak_error":null,"aggpk":"02dc805350bb5e0b4cacbc44570a36f7877fb8c0000093e96f53a42baa8b96a9c3","gacc_neg":false,"msg":"","aggnonce":"0360ed4b277c9d332f5f5aca946d693b50d6802fb3aae442d8d612952d1c22c34e026f3c9f697a974bf7fe5a4704dd0a7667c94ab21e18858661f08fb05a775ec457","signers":[{"nonce":{"rand":"ab7126ff5116b2823a395d2ed0c4d2ac372a103f889329013538dbc50f0a4e9d","bind":0,"extra_in":null},"pubnonce":"0360ed4b277c9d332f5f5aca946d693b50d6802fb3aae442d8d612952d1c22c34e026f3c9f697a974bf7fe5a4704dd0a7667c94ab21e18858661f08fb05a775ec457","psig":"087a95e13523ab942073ab3c3727e3a0d83aa04842c59c3271a816d248f2bda6"}],"sig":"d71cf7fa1dbfa37d9f49840ee061a329932931817fd8fe7ba5d2df997e523e751a4e5d23d882504ccf15fa070da5267d5746870c2e61f30f3f00b884bda671f6","sig_valid":true,"bad_verify":[{"kind":"plus_one","signer":0,"other":null,"expected":false}]},
+{"id":241,"sks":["95f95d50b3b82244e40d12a1f5299bf342f399e021be5a9adb520f4bd1ab6380","38c9a6c2df9259da6d6fffd0fae3f976d91c8771684ba4f261c7cea8def1f8ff"],"key_sort_input":["03a8d8ea3804f1858cd395a41f4f6baa69fae0878f853ed36b3ef27b0440150aa9","03b5926fd8ca67469e8a459c7634117c27d0186a6b21adf32d46a7720f3c12edae"],"q":"03e3557cf3b94dcae5e6dc5c300b92b078bca31c8dede13e59ad51244c3cbcf420","tweaks":[{"taproot":null},{"taproot":null}],"tweak_error":null,"aggpk":"02f5d099a8798524649cad7e5c2f95e84f87026cc0f84a1bc70226f7445bd54c9b","gacc_neg":true,"msg":"b56ef9f3649ad853a3c14a19a3b9889c20c73eb902ec9465137aeafb6b1fdb943e0bf95c1a45e58e76fe4ff62e044116c113a78d21f7cd5120500612ae2c7ba1e046494a0cd464a08463d0fec001899c09f9a73fa1bb2a529f0eecdc483aa9353f9ecfc6665d7f4cf0b774416ef581c2e46bd8dcf49ff0d6e68f43f089e7d00b3bbbd1d3efea29d329e94282b098956274f848f6338eed5cad0739d5c17a4b19100f7cb39d85ce573be223d200a9180f5a43b773ed5ed242bb85e78874bae969eac10e9b2ec8d8fd7ce2f0f7c8fec0349b11d4b7c20789a7bae6a352099dfa9673611a95c1cf08bd2b4d9c85646b37df51261e0402f48d561074dada484d6ceab074a4d336c69acb2c","aggnonce":"021dc1c70836a90530a73c20710016ac7dba5da990cb53aad43e448c115d13fc3b02b732de009affff969224011a253aea10ccdd8d226c09d415c6ea161d0c8f9a7b","signers":[{"nonce":{"rand":"53f78253d348b782a1857bb4e0e319354d65b576d24b482ed5e329ee0a3f0738","bind":5,"extra_in":null},"pubnonce":"03efdf9586fcf286cc4068521a30edf6d89f2663afe180df8ea1b78d8636d9231c03570c54f8480e1129b547b5479576e5204fb91e98bcf847419bbc5494d4a6b2b5","psig":"6bd15ee5873807b05f2190141b1beef9b7f89b65238a94d99e5844c87b53ad28"},{"nonce":{"rand":"7d997c0f7df2eac812bc64e8a3c372ffb17b457038e61238cbe4eac02cc3fbe4","bind":6,"extra_in":null},"pubnonce":"02019681e7b719a15981ff2f63dc62aedf1455f1bce6e425aaa4de9ac6892ca75302826a999187a51399af910d2abe7e11a932665133f7c162e7ddf09eef6f580b00","psig":"e5dd095ce420d571d628095c35e2006b1f50ad9be47866e1366e495e181a1853"}],"sig":"4aae50909e3ecf36320b9b261a8e330c13455e79b10fb50568d56d76d55a06885f72ea4d10ba77b60c36f8d7dce23994da50b0c6f48331dc4d9d3688d1031e47","sig_valid":true,"bad_verify":[{"kind":"plus_one","signer":1,"other":null,"expected":false}]},
+{"id":242,"sks":["341e2ee8301318f5bbdc27c98bf53e433ef15035f3ce2279ca4694349400808d","e65ed1159aa6feb8d52010c5e2893e00c7c3177449f4a16844f0ce100423cfb2"],"key_sort_input":null,"q":"023c2855d360083613576ad62a5a40fe7b05a97e724b7a4d277984655ed43056b7","tweaks":[{"taproot":"b16a12f12984c1d7306ad15006c403fa250ad55478c437e9dc24e2ae73ffad9e"},{"plain":"0445e29e925245a55d09253c7b881bee0a5372ad3d2d3c1f986de9615399161a"},{"taproot":null}],"tweak_error":null,"aggpk":"02f461643aee2802591d6b542ec71ea6ccdb12f89799b79a1410733f522586c9db","gacc_neg":true,"msg":"daa29e31dbb6e5fc59ab3c58030e3e9c10aaac8c20d7b0a2e4e490072e223892","aggnonce":"038da91e121e68e7702d96cc123627ca59c116607922706b1ac554f56643e0eaac027731e12a72ebf20a7181907bc33f5c462aca32eb0449b8bed924d1e2c189089f","signers":[{"nonce":{"rand":"db0bcceb32b457ebc93b1a82d611699b73d15191466df566400c13e934af4c05","bind":2,"extra_in":""},"pubnonce":"02110f9dd084703cf5dded9ccaab581a40047bf12198bbd3ae7e0276cc1e7ac46402a97b2ef3efe798faab3a7cbf1271a719c62bdda1c423b0f70f819dbbef6a4029","psig":"7c40f610fe87b49acb37e07f4f2ca09867bdc8d2033c788c82242740b03de82a"},{"nonce":{"rand":"04a243d02d576cd8cdc9afc8cc114c059e7f85302f991664365923aaf72cbb98","bind":3,"extra_in":""},"pubnonce":"0273ddbdf24aea83dff99566f77f44b9c38fec8ab9847ca2f132339f3c5984605b02edd5ae2138f9ce76fa4f960bd34a9191852f03d5f36cbd19bc492cabe4155b80","psig":"b555e85af9310f2f2fa2444852c7920036df96c05313f4d5dcbae75e00d1cd1c"}],"sig":"896cdd5a2ad0bb27c181e1b26ab89b4a1efa4a219d032ef12458428c4d9b86ba64563837887c1916e1e2d72c1fde0a59e899243fa96e2132f1aa60e10996c16b","sig_valid":true,"bad_verify":[{"kind":"zero","signer":0,"other":null,"expected":false}]},
+{"id":243,"sks":["3b360d66049b83161a7cf4fc460428575287742bb33618f1960f02efbd6eaf0d","4193a686239ff08c7ab6a09350efcd5d480586e9205108daeda67ab996cb84af","7a9cdb24a020f7931362356caeaa756667c0185334d36a8419b989fff5ae61e7"],"key_sort_input":null,"q":"03ef3585840343e4b049e00c15ae7c0915467fad33724eee75ec89c3f6a8e9dd76","tweaks":[{"plain":"fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"}],"tweak_error":null,"aggpk":"025c0793faa8e2ad5774e0755ded846b815b43ad2aa1824b6e070b3e672a141c96","gacc_neg":false,"msg":"9cbe2087a0124f3e1fbbb7d22a462c1acff19ac8e9db351f89687dfd686f674a","aggnonce":"02c25e39e8cf41cfca499223166ef1fb7c8c385ae616a4f4958f8a9c6428adedf9030065830fc7cd96db5d3174aa2d3b20deb88c5f0f87ac9451e75b9a14d715d087","signers":[{"nonce":{"rand":"b44501ad9da165bd6b93eba54ac908d23897401d296b7e1fe80b4c90aebc7a30","bind":7,"extra_in":""},"pubnonce":"0396e4cdf2cfe94567360721427933da4bada6d8a1caadcd9bf55b12bbb0523a3d024d50487d73ff80d10ec45ccc2eb56f2b460c6014a46eb058586ab5073153cb80","psig":"04e810778ec49d2cd17fc4969b553cf725bf8e01c7f97c9944b081244612f9c2"},{"nonce":{"rand":"0130a9baea9e5654dadffcdad42287d7f06ac68f48f8268c377a0091177ab0f4","bind":0,"extra_in":"427739073b6b8f0dadc0"},"pubnonce":"0273863bf7d043e6a0a012039937ea0eb1f236c270d4537bf5416200ef32de3e31031df6b6f53ccfa90d5139db69d3c27d01ecddb77cd4f117e5e8b93d8806997b2f","psig":"af65e2369e7438bebf196b4b3fe2d36c3a79eda65b7d6cfcb16858750364e494"},{"nonce":{"det_rand":"919e61991cf5bd4dbab648ebb441732a6761f31185deb687e387ab1dc6baa789"},"pubnonce":"03aa617e07174662fde867d726de2a0646ee06cbb5cb37ab415377e6f5f17a619f03ddbf3649b223a4641ad627a4fa50c8aa3645cd67ece04e1dce07a2cefec27649","psig":"d9435c66e5078774f205f021380650b1fcf4bf9f72a1d29a653b5593756984e4"}],"sig":"945f70ef28ad303d481458ac97a705b095d30be58fcb09c2ce2bd8fdaa31ca1f764c8133a6966e3f483215f53a4886d4b6ca2ddcec03e842791077ca712dea11","sig_valid":true,"bad_verify":[{"kind":"zero","signer":0,"other":null,"expected":false}]},
+{"id":244,"sks":["b425c9ad512ea99ad978fd185e0bc2180a53d24fc25eeb7016d49ac888f3e4c5"],"key_sort_input":null,"q":"0397dd117b9dc91526fb7140f1f6d0c5be1f30b12d234dbd00e38043a7da9aed28","tweaks":[{"taproot":null},{"plain":"0000000000000000000000000000000000000000000000000000000000000044"}],"tweak_error":null,"aggpk":"03b60fbac52cfdd34dd1726b3eef8479aefee7959ca9e7e098d4d69fedf8293006","gacc_neg":true,"msg":"13f3966cc89a6c31e8922a258d6be4b0e40528de89bec96392a4b8845b1dc05d","aggnonce":"02fa19bcfc6b90cbb70dbf394a91adf4120fe42b92fd07a43c3dc497d2e845a8fc037b19fd0f23fe223c35a70a838a2031dbaa4efc3c82f459d5de4ae6889ce54e88","signers":[{"nonce":{"rand":"80dab41124c9f8fe4d4b66221df7ae92dcb7d88e654fb21a96cbff3256a4276e","bind":4,"extra_in":"d2ba011f31"},"pubnonce":"02fa19bcfc6b90cbb70dbf394a91adf4120fe42b92fd07a43c3dc497d2e845a8fc037b19fd0f23fe223c35a70a838a2031dbaa4efc3c82f459d5de4ae6889ce54e88","psig":"94e65f69258749d4f4388c9449dac763e97d6d6393d6f9e758b37e9a92e4b366"}],"sig":"92acce614b49d238c12befcf24aa2852944e053ef0aee5f2c64c22f7a5252332d63559c5333090ef45a3a74bf038203b9421c49315fe8653198c302bac559969","sig_valid":true,"bad_verify":[{"kind":"out_of_range","signer":0,"other":null,"expected":false}]},
+{"id":245,"sks":["3637921220a3922c9e35420ea0eec52898f5cd469dbccb4b6fa8b59626e2c430","dfa93479b5948f02f13c7c92be41d2a0ad1abba03d91e077c8b7a02405bb16da"],"key_sort_input":null,"q":"0267c67a59ba44e3f5a9497bb59818c43d97e82bbc3372d427e99845035c4a27c9","tweaks":[{"xonly":"cb91c22cd2633f2fe73143a3b6ccd1627a248253438f4b84be5c6f85c8a2b03d"},{"xonly":"5f71bdeb5a23f5732019cb30a24edef76cfaed92ea2f7e3feb99adae4ed758de"},{"taproot":"89dae5215e846dc4f4aaa14f36dfd73eb370868ec1b3054283300814aee4aab4"}],"tweak_error":null,"aggpk":"03c4826069556786ff668ed285e5d3dc2885a627e86ef628ac94b6e76979d097f2","gacc_neg":true,"msg":"a9a4314af8479af6270efe9bc1409e0d4ec264737c2b5da376a2","aggnonce":"0000000000000000000000000000000000000000000000000000000000000000000306bf55d284b019ed457453f4189935e712cf7d293068658a527300e4541cea19","signers":[{"nonce":{"rand":"0663302a1b645053268d5e7c1e1823dbd6942eaffbdc0b3ee6dcf1a2d5695889","bind":1,"extra_in":null},"pubnonce":"02526a6395a748486c068c2901b1636bb898beb0040c4e67d30a8bfc67a8b44812034feaa6eafedd24c0f6355443e0e53ab65836caf6b9189d33d1150c0704701f7a","psig":"22c698bf79541f4162a59c3920862a876436b260f4ab2707d5d49684d42a7588"},{"nonce":{"secnonce":"53b374c7d1e9a89c8e0e3ec226cc27e5cf0d7d62cff0df0a1b7e656773417fa42cb2ad7b47c466e16a0cfd502583bb47a31fff7c8ddf50e1d225f6eef4a39af2033044b526f2e9862a32a5f7f8d2c6fdcca8c9668a1aeb05d9e463ea195f5edc29"},"pubnonce":"03526a6395a748486c068c2901b1636bb898beb0040c4e67d30a8bfc67a8b448120274427b8d9ff1a897d2e8c0a6ef7574ae39a377b00528aa31a897b555d2b149d2","psig":"a5dee7797206c1d5b4a48a897b977de9f110e04b5d4c27a677ee60d7f4a115f7"}],"sig":"55d104ba7325ac0e5e15b210ba3cf5ba62f2e74d198852d41ae62a4e8ddf736d178eb098b06ae7e7ea7d46fcceff8168dc499273ff2019a43ef1c1e278234f62","sig_valid":true,"bad_verify":[{"kind":"out_of_range","signer":0,"other":null,"expected":false}]},
+{"id":246,"sks":["81214666fb9c1453b289b6f321499f07db7ba6c871de121a44051f984102217a","ef301b9e16685bd1c96c7b89fe7470db0215a843f71d4df6aa4055c90ddb2345","99a5e46894629dc25775a39d742f26c3710d6715c4c591848a912280bbd7c0dd","7049c922da3321ef3b0b1fbb7234b22d800a2c61e1ad287192076f8a795b4573"],"key_sort_input":["0220bb131639832540863746eb5eb5451e06c49a99a5a9c29e898f40fb381e351d","0369cd2a415ae421acc6b5b2aec87c243b770088afd747fb73e1e5af9006ea6a86","031e2eb2b0448c31957a0ab84c536f888f5c1b4264887298c82270bf4ea4bdfdfd","0391d21ff515a0ad7a734c6632b3ddfcc4d59bfae04c51c96acee53b0ccfae0354"],"q":"03899d8efd530ef43afe46791600201df0e5bf94384fabaf16b23ceda42c73e5d8","tweaks":[{"plain":"0f56c99858fa41f166c34a5274c2b8a97f9e8c3e298afefd0b73138f07f0070d"},{"taproot":null},{"plain":"a5db58256a632e42603b473f4a71acc041ff558b6d729d2840438ba9144eda2b"}],"tweak_error":null,"aggpk":"02f80af40c694e241a29d35811a34e1ae9833f7a4779f0f93b6a6c9a46f69cf82f","gacc_neg":false,"msg":"13eacec7d8bbf9bfbaedb02a6ca5c8ebac7d","aggnonce":"038bb590384afd5b0a8780ebd9f5ab24fd0abb544809f8e23ecc2e031d4a4298ea000000000000000000000000000000000000000000000000000000000000000000","signers":[{"nonce":{"rand":"be180f1b10eac7930fbb021052e05d3acc33cdbfa31d29be8dd09a76deae4b4d","bind":6,"extra_in":null},"pubnonce":"02ad349febe6cec1c2a27f80181c4891dcd789ebccd7928da088f1cf4ff7b68d8603b43c8f0a7ccd03287f61c5feeaf5194fb8bac08d378a43a5f17e3227b64f210e","psig":"9a7b8c62447c878f3f54dd4627373a02d60ef811a180a7c3219d0a775e382979"},{"nonce":{"rand":"8249f73b241c15965221b3ec661d3dda962d785f6155188a10cb3e109e8e4c62","bind":7,"extra_in":null},"pubnonce":"03915277e23d7430d232d95374cfa9fe691d686399338650c5f2c3638a9981f26603063070045937b332ec3a1396e8ecb283d30ea7f8f11d2467156f13b7704f68a6","psig":"5525037c5daf69b01686727df725f7fd0ebaf4b4a1649743c25cb830d6a486ba"},{"nonce":{"rand":"94cb97b094b068f24f58174690e0b52a7f227cad2e3295a350fb05984746469a","bind":0,"extra_in":""},"pubnonce":"029352053892f5202a1a1f83f57eeb0d4732e19ef2d0e9a8f1297d9c7a37360c260215099588c323099eb8c464204ce29771dbf96c66823a59c27bd87219a23ada0c","psig":"d834bc45d2c6c155f7b1d165387742a69dc7a2a41407d9bd87d197801704f7ca"},{"nonce":{"secnonce":"f97771284d43295028afbe0c3177f83d977afe835813f73723391551a545795a077d5b00bcfca469748f6f6a06b7e0c8cf973596f382a388f837291262b023990391d21ff515a0ad7a734c6632b3ddfcc4d59bfae04c51c96acee53b0ccfae0354"},"pubnonce":"0206ba405940e0670a610d0fc2078c0144a1e83937870b236f2d5d03ba78bb498d02164b17f9c665fc483aec07279e26340dcfa049b216bb7d25303dffa129980265","psig":"22732e16405f19fa7d7e12020ba1d576de5b75cdfe5601824a7eb590a430976b"}],"sig":"8bb590384afd5b0a8780ebd9f5ab24fd0abb544809f8e23ecc2e031d4a4298ea0093a8667315a81f1b692f85f4169fb1433542eca031b77fcde6231ed7bdc7e4","sig_valid":true,"bad_verify":[{"kind":"wrong_msg","signer":0,"other":null,"expected":false}]},
+{"id":247,"sks":["0f8d64cf5af6ab8e3539897a1d1f6aac1db6d722172da32dff590b31dda5245e","ce3f210722cb8018c1081d0c6f723549501cc16042c4077e317e4a9fc09ba4e6"],"key_sort_input":null,"q":null,"tweaks":[],"tweak_error":null,"aggpk":"0335800a7103931fe5ba3fd199148c337c58b475587f8a146ff7528f856a474b1c","gacc_neg":false,"msg":"003b627b6bf8721902f3aed322ebb919ce39409709b6be6d6467f2b4da3653a809db30a111","aggnonce":"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","signers":[{"nonce":{"rand":"f1a21b5fe7e8abcce0194401f0148c06a7b9bd7cd9fd329519908e10499f4d1c","bind":3,"extra_in":""},"pubnonce":"03e1423e69ad0526857d8c44e3a32a4627cd3f4b956a19c03d4cd1e4deb7b9d75b03e1f3849ea084883d2a2f3bb26b3df3e9666def8107827e39343f8c9404f9b299","psig":"8862a017712a5954c9adf852affa96e60ad7262b6c75498b49fd4653a45e17c2"},{"nonce":{"secnonce":"088f952a4396d7de03c5d26c6d8526f3a199db122f6d8a05416d1fd4a137f1545d290c0c99fa76d421f6e191d5491cfa098ec214a96df64a97d1754d9368c18e02ed4ebc6409d4406ea2887a4656deb452681cc1cbc20adc6029caf8358938bfb8"},"pubnonce":"02e1423e69ad0526857d8c44e3a32a4627cd3f4b956a19c03d4cd1e4deb7b9d75b02e1f3849ea084883d2a2f3bb26b3df3e9666def8107827e39343f8c9404f9b299","psig":"5ff7437e44adee7b7588fefb62c427e3c940de7732fc075987ec9c73798dd6f3"}],"sig":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798e859e395b5d847d03f36f74e12bebec9d41804a29f7150e4d1e9e2c71debeeb5","sig_valid":false,"bad_verify":[{"kind":"wrong_msg","signer":1,"other":null,"expected":false}]},
+{"id":248,"sks":["908e7b7bd23811f5bb894968573fa50ae7686e5a187be08b8f3b3b403bde0ed8","908e7b7bd23811f5bb894968573fa50ae7686e5a187be08b8f3b3b403bde0ed8","254bf426f0f1d50135a14db3f31dc4f8a5820a079b437eab45b4df857f7dc935"],"key_sort_input":null,"q":"036f348a9d2caa57ec670b8e93dddd8b845c61662b7bee4b011e013596ab2c106c","tweaks":[{"taproot":null},{"plain":"3cad72c2cdf84b9bfedc3f97683114a6cb2d9d6ace410dddd93a00be0cae7bde"}],"tweak_error":null,"aggpk":"025b80dd8cbeb650a7e54ea354331734187d20bcb003d588e39e5c3168d58fb8c0","gacc_neg":true,"msg":"6e02a84b84e0dba17a24e45bdc9683eedb7adcef90c42d4b8f570d6a49d655181217c2f80f8dfbb4336b252e8f2d3e06","aggnonce":"027f0a8472044758cef1bf116f784985ec4b459876d18eee445752eee103e37f10032266fc8cfacf02bd9226010fea3af8241f0a32a8c1c1f98bdc153146b1537e19","signers":[{"nonce":{"rand":"7fd50acd01a3d69401e355a9e4d5fa032d37e379e92f83e933ae4884fb24ecbe","bind":0,"extra_in":"e6572f792586f4a9904243c4594e"},"pubnonce":"0266444c35f34a24b94952b78f68bbd002c308046e8696b27df70c4af6a56cf7f9034d60da6c41ad5eac5c5c74acc21e3694e76a48fc67306485b965ce7b7249cf45","psig":"6dc401c89c9ea1e7268be722f38c1ac1116e43bd7f2b2ca128832fd680fc6aa6"},{"nonce":{"rand":"2e432263d567934da70ab4a1c9ac4b87163c959f098dad1322a2ece43b58feb0","bind":1,"extra_in":"91aaf3d64621a401d377960f"},"pubnonce":"0240300b54780b48f74010a65917f746dd53744e15cc2d7d78a573ce94a6cfeea5023711dd3fae84be7129ac44d9584e56b1b7de71b6f3f960ecb4b28f987c31f0e9","psig":"ef902ec1eeac5be518ec540523cae75bef4fcdf7caab3e271ad3596e251d74f0"},{"nonce":{"rand":"ba695ea0f966edec68d51b2430f05ada2518645b22c226b58807400965d90ce3","bind":2,"extra_in":"012f222b47de3f"},"pubnonce":"032889808274ba1cf73e5ba6552f7737d7638be6b8b65a9f98f778eff3148172220205ee794dbd7ad43d7fc064ed93e84588372e97ccbe8651a42ba4a04c778db079","psig":"a2ae14768fb9faa76f65cbb53a8c64db8389d563a4cc9411f451429ee02d675b"}],"sig":"3c54a69215e47356a25559b34b40eff5c53a612fccc77326404a81fb2b83a9842c4be25abef99b63b14747f25cdf00221a7c5845a80b9f79b9e1f2ed8024a649","sig_valid":true,"bad_verify":[{"kind":"wrong_signer","signer":2,"other":0,"expected":false}]},
+{"id":249,"sks":["adca810b3fe305a58a89a8c001bfe4dd7cfd108c5930085d9c455891ba4e0783","eb0acf5ea97dda194129ef0af5b594040b7d518c95626ed5770b77df46132aa7","6ff1347ed5abeb607c0d545ce4d91a0f4ea925ae3e0c39de01959dc31de2c587","be3bdf16b99d5c3c38a3e153709a9b9d5f5c6aa0696a81d579e1607a40eea20d","a81fe7385feb16af9fb1e34963846b6e6339a2695ec9eb22e4ed9dcf4b9af32b"],"key_sort_input":null,"q":"02cb6afb26d0015ac521fdb4cecff5e1e26bf29511183a62b40ffa4b2277338d85","tweaks":[{"plain":"9dbb00847279bcb0e718a507f4262a896d9d62992fcbe682d05a26464438b41c"},{"xonly":"1186291080a1fc8c0bae5651e8fe2227968c116d002df6c3a0e8161a18f3f386"},{"xonly":"fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"}],"tweak_error":null,"aggpk":"028a84a98805f3e53a0fcefbef58cb0eb954a49b7ebb19c21bda430251a3ed3097","gacc_neg":false,"msg":"2a48ecb2cc","aggnonce":"0313e086cb94b108b2fd9854297520256288e9deefffd00505752be0beaba1425e03711ca956d1c84f208b97f49243109bcdb1792f9f514932b8bc11a24578391d40","signers":[{"nonce":{"rand":"830524b096119ed638521de2d816ea352e20cd76ebebbc7ee98751861606a1a5","bind":5,"extra_in":"fc4b8b767762b925a2"},"pubnonce":"03e1ff818920bde7c24f4df933276cdfa486e944366ca4737898d7ff90910f64840245627986fddda35199428022b5e62d1b5883a719e6917b197ac79cc6e721a5ce","psig":"7ba647ca8cc7a49c5f11c6942f814393a17c421b8fd0b8d1ab73facd96a3e8e1"},{"nonce":{"rand":"97fd3106eb8a92acca82d89dd4ef199a527d9e45222d82b17177a7722d629f11","bind":6,"extra_in":"b6"},"pubnonce":"02274dbc67d31ca1d04fa0f8b841d2db4f4159b0ea080a1e2a787206c24f56d82a038bb8f5e8c21cfe2e97eb3cbf74e35b0ce690b05c14ff7cd2d63808e481aebc7d","psig":"973bb6d694115847cbef934cd2136431a689772591e6f99e11ba139f5a594586"},{"nonce":{"rand":"f830657d38ccd3fcf6f35c53ce5947a1d096e5db12fdf183c9349c06a1bff749","bind":7,"extra_in":"f848cf26fa410243f58a"},"pubnonce":"03a1a9a375dfac9eeda0d1ea6bf8eb9c4005339edce485814377f1f7efcb89215203588e70575670ede6a11bfbf6f947e86a686d606979af7399af61cc670e3be4fa","psig":"b7e22b45aa562f1c238e06e37a0891c047f2b8afad7d44d79aca64e4097f5a0d"},{"nonce":{"rand":"93993e19f9a2acb1a71ad22f056a2d5203e2c05ed7cc3797b5d3bdf56cdf430f","bind":0,"extra_in":null},"pubnonce":"025efbdc6f74ff07c5159da28e8718441fff22b5c27c560301dc38f8b2d46444e702a7f74f382adf525ab26c5792d37a20fe5bc52070d0c4186f32a941ac9af8255a","psig":"1bdb9f49f9e5d7b8a1a71dbe807e170fbc8fa84ad4ca48696fd0bb99119ed571"},{"nonce":{"det_rand":"91cb0e903f29b6281fe3231e5ebe01b348b2d767a687f54d020587cbd82ddbf4"},"pubnonce":"027d4faa6f0fd08a869a735905f9d75d4f22cd7b26e4010bccc0456d8c91028da503ca9b1a9c030aeac3c8ba1bfc2095ae412eb360fb86c5613394b4c208d549b79a","psig":"b8213051fecb7fabc6b6cd5df4e5e4414b165482c8c55f26edea3c20f898733a"}],"sig":"dca5f9ee7e9f95d06df51ac107ba952cc80c0ca29599c11452e594eeb16fc810d2e15c8b1f5a2d6113b068b6bc60400aa68264d4b9e89b1445765b3a1a83e1bd","sig_valid":true,"bad_verify":[{"kind":"wrong_signer","signer":3,"other":2,"expected":false}]},
+{"id":250,"sks":["17020b1c899289a28a1091f6111c84ea1d7c2b76912bc00e7d4dd23b562aa67c"],"key_sort_input":null,"q":null,"tweaks":[],"tweak_error":null,"aggpk":"020c1efb90fdd0b12bfcc271b8679d0c298f0165beca5620c58d4c6ae553c40856","gacc_neg":false,"msg":"","aggnonce":"03bcf695c0be6907afa5a56db5691d8fe52e7aade564bc86eda81efd84a7a9074e021cdea3edcb8d786c902a94a5432d5308a2bdcdfd5a52e99bf0df32aa6bb857c9","signers":[{"nonce":{"rand":"05e0708e91fc1fb7d2d12a54509b3ade0608dd33651ff0814569b60401731f1c","bind":2,"extra_in":null},"pubnonce":"03bcf695c0be6907afa5a56db5691d8fe52e7aade564bc86eda81efd84a7a9074e021cdea3edcb8d786c902a94a5432d5308a2bdcdfd5a52e99bf0df32aa6bb857c9","psig":"ad62944905545f71af6446d23c7c084bb64fca747758193047914cb77f636df6"}],"sig":"f4cf5696ea6fd2c8fe7e997cee03a4bc1136d24d127e385ca1bc5112d822902aad62944905545f71af6446d23c7c084bb64fca747758193047914cb77f636df6","sig_valid":true,"bad_verify":[{"kind":"zero","signer":0,"other":null,"expected":false}]},
+{"id":251,"sks":["967a4c09aa83e247c4527259e2e7e654e9c6662f72d1d9109d557944bc7089fc","3ba0a87794787a3ca04cb6ffb21f218def1bff4f40b94dbe05e3874a0a2dd240"],"key_sort_input":["031e5d8addd6aaa2890015f99bbcb07509acad8ec4bb897c3216b281b3fbeb15d5","02a751a9815cf960cc3da396c90724b97f2a7dc293455e8b1bb020d45914a051fc"],"q":"02dd4b794ab9e1beff6d213c9fcea525468f706dac5923821f268fa5421ad48cd8","tweaks":[{"taproot":"e1082070f65518206dbb739c7d9995f9e9a9a5106c0e6e6cbf2094ca4f6f522b"},{"taproot":null},{"xonly":"0000000000000000000000000000000000000000000000000000000000000119"},{"xonly":"0000000000000000000000000000000000000000000000000000000000000000"}],"tweak_error":null,"aggpk":"02cb027413230ac1dd3f7afb04b4bbb90426df18757dc1dfe8a50bb4dfa47bb811","gacc_neg":false,"msg":"8e87f5547cc5db45ee20bb4950a43ff4f7dafa7e3eaea72e3aeeddd7221ffb5d614be9c0099ff9138696b51262866e3aa1debd5eb0e115b2f56ebb09a19d5f66ff89cd7faf65a31175952f7df27707440b9bdc63a0eee36c84b0387f259457411701da49f98732805c549cfc783524a58727eebe42c42653bfdec0fd1a810c3eca898bea1a652bfc38fcf3de1cb6e3ab166aa381198bdc502e14594ad6fe20e583187525cc47df70b975a933b754d404024dfb67918e1445d17b0b21df2168658df7b2a1e28aaf992c7e6da02babbfe6720c592e80bb1105b6a6b96e1050e46ce801d6283e338b2ce478e3318c5142bc59ea46e883b8cd1e08f25c96917ec9067744bf87e6c51fcf7bec43cc26453ded7a0d586320815e7de44c0a1860319d77ff1417544ec8d9545bb13d","aggnonce":"02785b7e2c05ffe0bad41f97d6649db26b8171dc0b055f56353bcb677170bbeba3022c6f6509841ed2d4465718d50857d67020d8fbd794864f34916b030c5719c29f","signers":[{"nonce":{"rand":"b13002c2528334ee3ea4a8a1594508893476fd9596aa20f1e485fbcd6e4de84c","bind":7,"extra_in":null},"pubnonce":"026cb5f2d41db0a0181e3bc158e7e925e288351774b07e26b3d259b4f3b2f0bcff03e0a8d8d0cf4c2b11382a2a9c123e0bc64cfa90ba98943b7d5d54ef9c372848e7","psig":"f956206ffff8ad0c0891f5c4f2903ab644caf9f305d65dd99886bbc9623ecde0"},{"nonce":{"rand":"9ad93218be5af3326590d6e5d924df467698f9aa1c63eedcfe5c8b54fa0b6b2f","bind":0,"extra_in":""},"pubnonce":"0353225d0c1813885498ddbf28b3951afd1fdd9f562c3d587ee3ad8ec39d06f36702b63be9f9d1f1a6d2783192b52c4b452b9a74bb20ee4dc8e55716bdb9e22bff2c","psig":"6af36588b192794f58421039b9c39e1a3ce7338e54e2b3a9edf2832229bd2091"}],"sig":"df1458e57af46e81d14027ae4524a4f0cbe08e3a42a422f2458589460a0dcbca2e9361a4fa9ad711fc5e2b12c21d702127e218a7322268f1657b746f95d4cd7f","sig_valid":true,"bad_verify":[{"kind":"swapped_nonces","signer":1,"other":0,"expected":false}]},
+{"id":252,"sks":["32e7c65a8edd1e416b3c227e1e94a1e62a9c89a45d31b9d0bf65e35d0e790929","32e7c65a8edd1e416b3c227e1e94a1e62a9c89a45d31b9d0bf65e35d0e790929","32e7c65a8edd1e416b3c227e1e94a1e62a9c89a45d31b9d0bf65e35d0e790929"],"key_sort_input":null,"q":"036a20747089dc619e6d45bd3bcfed49ac7d63c4eaf4b245df305f3da148f684f7","tweaks":[{"xonly":"0000000000000000000000000000000000000000000000000000000000000000"},{"plain":"d43ec6707f7e8fe559762fd9e2e5c3d1754de2d3f6f1e1bf4beaacbcddb0d61e"},{"xonly":"685434af678b117e1b5b00a68290e284e1fb97cf77827f17779ee9057d9ee3b6"}],"tweak_error":null,"aggpk":"030e43a7c452db47dfde1d799c2cff95cc09e26c505746424e6533730e0eef5bca","gacc_neg":true,"msg":"21ab872cb11b623bfb9065177300728dcd3a2bd1d57c5e20fabcf675ba397744","aggnonce":"03f8502f9de214c8d80e4179cf3017e4605d6f887d1c9290e8459ec1c152dab00e0387c111816031b2f381bd300a8beedf5dfb556fef59acfd7094baee67b4f9bea4","signers":[{"nonce":{"rand":"45f5c6ba157b4e34e843b1dafb7900ac8456efde5ec1d76b4db5ed379ca896bf","bind":4,"extra_in":""},"pubnonce":"0256d6eb5da1ef6709744147fa687385244ad750b4fd6248bb0bdceb0d22d539c803ba3ff31528d2252f394c7923b4d2e007d591f83c98391c23da5bbf234343ebe7","psig":"a69dc1781eea25bf8fea2605d4c4a927f6bf24dd64242b609ac233ec38150db1"},{"nonce":{"rand":"e7611b01e5697da2412e4a570ca3188762fc5fd5361c7831f99f0ba612287a3d","bind":5,"extra_in":""},"pubnonce":"02df253aa756fb89b88caa464912005182c371afdf7480a4667268828ed69c0f6103bff1ec334a58ef6c6a024f702e50f44cd136d902efaa1e98f73f8a62fee2974b","psig":"9fde35ebc1899b9a6f59152c262e601595fc8a9fd10563badd33a1ee58732dce"},{"nonce":{"rand":"c07cba956236c46c3c777e8c978ce2d7d1524b647657f18f52a7f726c8890a2c","bind":6,"extra_in":""},"pubnonce":"03655fa316a82fab2fef5f0238b8ea0894dd67f8cbee413862309dfd5687cf9fb00247411460fb9b024ec3138df84a43b7cddb351bf518242de42dcc55814b09766c","psig":"34e902dd990ca42ab88b3afd205ebbbc2511eedebdabc8a6514360c14f1b539a"}],"sig":"0c8d04dd2dfbea32ee9437e77de17673a6d44b21b42d9e4a03da54fc99ab892d4d30eeade5eb53fb3306e3794de4f2b9b7c8c7ea3f0e70d2e0c5f89fff5fb746","sig_valid":true,"bad_verify":[{"kind":"plus_one","signer":0,"other":null,"expected":false}]},
+{"id":253,"sks":["e07559c5d5d46b1ed8829da50542f77806acd4430472eaf7cb8d705713a98781","e07559c5d5d46b1ed8829da50542f77806acd4430472eaf7cb8d705713a98781","e07559c5d5d46b1ed8829da50542f77806acd4430472eaf7cb8d705713a98781","e07559c5d5d46b1ed8829da50542f77806acd4430472eaf7cb8d705713a98781","e07559c5d5d46b1ed8829da50542f77806acd4430472eaf7cb8d705713a98781","e07559c5d5d46b1ed8829da50542f77806acd4430472eaf7cb8d705713a98781"],"key_sort_input":null,"q":null,"tweaks":[],"tweak_error":null,"aggpk":"0231728b8b67bb2df457999148daf8c698f01e949457670f0a1110e7d18d4cdd93","gacc_neg":false,"msg":"f572f5550eb1e1fc6457fe55c905150bb6f199da707a7facdd2ca422a75382b3","aggnonce":"03d81eeb3bf8d0e822e6b1cbbeea351407eeaa43fe396bf3b562a5fd54319d561c03f91b9bc88691acc6cc03944c6a07fc5b28be8a8967c4d6244245d325d6814b86","signers":[{"nonce":{"rand":"2f0cbb40ed4caaaf3be20445b0e2453af149f37a10d25f76396862c2d610221b","bind":1,"extra_in":"22e9f3bd4a122fde39e1"},"pubnonce":"03af816db0ebb1bb56ac96097f9e154e9da05a4b8a6f935974e1974b56d53656fe02c022b694736cee53c71442f8817c35a00d6e104ae5a4f7b7c1c4266f83120ed2","psig":"5047167845a657c9bbb7c17fbdd0d24aa24408f4fd18c77ecbf1cb349c5da673"},{"nonce":{"rand":"e28ffd8f9be20262204bb3e4477b85f18a7d58746c5a39d78db9855dd3c611dd","bind":2,"extra_in":"9241ad8b"},"pubnonce":"029f00cb320ae6046e57e0ef69b9c1df1b7b870e2f5b331dc7af1010e312e23be802b8501b46c96fed03a91be1addea6546448f21050a0442b6826d23c37d40af420","psig":"ec8c9d2ee7fe5b59f11143d934a19a8e9bab990c6c63c2c09306b73ff9c76dda"},{"nonce":{"rand":"aa506117469328a03929cec95d6312a0c3914734d6130b08c734d9b2f63321c1","bind":3,"extra_in":"66729dca1f20"},"pubnonce":"02e8b18218dbca7e3f8a39124c3cdc33c1f7626b23e28c589a2fe1cc7595c1c881026434b0d7cddefa3488548aa45005d2b6a1654fb8131ad35c3491acf84c34ea4b","psig":"c0407a894063d91c651ea5b4996940549d9af7b4c112dfc1f4ac734a6f958cd0"},{"nonce":{"rand":"97734c5fa044748469ed4a0d79c12f6ab8b8cce650a035ef5368c33c53c12fbf","bind":4,"extra_in":"2c"},"pubnonce":"03a4b109773d5bf30a68872112d66b6cdd95291de783d7dc2427b19d23b082a26703723f0d306deece083888219a9951cd84de6a29fca73589bf285b7f6e5b8dfe86","psig":"0fb5d9946658fa73c77bec6e1b2d1d366496c63f290500a3f5d2555eb242ecb3"},{"nonce":{"rand":"e853e1a3e7ced8d8baa538de3fb1c8242510fd6717e88275d7785b30a968d72b","bind":5,"extra_in":"25f1f5252623e10fba5da7"},"pubnonce":"02139342996b50c02a2a5dfc875b0e0eb0d14c9c0175f33866f2bdd34ce621e13f037efafd113eccb5ffa0b4f4f414ca5f43e445e9d6257b1ec400c77b304b4303e5","psig":"db5ef2a3a89268d38bc36b445c247531568c2a41713e4743547b7c749518e3aa"},{"nonce":{"rand":"746dc8b5145f6b7eee451922d42667c442a6183bca7bf9a97935b6f97b7fc158","bind":6,"extra_in":"a9230ed63a228908"},"pubnonce":"02094913a0cb3c82f86038a405075795b330db37f67221d1a7d448bdd00d6339d402feafdf6ac276b57d2abe8d2afebf86f1c7e099d99ac361c0e79ecd7987b58b08","psig":"b6fb364ed312a5dbc45cbb1ffc130ef03ade991339b02a82190e3807f8d03242"}],"sig":"79aa2566e16a77657d4d75b23e5a69b8dc12346f71384674d901ab51652d35179f2430b7500695632983bddfff404e89a17f8c95f0a8fbb77789e3f3d543dff9","sig_valid":true,"bad_verify":[{"kind":"plus_one","signer":1,"other":null,"expected":false}]},
+{"id":254,"sks":["18d8faabc2033ca17adbf95e206720e42c5aa72ee2feab6ffb6358f4ed227960","056065c9a068ca65e98a5af23f897a9577c9efc48cedd39b27fe33f444a96e2e"],"key_sort_input":null,"q":"02388a4f09a4a6af07de6c300bc5cb21b9614871f6527dcdca116dab0835038bbd","tweaks":[{"xonly":"67b6acffdf2d97844ef4cf951f2ea6e14eb076e06bfae293bf38733793804684"}],"tweak_error":null,"aggpk":"02090b801fc7484c1af35910b1d73536d02104da642f746835b484af5973dae55e","gacc_neg":false,"msg":"ba4a5d5a6fdfbeb492d13e34f0174df1d9e1f75ff9958523107ce61bb319eb67","aggnonce":"0302828b60e635e72604350fa5d9fb540f06240a124816f4ba0e94d2bbffb161f30376e0c8592183d64b8f1ea67b8187d809f74c3d47f13ae5b7c09ebcea5ca91d15","signers":[{"nonce":{"rand":"b6208a3a0d4dda424ddbc824ab41f45c825b5283a215da8fd8532e6362a54a0b","bind":6,"extra_in":"33ace3dfab5f85e912ef08"},"pubnonce":"03f017b64538d2de3a34569d28fbfa19c09f6759f8ae18733339b9e74024ce61e90328a116020738c9b78b0db687dc0035f8a6b67f3d3a870af4399b1a77f4b82459","psig":"2126177c3c22b4f7e9c083a8d0674e3859bc38216208303f51bcf8fbea41996b"},{"nonce":{"rand":"cac8fde1ad57935c873717c7790548e44d70e44dd5e6046e69ee8aba55c7a4fc","bind":7,"extra_in":"05"},"pubnonce":"03c82d2aad4b4d0718222e226dc8987c627be1a5a1edc74aa10410796fceb9b56702435651e939aa49c35c32c6ea0f5fd2ab4ff15ad357729ca7a9c25a24428f4b09","psig":"fbee7fd39b83662dadc9b746158f6c1eb370eb8989ba357e788c72df42ae9fa3"}],"sig":"e2087fe4c23747eb3f856bce57b6b3e851782a958644defb5f5ae9deb203f0772c07eac394d100f0046121cd01377123d071067aa74dcbfca44da4f493bcda0a","sig_valid":true,"bad_verify":[{"kind":"zero","signer":1,"other":null,"expected":false}]},
+{"id":255,"sks":["3d6a7acd3645bc07cf2eeb1c246174b3e592b8358b424f372c73089d79c471ba"],"key_sort_input":null,"q":null,"tweaks":[],"tweak_error":null,"aggpk":"0382e90059d253d8ae3eb3eaec4d4a1038eb67963caafa4148b00e931eb8a1bda0","gacc_neg":false,"msg":"5cf0d862e9b998a7655e515ce979e46590b52ac6cd854c19f2ccd19191799750cb33438c","aggnonce":"03ec8de38f6956d5b3144dc4ee389267ab97795488bf59fa6b2aa6b04d5a8fca0503aa55f79e3918a4efcc3cad116af2c6160c675b7855de4e219f6208ebe2839564","signers":[{"nonce":{"rand":"681b3fb64f681b76ff3069d24f19209ce04f5655e05f7e5adbf1d88dc195e462","bind":3,"extra_in":null},"pubnonce":"03ec8de38f6956d5b3144dc4ee389267ab97795488bf59fa6b2aa6b04d5a8fca0503aa55f79e3918a4efcc3cad116af2c6160c675b7855de4e219f6208ebe2839564","psig":"aa3a39cac2842d5d33b559502d83ebfa3a0922d789427e17a3854a193d492a60"}],"sig":"2c0030dd07f3cbf6f0e1e0950b3b62734b9ca41ea11c8549fd650fecca2c2687aa3a39cac2842d5d33b559502d83ebfa3a0922d789427e17a3854a193d492a60","sig_valid":true,"bad_verify":[{"kind":"wrong_msg","signer":0,"other":null,"expected":false}]},
+{"id":256,"sks":["db3461c58fed0685f579f61341960c459e4241cfd5ea05c4839399e68a98de34","db3461c58fed0685f579f61341960c459e4241cfd5ea05c4839399e68a98de34"],"key_sort_input":["0242aaafe80ac0d4afcb5e46b5ff522d04a60a39e9cfeba7a86b14834d6c84ef44","0242aaafe80ac0d4afcb5e46b5ff522d04a60a39e9cfeba7a86b14834d6c84ef44"],"q":"039f485a788f01b2d4e10d234b7992aea0d2729a05042fcfaf265e98e459698754","tweaks":[{"plain":"00000000000000000000000000000000000000000000000000000000000003e6"}],"tweak_error":null,"aggpk":"02eba17d77b824bb7138c2e13d24f39cfd16f77ce1eabcb635c36943b7cdd9dcfe","gacc_neg":false,"msg":"058281da27d0df1eab89ba928b5f24517c03e9359982eefae09e7d1e8fea4482d9f3136b743c0be0912089008d5a3299e3d22914110f50bbefad9d56f0","aggnonce":"0290a3580c9fe3503122690ecabf270b051fd6c509d7f32e95099ada0f657a04bf0394c352e87e7343b729670d940d7ab8e3f9bb02ae8a557af76274e5db8a3826b5","signers":[{"nonce":{"rand":"3a46d4025de9bfd1080ad8242f9ecde3adfb696ce3640e9ac44ab551e128cc98","bind":0,"extra_in":""},"pubnonce":"03932dec56e424af5303787845012dd55895ddd09fa41e412d6db95dc882565c52035e0d4650ca6e24be10f8b8df422ee47dbbebc1ad6d1edfd2ec36c26d85f23278","psig":"378344f263341c23534cae8e5c9d61813d8601d68d8291625141e4e32d7dc681"},{"nonce":{"rand":"bdcbbb38c032744c69b9e6b9cd61429baf9ed48784f361182cbc2cae8d5e1bc4","bind":1,"extra_in":""},"pubnonce":"02755e7a38d0a2b145f53d5ddb6ffeff129044c2c70ffc3446a04c124b8e684538022a04e64cdafb2e91b9f0b18ffcce286c44abfa08fd202d65f0dc8da8d6fc8c1d","psig":"349f6220c938b05a329681ed2092cbeb1e22b793d607c8d47033a3987006e573"}],"sig":"52a04e4f26fec31e6f189d9e73f126a601eb4a5fe1c894ee31f5d063a0dba1deadb13128d5a7f4b0124891a9411fc1dcc3e362619f1c9e1e766cef9a5339d096","sig_valid":true,"bad_verify":[{"kind":"out_of_range","signer":0,"other":null,"expected":false}]},
+{"id":257,"sks":["74289fb6b27050ed0a95064cbb1dad9be13ef91c5c19db33079e184c95ea4d79","3e8553498de2b75e2ffa1da6f1a0a274f81d36ebe1865957e370f8f103ceb109","f84ca74b2ee5bdd5c9d6bdcb46206644d43e793990a0ebb7179c592af8c6ec92"],"key_sort_input":null,"q":"02bb484c5675ce910b071f493d750b52e334c28d1ebd119530a80177c341ad8cfb","tweaks":[{"xonly":"5f2006c4a358405211b3c931c2088ce75b06b8e96d6842618dc93347f2c94d4a"}],"tweak_error":"TweakResultAtInfinity"},
+{"id":258,"sks":["b5cb07d5d7f1ffac21aae052123a0df62b499ffbcf8dbb45b788a694fc8d6a79","1ea5d68c0f1d6d3ca9d8a429c1faff68930c0a57bbd90e3784458d2519aecffd"],"key_sort_input":null,"q":"03c9792bd25bbbb0017d90884a93fe4edd30e6b3baa8a5e4f8524761e47366effe","tweaks":[{"plain":"cd637afcac4339eb6a05c5de3ca013eb4798c4a04c969d3a1ae40bbe3fee0b5e"},{"taproot":"8c4661a42b77a2dc369aa367f32d406a5f0b8193f6ef96095837c6b9517c144f"}],"tweak_error":null,"aggpk":"027e52b08e0c9ce336b41c89c444d53299a41fa9eeeb3f10fa2b6cc4d732639d9c","gacc_neg":false,"msg":"b4df9740a98562f8f6f7c2072bcee9a6b78f6892a56bd66b0b52788cd09abbc7ad2a9d7fc86a58cf27838cb2ee","aggnonce":"02cefc47bbd7802cf66536817d757170aff76a6e7cd469e1747600cbbb0312d5c3000000000000000000000000000000000000000000000000000000000000000000","signers":[{"nonce":{"rand":"2f6ed83297afde2fbf96e183ca1c23d97e6bd6bee63bef998fe6e2d2f2e8b740","bind":2,"extra_in":"5e9e"},"pubnonce":"023a70e7e2812ff3241b387fd47a8e1f42c717e9ced78f94f72b98aba6ffc419d7020a5333184473a54f5209a8b398760ac297b858bcec8b66ebb9860bf32b2496ba","psig":"a5a07cb38d854ad884f5476484abb0ba047169222d70a7fc8028b5ec952660d2"},{"nonce":{"secnonce":"bdf5a8221f2ecd2ae4f69d7bac33a1e812a7b19bff512e7fe6cb81dc4ab11eecc748052dea730c005ef878dfb2f75a87649d08979f73d85db6009d15da77edf802c228c5a18010b258d798685337a6a188dcddec679ed8b1eb4816f48b6862c2bc"},"pubnonce":"03116607a0778be7740b4382aa005c95d3b7aaa1c9df1a05e0dbb27de614e73b55030a5333184473a54f5209a8b398760ac297b858bcec8b66ebb9860bf32b2496ba","psig":"7d62064634a57b4b46d87ddd8431dd841e23c54ca880098068a17cb1fda67d77"}],"sig":"cefc47bbd7802cf66536817d757170aff76a6e7cd469e1747600cbbb0312d5c37ff9ed72ceedfea2154c5f162e8d3ae7995f1f4aaaf85fcb7c9f1de271a19815","sig_valid":true,"bad_verify":[{"kind":"wrong_msg","signer":1,"other":null,"expected":false}]},
+{"id":259,"sks":["aaf5f2c38869f7aec0698c652156e53fc8b0f714a21e54ca9cd7b1c87f6228af","5f12da5400063290ffada7e5dd97996c13a1a8be294d5a46166e0b4c9ec89c92","18bc62d947a1d6edfb9d3019a0de5a835d22675bc5c6e273dedb66b67f57af6f","2704364457be94bda2d54fd01b5d6367d325a2eb9e6b45298ace68f51fe27aae","346074dc4d96543d2e03bd519fec1cab668db98747cc0265d799a03e62d89c71","67979276f12d7cf21656936cb2552c59c4bbf1c24ffca5bef760f22c170e01cd","83a893fd1e39598941755629c5d274a7c8b2d279de4a2ce2ef5a5ccd5756e997"],"key_sort_input":null,"q":null,"tweaks":[],"tweak_error":null,"aggpk":"026d1852b3a0872f32d881b5f2cb7e6c4067d508bf8956f81ace45cddb4dc037d6","gacc_neg":false,"msg":"d77ef4b1bf93707ce53726ce56c9e8fa21a224d659d012bb8fe01f766fe131fbba9cecd314ae0d5147dfef35831481e0803426ef974e022019f587ba6e958158","aggnonce":"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","signers":[{"nonce":{"rand":"79e3f9d61910e0187ed2ec09f015de4d128ba313a32a61efb8364987e2ff7836","bind":7,"extra_in":"be8ec81eeee4814d3d"},"pubnonce":"038e3987933be970f754c8d22ae457394d1b088ab1a13cf3e89fee47a37e8bf06c031be2e4f298b59f3a8f9e433817d92ae7dc4e92f8ca87ef4591d16124f47bee51","psig":"5661bd4b1caa406e1eef36e9ec8c4b91609e7cfff9fe492ddb3628eb824a4391"},{"nonce":{"rand":"a1856ad5ae723a573e678bf0e44084ce1cf369fae5736ccc6b02034a036bdaa6","bind":0,"extra_in":null},"pubnonce":"02398888353169a5b42a2fb4761b4050ca0f47effa5f693abe2c4a9fc933c32e2902dc9770aa1ba731f6684e63a01aa84e39f10f3b796f0840c5a3e65556edc2e3e7","psig":"889d0430997083c97958df17042c97842c840a64b23509dccfb1d3429ba799ae"},{"nonce":{"rand":"189dcaea530f7a2f44bd611bba88c3796747b8fd8080ae4eb331f715977d0f46","bind":1,"extra_in":null},"pubnonce":"03606fa92bd6d1d84fcdef1c3fa39850194b072dbfd785a294c6ae203e537727f802939931cc67dcd2390c9640f217e6b3097c5df8edc05a2d96bdb8a89da9b0c6df","psig":"5b22591f8c6c9ebbef5255f8502c450443993d285252e5cc9cbf61139af5a7f0"},{"nonce":{"rand":"6bf9665f257d857a5e5c65c0294092fcc0d7907f12ef15d51279bbd5f86c33e4","bind":2,"extra_in":null},"pubnonce":"0266e01668dd4bca21db6a942560042f5ace64262113a02f3e34a316473f29a0ee032e5519b47d9f7937c06b7ccc1ddc86ddfa6ea45fd05fedcb0bf64a4fa0a3f73a","psig":"f0eccf2cb163d8aaa882d4124cac7531523ff976abbbd301dd3f3c4c12de4440"},{"nonce":{"rand":"15dd9369a4add6b54b10692c324c669afb10366735a278c5610026079ad02453","bind":3,"extra_in":null},"pubnonce":"02ad23b7422729a2ad40d356347c95515189262065716a4e202a4862fe629ed9f402f2650233c3dfc05c5f114fab839211969eae7beb45cef6eeeb04d25342ecba71","psig":"08f14bfa113aa58bb95e5af0df170a5680a97de0b36a446cfa817aaba7928709"},{"nonce":{"rand":"fa6e6c3723c1250be9557807f700365e03a73c98c65bcb7b51794fed9d246579","bind":4,"extra_in":null},"pubnonce":"029bddb416568e21071568854728716eb2b30da57bfd9df6f2bc5c38a17fd4b0a003bd2f97efab9a741003c861c20f5a5e16244ea267e108415706efde798e37c0b1","psig":"05bfd2d8950f444d574677c0547077670b8a3e35c1617658ad37b772cdd4d7df"},{"nonce":{"secnonce":"0eebebbb367192ba8529c2c0ae84fc6775b567b3da47b1d467b651994b439867b03c78694ab9fb3b18f18f7a33c42b7528f9fb20335d1a5a168baf7f5b65caf902a001dc7c610d3057834a44b94109fb6215322a85cabd73eaa2ef25ef587d7627"},"pubnonce":"034d9721bc255c91d017b00cf64c82913a6b924fe3d9604f76ce2a9b45a21b3b2e0326560b929c9563f37bd86f019f67d92e733e9cd7b5366ad847a829772df6c4b4","psig":"0157701683ebc911bdeb0e5d19529afe75c47ad98686d9766dd7f400e40390c5"}],"sig":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f817983b1678b11e20ee88fead2119da6bba09af963b2647035f9dbad3029384c4369a","sig_valid":false,"bad_verify":[{"kind":"wrong_msg","signer":5,"other":null,"expected":false}]},
+{"id":260,"sks":["0a3fed80aa929807a6cc5fef2700dbdd78dbd044098f66daab3f9107109c270d"],"key_sort_input":null,"q":null,"tweaks":[],"tweak_error":null,"aggpk":"021c0a86f8103906c0575e8c6e933315d0f6ec410cbc9671a2e8ef331a17f19ae1","gacc_neg":false,"msg":"","aggnonce":"02ba2d4fe944ddd0deac601a280fe8f369a23479a32e1244069400fc891d8b1e48034a05a36046f1d5a4e6fac22e6b46dd05bb0eeef4f7a7fc3b25ce5b338092f5bf","signers":[{"nonce":{"rand":"7bf4be8801af8a8a508142c6f371102be819ad3877dd6d73da0aa8c2eb485f2b","bind":4,"extra_in":null},"pubnonce":"02ba2d4fe944ddd0deac601a280fe8f369a23479a32e1244069400fc891d8b1e48034a05a36046f1d5a4e6fac22e6b46dd05bb0eeef4f7a7fc3b25ce5b338092f5bf","psig":"9bee8d60d0b99f4b1d91c1322c9341aea92800d41183d3144e2c439c01559f54"}],"sig":"6e74b3f1e5ae7d15bacf2b33428c066d446279f5b5869658adbc63ab2b92506a9bee8d60d0b99f4b1d91c1322c9341aea92800d41183d3144e2c439c01559f54","sig_valid":true,"bad_verify":[{"kind":"out_of_range","signer":0,"other":null,"expected":false}]},
+{"id":261,"sks":["92208a840f07e48d79697a40020f583b538b6ae0ebec74442d6215c0c56bb2cd","d2e8e911a5761a782ea5f7e0a96f7e465bea131c42ca29403e228412604a01c0"],"key_sort_input":["038f2c28ef6a49ce157b36bd8da2cffdae70f852ab142a829d6ce16bac5dd9e767","02e89b892d260111a79fa93352ac1fdf97626488905024de988997bfa1476c1b7c"],"q":null,"tweaks":[],"tweak_error":null,"aggpk":"02347a55b2ccf50e403e22ae5c942d34bc70f5b858e3ae40fdcf60f860dc3ada34","gacc_neg":false,"msg":"8706f74ae5e064f29d9803f61c487dbd15e133b9f34a5142d4c660dc62b349c5a40e6735c82581ef1a062e9f83275d681ce2ff209c7fe2829547a0857d18dfc2a41000066c1f62536f6fc8462d9644935da6da55ce336cbf4f0766a8bbc63dd0346e8bbcd03a67165efca12ef8cfdbdb053edde31e70310f0fe79ac1bc443fa08571dfc32dca025d5e922c5216eeaea098bc8c206c0ac830e16a9f42640e0ad65099374c208920baceea1e8ee00cb25ea405db8305137c4160f1cabb49fffb264323ef0184502e05f653ff0c132d521bff762a726a07163e9686914e9eeb8e03c531780be41ec6bd1eedb4f1e7570634bd1d21d58c282eb62d5ccfa684cfe70e9087aa6f1b7444703bab06595f9dfccfb0ffce4daca1671e77b82b0d36f30ef530ee2a7bce900a19","aggnonce":"02dde1f2471d46330c3d9227f977eb86823092b727543715c2d1d7214a7890ca4603f75ae39d221646c09d9566f9eae1c67778ee6aa1bc7198dac6db394095bec00d","signers":[{"nonce":{"rand":"4e08e8f79b515cf80a482f6c6b39729acf4c6e4a0de9d892ec741b9ac09b0616","bind":1,"extra_in":""},"pubnonce":"030300c09399a4b30176ab3eb00b5b6d68badc38811f302a4ee6a6460a8665cb16025c017e241df227cd15d2e7cb5dae48bd0dd9ed08178ac32c9e1c90eb310c6bab","psig":"289c8f316a5330b3c207751b75d979807406e10e56adefb023a5ee57bc328b99"},{"nonce":{"det_rand":null},"pubnonce":"0341658833fb930f1752e8eaefcf47eb17a4da6e98b1c1b986b3b5f687dd23e9e003968d0ad2f4999edc31590171834928a7ed2b419814673d684494ec7d4fa50f43","psig":"89c67e7a893e8eb57c76e02ed2ba99d1227c269322041d4b93d4b759858d10b5"}],"sig":"a04f6596549e6661ecee57949a6239e760e6b86dd042243f6d563de986513a72b2630dabf391bf693e7e554a48941351968307a178b20cfbb77aa5b141bf9c4e","sig_valid":true,"bad_verify":[{"kind":"wrong_signer","signer":1,"other":0,"expected":false}]},
+{"id":262,"sks":["3547ea6a4062e47ed69b21619a84216b1b90923a26370832cd8d911ae9b6e69d","644f01c4440e31ae3d593bec59d63c4b1b0cf3fe9642443942c075df2b4523d5","66c6ba631a066be7c1f5799e561c0305da507de39115e0907a0400109af55639"],"key_sort_input":null,"q":null,"tweaks":[],"tweak_error":null,"aggpk":"03549a26cccbd2f66c4e45c64647ab1cb4e168dc4a1502544dfb723c6ee24e83fd","gacc_neg":false,"msg":"6b395a61f24228ba1db1e1bc980f5184581f28f66c5c4f51aefce17388556974","aggnonce":"0212c5fd10e688468d42771c82a82c304840d289f4af0605a459f14a9946034344030c6b9c70cf5e81ab73602a79c3c18e56ea1a6f7569e6453db87080fed646d397","signers":[{"nonce":{"rand":"ad1932be97e2906be5019da2e47ff69aa3dce8678dcfa420e762283dfc904350","bind":6,"extra_in":""},"pubnonce":"03c8a8dd3d250ada2a7966b928c08eec3a4d0ad70355d9ede4ebd335c53f3463e903323abcfa015d6f50c7337a53bb11a0e0c398f5b1ce22a48437d1f1707aa1f86b","psig":"7f55cd1cd203b1c4f8ede025b2ee3cfb429e663f0a6001d3e84ff77b504a4388"},{"nonce":{"rand":"f0b21723971591adcad310910242af846a64e894140f0abb547d35385c884e61","bind":7,"extra_in":""},"pubnonce":"032048fb92b48eaf68af0cc8bcb4ee9d74ae0165c785cccbf8010064ac51a2f3bd037b5c4991b88421c25167e19a13db6f0c7851469dfa792cc896385d8c8652a9ca","psig":"73ddd383bb067f1dc4a775061b077a8a891df0796b4d48f150bdad11420c00df"},{"nonce":{"rand":"d9d94f183741391a784d3f1d8e74da312383e9afbc071ebce43a9b4db2036da2","bind":0,"extra_in":"95d6d169fef98f35536ca7ac"},"pubnonce":"03fe070f84780d80971f7b83940ba5d255d1dba8e74554c2318b1eb6d42e34ac3402a543d672557643274aab682c672c8ae8188a522159f2e7a57d95e2fe3de6332c","psig":"64fa7f05dc3cd9b9045b425991ab3528d4240d2eac6cf1307359ea71615cd3f4"}],"sig":"a17de9c69cb480f781697568e2c489c1a44af751b91eb187bfeb81cdc1d30acd582e1fa669470a9bc1f097855fa0ecafe531870072d19bb9ec953071237cd71a","sig_valid":true,"bad_verify":[{"kind":"swapped_nonces","signer":0,"other":2,"expected":false}]},
+{"id":263,"sks":["256d7e9010f39e5404f841438633ee5a7e2894bef31980ee523fc1041a068197","9d6daa757af05d76a15d3ea9bdddbb3de15cd726bca9cf223cca512937fc8c3f","df5e21409f17a919fd56c24b9e17686d25c6f7531796506133d7e3f4aacc52aa","1e989f6c9229927b8512d878f6bae375a3cd10691c3533c2b69041b29a10db63"],"key_sort_input":null,"q":"02eadcb8807b863834244519f8c053fb17e41249a3b18c3f902c1e9d3bdac1a425","tweaks":[{"xonly":"a3efa09edab626f0a43d58ff008aeb5d6ba1b0a43e33a874bb361f93306d0a7c"},{"taproot":null}],"tweak_error":null,"aggpk":"021676b93e84e7ca6cbcc46289402f82f4cb8e91b1ac304d33788305abadc88e59","gacc_neg":false,"msg":"bc95f125c8ac44face600f666cd6f862045e2e3a83ec4b167b5e5ec33811a3b5","aggnonce":"03136f3de0cb7df0b908843efdb4e6af9cfc022cff23da5bad56a7eb098b38b9090298b59522d280525d0a838c8b548c85b15fc46aa1d5ed0a5ca931d325d43e514d","signers":[{"nonce":{"rand":"0d9c2dbbf48e0d837d88dee1590ac3f6fef48c1283c3f5ade108545902075dc5","bind":3,"extra_in":"1eb503e0a67a6102402ff84ecb49"},"pubnonce":"0220ebf98fe0dafb5dafe07c79d81ea46a7c4125432f8f7472e52b663594385df70252a2c1278f294658d04ea9906a4fad6cff4093b5a71c24fc72433903a3bc4431","psig":"b5d0949e558e014fb5b223a637b5df9b4185af4065cf7d0f05ba5ccc98835709"},{"nonce":{"rand":"de924692418e00daa23261823dc653a36f0faaf41f680c3e5afc7555a63eedb5","bind":4,"extra_in":"5bb10284273d8b400168"},"pubnonce":"025bac0eceb800a857b918e51c1e025b601b32d7006feb11dadf72d327caded6a003357d93e12fa1d73211cba521702a5542d5ca034cd761a012cbe8be951e5161b5","psig":"69547549b831a229773a74bed02bf38aa757cfe912d74ea3c89cb2b2081af26f"},{"nonce":{"rand":"a3c40268690b9c9d6931e3cc3c0505199ec99f338b0ddd7e289b896a1b94cbb2","bind":5,"extra_in":"e41cfd7c21a5ac8a537a"},"pubnonce":"0276f6112b94ad287fc2e587a9e883425e66a7aa9fd30bd16233bf7e205ae5bbd30240e23a09c8c37800120c0f2fbf59b94949d5d8a42c7dc38a95b43b6fe3f70618","psig":"1449099eb1fa5377f7ea5053833c7789057dd7c207e9829a4ef9a582e25caeb6"},{"nonce":{"rand":"96403ae006ce355fa28fb269eab6fec153a94ec6fb04a0120f1d876034363efb","bind":6,"extra_in":"3e61f173"},"pubnonce":"022f2cc580761a686470906400844576ea5a71005101d9758a21a3e7b269b04e0e03000590b2b63e83291b6b66bdd1fb5f887069ffc1c81d0cf73ce2a29388fdc6a8","psig":"b8401f34f33f0cb383743771f53d5710d05eec11e1b7023d04626987daf5502b"}],"sig":"1d9af7f4afcd3d42297ae64caf4e9f472a1024aaff757c48491b65d6d53358005eede250ab23aca334598ead724372c16a3ed0abf5aa55901db2148313885c62","sig_valid":true,"bad_verify":[{"kind":"swapped_nonces","signer":0,"other":3,"expected":false}]},
+{"id":264,"sks":["762767fbb5bfff1b721a3583ff926972f25787ee626196ff35a7815327bdaa4a","762767fbb5bfff1b721a3583ff926972f25787ee626196ff35a7815327bdaa4a"],"key_sort_input":null,"q":null,"tweaks":[],"tweak_error":null,"aggpk":"02dcad2a931428a105af13f567e66f206285bc3ce0b0f1feb81976690ea8f8858a","gacc_neg":false,"msg":"8f7d81cc82ff7ff719d77e783cd9d9d9ff1e8559ce9c1fbbad8fc7172a32f5c3","aggnonce":"031452caed9caa53a8266cd719b935b9eaeafc57876361f69f82dfd5d013a45238034d6da4651c4dbc2c9a2791c9045c4d1d5e0e07bfd1f504e7530d670af29e8a26","signers":[{"nonce":{"rand":"fb5e62233184a7d7c4a513c68e214b8d2a4dd846bd630f4ed73e2d2cb774c8b1","bind":0,"extra_in":null},"pubnonce":"02a40cbe5ee161452110c66750cc71493c1be6c34b2c495cfb25e9ca4f3948c46d024511e8447f01f238a22d74eb820bf76dc8e6b1c4636ea4f89949bea5f2bc113d","psig":"451466456846c222f2fa9cf2633f0ab28b1369f9db4fba24c6689935bbb515c4"},{"nonce":{"rand":"81d3f0b3035150220f916ad2d5ed05e125eeb3ef20ee300e94532831ed834429","bind":1,"extra_in":null},"pubnonce":"02ae5d139d3c47fa9894c94400b7486a8989a5f8090431986ccb415b08012cc60d023e89fd9344a200387be2746e233382664b8bd5ac909bcf7349c85f1252fcb111","psig":"76b13eb41f1d591174e2776f71063ff1a46155b2bf1bf3a429a6884ff22dd0c9"}],"sig":"ad2069c3e08d6fb7c952e09ef26f54452ffd7c11edf12d1144217d33f5215234bbc5a4f987641b3467dd1461d4454aa42f74bfac9a6badc8f00f2185ade2e68d","sig_valid":true,"bad_verify":[{"kind":"plus_one","signer":1,"other":null,"expected":false}]},
+{"id":265,"sks":["199761ef1a6fb7742552be14bab2cd21a0bba401472730ee4808bd051990824c"],"key_sort_input":null,"q":"025902dddc6e4f743218720b14a3b8d550239d4e692cc234402ac365f2a6457dbf","tweaks":[{"xonly":"0000000000000000000000000000000000000000000000000000000000000000"},{"xonly":"41de137fe1d37800f60d5c8c130b4c8c5a4dc38a30cd967b695ae842f1a896de"},{"xonly":"a546c8e3da29b17c86d360016cd07e485c92b913387c4924ee214e50e679593f"},{"taproot":null}],"tweak_error":null,"aggpk":"02fced9c5b64ffcf45577c4836d8cd9e8fc3a27afee08272fd430bf28b4dcfbdbc","gacc_neg":false,"msg":"d451ecacdc8aac963ee58dba2ae254f7afefd9e9af3aef1101c71121292b63efd0fa18eb0baf7bb7d451e0953ef4c7c342d7f1dff3394a135486dea0d1","aggnonce":"026b0db45de54c5bdd04e84ae09d378a48d17a932d71230ee0999ddcf7d072d6680337beeb71c7b4beb2d903e813ca4a57fbb55638e4f712fe370550d2cd9f4ae0a4","signers":[{"nonce":{"rand":"8f59f741868d3c958ae1e229cb80b70fc44dec5a01e7ee12d02221a48ac90def","bind":5,"extra_in":null},"pubnonce":"026b0db45de54c5bdd04e84ae09d378a48d17a932d71230ee0999ddcf7d072d6680337beeb71c7b4beb2d903e813ca4a57fbb55638e4f712fe370550d2cd9f4ae0a4","psig":"f17239f5722ac9ee856862e3271bd261ebd73ed1743865621e230776a9518cb0"}],"sig":"01dd88b5496c891f4c4faf08a27fa664a8c61eb071b38406edb3e04a604ea889da292e25089fabc4bf39cc4e27bcb4fc94a70b67782bf478321638653f725f8c","sig_valid":true,"bad_verify":[{"kind":"plus_one","signer":0,"other":null,"expected":false}]},
+{"id":266,"sks":["1769fc359f2326677a5bdc2c26a6868ea62e30c057fb8f9b1ed4b9b62c149eff","4cff25f0bb60f5d3b42925ec8b0492e6b6c809df374dd28d5bca327ca129d9cc"],"key_sort_input":["02abaca8ab2c6fffb1c97d70715ab897b2c80b39d95cf5e3ea566000bda2f5fe22","02b336aac055f2613793b8eba93b055e6282fa778cd3bbc7c400337b059fb572a7"],"q":"02ca5ee866fd30d1cb09c6758e2ee363f58ed2cd4dab24520ac6bce6e7a65d0ea2","tweaks":[{"plain":"000000000000000000000000000000000000000000000000000000000000036e"},{"taproot":null},{"xonly":"fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"},{"xonly":"30bbc2628d9dc191b974c9781606919282b91dc531882a6bb2120ddcd3c8ca38"}],"tweak_error":null,"aggpk":"02d11fed71054bf0347e0655b7b1fdfbc6aa3107b19d1b4e1b800ac45af613d381","gacc_neg":true,"msg":"4f96f4393e82f7e8484da5f7a20aa19a7a5f7fe8d4a6863794241e89bcb51a68633c20c7039241b8c8599fdffd7a2d7c39f755","aggnonce":"02e9a964d8bc60bc999d527e877390047bc186c3ecadd99ce032f6ac7079b2d5c203dd4e8c434e085a78daa0239803469b8ab6bd4f16f734167f76362eac4c0c51d7","signers":[{"nonce":{"rand":"1d647233f3385c5badc77bb529a27c81ea33d7ba2e22dd49c60a206d99ddede3","bind":2,"extra_in":""},"pubnonce":"030028f185c7618eb208ea6ef4a7214a59205e919f79f7cc096e4b98afdb9b1420022a84beb3d024762c936ca0709abf94fa9e13e7eb4dba1b2ae958d7590a37da57","psig":"6c378b6f382da29566da67519fc84371775a185f5ba97d0bac7f8d8c15f83497"},{"nonce":{"rand":"91990df878b80956a7e205f1f30b55ab9280b65e2db0dc57a58d9c767e0d916b","bind":3,"extra_in":""},"pubnonce":"02b6dbfac9aab863f15929b6cbd69f85f8eb4879dea59a9e6c72564002a742363f02bf362fefa0e3d262fa735a9da95519f51bc837e1cedecd086ba12f7906b31b23","psig":"543949fe120b4f3174ccad950740359671aec41d04c35760be0373c3cf21212e"}],"sig":"ca470d64548d092b5560c8458b10c8bcf478eb489268ff5ba65b40ea57d6219bff9536a20305db8c3bbb52aec18981f680e0ddc59b10f6415305e74bdfdd1035","sig_valid":true,"bad_verify":[{"kind":"zero","signer":1,"other":null,"expected":false}]},
+{"id":267,"sks":["b6ba2c10611d3b66fac800dafcdc28f89ab374098339729e66ff16dd588948a8","eb2238d22311c4487de33d1245c1a0fbfecb8a7c2403226c468b6e10d61f4170","cdd8de3acb382571e999bc373ff18bbb8fe3cdc77a4209b8a5a4d9fe5dddc630"],"key_sort_input":null,"q":null,"tweaks":[],"tweak_error":null,"aggpk":"026afd8b4d1e1bb4fd2470cde8a28080492f4235234e5a78174aae110d0f035eb4","gacc_neg":false,"msg":"3e5e98634b69b0f319c06585703b82abd92e62d137df110a4abc3235f3e9e8124987bee397b69b530f9c5bed30e747bed67e4c579c7b","aggnonce":"03c91903b5e8cac93713eed384eab97884f2ca5d766c9747ac4ff6f43a8b30538b03adda31fbc078e169e4a1c33c4d8fa769423a2d17aace9848ded17579af79ba95","signers":[{"nonce":{"rand":"b595a37a2b5bd185fab703db3b5a9f882ee652ada9ea3786a898644f5058b724","bind":7,"extra_in":""},"pubnonce":"03e7558f5e8b6782862301d9c6b18b36f60c60b862fa93c2ddbeda2675a460c02b027b6939e58c3b5a73b8a79afa4a601cdf84d324fe625503d2ff1e288850158f10","psig":"fface7757bc366af56c415bc33d01db33f738244193d9cc83ae18845f484dc2b"},{"nonce":{"rand":"836f9f4c20a85c5dbcd7119d3fbc4f703bdf843278075c740e45ce72ef56977d","bind":0,"extra_in":"2bcfbbfb452c26d0808492b74c98"},"pubnonce":"020dc338964989011ddcd5be1789c13bd46959c74330975d7b7b442408b32d791202ca7736da51e11a2f3b4ff0f84e477aaa69e1f24064cd156fe47ef400f3c9792a","psig":"2f3bfd0420b5351751906f4629dd81cf63ef6a5ce0351b3e2df1e3ba0671b0b7"},{"nonce":{"det_rand":null},"pubnonce":"02daad77f1dea8056250369f452739dc7f068bf18a3438240c26015ad578573ffa0328140b6c7faba874eb3bb97cdb47949f32d812d53170047985a4700c5ca5426c","psig":"3019495414661806422feced2192d62c08d253fdb5ca512c03927d6d52eb2801"}],"sig":"00c3b451250db458d7ccb170ff7bbb999c8db6da8c1f4ce75e942a3f0837c72f5f022dcdb0deb3ccea8471ef7f4075aff18663b7fff468f6ac938ae07dab73a2","sig_valid":true,"bad_verify":[{"kind":"zero","signer":0,"other":null,"expected":false}]},
+{"id":268,"sks":["0ffe21de1eb2830b74656458b55a41a73ba529d0e596d8561e938435f8dfe9e5","0ffe21de1eb2830b74656458b55a41a73ba529d0e596d8561e938435f8dfe9e5","1bc24d5861966ca0151b7938319d05ff113340629c0ab300226d7942443ec73c","196b313fae783601c357020f2a5dd4adcb09a29bf725f99b805747ef7204ccd9","1bc24d5861966ca0151b7938319d05ff113340629c0ab300226d7942443ec73c","196b313fae783601c357020f2a5dd4adcb09a29bf725f99b805747ef7204ccd9","0ffe21de1eb2830b74656458b55a41a73ba529d0e596d8561e938435f8dfe9e5","0ffe21de1eb2830b74656458b55a41a73ba529d0e596d8561e938435f8dfe9e5"],"key_sort_input":null,"q":null,"tweaks":[],"tweak_error":null,"aggpk":"02c81e0d247e5a27074f0a1bbc72105da7004e263bed28a132dc5e3c297f5728e9","gacc_neg":false,"msg":"b7000c3bbb4be5c4b9","aggnonce":"03311108f207b11b302a63e38a7c9c95b06cd56fae09f029b3bc03d050c858f9ee03ed1953a3e0c5241bd75657608c1b6d4346f950b5edeeee3f329acc93052d62c0","signers":[{"nonce":{"rand":"c20611621321c442acc1a719f09910cd976a7f8ab13cc5cae352f0bbc3390211","bind":4,"extra_in":"e90208a8ca863cdc1f5b50dce5"},"pubnonce":"027ed7c5b889629d73d588bf741107fdc068b6aa667e3195768fe9ad0bee7ee2d2030ae056ca0f3556efe664c4865ba476323b3a7e38d1e200ff907d9adecebe17e3","psig":"a61c5bb422619f0eee239436b55262b668e75ce3d61d9dc4dd68fd8e1650ddc0"},{"nonce":{"rand":"fbebf45fc6175e19897231463bf6ba7e8cd93a471681656130feccaadec35370","bind":5,"extra_in":"680ad79cd0934973a5a166"},"pubnonce":"0208af671db9732620f60034755a31aee612cb899aa2755ca084b34cc2ad2d6f500392d34c3c3fb2c2dbb4d8b6f0c6faf780dfbd7a115dbb40c2f12a356a18c4ebdd","psig":"b95f9163db6dd359abf439d82da3b61852480a348bcab3021374e219f297042b"},{"nonce":{"rand":"bb6c263b87cc0fe61ab9ca2c7ae24f255bbbab17c2df55eeb9038190fb4fdd1a","bind":6,"extra_in":"773b64b84a5639"},"pubnonce":"02e039f97fd91c7d45489cddb1d1e801300c418765adb0a44f4ee91ff0151077dc02d75530f733007b2f8f20d7162798233ac7571719468a3428c795c454cbf341ad","psig":"106c4e514ac9594f287c091d6e07266c1b86bc4cefb535beffca58364a541292"},{"nonce":{"rand":"138123b63310c10c30494cde0b79d8831ad1915482ba5e4438caf8bdc20539dd","bind":7,"extra_in":"940dc5f7d2682c3fa0"},"pubnonce":"028a3805b009ffad1dabd94a49c2f86d231bad43539b6b0f8a936b3aa2a6030e8a03c911ed195295248a4d9156f88b0de3246f14d56a6043ebcf7c6bfc2a2f4879fe","psig":"36bde6abc516ebc3b1f0fa7e0b0c05be972fcc3386fd7fc6ba54afc9730d01c0"},{"nonce":{"rand":"e869ce63b8d93792400f94823fd9656745130f13fbb8c861b3089e9ea97132dd","bind":0,"extra_in":null},"pubnonce":"023f024e5d92c2eafd45bb2f017bf1daf6959db5c4ef56db8df9bd14def8be6c4402f16b53c336d0c247ef58836508aa423b7853a03d9033a7f902d42a455d4729c4","psig":"8da70b9f93ba1e3cca61047664cd0e3c7e751248c47f4a23fa93f8b59c198a30"},{"nonce":{"rand":"6128b7ce3b6a4509836e21c70ac116f468d00009544b41b46f7dc84d9cc91e49","bind":1,"extra_in":null},"pubnonce":"03f81afe80223525b32adba79adb5c49da0f20393545f937fd5a827a26f8e848be02dc1ba6359b3a33d569cbbc964db403705ad4ea06cea13446f6d6c0def7fc6e7d","psig":"7da415e4fb5fc28bb6beda1160f9eff9bbffaf1803e29a119c930d8a1532a2b9"},{"nonce":{"rand":"9a1b765e6f472a16cd1fc87c3e7231566feb39ec3d92920dbb640229d330462c","bind":2,"extra_in":null},"pubnonce":"0327580f6a8baac5c2f3f40ae203886ab4e64754e8ae46a5dc297dafe08319c92403df46d303235f4c3205ae3f71247ea7c20f2b7eca2650784b2af9ca11b7ee1ef5","psig":"ff97f337854de7394df697390cb0f403c08c1dc240322f42d327529332007eec"},{"nonce":{"rand":"84733e20127d4fc99c392e43f8b937a32a6ff98bc2386a7394d1b95981ed5d8d","bind":3,"extra_in":null},"pubnonce":"02e5f69b7008e42ee61747d4a3b8aa50cf3e4bab39499464c7acebc8831c264f1a03679eb9dc831369c047b60a35809d40d961544511810ccbd186b9903202b36d76","psig":"4101601e0f509adc3afa4b6d26de7bde9e8528e91310d274bc19c0d5e87d61e1"}],"sig":"af0e247deb441e3a4af452858ffc15f44deab51ddabda28ce6693c4e1dfcf137f28a96ef31681a597e9592d8555fb315d75f60f0e6660b8691ede5aa21704030","sig_valid":true,"bad_verify":[{"kind":"out_of_range","signer":0,"other":null,"expected":false}]},
+{"id":269,"sks":["e7fc6b221f75953912ebfc63e70d3166da51335610c0e149ec3c92a941ebb540","ec80bad13235b61bad891a32cd7dd6e3838758d040069d2b6d6ce8c747f01427"],"key_sort_input":null,"q":"035770201748ed2acb2db420d2e606cdbf9e1572ff505fea561fe8ac1bc0c00a25","tweaks":[{"taproot":null},{"taproot":null}],"tweak_error":null,"aggpk":"0264be46872f13cc97d236969fa33827487097709e36bc85e90b3c7ee191681a69","gacc_neg":false,"msg":"50b2d031e8","aggnonce":"00000000000000000000000000000000000000000000000000000000000000000002d58dd8fc5fe29ce76a95ff9e1739ebad71efe372743808b770151b0edbca3753","signers":[{"nonce":{"rand":"0a84461c76be3116b7181b9af31ead3e4ee8614d61c79340f85a1e7fa3b801d6","bind":1,"extra_in":null},"pubnonce":"03b5355f015a525cfee4443358172a27f2ebbff68d4ea673c8a039565c79fd7d9e0352b435f76e9e35f5f2d94c47f07b83d66c91bd68864471c07e6fbc3e122acb10","psig":"785f74857dbf6ac6f45919a6c32b1d3e1da8d5789fb26e9f1a5c6ea0c62ff68f"},{"nonce":{"secnonce":"0459ec351b60fb5db3812bf4ed9e45c279ae5c99cde2e6557500c6dadbdac974804e0b9eae92a6162fa56864ca0f798ddb620fd7f31d9796f8fc11a439aa86390247ad386dca9062c65b98091c0d5b356c5584a0e850109a0398878bde170bcc5c"},"pubnonce":"02b5355f015a525cfee4443358172a27f2ebbff68d4ea673c8a039565c79fd7d9e03a81674200a41e51d835fa0b5414b0f14bc1238f621f17792370361d737b8be31","psig":"c0ed4f388cb94f520a44524c4aebfcea87a079111d9ced43d134c1e7bd38fccc"}],"sig":"cc43a30c3fcbcabd8a52760ceb6b988e46c7a16808caed60c8e3469c8da873d3ff679f6a470b373fce881226e96a8a5b3c54fde663fe7fa5e1f7e499b06781ba","sig_valid":true,"bad_verify":[{"kind":"out_of_range","signer":0,"other":null,"expected":false}]},
+{"id":270,"sks":["7cc3e92fbd71f5b36fc89a68126fb2fb80927363bb327ecc068fbd2eeeea00ca"],"key_sort_input":null,"q":null,"tweaks":[],"tweak_error":null,"aggpk":"03968a9f56d177160d88c4c482a4119d7493aee6f659e409a68bc31f68c9d45142","gacc_neg":false,"msg":"","aggnonce":"03c0606522b435e3634c7a9167331c6b3adabcac8dfdc3237327a7b6a448f3898f03ef5eeec52405cb6f3a19d54975984a88927043bdc4bee4764505eb02a234be5e","signers":[{"nonce":{"rand":"2419a6600dc63a4c73db41ca40602022ff32d73a05492411a7be020bd8502122","bind":6,"extra_in":null},"pubnonce":"03c0606522b435e3634c7a9167331c6b3adabcac8dfdc3237327a7b6a448f3898f03ef5eeec52405cb6f3a19d54975984a88927043bdc4bee4764505eb02a234be5e","psig":"bc6f896634cfed7885f3e5cdcdfc5aaaa937ab2a53f052dd19525bf75566737b"}],"sig":"a566475a3ae8ca7578e0cecd8784db3ad4ef3e9281217621b41e409b7a01d423bc6f896634cfed7885f3e5cdcdfc5aaaa937ab2a53f052dd19525bf75566737b","sig_valid":true,"bad_verify":[{"kind":"wrong_msg","signer":0,"other":null,"expected":false}]},
+{"id":271,"sks":["9e9dc75a1cf99f7f7416308d7fa03a026c1d5c8a1582bdf9cbb52dfce82debce","4bace6557afe9c1896a19bdd521efb762ff7f6ef343e543ec052559d53da3fb8"],"key_sort_input":["038cf0a8c095443a747d27478001a55158a1e2538c51dad8e1d8d85752a23506d6","030b6e2db4c9c889e6b882b8aef1d4bad99ef33120a17f09368945d8b7fb606e85"],"q":"038be2942bfcc119b7f31b1bfb3c8cc10a4e2f5f666dfef2e0c2a316463d14730b","tweaks":[{"taproot":null},{"plain":"fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"},{"taproot":"12d3c695a716d4f5810937acb9f8456041aa52bc349fce989e147637902c5e40"},{"xonly":"fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"}],"tweak_error":null,"aggpk":"02ab4c826d2e68b8664d7917e65b2034cb531c256398fff5f9e9bbe7aeae6c91af","gacc_neg":true,"msg":"908c5699305e5aca070c83612f55857890eb7adf94cab23d21c8b8e8f04e94e9b8789aa4988b0ab1118e057564df92324e588df23e96d5649e07273714e197367a018da7dc1dcfc506f9fe9cf2c5fcc62c9b0afdbc331b44dc85799ed79d4ec690aeb97c81196ebb427b83a67060bb72b7caf7e95771db0a64f7d1d2c75849972f101e5db3173fa26a7ee35aabc09e3064da6c260272a420665a0d7cc2882c5b1968e4781e80f20942d41554a95b8fc598512e1bbd83c0798ba57d740a80f89615c834db076adea63946b37523e9651ad2ca2897d1b34c2538f4462f62bd4721f32e7d3f1c76fba7f44feed51a73dde532d083a2f3c42bc834d5c276926de2510e8afb21490d4e52925a","aggnonce":"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","signers":[{"nonce":{"rand":"71f365dc200fdaf45365ac5b3cbd3170c228d77c9ae558c734d406094dd753f1","bind":3,"extra_in":""},"pubnonce":"0280f1b96e3a922f78df8451d2bb94a51ec44fbba1f05a98409b009baf814e340102e9b69cb904d22683e14fd04dc82174d89386d8f0c0fc4767161d446f1d2f6bf5","psig":"f940e60f87a4a7c412daa3ffa287c9345e367009305d4a0a40386c2634576ac4"},{"nonce":{"secnonce":"9fdd1d16feee729208a8d2d7f82b1df9f0ccc24e9606c34ff5f87fee0568dedc171bbb8a7a78a14315ee7a324a2c1b018ba1703970d96df6d7c4e94af424ea32038cf0a8c095443a747d27478001a55158a1e2538c51dad8e1d8d85752a23506d6"},"pubnonce":"0380f1b96e3a922f78df8451d2bb94a51ec44fbba1f05a98409b009baf814e340103e9b69cb904d22683e14fd04dc82174d89386d8f0c0fc4767161d446f1d2f6bf5","psig":"75abbb11ca7ece2d7e0e5341d39fc328303103575ced2a4036aa95f0d7bbd07d"}],"sig":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f8179899dff9e47f26fb087f04a579cb15e5827278adee50c7b3fe5945c911ff77d5ec","sig_valid":false,"bad_verify":[{"kind":"wrong_msg","signer":0,"other":null,"expected":false}]},
+{"id":272,"sks":["a7a75f38c07bc7fa38b3048b076582facd712a9ea5464672ef9dbb3cdb88e70c","a7a75f38c07bc7fa38b3048b076582facd712a9ea5464672ef9dbb3cdb88e70c"],"key_sort_input":null,"q":"0399fcd35f8680f222695f4cd2f915ddb5681e31c70397a6831bdf7755141c8479","tweaks":[{"xonly":"00000000000000000000000000000000000000000000000000000000000000fc"},{"xonly":"fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"},{"xonly":"00000000000000000000000000000000000000000000000000000000000001f1"},{"xonly":"651bf03ef7f986619c4b23dbe67590a36a68f0c13a5acd8565c65eac95c5db1a"}],"tweak_error":null,"aggpk":"029dc97ed065c5abb3900f05556bdb87c790eaa133f5052c7fa5ebda28013b75dd","gacc_neg":false,"msg":"dbf77941708d3442c8a21550a9d6d3eb67bac59625da8f5c0510a0a4416cd3f7","aggnonce":"02e7f162d942e8617e57166085f88e2e395e11362a06c9f057708516c7dc39b27d028cf04543321e0e4ef2b4fada2c493068ec75a35c73a69ed5465160b3f0c125bd","signers":[{"nonce":{"rand":"339757b7051dcc238f05d86a21d9bdc00eb522e72f8a8448ad9383cc766175a0","bind":0,"extra_in":"0065c7b560"},"pubnonce":"02188d2a61b4dd1a6aa0e0a0630bba88084b42f6397c517fb0d83507cfd9de485902ed95bef1ce29547ca8eacd4b4e88ab7548ce354ee59ee6c5a2294f16385be7d2","psig":"c27aac811024636d9c7d3f1e0928fd73ccac211f474e257a69d3c0088435cda7"},{"nonce":{"rand":"ba3f9078fd55f4cc89d56811d92455532251ccf8764e64c6b0db620479795d7b","bind":1,"extra_in":"535b382ca78a06b1"},"pubnonce":"03721a98e33d5693a034c4d1842a1ade4e7f72988fad3f0e1ab9702c3181085be90366905f8d7981b269dbc9fc634b37d9f43695e4e93bbeac8b0ec3209f9d468e9d","psig":"cf799402577f686c4aca4878ed0c87bbb4ed75190d15147ef2b9c23d7ce8c2b1"}],"sig":"9c6b87746c66e74a68cb28a471a5c694115585d6409dc62ff145bc6058099572f6eeeb3009426229b13fa06ade18ad72b466ad5b4ff967aaa41e82955fd1f25d","sig_valid":true,"bad_verify":[{"kind":"wrong_signer","signer":0,"other":1,"expected":false}]},
+{"id":273,"sks":["1d241ca8aa8a934b0ac7f9f21870b1aca4dc7daf3d0a5c5790fa154237b07943","c9d959a0b62fd05991f9edda8b01d8c899a6e7c7d5ce3f6b40f65b2af7ace5a3","11a97cb02dfa2019b6c94b191ee3a2634deee62819e5c64e1cb5b2cf3c447d76"],"key_sort_input":null,"q":null,"tweaks":[],"tweak_error":null,"aggpk":"03c6cb01830638b0ed461ea952f017bbfb96d0b7c179e36a93a02dbed2c5d26b97","gacc_neg":false,"msg":"df9c7ae76b9668e1e2a79455da974151022e9b93a6f6ffb71a68b2c79084b2eb","aggnonce":"02d11201cb17f28257d36488465d7ad174d5b9b50fa38a5596914deac40054ce0502fa46cb460f286a300489c03c7257b55671b87504410aab6e1162f67b8ff96ed6","signers":[{"nonce":{"rand":"bceabababfeec84257e4907ab419da7a649cd595a21d49bf98c47cdcd03d969c","bind":5,"extra_in":"9e1bfd5fb60a6847"},"pubnonce":"027622f1d71a28c11445c5a31991e1114291c9ea824cfd11d2ce43b2ca6df4801303e4e4fcf625b0f1f36bed2e38c6bd85e22f068ea9e54dc73f16bb8f284647f092","psig":"e286e01256793111c2062cd055d6e176a0e9814a3c157386524fab77ec32fc7a"},{"nonce":{"rand":"2b0f31cb4b143fecbf3a04e7f0db6d911c01004e71ef82805d42f0cd75809d8b","bind":6,"extra_in":"748b3fbf2e1b"},"pubnonce":"02146eeb4a108615f7e8ff64b9955cf587175c51b6f2d1200fd2321d18c448650c02718a11516cb4707cd0778b105fb9a56852a0306f2dc2d155510a6053f5e412d8","psig":"88e9eb1054219e8d602ac9371785c1085337180aec9f1def7452c217f3040c2e"},{"nonce":{"det_rand":null},"pubnonce":"02237b3f96bcbecb4de9c6da54ef473bdd3c73ad2f587baa307e3e4999498b01af023a9c1bc6f079be33bc17494a1e088153f0e98a009359ba94c767461bc0b6b4b5","psig":"01bce182342ccf79dae81a1d7a798117677ae275a22db46f4d52764f002d54fe"}],"sig":"7d6d9ec5b24d4fed7fffe19332794960f61424fd3968a0d2bd2ed1b0af1936046d2daca4dec79f18fd191024e7d62397a0ec9ee41b99a5a9542285520f2e1c65","sig_valid":true,"bad_verify":[{"kind":"wrong_signer","signer":1,"other":2,"expected":false}]},
+{"id":274,"sks":["cc7497d2c9256df8f30d1641888e79833be450d559d4ba2e993aa849e66426eb"],"key_sort_input":null,"q":null,"tweaks":[],"tweak_error":null,"aggpk":"030d9dd6acf6908ca54752fd56acf072b9f270d7ef96220074f98596c8587cfca6","gacc_neg":false,"msg":"1e7fa1c2eacd402dcca4597285793863a52174575f883b071280308f9e0b6c05","aggnonce":"03e2f6639d4294f1ac0a2c795bbe149fb347cb727c07de0e27560bcf1796f426b1038b982dd7722463181bd5accf84f51e0669f3bc168c04e165c92f0e39bb10c312","signers":[{"nonce":{"rand":"2fd0edc93d31b1142bde8f4e9c363abd753eb46eea4e0eb8f9e543beba1f4331","bind":2,"extra_in":null},"pubnonce":"03e2f6639d4294f1ac0a2c795bbe149fb347cb727c07de0e27560bcf1796f426b1038b982dd7722463181bd5accf84f51e0669f3bc168c04e165c92f0e39bb10c312","psig":"92b1a26e8a1645d337a3c1fbbc799bf095fb508dcd44b2d012dbf299d9b78c9e"}],"sig":"d6e500c3889b38b077adaa2b322567ab42f90b065e848e0b5420d4b54731f58a92b1a26e8a1645d337a3c1fbbc799bf095fb508dcd44b2d012dbf299d9b78c9e","sig_valid":true,"bad_verify":[{"kind":"zero","signer":0,"other":null,"expected":false}]},
+{"id":275,"sks":["99fe6184cbb324c8bd82f02c385cfa2c2511754b1c32f74d57106617fedd0243","b377dba8d9749f953092759607a42c89469b8c7cf2df3c8bf442374d176c3852"],"key_sort_input":null,"q":"02a6b23824d0ebc98c1eafaf9805f23f215dc3dd72f63cd9956205f2ceb366d96c","tweaks":[{"taproot":"7beb9094950ecfa9c80c8269a0864ed9246a0e33e32e2efd0903924ce2e819a0"},{"xonly":"0000000000000000000000000000000000000000000000000000000000000000"}],"tweak_error":null,"aggpk":"02c01613b87bcd207191d0786ea22d74af1c6d4822decbd091d2c96e8bdf325ee7","gacc_neg":false,"msg":"5bc6e10cf72f34ef93befe7933134eda66c3545ac838185ee34f065773234c37b30bca9c93cba6230f5cc00fffe4dcffe5fb363b0cb1dc1204362f1e","aggnonce":"02ac9261549e8fd9c732cba8ee8dfc44408caecf90990400e5ff11bc990794a49902a35948c94b576a5367158b0c1659b59f3f15d5afa11f36f6f02ff15f43fab237","signers":[{"nonce":{"rand":"2a4cf2eb734cac0f0dc2e23ae877e23d8ad2e190f31575a68c4563525a085018","bind":7,"extra_in":null},"pubnonce":"025890f5371735098973a36c4705f45b96854dc3ff13b24354e4072225df38c0b3031025fe2b1a55ca898392ba35f40d8f015d8a879181c46229df7fa500d66bbd5f","psig":"38209be0996b72abfb1809af9ba5c0af227f4745782f4733e676daf5fdd07a8d"},{"nonce":{"rand":"5b6a14a6721fab45236412e5256569388615202edde882ee87fe0489345553ed","bind":0,"extra_in":""},"pubnonce":"03702012515a90a966ee3622741b06dd48eb5baacbe9076303e45ba8a20f35cbb002a36fb9f8fb718957c2df48ed6fd79a4384fc385bd4f7c06bec2e9f5f93fb7e2c","psig":"f93f82d9757d07c9cc2bd4ae9ecba1ff942980fcab7e027e5d94aa6924ef2911"}],"sig":"bd4859497e139b9bc4b06afba52897685603a7c3407f70ecb4eb72720ea4a8fcd22b38362cd92febb8032412e6820ffbcf1c273e9d222371f6211d90898dd6b2","sig_valid":true,"bad_verify":[{"kind":"swapped_nonces","signer":1,"other":0,"expected":false}]},
+{"id":276,"sks":["eee08037f1579a1c5e779d3e14431b3c651c69ec81fb531ec1cf3423e36b5c0f","eee08037f1579a1c5e779d3e14431b3c651c69ec81fb531ec1cf3423e36b5c0f","eee08037f1579a1c5e779d3e14431b3c651c69ec81fb531ec1cf3423e36b5c0f","eee08037f1579a1c5e779d3e14431b3c651c69ec81fb531ec1cf3423e36b5c0f"],"key_sort_input":["02bd86c043b9607d816323219ccccd740fbd22546c843f0335b307337a89b26fd1","02bd86c043b9607d816323219ccccd740fbd22546c843f0335b307337a89b26fd1","02bd86c043b9607d816323219ccccd740fbd22546c843f0335b307337a89b26fd1","02bd86c043b9607d816323219ccccd740fbd22546c843f0335b307337a89b26fd1"],"q":"0378e3740f69a3388827fab50ebd5a9fdbd9241200b76cf5550443cedf018e5a5b","tweaks":[{"xonly":"fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"},{"xonly":"253549e308c1db556b9bc5020fe7839f6c6504d6d4d1449a175bc988804d9304"}],"tweak_error":null,"aggpk":"03b82c1f0e89d59357c6d059d45d999463ddb293df8b7b35d04dfbb559f1049af1","gacc_neg":false,"msg":"16338e36af4b37cebc3cadf825d37d423631c2b0d32bf0755ea225e72b6f0d","aggnonce":"03e825b0dcef0af2c6ae303e1e524f76dd55591cea021b347791f5e8827e1e508403a35fe94f355e017bc9163b3463e4fa17ace367732867857c52a4e44ca3caf908","signers":[{"nonce":{"rand":"eeb4a33abfa5a47cca4aa43e84a3b04cfa6b2d611379899a5ad15e80efcf421d","bind":4,"extra_in":""},"pubnonce":"028395c8f6ab8cf8d71626207f42ddade835ad50cc1c20040b2848c3147c4a7d9d033f467ef276ce35defd794ed80aabbfaa1417b129a27e3f5e5ea7019ce6be7bba","psig":"2339d7adf16e45767433d8df6d4b2215c87651a62c92a58d7360e8b172a40771"},{"nonce":{"rand":"94de01195f1e20b87f0589909b108c27b794c698425d6f74df6ec6d3f03ba740","bind":5,"extra_in":""},"pubnonce":"029c06c46d4d8f663537b5e26578cb2eb9278abe712b15a728795bc31c4a4a4128039a560035aef1cb363a24b6b8d2e4ccae3e862cf640c91bcaba645034892576aa","psig":"d3802bc3e109e62d6d0d3f96b5e2f992382fe4acd7af45164db439da2631308d"},{"nonce":{"rand":"9957417c3bb8749e65ae9d11b3d608c77b013e0ac19b723fb3d7365460acdcd4","bind":6,"extra_in":""},"pubnonce":"02b97225d2442c7271ec08e7f92b76c531156a9d669656124d7bf00378b086d31a025af5210b3d00d9ca0bc392ce7c639517149260d3c03c0707c8ac4fbcf1e1a8b8","psig":"4479107a95429a70efc586fba043de2e48e4d3241b557164d37fc065ce758f33"},{"nonce":{"rand":"786a59ec7f1ea14a321c62357b3a120fde83b30be05fca02ce5a13ca1c219926","bind":7,"extra_in":""},"pubnonce":"02fa03ef817bd640021e9fc918d5787b0d01a2708eecbf49032f398f2162af8e0802374de94065b1d9e54c9b225dfd7d4b6be6851d55acb66bfe185c8ef6a4b57bb1","psig":"6897a4198628ed7ffc0a2da8e376627d42f6699cc5a720c495443ebf761273eb"}],"sig":"96e2fc4ba8a30a6e3ea1bb13c784f662636552729bb4802c2cc82100aac06762f94f4a232298fddee2b91bf1ccaaebcb223f9651fcf1f192365c1a20a714ba6a","sig_valid":true,"bad_verify":[{"kind":"plus_one","signer":0,"other":null,"expected":false}]},
+{"id":277,"sks":["f950c9dd58d416aae9abb34a2e4009c1e13f7fadfac769ea79cc572f53fe16be","18691ca2de9464af60fd72d7ec0a3a0a4e965de51ebf4ee5bfbfd169f6401f86"],"key_sort_input":null,"q":"03aa8e2428569bb7e20a09436937d9fe8488630cf093aaa6fd6e85ec87447037e0","tweaks":[{"xonly":"c6f463b18806c98588bbd28a319f73b8fccfeb83537c8b07425059c56a0e1856"},{"plain":"84fb7386ec49978da28383aa4741b2c44ae5d9fab59670c3632f221f7b703892"},{"xonly":"ff15c39ed1e0f8b8c5996999774a6df86f2317fbe896ccc880ef9631a60635f9"}],"tweak_error":null,"aggpk":"02fec7f884aef863b6ed6bf30fdd77ec86780dd26bc7bd67f799b7823e067e0ab0","gacc_neg":false,"msg":"31f98e8581574a77cafbbf611baca90001d048eb699a2a8677aee2d95ace349b00","aggnonce":"038aa3562fed9900d5881266be9983b0a79348ce3d6b9b54d5c145220bb53dbf9e02f3f0cb7a35c295ee82f78e582ae8001f2b3e871bade580d3d3ffb59c964b9c6c","signers":[{"nonce":{"rand":"b995504e58e2e19a52ae09d172b223f5d3b74735ee951b13e3252a914d677286","bind":1,"extra_in":"a6624db5d59c7ab279db23b2a2"},"pubnonce":"032de5ebea955cff20db31e50965f62864b4a19932bb18ad952005c9597078e31d0253256cb9e65f28574d467208d13cf6417ba8d419af5538ddebae71e4b1bde219","psig":"409871a6796f1bf89f7da45ca5eb007cbcceadec2d70fe09bce57e00babd967e"},{"nonce":{"rand":"398d24b44fdac96fefdd73af47ef88ac824863c7264b2e8545bf9eab840a2dcd","bind":2,"extra_in":"8134d010aa638312"},"pubnonce":"0243916b49a451b323c14026535dca0aef2c4ebde6fcac4c07325bb6dbb3e9fdf4038660043474f24d8796724a37c2dbf71d83ca56137532399f80a14cf6f4d75f91","psig":"555bac064670dc31608a2c5160da02d503f88ea6cbea130c4b25d6725f5f80fc"}],"sig":"d9a7d8f63a398536e3cfe505cf6572b30fe66819fcfca9a71b33b44c5470ecafd8187311bf891364d90e1bbca74c747bc993c8d5957ba718e750efa5049948b1","sig_valid":true,"bad_verify":[{"kind":"plus_one","signer":0,"other":null,"expected":false}]},
+{"id":278,"sks":["6b4d72d1e7ee86e4c66bdf79937363febbf3337d8568a3a6b62905bd1e1c0173","67abfb84cfec9d54aa51e38dab94ff4f516cf7957559c72b78c26f4b4e59daf1","62c47bd84b3591394c700b157acd7cd8f10aaf6ab791013c90e6d4ca7e89ee8b"],"key_sort_input":null,"q":null,"tweaks":[],"tweak_error":null,"aggpk":"029a34c021b0c2ee764f995c58c3437ba64f21c94f1dbac142b0b9b744db7d7ad3","gacc_neg":false,"msg":"437f591fd67cc7961484ed40123848ec4b3b4a16b9814132b90461bcb04087ed42e2c15038bab26aa6","aggnonce":"03825f7b814c10b820f0601213ecd465b084ed734622fd1e88b39ee5dd1efdffcd023b5f6827977c1524ce3517eb8fe8b8bd44ccf36f83e3a8ba3da84f22b75026b2","signers":[{"nonce":{"rand":"81bdb98849aad7c77016ec26a7ce072728814e78716183c2cbad2eafa8d76f53","bind":6,"extra_in":"8df5c4d723e00dcd7db08e11e9"},"pubnonce":"03378717eaeefc8a8c0670b6141d8e20f66d7924598b8efb5f11e91e874e8dc2ae03bf2f13aa1f7f875378603d3cdcc206d7df80d5bc547ae33b4977540d86672b93","psig":"e52b8a848c5b6e11d5209c90f77fbae4d44e0c9c3b26023f54782871f026983e"},{"nonce":{"rand":"867562474c57c08db9cc75b97b4bf95256760c67f5a69ff63c19e061d03d3981","bind":7,"extra_in":"fac511a75120"},"pubnonce":"035a1ccaa54a928cb0e10ed075567d369a736e958a327abb02ade33a548c1228e302ad392174d63fa3a0745b794719744ee16f9e1405ee9af48c7997267bc3cc790b","psig":"7819e88db5083126c4dcf6e9145a7741f04c5e671de0493b1fb244b8290464ce"},{"nonce":{"rand":"0f2616301d8e8398ec86a1bda7ce08736e708b8e6c7338319f177937bad0358f","bind":0,"extra_in":null},"pubnonce":"0351d396dc52266505874ba084f029f1464cd7d0a941298981b506711c7ff49add0249b433b2105af65d97b4b32beda9ff5c972e9ed8dd155cd99edf15daf96af2eb","psig":"fff7be49539b3115f7adf4343bc265fb5aacb36608de000cadfa02e8154cd6c2"}],"sig":"c37e7d10fe2dd2c5192c9bfab4c82b89a3b6483a05227c3b3e067c718369edd15d3d315b94fed04e91ab87ae479c9824a9e9649c03530b0fa27fb2f88e0b514c","sig_valid":true,"bad_verify":[{"kind":"zero","signer":0,"other":null,"expected":false}]},
+{"id":279,"sks":["d1c30ca562ff0bf814be564691ef366463a9d822be58d330b88c22b99446b082","0c57329c68989302c38531671901c4c6d1bb770544a04191f5507702c5d78970","7fc57cb51e88a24681c564706be7a5b5a09db13b9f3eb679914a6bb8048dfc05","5cfc4284083c01e92f531b76a31b7cb6c9a310bc7a287b8285a0a906119edfcb","c0003a621b11c773efc51cdcb0f6dc0fde45fbef9525d1e8ebbd15112e4fa553"],"key_sort_input":null,"q":"024e1fbf5d70fc6454c69ba8002243f87735a2347e772b5f73ea504ed6e5d984bc","tweaks":[{"xonly":"00000000000000000000000000000000000000000000000000000000000001e8"}],"tweak_error":null,"aggpk":"036eddf5d8974ce011d822aab22bdbea52e1940bba995a4b8a7de69545980e8c8c","gacc_neg":false,"msg":"94bb661e0e8ff0914a81510880e9eba6c85f0de68ed98c6168e0fb218a32a9cd72954c0c7e021b5d8dfe2526","aggnonce":"02b7378e3a91fe338eb490b5f2102d03bd3b108c8914629b41a290429b636cfe2102e5d18e7083993702d032020c24fa3480c0c2e42b2b094d97ee92226a767ca131","signers":[{"nonce":{"rand":"73c9bb1f767b84760ebd20561db654dc343362ea85573c12d97efbc00cd7160d","bind":3,"extra_in":null},"pubnonce":"02692a87f38f5d380dcef66e0f3fc28cd85e7fa0b57ec19c256af334666886f39d025a6f4339d423a2ad0492df5a475491db76d06e36b533c7518a5b9cc9737dedcf","psig":"1fccca4fd1ee0dcbfd998a4f9eb6aaa78ba9ea62fd9ff04cbbf9c6e2ce7c6756"},{"nonce":{"rand":"366d8d318ebadf6458b5249a035329e738d6f943c35ae9c2fc28285944276fa2","bind":4,"extra_in":null},"pubnonce":"03c3396c84606a8d66b670813e74c2676947712f51b5d764e54d284b4009aea2d10289f7c32a519f6b5bbbb53b24ef1e65721158fe3f0f828637c4d2e703d8635a37","psig":"058750aaa79bc48bb2b2a80e40f98410ee17988e347127e557d121e397199d92"},{"nonce":{"rand":"ddeb0b919ae370c1ec03357a8b7e1535471aa91ca7eef3e23a95c23f99b285d5","bind":5,"extra_in":null},"pubnonce":"03072589fcbd6673c63e453625e4c4e39dc8843e65e2d84086822fa2ac409a9c67039dc44731d7334c90007a0432e565e240cf69e71024434eab785c5b5e27bd4a81","psig":"23f355a183ae13a826e6f67faac3ad0e7d7f152f949e97b99459d5dbeed30bf0"},{"nonce":{"rand":"30cf73882ab3e1f3cc0bd3c6c46fb15092d330832dc2a82c7572ed7924384def","bind":6,"extra_in":null},"pubnonce":"0369190695b1f238653405a97e01d71c5f483cb63a1e4c9c35a4ef4bde51a22e6703c3ecc228669e61de6043a9a1cb28d7ab003e9e17f432416e23488731a8e3fa23","psig":"28ea5b1e6240d822b25a9dedd12a5b1c31c63c46f9c6144dd973dc516dd0c488"},{"nonce":{"det_rand":null},"pubnonce":"03bd927c7cb29c14ee88dfd1fb79b613fdbd754a26e32eeb8115548fbffe7e2066020c27c371389fef9f916b4724cf0bd9959fa951f7c6c0ccf0b79222f9d354d1f2","psig":"2a9e4104ec9c73a5bf833fdcf2762f1396e45a73ae367e8d0b7a45c18f1d8a3d"}],"sig":"6ee8b634a89314130261c377e4a5f0b90ad29a9114434bff9ee769d830da7994a15c8d46dc4cd29dc0c63d7d702ff3bede8d1f6604c8800bb4238c6130edb455","sig_valid":true,"bad_verify":[{"kind":"zero","signer":0,"other":null,"expected":false}]},
+{"id":280,"sks":["6ce6f9b16ceb1d77894ed75b2062f7369a17db724530be1c5a7239d7b132e0b9"],"key_sort_input":null,"q":"03a203fd8df0b7dc59e2144d4e90afa607616acbc1514fa58b71bee2627427447a","tweaks":[{"plain":"0000000000000000000000000000000000000000000000000000000000000000"}],"tweak_error":null,"aggpk":"03a203fd8df0b7dc59e2144d4e90afa607616acbc1514fa58b71bee2627427447a","gacc_neg":false,"msg":"","aggnonce":"02c5cc1d44d13ea179fe2fcd5d784b1cc4cf210d388eef14ca19a17464687e2a92029347477aa5cae6b9f8c7707aa7b07d09fe4575c7275cfb2411764986c2d24455","signers":[{"nonce":{"rand":"8c06fe4c87446d376d14c9b6e4eaed0543e61c81e76bc3b57274ebca325f1424","bind":0,"extra_in":""},"pubnonce":"02c5cc1d44d13ea179fe2fcd5d784b1cc4cf210d388eef14ca19a17464687e2a92029347477aa5cae6b9f8c7707aa7b07d09fe4575c7275cfb2411764986c2d24455","psig":"2e172abe2db4c27604ccbc9db26ec67314f0fd2478380adc909d794799f279e1"}],"sig":"2bb3e0513c830e5e8db847984ddcece75af356710bdadc42730d5c3b8002865f2e172abe2db4c27604ccbc9db26ec67314f0fd2478380adc909d794799f279e1","sig_valid":true,"bad_verify":[{"kind":"plus_one","signer":0,"other":null,"expected":false}]},
+{"id":281,"sks":["b63aff31be56232a6806d54e0c36f13628f55a24bcd97e8ef23d0ce1cd7f4616","3a0c3da2947c655becb708390cf92496c67fa227736fa0047d401efa982a475d"],"key_sort_input":["0223e019faccf0a5f367f8cb5bf89ee22a64cca7ef0f55acdb7c1dc7b391b1b0a3","0220bba020041162e4fb7fc9cc3edcc22ddc33105efe8865cecab21ce81b6eb14b"],"q":null,"tweaks":[],"tweak_error":null,"aggpk":"0249e8db5cef259f4efb58c9169fc8b50c7cbc1702a12dca1e6d2f48c64faa3aa4","gacc_neg":false,"msg":"e1885aa438357b4262e4f73688a0656db8da4d78111d5abe2cf07e951fc3328a9dae10f16fa91c54c0614a97b964132f2a864f515d6234e3d0746307ce8b04cefff9151de317c2f98e7c78dcf9a5acaff58028d435b006af06f75f2d8705312496e353e83c308fd4264b7d440407547115e704787b06d1b4c3e0eee4acec725c8610c93180aaadbd9280da085595392c789e6cecbe549c6cc5a55267a4e66151a4bbeadd8afa15891191c7cda10e87b4ccf6ce38b5868f207d69070e1003253e9b83dbcd3a61f4b7afbd80c9eb5e614b86681bc935e9ea03a6ce0784974a683759a3ebbd1e7732f5ffc02812434ff7cd526d73c9c25480fc258a387d35374be69d1e92f18b08fd2a6d7eea68e5c19fa43687473eb796de55","aggnonce":"000000000000000000000000000000000000000000000000000000000000000000033452eb9f81b99f64978d8a4d29728e4309c9661644cdef3d5c5c19900c8fa0c9","signers":[{"nonce":{"rand":"7562e5bce4373291ddff7787a04d9a252d21eca65f1dd55fe51be2f0cd3c20fc","bind":5,"extra_in":""},"pubnonce":"0316aa2721041353babb8b2ffb7ef8bd19ecf7a26437fdc139bc5d75bea1c43228037b39951b0eacf74b02aeadfd6f16326839d9d0b1c19e6dba68fc102a80972198","psig":"db713c89e22b77c4ba5af63ec8ad05ba1e7200577e4c7914eb765293a29bcf50"},{"nonce":{"secnonce":"9fba718ed0a12aacf01dcb6d93252147d42babba1cc401ec9bf68e485810995bddad95dd69866bf4c930f59bd1d8c3e9db6feda92e9a52f0109f0fb0d2d3ba7c0223e019faccf0a5f367f8cb5bf89ee22a64cca7ef0f55acdb7c1dc7b391b1b0a3"},"pubnonce":"0216aa2721041353babb8b2ffb7ef8bd19ecf7a26437fdc139bc5d75bea1c4322802dd6a4cd5004a29468fcb0f2373662626d341165b29feabe545f87c335de2c5cb","psig":"594925eac546918eb7fcb3e757e176d8a32677af004ba478a60682c99295ae85"}],"sig":"b0b47c20379cf842a058e0ab79dd690af1bbb5ab12bf9698141ff8c94e5e741e34ba6274a77209537257aa26208e7c9406e99b1fcf4f7d51d1aa76d064fb3c94","sig_valid":true,"bad_verify":[{"kind":"out_of_range","signer":0,"other":null,"expected":false}]},
+{"id":282,"sks":["df04012cc5a6570102a7efff48192cba791c79fd59f28c6654d0f387b5a49b60","10aa877627690bd04a327144d50914756803139ae7277320706fe226a26ff604","2f38a198ddbf746d0faae5f4d1fffe999889f4337e0f8d5659341752669eab4b"],"key_sort_input":null,"q":"02a705eaaa0d1265c2de9b1ff278cca69868e67d358ec72383399b45b7eee07faa","tweaks":[{"taproot":"dafc28373904835a55d11d65912e7904e518d9ccf63377b0e4c51aeabf211338"},{"plain":"2160c3849f09e94f517ab4d73aaa55a661efe35e70968957634a2153443863a0"},{"xonly":"0000000000000000000000000000000000000000000000000000000000000000"},{"xonly":"fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"}],"tweak_error":null,"aggpk":"0235491f8bf947a57c64ce0b0e1488ce42ce62ad8a23ae15dd5ad0980dcdb61c20","gacc_neg":false,"msg":"e5dacfaf6ef477a67278041dd3f4b52fc108e03cca8766b998f7a240c7589b0b","aggnonce":"02e38933d28e789b9ec5e24e696c8170dee30cce8047eb5a427a5f9017f9c2d39e000000000000000000000000000000000000000000000000000000000000000000","signers":[{"nonce":{"rand":"16e9cec3f01288526e222cc1e9aac94d0a7baf6db6059a3f7e4273b859d3f59d","bind":2,"extra_in":"a34887bb4bea1b"},"pubnonce":"0381f169e04f64316b801ca264cfde081f6613bb8910a203f5966ad9d22f278fb303aef0308b928565d9d848d8519775e9072b18f5110088e22484ca9d83ceb3f845","psig":"dac292d64e133cf41c591a15b58543af0f355595af3f862979fe134995738e3c"},{"nonce":{"rand":"212a604b4748679385e01813d447f9b0b8ee7901ba623b85d14522b932667654","bind":3,"extra_in":"39df93b9"},"pubnonce":"022bd52f29450f70d197a1dc729f015f3ea07ab93a62e46a478878cc23a56ace63032cceeda06d77a24e1d84ede735858e9191a378406d9090a086677936e8d19987","psig":"20d5aca5653aee1ebb859cce956dff0d2e9729fccf192faa8115e0755067fd6a"},{"nonce":{"secnonce":"5f7cac49c2cd455233c822dc5cf1a63f9aca3e60e29092b05c5492822308543abb6d86a49c5525cf711dd23beab6402bc800cd67dcdbcada2a703cf96195ca3903ab74ad5c009e51d4f37a96c8a042fef9851c38ca7fea6b7af03b4eb34597c346"},"pubnonce":"0366ba8a74fdacf16b142b9abeb9f65c91241ce1ac98f6d360cd719d35c31fb9ba02474884e1118506bec5be6377a3566816887685123897496ab53faa476d114fa2","psig":"2e812dceb3ebfc90f8413222a31feace7a3e30c1952d92264850a9034f738729"}],"sig":"e38933d28e789b9ec5e24e696c8170dee30cce8047eb5a427a5f9017f9c2d39ee2594ee2a649f87426c915177df6c2778deb9ed37b46563fef7c4829ffe407bd","sig_valid":true,"bad_verify":[{"kind":"wrong_msg","signer":0,"other":null,"expected":false}]},
+{"id":283,"sks":["edd060ae3f817d2ad36dc946ba44807599179847e9d7cc182ea4e6ef9b0e6f98","b1f4585f5ebadb1a59e851ab482d017cc65bfac408d505568347189846da7800","35714cabfe278fd96b5f08180254f552ff23d3e25fc1c284c4ce06b58343aced","bb4a3853a06609a3dff885cafb05582569e40f988c4ab8efcb45d369a326ef79","f6e9c1067cb5320fad68522a3888b0768e8dba556d48108b452a916efc8b0085","f2a997e066093e40900b5836cf220f2a55a4d4b91a63386190ce472d62a66478"],"key_sort_input":null,"q":"038d7389d9f36ff14d5279fdae34629c4871f0870bc9fa1ed010f523adacc3fce6","tweaks":[{"plain":"00000000000000000000000000000000000000000000000000000000000002a7"},{"taproot":"c54861e8097b0c85385241b902ee05c7654cf9da32ff8f3faf77cbf18ec0ae53"}],"tweak_error":null,"aggpk":"0307ef12dbcb0029bfdb79addc1ca6626621db9f4ae8a768f151c4186f98ae5d21","gacc_neg":false,"msg":"3f6515d5c2e10ef2da494f72bcd325bd93abd7222cd595554e6c2f98f84f806f","aggnonce":"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","signers":[{"nonce":{"rand":"018ee3dc6fa46ebbdf700895d09c7a231fb92741099a11dd7c8bd4010925473f","bind":7,"extra_in":"586b1252cef7e0bc4cfdb9c2"},"pubnonce":"028f7cdd31d88a117714bf1f94ee7d6d9fabd40f0d2b477a356f37a0b44b2ccb5f021e34384c8f7edd0ab26fe4e89f83a2eef969365f26dbd11e994c9fe82f91f51b","psig":"31dd0cfb97885adc8273828f776c1d5875a75ff379207d31cd0135de538ea902"},{"nonce":{"rand":"9e07db9fabbb62bb2860273f01fac17b49bbbb39c3764b3e59f671cc2906ebc2","bind":0,"extra_in":null},"pubnonce":"02f86082f27d46d55ddbfd55c9146703e8f0885ea18c47e68363c977d05e58e4b2036cbfed1f2a465269227e3520a1f6e5ef00ab7e8948cca986719ad27620d7a9b1","psig":"eb8e9e3ed86776388ebbfbafda3478e905433f858e58c26aea618e10c9705a6c"},{"nonce":{"rand":"3f4229435876120ee54b1ba98dbe4ee4a111030bc3ac74564c1af53b049918c3","bind":1,"extra_in":null},"pubnonce":"034967e7e4c4229cb9a7964dceb04190cf14c70f209e22142e12508beed4e570000246321f2c6640b454678515e03b1f035058fb0334f0a5933cba542467aeb75d1f","psig":"a2a305c4050cd03881aa65fd7ab14628eb9d5e6908169d7a9205f83cd0b7060b"},{"nonce":{"rand":"9069e86ec5f4186631a9add2c21ab5af0516b2cd7b87504647b5c9832d45e4fa","bind":2,"extra_in":null},"pubnonce":"03f74718e9a470f1b68688a01a6891148a9dc01092efb6322988a7e217a0f17609024c24f5e74e4fbe627618afaec15241f1c30726ca6561c4db35ca7e8d82031d9d","psig":"8d9b5bcf5604dbdd3152b4b70bf3fef81e910d4e5cee20c223d31994274dc303"},{"nonce":{"rand":"69ad6e114d14f80f59ae3d3db580a3b06f68b589713d38309008642d3a018f17","bind":3,"extra_in":null},"pubnonce":"0234d73369b60f51a0995520ef1e76a29cdd2e1adf7efcca8114f73f794b889cb402ca50c1b393ad6bed5655285d68b257ea6efeb996567547fd5dbdd18e876d846c","psig":"f5d0bf2513e9aff841971557b21fca7631e930afc2f346456996c9ee3ba1dd67"},{"nonce":{"secnonce":"5c3a67a0b7ec6e4d69f303cf85312ed3a6d54f0c3992564895ccf997ce05769d3131a8909eb06ad693a61a5117e97dd1e36c03e195356348db26e887e4b8b3c6032031c2cf7a90c4433be296f61bcec03e1d4ce44175f18bbf2ff0cc90b907c4f7"},"pubnonce":"0336cd92061febbe041dc1faa35381ddeacc227931e687d135e3745e7acb814870022bf050a56b752ab277b6c457d3bba3328a4630cf1da57b2b4100f5e679f85e37","psig":"cf3109dfd376a95d46266bf328107dc3261a3f8597e6fea7b468c0a3f6ab5841"}],"sig":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f8179893c74089879a37cf307eeff4db69b684dbb692af0370637155bb2052dcb2a8ed","sig_valid":false,"bad_verify":[{"kind":"wrong_msg","signer":3,"other":null,"expected":false}]},
+{"id":284,"sks":["7c18f857451bdc39e1b4b03e3c07010737f25dae74dbf55c3e5f95e2926ebcb0","7c18f857451bdc39e1b4b03e3c07010737f25dae74dbf55c3e5f95e2926ebcb0"],"key_sort_input":null,"q":"03654cd2e245f23986b57910f79b3393bb54031ab0255d086cc3598eda11fa93c4","tweaks":[{"xonly":"11b21d2f72e7b5250debd81701a142741cb0d42cbde8c49e0b0a39ce99407c91"},{"xonly":"00000000000000000000000000000000000000000000000000000000000000d2"},{"taproot":"61ee55f8336d3001106a3601d94268335b0f7c061579daadf4e41198d093450a"}],"tweak_error":null,"aggpk":"021c497da830b9848c6e03be862bd69997dd8d2e3dd81896b4302b57473cfa0447","gacc_neg":true,"msg":"c6d7ca4e1ab76f33dcc2d0484c6be3ce4a536b4170659f49840c22aeae665e05","aggnonce":"02c19bcc78ea2c13c0a93a4639919e4e94b2de6e690e2c436a9c2529884e05a8d30284e52e3c2aae607c70d0454746d1ab4c062059debc818c6aee7f4d55ddba9435","signers":[{"nonce":{"rand":"650f129b94d471d5bb169d0bf902a50348ce9e70de2450b0cd77d7a096f9167b","bind":4,"extra_in":null},"pubnonce":"02ba65fb539802ea2c34c9b9eb86a8026c3dfdfa45a054ed216b0b91e4b6658dde02ead3cf7db1b15369ff07707fa3530925715112381f3360390b15e4473e26c6e6","psig":"9db26049e7b938b9629224d5f411d8745b77cfe6c5b70e804f8356592c93f4b3"},{"nonce":{"rand":"8c94ef9e2b7485c199508d8c4d751b212e82cccd50f23515d2b289317dfc89e3","bind":5,"extra_in":null},"pubnonce":"0328405e5c7e0e98247e0847ff2f39801ad3a1a2c947bdacc593836a2838758bf803410a3e4001d43fdf822c07bbfb622f9bd74d32cc100af29d19440fde6344fa72","psig":"a487c9d458eaece494929d64f9283dc08d0ce3f9644acc53d10b4a876cee6767"}],"sig":"c5ba1552c4c4fa3f7c9b58951e8bceebe7342762e6be6428ba36b6ee2b3cc341bc6a13d851caa6444f9a567bc80a68646b9a6c4cfe63c4c90e30c72b2e130e80","sig_valid":true,"bad_verify":[{"kind":"wrong_signer","signer":1,"other":0,"expected":false}]},
+{"id":285,"sks":["80ce826639ffa8dc391744675747eeacf97868c52a32eb48e1bfb63ffe32d757"],"key_sort_input":null,"q":"03728816b992b07fc03c0b45cb9a99672eb6ca3093e6b39356d532f072df2e1fbe","tweaks":[{"taproot":null},{"taproot":"583fd0affe245df4a7372891b53d06f02307fffc2bef8b1d48140ec505fe800e"}],"tweak_error":null,"aggpk":"038765685693fcb758c6979c15d057fe71d26f382a46a96183ad94fe2ae37d8da3","gacc_neg":true,"msg":"fd41d03b9e0f2af543dc7a7a9aada1d90530f474","aggnonce":"029626023667d5e1ad844adefc498b6c73db88699823fd7b93dc24a34e86a00e7d03b6fd1b81586ea8c2edbf69ad312e1d8ca03e5da81b88cb3bedfdcaf1e7d4f118","signers":[{"nonce":{"rand":"cd231a7d1af58aa81bc2e8e9935d195fa8470a922c91421761c73ae4b55ace7a","bind":1,"extra_in":""},"pubnonce":"029626023667d5e1ad844adefc498b6c73db88699823fd7b93dc24a34e86a00e7d03b6fd1b81586ea8c2edbf69ad312e1d8ca03e5da81b88cb3bedfdcaf1e7d4f118","psig":"e010ec46bf28313bcfeca8984e51b0bae68fbd3ad9a026c2a25077ee92dae8cf"}],"sig":"cd97eaaa501dc3d2cd0016df9fb3e48ceeea4b11bcab95df131ccf31d161d27b9c5cacd47a28e689432323b58082504c605a0610ade7e1227087aba680e50713","sig_valid":true,"bad_verify":[{"kind":"out_of_range","signer":0,"other":null,"expected":false}]},
+{"id":286,"sks":["f5e79f6aa06a279077c2265f28ba414b653cdd424589b8960d799d1060b6f220","07c4dec10588616058034869a295f3696592baa748ea85a833447b2beedaa7a9"],"key_sort_input":["036dbc7ab42d8473fd5558d703c8c08070f6a93ce7020ef08b8f7a9fb86cb258df","03739a6c8f4aa4c67f3394c18ff47ca38a370ed79658e1347a53b2e75ffda90153"],"q":"032a4a1d5e1001c030296b466fd72cb2cfae6a45ee4ff31857018aac05ed04cd14","tweaks":[{"xonly":"fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"},{"xonly":"33a51ec6c1586d414f4e158f9c5a9d48cdc5d75dd1a0b91364db22ce67d6b50f"}],"tweak_error":null,"aggpk":"03d393e345c56ccca3d0fa4ce5f06e020a4a0269e063a9cf9060e58fa103fb5849","gacc_neg":true,"msg":"155678833b2a3720aa86479f5ac7c06371222a3afb795260861677d81dbab5dcc62c5dd3b8708b43dafa1f63d2dd3b","aggnonce":"021cff6d6eeb147869c731abd33133da1da358db313e912da825555891ab5dc15a0295b2de5b720eeec687c61397fbf372579ac562c48404e63b3d8ee274c156b9ac","signers":[{"nonce":{"rand":"d893a6f6bee6bcf72e725deec861c45fb89cf848f8d1f960dd732213b0572c6e","bind":6,"extra_in":""},"pubnonce":"03093fc55d6ec89fd43b913eb58af45202605efa186df3304b4e127b2494d094100242aeeef89abd6a3a270e1b2c28c43c1524f10b9480de62f48f31cc93a2eff1b0","psig":"44e6713e4d158e6f168ebcc410068474641827590d9c0a7027b6c2ddab345dc8"},{"nonce":{"rand":"4a3fa3cdf43ba797db6d83e465cae2a29319592a77ae9fa53d085ce56f596bc1","bind":7,"extra_in":""},"pubnonce":"032dc1c5a756153ec7af93f4c1741defb414abd8ec572688642a0867f98accb5b5030e4829d594df9ee6df7e4ae658a440771012a5893352fc57eb6d6078a9fb3833","psig":"321c9c5981f243ab6ebad45c515c9cb0e8f850bdb9222cdf19f474135d0cf548"}],"sig":"3f3f742bec19c622c0f0ee946867f0e9c38996a2750793f2dd95e90ffc2718ee65673c935bbb7bf1cd4610703b44d7ecabb01ef5a3866e8e59fca7f174339fd3","sig_valid":true,"bad_verify":[{"kind":"swapped_nonces","signer":0,"other":1,"expected":false}]},
+{"id":287,"sks":["4df54f51c669bdea108d04fe4edfcbd10c8acc05f06dcc6cdc91dc210e1ea69a","9b5c45d26110f21e89a62955f449b8b81ae48581baf9f3c96dee13f91b3195b5","9bcae0134939a423b2c81d4a92df528e33d58d19ceebe8b67227abc0a8770bc7"],"key_sort_input":null,"q":"020f7de9caddf1e33f2cf41caa78dc5a27f39e4278061b08576eee455d3ad55b6c","tweaks":[{"xonly":"0000000000000000000000000000000000000000000000000000000000000000"},{"xonly":"fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"},{"taproot":null},{"xonly":"817291d94d3f5a95733f6711df696fd734e47625a29ad158bf7961254e40510c"}],"tweak_error":null,"aggpk":"0211014a874288bbb771d313083b7a2477c5ab0201a2ecce2a11444e4ed2be13f5","gacc_neg":true,"msg":"cb588f5cd21a02ab35acb909e9bdf26dfbd0f03d238e9b47d0c5ca","aggnonce":"02687e04124409bed2959382592063f887d7eda2e3166b8cbe3368d9e6430684f10345c74b480a8a01b640a3ee24a80ad08c49f1652addde19a474aeec3660217d21","signers":[{"nonce":{"rand":"eed3172cddbebe80736dd792663c866770bb01c70b29733c89fe2c5e084f5459","bind":3,"extra_in":"87c6ae"},"pubnonce":"02fd09e44877851809ac7b20d23139b0e54c2824c2fa112ebd2b6f2a52bfdad01603457b8240e5446099c3a2a70357520ed31d9fb225cb8d2d98e0f88eaa3a099a21","psig":"962d43c281df2dcaea1655125abf8805000bb0ed455d7e4a37da707a69368e9e"},{"nonce":{"rand":"e2e43ddd56846a9676552a666cd2ff33eb48597bf6b198c52696fa092f9cc1cd","bind":4,"extra_in":"4e855531242ebb2cca9ff78292"},"pubnonce":"03c734c14d2d5c24b722bb76db8d959e3a25329675a01b4597e431a3388f15da7702ea936af8fa9c3613cca74bcd81f7974615b65cdc1b9f7bcdc109619c43fef46a","psig":"2f3cca3630846bd9d96e6f5084bde8700f02cbdf207f93cac730393d9586ae2d"},{"nonce":{"rand":"7f438ce9403ea705714f9d4f9e92aeac744cb52102bde55194c93c599aaeb881","bind":5,"extra_in":"3b01207569"},"pubnonce":"0305cd24067fa6d3fce6ef431bbe9fdc00f9734c557cbd1d20913015b9828f3b5002532f169697757b3be54e5865511e50c735ba11fc8fec735b8388a6a43fd6e0b4","psig":"3a8937bbf6bd1ebb83e62bec9a91f898ad53560a6d1428a3cca0eaf4155f7a86"}],"sig":"ecd2656019a8bbfdd0188169f4fb46830bc4efa70982bfb6499b11f2af3ffb4291073058b16b437f827c0384eda9f792b2b4bbb66a3ddfd061d1fc088789cb45","sig_valid":true,"bad_verify":[{"kind":"swapped_nonces","signer":2,"other":0,"expected":false}]},
+{"id":288,"sks":["e5ace18169f83da23aa7dfaabfeeabec03ef7471ccfb36dcd216ce534e710c8d","e5ace18169f83da23aa7dfaabfeeabec03ef7471ccfb36dcd216ce534e710c8d"],"key_sort_input":null,"q":"03a29689d020684fe8d99ab8244ea70ebf930ea5fcfe446c68d2b5a1911f602a42","tweaks":[{"xonly":"f00120da8aac5ee7a58bfd41fbd2440ebc9b874aa2d01c6db8b58f87f03ff75c"},{"plain":"ff84ac19fc78e07a555ce07bdd66ed047c646fa2c635c7d354dbcc292d836f29"},{"xonly":"feb29dc2ba68e7a0f7aa9891661d6145bed7ee8b30d9774a5f2b9395a6cccbe2"}],"tweak_error":null,"aggpk":"0369ff794a99d62d3b135b8a2888c23e5ad2d0fbc02ade6a27e801900b17b95956","gacc_neg":true,"msg":"71425405122967d0904c4ab082b6e892e99461096264854ee2509548ca7d3ba49e3f3fedfa36fa8dcc28db559b09e7ca05b76d9061c4c8b217","aggnonce":"02c7e4b205bab3974518d4e97d0a77a307af87d5108e25160157ef6e5c860531a702cd71137dd86b59ed88cf8b293d69b560adcc8d8bdad276a84592df65090469be","signers":[{"nonce":{"rand":"1f8621fd5512036a7c436630e0bcd66015c64a216852c4f81ca89e822bca4298","bind":0,"extra_in":null},"pubnonce":"02d604b3147483838554445881dceae2b583fcdc3ca18f396e465159883e2b3a0e03ee8fc8203ab217b193a1e6310eb07df90c22cbbf437ea41254e077eb56a3f649","psig":"55cd1ac768ef9761bdd3a6e9c5785de75f64768122f2ae58e662e0ca91b8924d"},{"nonce":{"rand":"43f6b18de190c7719547c846a56696cab2c5e1667cc9e0b463d5c717effe267a","bind":1,"extra_in":null},"pubnonce":"022c2cecfd9260130f03ec3134f232fc5cf2cbcce820b8cd126cd0f68601bfe25c0258f49a87995cdcb4a5db68811b484ad39c699fcaebfcae6724d349e562d66930","psig":"369da50c488b0f92bb5c633520ab8d9164d971d8342b85d4f6a2a3824ea74fdd"}],"sig":"23a6f583c1ad20c01b9cdf442fb54f4608606108cc4b7a8035d3568dd5d329bb08abce67da81f70518459223056937ed0337943c7066627d9df48c03a685dfb8","sig_valid":true,"bad_verify":[{"kind":"plus_one","signer":0,"other":null,"expected":false}]},
+{"id":289,"sks":["408a806e74df30f9bf9c9546fd0ed58a25a34c20c62ac314a295cf9b1c231114","efbce90deca003f0c2244557535ee52622983a5bfc755f6e707c6ba30ebcbaf5","79d19913d7902e8339a780ebdd7b2b101143e441a00b52c93a66d0a861ad0803","b5eb42d6411658d92b4ce396601138d3fe36c695a44bea486ab39116a4005d80","d118e79c084202562e69f8a1a1f1b9d65bf25c66854169e33520c5c097fbf01f","e81037f7a30d3e7be023f6f7a131420cadf2d6b70d7612b371365d5a60b80bf1","6626f243f28ffac8d307cac1cc123ce3154bab4994dff68247cae82b0e048678"],"key_sort_input":null,"q":null,"tweaks":[],"tweak_error":null,"aggpk":"035517998204736ce6a23cc3707a99e60d02e2e881b61cba1bd610f14fab8af8ec","gacc_neg":false,"msg":"1e7e27087769efbaeede5cfc808d03514591c3d512a9711189913f053683048ccaf21a313b4083c8ae7cc8c68135","aggnonce":"0397eb8a6d75dc1d0a4d15b889c96186ccd9197b0069b49886169e68fc6d2d8075023a23f2b8beb8936e09738ca50cdd36bab7e8eeb14d1445a4a5e119ffbbd0f4ab","signers":[{"nonce":{"rand":"d7a7590cd4901e4285e4a415a125198955bd16a765292c763c93512876ecc690","bind":5,"extra_in":null},"pubnonce":"023e07daceea17c13d1afe1a2d44c4b62bbb9367c6a2c9dfb38831a9f682b8d91b02454bbfd2c842bf65f8cc2886a109414144d3623c62b0291edcd5187ee431116f","psig":"38ac4a698a54046c9963659bb5ce336197e037c4930c35dee0f82c979d536fbd"},{"nonce":{"rand":"ac9dbf096e74c95ffb10ead59a0ac3b781905f493166f887ac63bc3ce8f744e2","bind":6,"extra_in":null},"pubnonce":"035bc651423bdf0e7183b8645fd69a522ba1520bf195a66eec2686e6135bd36afb021fa8af8801b06850ec4ac35fe54011da5cc4fa059e03ed8d4f10e58246ae3ad2","psig":"45b520d980c6e5c848ebdbdee756e57ad57e26b313cd1af18cc91097c3bb7a79"},{"nonce":{"rand":"3cf285a66e56ed0585a4b7cac552e5fbcd734c76ee337fc262bff538d7de9717","bind":7,"extra_in":null},"pubnonce":"02175c3611b3ccbd406dec5a045f9a6753650d5d6a0d4decd7bca3c4743d432c1503f924c68318eef22e9f152a4879b150a1afb8529ca6057799e8ceda1854c9ffc7","psig":"870eb2a0f6440f9976e8c969ebe239d1ad097befe492997af9076ff526a204e9"},{"nonce":{"rand":"ff4fd824314051ff1c470ca7d0fdafc657e02a216c64f0ba55e3ee6c6b2b2ce7","bind":0,"extra_in":""},"pubnonce":"023a847d77feeab7a162dece35d2689a5e434d30e7f343ea85ede4b06bf2fd9a5403df7115c531cc83190327d6115f4f02a01866b3566b655ff8ccf4dd822074dca2","psig":"7cc464b9bd84c0271e449ff65c9f1b5041c8145b3b1e2dfcf539062adb166654"},{"nonce":{"rand":"0dc543ea7c15496139d6cbaaf4203c700a020c63d4926c9f5627aa49b3fe6090","bind":1,"extra_in":""},"pubnonce":"03e2cb38f6cff1c2b9ea0b95f53abdf31b1cab21bb576e6a8a0daa802e415237c303da60a2c98973fc18866f559a5bdf95e48111cf71da2231e89dd557dd6f71fd89","psig":"618d4f8bdc886e2f41141ece06cf7e091b65fb7b10bdb165af2844cc2efffe61"},{"nonce":{"rand":"5ec1588b6e98786ee8a8a22605f6f8f7f7263221b5129ecbe290b89c17f9ad9c","bind":2,"extra_in":""},"pubnonce":"03176ca542c77d2ea5faad691fea2083ef0bcf54553ab91d905e5f681bdcf730b202164ff5007ae8ce7ec26ac8b4f20d12eea2d8791efd6180c93b13ca3107215ae3","psig":"ca9136cd3bd478ece0612169af3d17346bb1d4b5ac2cbc8ae33febeaf7bc0ec5"},{"nonce":{"rand":"973159145267b4c1b33691085a43a0a14fc5b8f7a947337fc11f34ac4e12461a","bind":3,"extra_in":""},"pubnonce":"025b9fd9535b11500bb859621d351e72852d9404d21acf3f127436aaa8f8447dd6029c81dd3524db9340578788daf5aee0da39a8683b86a6e04574eb6bae68310706","psig":"fbc8d0979b4461bc04c1449878021a97fab41bbd216f834387aefd420d86ec24"}],"sig":"3d4c92622524beca3d0fc6a023ee7c26fdbb90644aaadc31e9dbff297d67f5b0aa1bd98e728502cd9db32fab13b51dd7adef43fc970a28c936a1c5a226678afa","sig_valid":true,"bad_verify":[{"kind":"plus_one","signer":0,"other":null,"expected":false}]},
+{"id":290,"sks":["739d05122d979c8c7e6ddf3278d5f4c7f6ea7192fbf9669daadc27dfe4f63de8"],"key_sort_input":null,"q":"03eb4dbc33f28dfe23b9c861bab918ab5bd30238e27fd9c442a1f1d38395c08c82","tweaks":[{"xonly":"0000000000000000000000000000000000000000000000000000000000000091"},{"xonly":"0000000000000000000000000000000000000000000000000000000000000000"},{"taproot":"f8fab88cf21ea23875ddf26d144cc77dda45f202720c23c1b25fb4fd4ebf8933"}],"tweak_error":null,"aggpk":"03b1c60af28017e9b4d44d6f2f812b20f8dd1dc36b5f87b76e6c14f10660eeb1f6","gacc_neg":false,"msg":"","aggnonce":"023ede87ca58f64f89feee9d5357f8d779a79e62f5c9c0a5bbe354e3d69b2f5f7402a1bf1394bf9e7a365ed83235dcccb88f7fb6fa3df1ad43d3c1608ec648fcba57","signers":[{"nonce":{"rand":"3cb7c7a11a0eb766ff52ad0c020119d9fe68edfdd3f19904e8e77a9a75a8bd55","bind":2,"extra_in":""},"pubnonce":"023ede87ca58f64f89feee9d5357f8d779a79e62f5c9c0a5bbe354e3d69b2f5f7402a1bf1394bf9e7a365ed83235dcccb88f7fb6fa3df1ad43d3c1608ec648fcba57","psig":"84f707929a2898d1c5c5225d8d7f3965fc20b863ab6768e90764b2ee329c46f9"}],"sig":"f0a61974faa1e1d2c8124d57d17797f2e00389cf0407ee9395b3184e16afcf559a19209e0ac4d1cffc66b2d536bc1d98dadd24af6e738f91c222b60cf7210964","sig_valid":true,"bad_verify":[{"kind":"zero","signer":0,"other":null,"expected":false}]},
+{"id":291,"sks":["30ea42758283522499c4668737655cfe327fcfb4f5b0d1ade5994f67ac3057fe","500832f40b7609c0e8c4e3c6518352e156f763240f504bebc2975b1c35e51c3a"],"key_sort_input":["034b1d2bd4de347139508bc968dcd3595740cdfcc36bdbc5e4354e072ca22e7356","0257111e1d00d8f99a1d20135a71e2de94c8662af65ac7fd65b9497893288b8a9b"],"q":null,"tweaks":[],"tweak_error":null,"aggpk":"0366eefc9c342dc7cf30d92637e37bda67dce1e5b8781d102ea73df95894d1c923","gacc_neg":false,"msg":"fdf5633f847dc1209e80b03b7bc29bf7253e38409d272234fc20f618dbc3cdec00cf37eb0f6b5ed0bb08186ee3daccf24af217ffde3cb957b84231be0eae776fb87cd480db5b13c19aad13e59dd629a76dfb2be116ff424fd7166dc281da3b4c8aa61e086c32fc679151a7d64346d2cf1a9dd25bded01c177dfc087e34fd8bb21c0e44889c0818f6466247d1144872d6a7c629c3356735df17e7d8f8dc998c29366bcb07e0251fa5bf3617f3d38ac7e163f355e94424dd3a4f5e3429532a5db7613cecd3ceda5465b9058d57d01d75a9f2f7c0928de156fecd0e5a0802d4754b7d6accdbd207748fc91c230a0c829333dab3823b93cac07f0a6794c7c10b9d53a617d9b810cb7522b049997ffa85314260fda028de4a29ff1d89d6e965a4eeda53d663a1feac72","aggnonce":"02b58eed53cbbbbd70715b1026f2e6d174c53b756ce97e4677187da0808f03b47d033e74b61f389759044e93fe8b8c345edb9a3767ec8b12d1b0e520e6895fdd7f14","signers":[{"nonce":{"rand":"8daaff1ed411004e764614d0d0ee682379292b2bf7c62c4543ae5f1ebea474c5","bind":7,"extra_in":""},"pubnonce":"03455e40f36e78a5eea0070c705191f07fb450b48b09aa59af7ac7744d2685226203f77e841ef2d72ba2427c2deed86b0000fac09b704cacbc774b64fb1afe09e9fc","psig":"1286e192b43609bf3927637f2afc9fb0781268c264f891a1c9df3290b38ac803"},{"nonce":{"det_rand":"177f5ff3c0e56547feadd3bdcebc8aae99f4d146b65edbb5e491af4ab0c99aae"},"pubnonce":"0383104bf453eb0cbf0fc5d5afb71ab7e5465d8d36403e6b04f87a28849baa561f028f4822cab43a4f3b4f26bfd091bf9e6f9ef8a2d0962faf3a5bc91274d6846b30","psig":"a9b17c8b8a49988eb5286917e7c61f8cc85201f497077ad5d3ca214412c3b78b"}],"sig":"f93fa363792fb3a437ad6a45c51d4c836653aa612acf06d6440995fd8cbb37f7bc385e1e3e7fa24dee4fcc9712c2bf3d40646ab6fc000c779da953d4c64e7f8e","sig_valid":true,"bad_verify":[{"kind":"zero","signer":0,"other":null,"expected":false}]},
+{"id":292,"sks":["8218e4e3e11d95b7c49b926a6d446ee5f8c8591a3a5741dcd146ecbb0714b664","8218e4e3e11d95b7c49b926a6d446ee5f8c8591a3a5741dcd146ecbb0714b664","8218e4e3e11d95b7c49b926a6d446ee5f8c8591a3a5741dcd146ecbb0714b664"],"key_sort_input":null,"q":"0209beb291b04939490dc1e103bef1e8031abfd88b89be923d68a2b89c75c9d633","tweaks":[{"xonly":"35060184557c8fd13ad3239e8227afee8c925b157dd472abdc434a37e63a1b88"},{"plain":"fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"}],"tweak_error":null,"aggpk":"023c6300d08bb8aa0908fc242bacbfddde59c11c3f9bb6330791c28c6d3e7e9f77","gacc_neg":false,"msg":"232a3d2d989912e94e239cb6bc416e9968aa65ad8b1f9df9eebefdd0336f3282","aggnonce":"028266e561e079742f4e39d359f144280a069ea2ee5b4bea6a190743d6a464797b02d4ca415e1b77ee14eba318fd88591f1d37f8220c79f901b9ced91943d8068781","signers":[{"nonce":{"rand":"05db28c28c38eb64b6e02a23f9fd6f4c30850d092510cc9f79c62e32d02e72bf","bind":4,"extra_in":"fe2ee076c9e0694086054869c454"},"pubnonce":"03103e8905b7625694b760002291d8467232065bbed78f99f1d3bb31572f3a34b003ef892b7be06327a0e2f30e7d42817bdc9b27819b7616608be807b23981d6e40b","psig":"e9b76ac61e52e1dba45f3a6a844ffc927f3044a6c1104a140201247bb5e5ba0a"},{"nonce":{"rand":"7bb28d5c6ca7f32bf77cbaf9194b5b6c5f5d8a558937d281a0f7d0f661c8627f","bind":5,"extra_in":"167d4b"},"pubnonce":"02bd0f501525b05b9c78d03e7ed663d35b691a493908438ade14195b6452f3be3f0321468de1734d5b46203532add4bc903d01daab822b8a7063498879d8709372b4","psig":"f3652ea6581d145e8df96ee573b447cad167221a76845d3dc72d6f95f1460efc"},{"nonce":{"rand":"18a463d4d8b1b7215388ab3cf320f5e3af2c7cdcd60fd21f1d79a401687694d7","bind":6,"extra_in":"a3d1af"},"pubnonce":"020bd52b2b1781ae8fdb4d1d93c0913093503d0ca90058c7492c1a4fd84890967d028d7c7776bbcd77887d7f36eb4c058b75571b4ab95c03d5a2b1048ca427518f6e","psig":"da0ed75656b544b2dbb429dd0138b02686db9f0f64813922c48133c24439ea3c"}],"sig":"a8e3d2489ef42006988806993018e18efb18466ec905d89505d9bc752442ecfe7820ef8cac12829e7e4837f8d7bf390825bebdb6e64cffae74c7d077883c2e0d","sig_valid":true,"bad_verify":[{"kind":"out_of_range","signer":2,"other":null,"expected":false}]},
+{"id":293,"sks":["18501aa4d3c88f5b2c736a97b48906b403013d3af42891bbcfdd19faf6201eeb","2b7fee3d2dcaf93142d3949d7351ad625e3fcbff7f225319b92a06213f2cf726","c434ff18e1707cc49d9afb7af329d90ad4ea27cfeb768c84b82fe438b1a9d1f4","422179340856dc8273c5cd34c137fa38da9a3ed3966453e4128429cfc4c2972e"],"key_sort_input":null,"q":"03f184ea44a95086d0523c78cf5bf5369d0fbd69393bd14b1964d3b6c46a97095c","tweaks":[{"plain":"9d8b2cc218d18891b7b82b8cd68d49fecd47ede9ed34e895a21bf383515ca33c"}],"tweak_error":null,"aggpk":"03da1aa64aeb75202091b287207c610a6972ea179f4da0127b87f0366bfad53686","gacc_neg":false,"msg":"ed0c13d57eb7bc4231b783a92297f8cd75fb88e9e1953aecdc3cd4e8f4dce021","aggnonce":"00000000000000000000000000000000000000000000000000000000000000000003f89096e2a5f86b923babd52e14b1106750474baf67d2abe7da17a840d812bae4","signers":[{"nonce":{"rand":"ade0e7230aee1514b23f169414aa498ea77f6b60759abd6481a3832d9bc78d03","bind":1,"extra_in":null},"pubnonce":"029efbc38f3c6a67eff1cb47b339ecefc5adef4f805aba160527ac1b08d581f75903be271888f06f8e692ec7932145ea52b34e275b0a5d028fe3fee48f46087913bd","psig":"937c8616f764ba9ece84b1300e7fec3b865b52929ad4b50585055141199294e3"},{"nonce":{"rand":"ac91dc9c919e1b9162bd717bc7602d42bd5e52049da2a3c138a6aac917258205","bind":2,"extra_in":null},"pubnonce":"03c3f9297a374628426627969475a153062851782fed878856c7dd8d995062c7bb0202bb360913bb6faf746866f395278860cf5aa0696e41536b4245a15e98224da6","psig":"6c9c0cea4efe81b57d81f181fb8acce5790f55bf0ffd06de45c342cb234409a3"},{"nonce":{"rand":"dca1910832d875f6d666390f8aa53abafb6727274f0b622121d7abef9cd21fde","bind":3,"extra_in":null},"pubnonce":"02990f25f36e58d62d89965b3c3d864b0189210ac188cb8f9447b04ec74f63f0650202ff9eb28aed513f9f0df8d5c8b42d3440c13301413b7b760a838e78dd659428","psig":"7efeead7575abd3a1f7fa974df78191fd721943df1a667f8838c7115f0ba067a"},{"nonce":{"secnonce":"54f1e5a0b9b04d17d8b2dd25d59b07b0bc0d5c22b13a42e8ecd5768b82322ae272ce05d5769c3743fa2e01fb787aa5ab00f61a08d7bd6674e92be2d84d01ba5703d9c6c7014a4fb358cb2a3eafad9a5b4f6f1d0b04a48593ea1faabe9459f64050"},"pubnonce":"0214ab49b451aaf37139d7498c10379203af70fc3916b72116682ccafa4c6558310224de0ad03f4b48c5df581be36eee19b6f021be95994ad81e45fc7f0157816a74","psig":"13af210037031e283b9849833cc1aa92773f8c6adbad02351ae676c12cc7b0d2"}],"sig":"76e91f2d4d00ecba0349076cfb41329890f7fa85abe9ff0cad0318d81ee52aced2d5574c9f946d029bf9ba0c9685aa35387881aa4236cfe8ecba4170a05e406b","sig_valid":true,"bad_verify":[{"kind":"out_of_range","signer":0,"other":null,"expected":false}]},
+{"id":294,"sks":["a728addfc2016cffa0279d92c94c67157b662c454c49c189fba5fb930f6e5cce","fa06e14f1cf30eb33f7f9ebf863c170cdd3f51c9757c637514d0557d2500aed5"],"key_sort_input":null,"q":"02bf60f0d4888aeba00f830805c9e6450b4fd6d537724350be8e956e7962bf8289","tweaks":[{"plain":"57b252c4e69de9defb09040a7ac0da2b2211ca532f836b54976823e4c65896b3"}],"tweak_error":null,"aggpk":"03772f019bbdf6d0c4625c9947b3ef5d02ad56e0baddc5760b8e5f38f187befa58","gacc_neg":false,"msg":"de9bcff37353b753081af9e54353a6f03114e8639519ea7a1685be86c0ca0d4e","aggnonce":"0272163eff22d6cd451b491db446bd90d01939726379c320e3c9d83a35c0cdb42e000000000000000000000000000000000000000000000000000000000000000000","signers":[{"nonce":{"rand":"c2ee1a98eed945cb64d6edc61ea6ed345fd87a1ecce3ce9fdb14d0d55379654d","bind":6,"extra_in":null},"pubnonce":"0361975159c5b7fdb11f87af62c1ae762938b1c0aacb2e11be843df0deb8ebbd8c028847c560a6b6796d37a63b28ce03a4486ec59fb8cd7bd482bebad1b5f14815df","psig":"c10844fab3b330de42a3d9138ec9d8b3b1cbf4bb038c3507c97a473275bc6fb3"},{"nonce":{"secnonce":"e04da36dfbbebc0719cb3d8790d29bc2e4015363a76ffb0691da121773e0b2ceed5c3e6c3b007bb32cdd9478915b41af4e37bc3f590caba475a5b0fd455b6e0d025c756dda89bc4edb996bd08c6f70d7f7e61816f73717d358fd9c8786211258d3"},"pubnonce":"020227f81e3994ef75558d7e00a8f231168c9ffb44a42f1411d9a3cc8bccad71a1038847c560a6b6796d37a63b28ce03a4486ec59fb8cd7bd482bebad1b5f14815df","psig":"7ab3e461d2241b6824ce6f27a2de26893579fc39a6b7534a0fbd39fd7eeb817c"}],"sig":"72163eff22d6cd451b491db446bd90d01939726379c320e3c9d83a35c0cdb42efd27f6c74a7ad8be1cfbdbc2565d144ff64cd0c47e11faf13d810fbe777c7bc0","sig_valid":true,"bad_verify":[{"kind":"wrong_msg","signer":0,"other":null,"expected":false}]},
+{"id":295,"sks":["6d6a88a9ea9389140a8419b86ea2874723c0bf5f79b3a071cc65c5d238516941"],"key_sort_input":null,"q":"03ff34d7d30b01da53ef411bf574fe24318fb525226e221fcce1161d3b3595e913","tweaks":[{"xonly":"fb23d1da31f9460b9322eac589f9ce4a9cc5d73fd1526adf04dfd8fb6b2fa763"},{"xonly":"00000000000000000000000000000000000000000000000000000000000001cd"}],"tweak_error":null,"aggpk":"027d8c84aaf5cb9f0e490880091f93353ae71d3314a6e05dadb1b734fcdf36c0fd","gacc_neg":false,"msg":"4862d6c7fdddf337fe48a1acd15475e1","aggnonce":"034da1d748b7e460f83459f61626054aea5e8f4d70a2d9f467c6e38fd1b5ce4cb003ec56d4821dee0aa901044e7e4fd5f385a36caaee652c449bdb5f811368e075b6","signers":[{"nonce":{"rand":"adbbc58208f698a338363c410407034e5bbea8d0db41cc6b97201c41c45feb8c","bind":3,"extra_in":""},"pubnonce":"034da1d748b7e460f83459f61626054aea5e8f4d70a2d9f467c6e38fd1b5ce4cb003ec56d4821dee0aa901044e7e4fd5f385a36caaee652c449bdb5f811368e075b6","psig":"4074c5b31c125af9e948762c12400a5d2e2b002e211a52344144e07fcc8d3a57"}],"sig":"dfd8c942f762b4e69d1969c8230c718468ffae49d54f8ff08b90afea49b921b0cb9c6a66523132157dc877bb2ac4dd5d1cb1b00815f0d98817afbb47aa9944d7","sig_valid":true,"bad_verify":[{"kind":"wrong_msg","signer":0,"other":null,"expected":false}]},
+{"id":296,"sks":["7216d56b34213e8cb83a169cd13c62e77b5873c3b9bf31296a160396de52075d","7216d56b34213e8cb83a169cd13c62e77b5873c3b9bf31296a160396de52075d"],"key_sort_input":["02828705920f5a99c50157e05c4155a6e1407d8ce14ddde00fcc0c39ae42ccd0fb","02828705920f5a99c50157e05c4155a6e1407d8ce14ddde00fcc0c39ae42ccd0fb"],"q":null,"tweaks":[],"tweak_error":null,"aggpk":"03158f1dd3cd340eafc59fbc250d7c2c9ac42a533c1ff813ebdbd657941530c677","gacc_neg":false,"msg":"e53b9710231f1534db2153a1e7d488c4b8ff8173c4fc2de045a870f7942f30c56f34","aggnonce":"03cdd43acd6ddc6abc41788b2bb8289510bb351ca3d5c49a2ebe3ba728483952e903a1c123d8e4d3c6fdb960895c78006bb25344a2c563af6ad9d5ba388944314d87","signers":[{"nonce":{"rand":"dabddfcf04af65a9a1dc143eeb4c46e7097e15236e3df032ec49727a769b2896","bind":0,"extra_in":"0650efd64afda3f53f1d25b5f09d"},"pubnonce":"03a42272f1e02cf3349caa3285e6a841395bf63f03e56ae31f11a4e39f4e25c31d03df3598c180ba97025996201bb4289c809f47f29dbe9684e0b5f026499b98dfb5","psig":"0b098741078eaf726c4c63ddae6d1e405df70673cfcb744266ced26759ebb3f7"},{"nonce":{"rand":"0d8ddd68ef4691b98d567c2c0f4cae3257a1a0223eb5145fabcffccdba7fd222","bind":1,"extra_in":"b1"},"pubnonce":"03e199ec00115901115fd9691103c5b4ca304d6131a2e017ebee3a2c3357175f9602c04308a504ba91316a5107fb4e6c51ea7953617468f994e8654dcb701f3b0d35","psig":"b63f5c5f6733edcbe74a0ab6e3977d3c2e7e052a4c077c47bd14e576acb9fc1d"}],"sig":"e59f1c3eb00d1468e7a8378e4a9254b1c46cef0c1684a90b9444da4c5f334098c148e3a06ec29d3e53966e9492049b7c8c750b9e1bd2f08a23e3b7de06a5b014","sig_valid":true,"bad_verify":[{"kind":"wrong_signer","signer":0,"other":1,"expected":false}]},
+{"id":297,"sks":["51606500adc3052ac06fb478ecb8923655693a6c807a11cea14fee701aa7aa9c","810cea354c5fd5fde9597296e0ee1eea01e5f964a2a4c66f4f7423c23294437c","aed10b5dfe7c6e41111cee754af62a4b7361ff62d58a1243a66a04088399fd52"],"key_sort_input":null,"q":null,"tweaks":[],"tweak_error":null,"aggpk":"024110c16a7986d26d6871a9ffcb2df08ea08e5bcc88ff604d86d36a57ab6ee02d","gacc_neg":false,"msg":"5eb1898ca59579f0e888f0826116e1d3f7093c560c9402941ec86778ff40eadb6e66","aggnonce":"03503544ff66e1322d6365fe2434ee672c03bccb752302cbfd1fb8f84a554b5bb502c9167c0c56353f19a2c5ab4b9c6405eeccfd687ad66349723e3d373a8bfec83a","signers":[{"nonce":{"rand":"02a53b5559441044ff10600cd9b3bda1e33e4bbbd26ac260e61c25ba885723b0","bind":5,"extra_in":"c0955e62f156"},"pubnonce":"03148bb0837e5a10d323e2b730046b2081a1cdf427b7ddb93f747b4129609943a0021975eaa2b5fd6e2fb8dee03010ce742e9c5e0b9b4cdf589806ff22ad8001121d","psig":"f3cced7cdac16509272bd0b090f5eefb9492d241e7b1ef27f36becf3ff6773ad"},{"nonce":{"rand":"50d229681ecf25c8050782fdeb580be5207a9174dabcb10f1dc886acedf04ee6","bind":6,"extra_in":"29156b850cab654ffee761b6c5"},"pubnonce":"02722d93f671ae61248e5e2cc1aec87d9f9d3fea11f1ee7bf284e9c103bb5adcbf039331d190507bdc9c1ce430863d4750e08b8a4fc42dc1b9436bad6829239e9aad","psig":"508b3fff0f869ce77596fad9724806bf0cc9ede36df6f8545d1c2b672d16a081"},{"nonce":{"det_rand":null},"pubnonce":"03aeb091b21fd7f14e0870eafa881b899ec6de6889fc5281623848689ea19201b002c990fd079c3ebfcb4de8456997806072e873563fe4822a3e71f9f2c85372f7e0","psig":"14fda9d6204448d4354aedfacebc811674c0eff374765bf12ec933d62e5738d9"}],"sig":"291c48478d9849d64400f4f5113ab280dbdc7511538095ff86faa36210d49e245955d7520a8c4ac4d20db984d1fa76d25b6ed3321ad6a331bf7eeda48a9f0bc6","sig_valid":true,"bad_verify":[{"kind":"wrong_signer","signer":2,"other":0,"expected":false}]},
+{"id":298,"sks":["4b0028855cbc66989fe5854e1bd557ffda9ff149bfd472e8af490cf6ebf6ab17","86340510c3160d47c4ee14a95b328b8ee7030a91ed2e4677b13e86f5fb6d22ad","32c711a24cced47ba13b134354f5bb47053da78ad92c7210c31324b2aee998e6","11e8a5b69fc0ab2e679c866aa522199c6ae7c1a6f9c301be31eaebe6335f3834","da4ba4f233361f16b07918a3e7d05c879d86bc63d40cce8b6b64b9536a31a99b","81a0a6bbbc92695b763f7f13ae80fc50ed0eaac8d8ca0ef2ebebd26ce3840594","ca56bb9ba8d1c0e1143d4bbdcc9f879fc2a93ed23e22b9475c7f2e9b55eb0b30","7053fed1d4bd126af4dd16cb2ce4aa55d04a8753ca67df9acd778db2a887f5f3"],"key_sort_input":null,"q":null,"tweaks":[],"tweak_error":null,"aggpk":"0341f0dc3ae30ee2cd3964f5dfcb4991f3496d10b8975e8ff9b826b79a63fe6400","gacc_neg":false,"msg":"0cb17aff07","aggnonce":"02331f04502c1764e024f585ab7af59db3be0c8c0e7f68b89a2f516f8b4205fcd90346578dedd03cc7860b7c13e521cf4f8edaa69e507a7aabf87158be6ce6df934d","signers":[{"nonce":{"rand":"66dd9e1867525238077c9f2d8649ece7fb6ba420953a8848e324bbdeb02bd327","bind":2,"extra_in":null},"pubnonce":"039bb3d27d7a3d8c88a2f5b2357f560f0bf02243bc35e32104f9b1023ebeb1270b02132ee38c22060ce36b4adb8f1cdf0f101ff8c9541424df8bcfe85486721ab11e","psig":"74f724bf23fd259b7f17da39d633e3ab6435190b51247736f4d713d678ec878b"},{"nonce":{"rand":"a37a527c13a5a490023a3fdfd20e5e9c9b680ec519982e0e99acfaae4899d0cb","bind":3,"extra_in":null},"pubnonce":"031be219a9dba1be279b4c2a51316513f538bb340efba48d96d9cab22dbaab774602d37f9c739f6f5d4239355bbf1bd3a0a511f12d5cd934eca7a5d2e4aebefbc5c9","psig":"a0bed87bc573a9cf6629d982cb213af4eb152459afc8845ccd91e9c0ed906168"},{"nonce":{"rand":"3cb3b2069e74211da20f73c2638aec525dcbbab4bf48a7e3ab7810a845266980","bind":4,"extra_in":null},"pubnonce":"030047ba512f88fd5cf1bde85ff34982accc4359259773d1bb36916dee14db077d0377f5216ebd469e0c7a5dc2d541b8df1a628d46b1f26467b06511916e6830d078","psig":"83334ac97e73ebb116d584efc7af1edc1988fc3fec523c13040eb93cd7fb6658"},{"nonce":{"rand":"9ef560ee91499356e39732d9a9187f26e48940a69a14d1ab7522506601cbb533","bind":5,"extra_in":null},"pubnonce":"03b9aed41d9ff416e98e22c5705bc7257d2d525c9f53afe71d3d16d935de81bb82027dc9f4cfd90bbbe8a48d29504edb16ad4b5fefa56c2b8fb6f54b0fec856aedd1","psig":"ac06a0f1db10fd6837303d8458b7bd379cde14d1ddebafcf9d91d3843ef40a74"},{"nonce":{"rand":"10389c0db1db448e50d1beda1f61131d7430e46bb8d83acd865213fbd03d0e55","bind":6,"extra_in":null},"pubnonce":"02c27144f5cd48334e515c9b5b1655bc2d25e530308b7065292d488421a42d765302cf6a90ef3a8f4041044546d62e6bdf7044a474d7d14fa01f974c8f7147e96358","psig":"723f1874cf8b2f15cd935d155024753ac4f18f6fedcc2bce1d37ee26d6c7ce62"},{"nonce":{"rand":"47be75dca57f45f6f3282665408610e0c279a60a632c6039647fd5abe5e28b0c","bind":7,"extra_in":null},"pubnonce":"0273f9e25a1785df756e791402ba7c5a7ede7e869915540f0850ff9f719ba294450334d69826dca55db984414ae94411961fb0605fb271e1c7b04c8ab61043dcad0e","psig":"70c71a697b4a9614da0975bbaaeecea922cb696447f69d431cc8bb8a970bc43c"},{"nonce":{"rand":"1b2c0871785b025bcbc0ac6787ecc13b2e87c92c017ff679a8f37c5153c04551","bind":0,"extra_in":""},"pubnonce":"036a24a407dfd1a28f7eb47f1aef6029ac683421ec4391bcdcf27aee4c82ab0221039e2ee70b85cb24d811257cd8047a4a6adbedbc46e549706b3655df211dd59685","psig":"99f0e67dcbd6bd92f1f5733da9b11f8eccd19c1c8530f54c4014d681c78b098d"},{"nonce":{"rand":"93f4371214fb9207de8fdc0971b56e5da5f889dcd083c3d50f0c1aa8e1841335","bind":1,"extra_in":""},"pubnonce":"034c7c4afa8ec1cf1b4cca1f89d3806c8ac054dbbe5e5509370450350a9bffdaa5036012cdb666543dca676785fddbbaf0bca6eb85358d41fb6657fcc86a030d2909","psig":"a131f2323d657713c5f9a706c184519fe773007e95564efe193fda86d84bf62f"}],"sig":"d7b43a1ddbc8a59f126e89ff5773a0c69aa19f69f3389f5ba7a6056cd578a2c86318f4849707b25592d363462804afcbb6f7704b5e5273e2f8156adf4a3de715","sig_valid":true,"bad_verify":[{"kind":"swapped_nonces","signer":0,"other":7,"expected":false}]},
+{"id":299,"sks":["336a331cf139a578728d98b2ec63e902924701983ea4046fc595aac671c09932","336a331cf139a578728d98b2ec63e902924701983ea4046fc595aac671c09932"],"key_sort_input":null,"q":"03ca55b56ae135ffd6a86b3f541b3db5cabe9fc46e30394c75f4efb4200f54cce3","tweaks":[{"xonly":"00000000000000000000000000000000000000000000000000000000000001be"}],"tweak_error":null,"aggpk":"03607fe3b67b7424366e58cec31a3feec961d9231a6eec71d8dfec504fbb25aa18","gacc_neg":true,"msg":"dca22947fd0b72394537f7471201c0f2b8e1f7820a43d4c3550d155a23b8a35390395985a3cafef0d830618c","aggnonce":"031c4c4f5ef29062f90885f63c66efcd9d9921d725c7f6a3fa311082758bd8589d03afbaba6e130b58a6767751e8cabf8b57dd9db82c7cc362a461e2dc37df95955a","signers":[{"nonce":{"rand":"2a66835f49f1555eb62bc0cfdf935c1ecbd4de7ac2d06127653c3101903e48ff","bind":7,"extra_in":null},"pubnonce":"03914f5b32c03ec12234e3ea578b9e120ba0db70b735e409a40ca1fafca95b9bb103ac22aab56c536b86a49faf55e1c4bcd898fc6dbd280673a3fde70b1a0cadd7b5","psig":"399967d6c4a8ac5496b03a828cc7161ebd43c8637b4a5a840a1ef26be8f7cbf8"},{"nonce":{"rand":"e7a392b7320885400b4ded305830ba91e989978d12f82c3f28502dde3ada9669","bind":0,"extra_in":""},"pubnonce":"03e370585c3d38dfeb281be9799e100f1d498b1cf0a04e39cf4e9008618dc5d63903523455e2ff41cd42012626c60e1282f9ea23f918e6bd213d6a4cec0e77f52870","psig":"b9dd0dcc5e84eb4cde1a263d3646f8cff5b2481f0b21238292649086e3ee72c1"}],"sig":"0e27bda4fcf2255aab8495739dd1474ead5c7ef72f626a92562a6a977cffe727f20bccd7b7c024a5024a26409354e1482f87908085b6d3f872285a68c61925a9","sig_valid":true,"bad_verify":[{"kind":"swapped_nonces","signer":0,"other":1,"expected":false}]}
+]
+}
