diff --git a/docs/arecibo/errors/enum.NovaError.html b/docs/arecibo/errors/enum.NovaError.html index 9c96ff318..b207c886f 100644 --- a/docs/arecibo/errors/enum.NovaError.html +++ b/docs/arecibo/errors/enum.NovaError.html @@ -44,7 +44,7 @@
§

SynthesisError(String)

return when error during synthesis

§

DigestError

returned when there is an error creating a digest

§

InternalError

returned when the prover cannot prove the provided statement due to completeness error

-

Trait Implementations§

source§

impl Debug for NovaError

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Display for NovaError

source§

fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Error for NovaError

source§

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
source§

impl From<NovaError> for SuperNovaError

source§

fn from(source: NovaError) -> Self

Converts to this type from the input type.
source§

impl From<PCSError> for NovaError

source§

fn from(source: PCSError) -> Self

Converts to this type from the input type.
source§

impl From<SynthesisError> for NovaError

source§

fn from(err: SynthesisError) -> Self

Converts to this type from the input type.
source§

impl PartialEq for NovaError

source§

fn eq(&self, other: &NovaError) -> bool

This method tests for self and other values to be equal, and is used +

Trait Implementations§

source§

impl Debug for NovaError

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Display for NovaError

source§

fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Error for NovaError

source§

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
source§

impl From<NovaError> for SuperNovaError

source§

fn from(source: NovaError) -> Self

Converts to this type from the input type.
source§

impl From<PCSError> for NovaError

source§

fn from(source: PCSError) -> Self

Converts to this type from the input type.
source§

impl From<SynthesisError> for NovaError

source§

fn from(err: SynthesisError) -> Self

Converts to this type from the input type.
source§

impl PartialEq for NovaError

source§

fn eq(&self, other: &NovaError) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Eq for NovaError

source§

impl StructuralEq for NovaError

source§

impl StructuralPartialEq for NovaError

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where diff --git a/docs/arecibo/errors/enum.PCSError.html b/docs/arecibo/errors/enum.PCSError.html index ca10bceee..7ed74370b 100644 --- a/docs/arecibo/errors/enum.PCSError.html +++ b/docs/arecibo/errors/enum.PCSError.html @@ -7,7 +7,7 @@

Variants§

§

InvalidPCS

returned when an invalid PCS evaluation argument is provided

§

ZMError

returned when there is a Zeromorph error

§

LengthError

returned when a length check fails in a PCS

-

Trait Implementations§

source§

impl Debug for PCSError

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Display for PCSError

source§

fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Error for PCSError

1.30.0 · source§

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
source§

impl From<PCSError> for NovaError

source§

fn from(source: PCSError) -> Self

Converts to this type from the input type.
source§

impl PartialEq for PCSError

source§

fn eq(&self, other: &PCSError) -> bool

This method tests for self and other values to be equal, and is used +

Trait Implementations§

source§

impl Debug for PCSError

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Display for PCSError

source§

fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Error for PCSError

1.30.0 · source§

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
source§

impl From<PCSError> for NovaError

source§

fn from(source: PCSError) -> Self

Converts to this type from the input type.
source§

impl PartialEq for PCSError

source§

fn eq(&self, other: &PCSError) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Eq for PCSError

source§

impl StructuralEq for PCSError

source§

impl StructuralPartialEq for PCSError

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where diff --git a/docs/arecibo/spartan/batched/struct.BatchedRelaxedR1CSSNARK.html b/docs/arecibo/spartan/batched/struct.BatchedRelaxedR1CSSNARK.html index d83c2acc7..c459e57fd 100644 --- a/docs/arecibo/spartan/batched/struct.BatchedRelaxedR1CSSNARK.html +++ b/docs/arecibo/spartan/batched/struct.BatchedRelaxedR1CSSNARK.html @@ -2,38 +2,38 @@
pub struct BatchedRelaxedR1CSSNARK<E: Engine, EE: EvaluationEngineTrait<E>> { /* private fields */ }
Expand description

A succinct proof of knowledge of a witness to a batch of relaxed R1CS instances The proof is produced using Spartan’s combination of the sum-check and the commitment to a vector viewed as a polynomial commitment

-

Trait Implementations§

source§

impl<E: Engine, EE: EvaluationEngineTrait<E>> BatchedRelaxedR1CSSNARKTrait<E> for BatchedRelaxedR1CSSNARK<E, EE>

§

type ProverKey = ProverKey<E, EE>

A type that represents the prover’s key
§

type VerifierKey = VerifierKey<E, EE>

A type that represents the verifier’s key
source§

fn setup( +

Trait Implementations§

source§

impl<E: Engine, EE: EvaluationEngineTrait<E>> BatchedRelaxedR1CSSNARKTrait<E> for BatchedRelaxedR1CSSNARK<E, EE>

§

type ProverKey = ProverKey<E, EE>

A type that represents the prover’s key
§

type VerifierKey = VerifierKey<E, EE>

A type that represents the verifier’s key
source§

fn setup( ck: Arc<<<E as Engine>::CE as CommitmentEngineTrait<E>>::CommitmentKey>, S: Vec<&R1CSShape<E>> -) -> Result<(Self::ProverKey, Self::VerifierKey), NovaError>

Produces the keys for the prover and the verifier Read more
source§

fn prove( +) -> Result<(Self::ProverKey, Self::VerifierKey), NovaError>

Produces the keys for the prover and the verifier Read more
source§

fn prove( ck: &<<E as Engine>::CE as CommitmentEngineTrait<E>>::CommitmentKey, pk: &Self::ProverKey, S: Vec<&R1CSShape<E>>, U: &[RelaxedR1CSInstance<E>], W: &[RelaxedR1CSWitness<E>] -) -> Result<Self, NovaError>

Produces a new SNARK for a batch of relaxed R1CS
source§

fn verify( +) -> Result<Self, NovaError>

Produces a new SNARK for a batch of relaxed R1CS
source§

fn verify( &self, vk: &Self::VerifierKey, U: &[RelaxedR1CSInstance<E>] -) -> Result<(), NovaError>

Verifies a SNARK for a batch of relaxed R1CS
source§

fn ck_floor() -> Box<dyn for<'a> Fn(&'a R1CSShape<E>) -> usize>

This associated function (not a method) provides a hint that offers +) -> Result<(), NovaError>

Verifies a SNARK for a batch of relaxed R1CS
source§

fn ck_floor() -> Box<dyn for<'a> Fn(&'a R1CSShape<E>) -> usize>

This associated function (not a method) provides a hint that offers a minimum sizing cue for the commitment key used by this SNARK implementation. The commitment key passed in setup should then be at least as large as this hint.
source§

impl<E: Debug + Engine, EE: Debug + EvaluationEngineTrait<E>> Debug for BatchedRelaxedR1CSSNARK<E, EE>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de, E: Engine, EE: EvaluationEngineTrait<E>> Deserialize<'de> for BatchedRelaxedR1CSSNARK<E, EE>

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl<E: Engine, EE: EvaluationEngineTrait<E>> RelaxedR1CSSNARKTrait<E> for BatchedRelaxedR1CSSNARK<E, EE>

§

type ProverKey = ProverKey<E, EE>

A type that represents the prover’s key
§

type VerifierKey = VerifierKey<E, EE>

A type that represents the verifier’s key
source§

fn ck_floor() -> Box<dyn for<'a> Fn(&'a R1CSShape<E>) -> usize>

This associated function (not a method) provides a hint that offers + __D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§

impl<E: Engine, EE: EvaluationEngineTrait<E>> RelaxedR1CSSNARKTrait<E> for BatchedRelaxedR1CSSNARK<E, EE>

§

type ProverKey = ProverKey<E, EE>

A type that represents the prover’s key
§

type VerifierKey = VerifierKey<E, EE>

A type that represents the verifier’s key
source§

fn ck_floor() -> Box<dyn for<'a> Fn(&'a R1CSShape<E>) -> usize>

This associated function (not a method) provides a hint that offers a minimum sizing cue for the commitment key used by this SNARK implementation. The commitment key passed in setup should then -be at least as large as this hint.
source§

fn setup( +be at least as large as this hint.

source§

fn setup( ck: Arc<<<E as Engine>::CE as CommitmentEngineTrait<E>>::CommitmentKey>, S: &R1CSShape<E> -) -> Result<(Self::ProverKey, Self::VerifierKey), NovaError>

Produces the keys for the prover and the verifier
source§

fn prove( +) -> Result<(Self::ProverKey, Self::VerifierKey), NovaError>

Produces the keys for the prover and the verifier
source§

fn prove( ck: &<<E as Engine>::CE as CommitmentEngineTrait<E>>::CommitmentKey, pk: &Self::ProverKey, S: &R1CSShape<E>, U: &RelaxedR1CSInstance<E>, W: &RelaxedR1CSWitness<E> -) -> Result<Self, NovaError>

Produces a new SNARK for a relaxed R1CS
source§

fn verify( +) -> Result<Self, NovaError>

Produces a new SNARK for a relaxed R1CS
source§

fn verify( &self, vk: &Self::VerifierKey, U: &RelaxedR1CSInstance<E> diff --git a/docs/arecibo/spartan/batched_ppsnark/struct.BatchedRelaxedR1CSSNARK.html b/docs/arecibo/spartan/batched_ppsnark/struct.BatchedRelaxedR1CSSNARK.html index 9feac26a2..8cbf64f78 100644 --- a/docs/arecibo/spartan/batched_ppsnark/struct.BatchedRelaxedR1CSSNARK.html +++ b/docs/arecibo/spartan/batched_ppsnark/struct.BatchedRelaxedR1CSSNARK.html @@ -2,38 +2,38 @@
pub struct BatchedRelaxedR1CSSNARK<E: Engine, EE: EvaluationEngineTrait<E>> { /* private fields */ }
Expand description

A succinct proof of knowledge of a witness to a relaxed R1CS instance The proof is produced using Spartan’s combination of the sum-check and the commitment to a vector viewed as a polynomial commitment

-

Trait Implementations§

source§

impl<E: Engine, EE: EvaluationEngineTrait<E>> BatchedRelaxedR1CSSNARKTrait<E> for BatchedRelaxedR1CSSNARK<E, EE>

§

type ProverKey = ProverKey<E, EE>

A type that represents the prover’s key
§

type VerifierKey = VerifierKey<E, EE>

A type that represents the verifier’s key
source§

fn ck_floor() -> Box<dyn for<'a> Fn(&'a R1CSShape<E>) -> usize>

This associated function (not a method) provides a hint that offers +

Trait Implementations§

source§

impl<E: Engine, EE: EvaluationEngineTrait<E>> BatchedRelaxedR1CSSNARKTrait<E> for BatchedRelaxedR1CSSNARK<E, EE>

§

type ProverKey = ProverKey<E, EE>

A type that represents the prover’s key
§

type VerifierKey = VerifierKey<E, EE>

A type that represents the verifier’s key
source§

fn ck_floor() -> Box<dyn for<'a> Fn(&'a R1CSShape<E>) -> usize>

This associated function (not a method) provides a hint that offers a minimum sizing cue for the commitment key used by this SNARK implementation. The commitment key passed in setup should then -be at least as large as this hint.
source§

fn setup( +be at least as large as this hint.

source§

fn setup( ck: Arc<<<E as Engine>::CE as CommitmentEngineTrait<E>>::CommitmentKey>, S: Vec<&R1CSShape<E>> -) -> Result<(Self::ProverKey, Self::VerifierKey), NovaError>

Produces the keys for the prover and the verifier Read more
source§

fn prove( +) -> Result<(Self::ProverKey, Self::VerifierKey), NovaError>

Produces the keys for the prover and the verifier Read more
source§

fn prove( ck: &<<E as Engine>::CE as CommitmentEngineTrait<E>>::CommitmentKey, pk: &Self::ProverKey, S: Vec<&R1CSShape<E>>, U: &[RelaxedR1CSInstance<E>], W: &[RelaxedR1CSWitness<E>] -) -> Result<Self, NovaError>

Produces a new SNARK for a batch of relaxed R1CS
source§

fn verify( +) -> Result<Self, NovaError>

Produces a new SNARK for a batch of relaxed R1CS
source§

fn verify( &self, vk: &Self::VerifierKey, U: &[RelaxedR1CSInstance<E>] ) -> Result<(), NovaError>

Verifies a SNARK for a batch of relaxed R1CS
source§

impl<E: Debug + Engine, EE: Debug + EvaluationEngineTrait<E>> Debug for BatchedRelaxedR1CSSNARK<E, EE>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de, E: Engine, EE: EvaluationEngineTrait<E>> Deserialize<'de> for BatchedRelaxedR1CSSNARK<E, EE>

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl<E: Engine, EE: EvaluationEngineTrait<E>> RelaxedR1CSSNARKTrait<E> for BatchedRelaxedR1CSSNARK<E, EE>

§

type ProverKey = ProverKey<E, EE>

A type that represents the prover’s key
§

type VerifierKey = VerifierKey<E, EE>

A type that represents the verifier’s key
source§

fn ck_floor() -> Box<dyn for<'a> Fn(&'a R1CSShape<E>) -> usize>

This associated function (not a method) provides a hint that offers + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl<E: Engine, EE: EvaluationEngineTrait<E>> RelaxedR1CSSNARKTrait<E> for BatchedRelaxedR1CSSNARK<E, EE>

§

type ProverKey = ProverKey<E, EE>

A type that represents the prover’s key
§

type VerifierKey = VerifierKey<E, EE>

A type that represents the verifier’s key
source§

fn ck_floor() -> Box<dyn for<'a> Fn(&'a R1CSShape<E>) -> usize>

This associated function (not a method) provides a hint that offers a minimum sizing cue for the commitment key used by this SNARK implementation. The commitment key passed in setup should then -be at least as large as this hint.
source§

fn setup( +be at least as large as this hint.

source§

fn setup( ck: Arc<<<E as Engine>::CE as CommitmentEngineTrait<E>>::CommitmentKey>, S: &R1CSShape<E> -) -> Result<(Self::ProverKey, Self::VerifierKey), NovaError>

Produces the keys for the prover and the verifier
source§

fn prove( +) -> Result<(Self::ProverKey, Self::VerifierKey), NovaError>

Produces the keys for the prover and the verifier
source§

fn prove( ck: &<<E as Engine>::CE as CommitmentEngineTrait<E>>::CommitmentKey, pk: &Self::ProverKey, S: &R1CSShape<E>, U: &RelaxedR1CSInstance<E>, W: &RelaxedR1CSWitness<E> -) -> Result<Self, NovaError>

Produces a new SNARK for a relaxed R1CS
source§

fn verify( +) -> Result<Self, NovaError>

Produces a new SNARK for a relaxed R1CS
source§

fn verify( &self, vk: &Self::VerifierKey, U: &RelaxedR1CSInstance<E> diff --git a/docs/arecibo/traits/trait.Group.html b/docs/arecibo/traits/trait.Group.html index af67ef2f8..9e2c3aaf3 100644 --- a/docs/arecibo/traits/trait.Group.html +++ b/docs/arecibo/traits/trait.Group.html @@ -10,4 +10,4 @@

Required Associated Types§

source

type Base: PrimeFieldBits + Serialize + for<'de> Deserialize<'de>

A type representing an element of the base field of the group

source

type Scalar: PrimeFieldBits + PrimeFieldExt + Send + Sync + Serialize + for<'de> Deserialize<'de>

A type representing an element of the scalar field of the group

Required Methods§

source

fn group_params() -> (Self::Base, Self::Base, BigInt, BigInt)

Returns A, B, the order of the group, the size of the base field as big integers

-

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl Group for Point

§

type Base = Fr

§

type Scalar = Fq

source§

fn group_params() -> (Self::Base, Self::Base, BigInt, BigInt)

source§

impl Group for Point

§

type Base = Fp

§

type Scalar = Fq

source§

fn group_params() -> (Self::Base, Self::Base, BigInt, BigInt)

source§

impl Group for Point

§

type Base = Fq

§

type Scalar = Fp

source§

fn group_params() -> (Self::Base, Self::Base, BigInt, BigInt)

source§

impl Group for Point

§

type Base = Fp

§

type Scalar = Fq

source§

fn group_params() -> (Self::Base, Self::Base, BigInt, BigInt)

source§

impl Group for Point

§

type Base = Fq

§

type Scalar = Fr

source§

fn group_params() -> (Self::Base, Self::Base, BigInt, BigInt)

source§

impl Group for Point

§

type Base = Fq

§

type Scalar = Fp

source§

fn group_params() -> (Self::Base, Self::Base, BigInt, BigInt)

Implementors§

\ No newline at end of file +

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl Group for Point

§

type Base = Fp

§

type Scalar = Fq

source§

fn group_params() -> (Self::Base, Self::Base, BigInt, BigInt)

source§

impl Group for Point

§

type Base = Fp

§

type Scalar = Fq

source§

fn group_params() -> (Self::Base, Self::Base, BigInt, BigInt)

source§

impl Group for Point

§

type Base = Fq

§

type Scalar = Fr

source§

fn group_params() -> (Self::Base, Self::Base, BigInt, BigInt)

source§

impl Group for Point

§

type Base = Fq

§

type Scalar = Fp

source§

fn group_params() -> (Self::Base, Self::Base, BigInt, BigInt)

source§

impl Group for Point

§

type Base = Fr

§

type Scalar = Fq

source§

fn group_params() -> (Self::Base, Self::Base, BigInt, BigInt)

source§

impl Group for Point

§

type Base = Fq

§

type Scalar = Fp

source§

fn group_params() -> (Self::Base, Self::Base, BigInt, BigInt)

Implementors§

\ No newline at end of file diff --git a/docs/arecibo/traits/trait.PrimeFieldExt.html b/docs/arecibo/traits/trait.PrimeFieldExt.html index 4fa059dbc..7b703970f 100644 --- a/docs/arecibo/traits/trait.PrimeFieldExt.html +++ b/docs/arecibo/traits/trait.PrimeFieldExt.html @@ -4,4 +4,4 @@ fn from_uniform(bytes: &[u8]) -> Self; }
Expand description

Defines additional methods on PrimeField objects

Required Methods§

source

fn from_uniform(bytes: &[u8]) -> Self

Returns a scalar representing the bytes

-

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl PrimeFieldExt for Scalar

source§

fn from_uniform(bytes: &[u8]) -> Self

source§

impl PrimeFieldExt for Scalar

source§

fn from_uniform(bytes: &[u8]) -> Self

source§

impl PrimeFieldExt for Scalar

source§

fn from_uniform(bytes: &[u8]) -> Self

source§

impl PrimeFieldExt for Scalar

source§

fn from_uniform(bytes: &[u8]) -> Self

source§

impl PrimeFieldExt for Scalar

source§

fn from_uniform(bytes: &[u8]) -> Self

source§

impl PrimeFieldExt for Scalar

source§

fn from_uniform(bytes: &[u8]) -> Self

Implementors§

\ No newline at end of file +

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl PrimeFieldExt for Scalar

source§

fn from_uniform(bytes: &[u8]) -> Self

source§

impl PrimeFieldExt for Scalar

source§

fn from_uniform(bytes: &[u8]) -> Self

source§

impl PrimeFieldExt for Scalar

source§

fn from_uniform(bytes: &[u8]) -> Self

source§

impl PrimeFieldExt for Scalar

source§

fn from_uniform(bytes: &[u8]) -> Self

source§

impl PrimeFieldExt for Scalar

source§

fn from_uniform(bytes: &[u8]) -> Self

source§

impl PrimeFieldExt for Scalar

source§

fn from_uniform(bytes: &[u8]) -> Self

Implementors§

\ No newline at end of file diff --git a/docs/arecibo/traits/trait.TranscriptReprTrait.html b/docs/arecibo/traits/trait.TranscriptReprTrait.html index 01edc0004..8195f98e2 100644 --- a/docs/arecibo/traits/trait.TranscriptReprTrait.html +++ b/docs/arecibo/traits/trait.TranscriptReprTrait.html @@ -4,4 +4,4 @@ fn to_transcript_bytes(&self) -> Vec<u8> ; }
Expand description

This trait allows types to implement how they want to be added to TranscriptEngine

Required Methods§

source

fn to_transcript_bytes(&self) -> Vec<u8>

returns a byte representation of self to be added to the transcript

-

Implementations on Foreign Types§

source§

impl<G: Group> TranscriptReprTrait<G> for Scalar

source§

fn to_transcript_bytes(&self) -> Vec<u8>

source§

impl<G: Group> TranscriptReprTrait<G> for Scalar

source§

fn to_transcript_bytes(&self) -> Vec<u8>

source§

impl<G: Group> TranscriptReprTrait<G> for Scalar

source§

fn to_transcript_bytes(&self) -> Vec<u8>

source§

impl<G: Group> TranscriptReprTrait<G> for Scalar

source§

fn to_transcript_bytes(&self) -> Vec<u8>

source§

impl<G: Group> TranscriptReprTrait<G> for Scalar

source§

fn to_transcript_bytes(&self) -> Vec<u8>

source§

impl<G: Group> TranscriptReprTrait<G> for Scalar

source§

fn to_transcript_bytes(&self) -> Vec<u8>

source§

impl<G: Group, T: TranscriptReprTrait<G>> TranscriptReprTrait<G> for &[T]

source§

fn to_transcript_bytes(&self) -> Vec<u8>

source§

impl<G: DlogGroup> TranscriptReprTrait<G> for Affine

source§

fn to_transcript_bytes(&self) -> Vec<u8>

source§

impl<G: DlogGroup> TranscriptReprTrait<G> for Affine

source§

fn to_transcript_bytes(&self) -> Vec<u8>

source§

impl<G: DlogGroup> TranscriptReprTrait<G> for Affine

source§

fn to_transcript_bytes(&self) -> Vec<u8>

source§

impl<G: DlogGroup> TranscriptReprTrait<G> for Affine

source§

fn to_transcript_bytes(&self) -> Vec<u8>

source§

impl<G: DlogGroup> TranscriptReprTrait<G> for Affine

source§

fn to_transcript_bytes(&self) -> Vec<u8>

source§

impl<G: DlogGroup> TranscriptReprTrait<G> for Affine

source§

fn to_transcript_bytes(&self) -> Vec<u8>

source§

impl<G: DlogGroup> TranscriptReprTrait<G> for Compressed

source§

fn to_transcript_bytes(&self) -> Vec<u8>

source§

impl<G: DlogGroup> TranscriptReprTrait<G> for Compressed

source§

fn to_transcript_bytes(&self) -> Vec<u8>

source§

impl<G: DlogGroup> TranscriptReprTrait<G> for Compressed

source§

fn to_transcript_bytes(&self) -> Vec<u8>

source§

impl<G: DlogGroup> TranscriptReprTrait<G> for Compressed

source§

fn to_transcript_bytes(&self) -> Vec<u8>

Implementors§

source§

impl<E: Engine> TranscriptReprTrait<<E as Engine>::GE> for RelaxedR1CSInstance<E>

source§

impl<E: Engine> TranscriptReprTrait<<E as Engine>::GE> for R1CSShapeSparkCommitment<E>

\ No newline at end of file +

Implementations on Foreign Types§

source§

impl<G: Group> TranscriptReprTrait<G> for Scalar

source§

fn to_transcript_bytes(&self) -> Vec<u8>

source§

impl<G: Group> TranscriptReprTrait<G> for Scalar

source§

fn to_transcript_bytes(&self) -> Vec<u8>

source§

impl<G: Group> TranscriptReprTrait<G> for Scalar

source§

fn to_transcript_bytes(&self) -> Vec<u8>

source§

impl<G: Group> TranscriptReprTrait<G> for Scalar

source§

fn to_transcript_bytes(&self) -> Vec<u8>

source§

impl<G: Group> TranscriptReprTrait<G> for Scalar

source§

fn to_transcript_bytes(&self) -> Vec<u8>

source§

impl<G: Group> TranscriptReprTrait<G> for Scalar

source§

fn to_transcript_bytes(&self) -> Vec<u8>

source§

impl<G: Group, T: TranscriptReprTrait<G>> TranscriptReprTrait<G> for &[T]

source§

fn to_transcript_bytes(&self) -> Vec<u8>

source§

impl<G: DlogGroup> TranscriptReprTrait<G> for Affine

source§

fn to_transcript_bytes(&self) -> Vec<u8>

source§

impl<G: DlogGroup> TranscriptReprTrait<G> for Affine

source§

fn to_transcript_bytes(&self) -> Vec<u8>

source§

impl<G: DlogGroup> TranscriptReprTrait<G> for Affine

source§

fn to_transcript_bytes(&self) -> Vec<u8>

source§

impl<G: DlogGroup> TranscriptReprTrait<G> for Affine

source§

fn to_transcript_bytes(&self) -> Vec<u8>

source§

impl<G: DlogGroup> TranscriptReprTrait<G> for Affine

source§

fn to_transcript_bytes(&self) -> Vec<u8>

source§

impl<G: DlogGroup> TranscriptReprTrait<G> for Affine

source§

fn to_transcript_bytes(&self) -> Vec<u8>

source§

impl<G: DlogGroup> TranscriptReprTrait<G> for Compressed

source§

fn to_transcript_bytes(&self) -> Vec<u8>

source§

impl<G: DlogGroup> TranscriptReprTrait<G> for Compressed

source§

fn to_transcript_bytes(&self) -> Vec<u8>

source§

impl<G: DlogGroup> TranscriptReprTrait<G> for Compressed

source§

fn to_transcript_bytes(&self) -> Vec<u8>

source§

impl<G: DlogGroup> TranscriptReprTrait<G> for Compressed

source§

fn to_transcript_bytes(&self) -> Vec<u8>

Implementors§

source§

impl<E: Engine> TranscriptReprTrait<<E as Engine>::GE> for RelaxedR1CSInstance<E>

source§

impl<E: Engine> TranscriptReprTrait<<E as Engine>::GE> for R1CSShapeSparkCommitment<E>

\ No newline at end of file diff --git a/docs/search-index.js b/docs/search-index.js index ccc91efb0..fd967f644 100644 --- a/docs/search-index.js +++ b/docs/search-index.js @@ -1,5 +1,5 @@ var searchIndex = new Map(JSON.parse('[\ -["arecibo",{"doc":"This library implements Nova, a high-speed recursive SNARK.","t":"FFFFFFFNNNNNNNNNNNNNNHNNNNNNNNNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNCQNNNNNNNNNNNNNNNNNNNNNNCCNNNNNNNNCCNNNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNQQSPPPPPPPPPPPPPPPPPPGGPPPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFFFFFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNCCCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFIFFFFFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNIFFFFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHHNNNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCCCHCCFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFRRFKFFKFFMNNNNNNNNNNNNNNHMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNMNNNNNCMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNPPGPNNNNNNNNNNNNNNNNNNFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNKRRRRRRKIKRKRKRRKIIKRRRRKKMMMMCCMCMMMMMCMMMMKFMNNNNNNNNNNNNNNMNNNNNNRKRKRKKMMMMMMRKRRMMMKKRRKRRNNHMMMMMMM","n":["CompressedSNARK","ProverKey","PublicParams","R1CSWithArity","RecursiveSNARK","ResourceBuffer","VerifierKey","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","circuit_digest","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","constants","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deserialize","deserialize","deserialize","deserialize","deserialize","digest","digest","drop","drop","drop","drop","drop","drop","drop","entomb","eq","eq","errors","exhume","extent","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","gadgets","impl_traits","init","init","init","init","init","init","init","into","into","into","into","into","into","into","new","new","num_constraints","num_steps","num_variables","outputs","prove","prove_step","provider","r1cs","serialize","serialize","serialize","serialize","serialize","serialize","setup","setup","spartan","supernova","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","traits","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","verify","verify","vzip","vzip","vzip","vzip","vzip","vzip","vzip","z0_primary","zi_primary","zip_with","zip_with_for_each","NUM_HASH_BITS","DecompressionError","DigestError","IncorrectWitness","InternalError","InternalTranscriptError","InvalidCommitmentKeyLength","InvalidIndex","InvalidInitialInputLength","InvalidInputLength","InvalidMultisetProof","InvalidNumSteps","InvalidPCS","InvalidProductProof","InvalidStepCircuitIO","InvalidStepOutputLength","InvalidSumcheckProof","InvalidWitnessLength","LengthError","NovaError","PCSError","PCSError","ProofVerifyError","SynthesisError","UnSat","UnSatIndex","ZMError","borrow","borrow","borrow_mut","borrow_mut","deref","deref","deref_mut","deref_mut","drop","drop","eq","eq","fmt","fmt","fmt","fmt","from","from","from","from","init","init","into","into","source","to_string","to_string","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","ecc","AllocatedPoint","AllocatedPointNonInfinity","add","add_incomplete","add_internal","alloc","alloc","borrow","borrow","borrow_mut","borrow_mut","check_on_curve","clone","clone","clone_into","clone_into","conditionally_select","conditionally_select","default","deref","deref","deref_mut","deref_mut","double","double_incomplete","drop","drop","fmt","fmt","from","from","from_allocated_point","get_coordinates","get_coordinates","init","init","into","into","negate","new","scalar_mul","select_point_or_infinity","to_allocated_point","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","Bn256EngineIPA","Bn256EngineKZG","Bn256EngineZM","GrumpkinEngine","PallasEngine","Secp256k1Engine","Secq256k1Engine","VestaEngine","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","drop","drop","drop","eq","eq","eq","eq","eq","eq","eq","eq","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","hyperkzg","init","init","init","init","init","init","init","init","into","into","into","into","into","into","into","into","ipa_pc","non_hiding_zeromorph","shplonk","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","EvaluationArgument","EvaluationEngine","batch_challenge_powers","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","compute_challenge","deref","deref","deref_mut","deref_mut","deserialize","drop","drop","fmt","fmt","from","from","get_batch_challenge","init","init","into","into","prove","serialize","setup","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","verifier_second_challenge","verify","vzip","vzip","EvaluationEngine","InnerProductArgument","ProverKey","VerifierKey","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deserialize","drop","drop","drop","drop","fmt","fmt","fmt","fmt","from","from","from","from","init","init","init","init","into","into","into","into","prove","serialize","serialize","setup","to_owned","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","verify","vzip","vzip","vzip","vzip","UVKZGEvaluation","UVKZGPCS","UVKZGPoly","UVKZGProof","ZMCommitment","ZMEvaluation","ZMPCS","ZMProof","ZMProverKey","ZMVerifierKey","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","coeffs","commit","default","default","default","default","default","default","default","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deserialize","drop","drop","drop","drop","drop","drop","drop","drop","drop","eq","eq","eq","eq","eq","eq","eq","eq","eq","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","init","init","init","init","init","init","init","init","init","into","into","into","into","into","into","into","into","into","open","proof","prove","serialize","serialize","setup","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","verify","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","EvaluationArgument","EvaluationEngine","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","deref","deref","deref_mut","deref_mut","deserialize","deserialize","drop","drop","fmt","fmt","from","from","init","init","into","into","prove","serialize","serialize","setup","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","verify","vzip","vzip","CommitmentKeyHint","R1CSInstance","R1CSResult","R1CSShape","R1CSWitness","RelaxedR1CSInstance","RelaxedR1CSWitness","absorb_in_ro","absorb_in_ro","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","commit","commit","commit_T","commit_T_into","commitment_key","commitment_key_size","default","default","default","default_T","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","digest","drop","drop","drop","drop","drop","drop","entomb","eq","eq","eq","eq","eq","eq","exhume","extent","fmt","fmt","fmt","fmt","fmt","fmt","fold","fold","fold_mut","fold_mut","from","from","from","from","from","from","from_r1cs_instance","from_r1cs_instance_unchecked","from_r1cs_witness","init","init","init","init","init","init","into","into","into","into","into","into","is_sat","is_sat_relaxed","new","new","new","pad","pad","random","random_witness_instance","serialize","serialize","serialize","serialize","serialize","serialize","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_transcript_bytes","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","batched","batched_ppsnark","polys","powers","ppsnark","snark","BatchedRelaxedR1CSSNARK","ProverKey","VerifierKey","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","ck_floor","deref","deref","deref","deref_mut","deref_mut","deref_mut","deserialize","digest","drop","drop","drop","fmt","fmt","fmt","from","from","from","init","init","init","into","into","into","prove","prove","serialize","serialize","setup","setup","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","verify","verify","vzip","vzip","vzip","BatchedRelaxedR1CSSNARK","ProverKey","VerifierKey","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","ck_floor","ck_floor","deref","deref","deref","deref_mut","deref_mut","deref_mut","deserialize","digest","drop","drop","drop","fmt","fmt","fmt","from","from","from","init","init","init","into","into","into","prove","prove","serialize","serialize","setup","setup","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","verify","verify","vzip","vzip","vzip","multilinear","MultilinearPolynomial","add","bind_poly_var_top","borrow","borrow_mut","clone","clone_into","deref","deref_mut","deserialize","drop","eq","evaluate","evaluate_with","evaluations","fmt","from","get_num_vars","index","init","into","is_empty","len","new","random","serialize","to_owned","try_from","try_into","type_id","vzip","ProverKey","R1CSShapeSparkCommitment","R1CSShapeSparkRepr","RelaxedR1CSSNARK","VerifierKey","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","ck_floor","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deserialize","deserialize","deserialize","digest","drop","drop","drop","drop","drop","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","init","init","init","init","init","into","into","into","into","into","new","prove","serialize","serialize","serialize","serialize","setup","to_owned","to_owned","to_owned","to_owned","to_owned","to_transcript_bytes","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","verify","vzip","vzip","vzip","vzip","vzip","ProverKey","RelaxedR1CSSNARK","VerifierKey","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","deref","deref","deref","deref_mut","deref_mut","deref_mut","deserialize","digest","drop","drop","drop","fmt","fmt","fmt","from","from","from","init","init","init","into","into","into","prove","serialize","serialize","setup","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","verify","vzip","vzip","vzip","AuxParams","C1","C2","CircuitDigests","NonUniformCircuit","PublicParams","RecursiveSNARK","StepCircuit","TrivialSecondaryCircuit","TrivialTestCircuit","arity","arity","arity","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","circuit_digest","circuit_index","circuit_index","circuit_index","circuit_param_digests","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","default","default","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deserialize","digest","digest","drop","drop","drop","drop","drop","drop","eq","eq","error","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from_parts","from_parts_unchecked","index","init","init","init","init","init","init","initial_circuit_index","into","into","into","into","into","into","into_parts","new","new","num_circuits","primary_circuit","prove_step","secondary_circuit","serialize","serialize","serialize","serialize","setup","snark","synthesize","synthesize","synthesize","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","verify","vzip","vzip","vzip","vzip","vzip","vzip","z0_primary","zi_primary","MissingCK","NovaError","SuperNovaError","UnSatIndex","borrow","borrow_mut","deref","deref_mut","drop","eq","fmt","fmt","from","from","init","into","source","to_string","try_from","try_into","type_id","vzip","CompressedSNARK","ProverKey","VerifierKey","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","deref","deref","deref","deref_mut","deref_mut","deref_mut","deserialize","drop","drop","drop","fmt","fmt","fmt","from","from","from","init","init","init","into","into","into","prove","serialize","setup","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","verify","vzip","vzip","vzip","AbsorbInROTrait","Base","Base","CE","CircuitRO","Constants","Constants","CurveCycleEquipped","Dual","Engine","GE","Group","NativeRO","PrimeFieldExt","RO","ROCircuit","ROCircuitTrait","ROConstants","ROConstantsCircuit","ROTrait","Scalar","Scalar","Secondary","TE","TranscriptEngineTrait","TranscriptReprTrait","absorb","absorb","absorb","absorb_in_ro","circuit","commitment","dom_sep","evaluation","from_uniform","group_params","new","new","new","snark","squeeze","squeeze","squeeze","to_transcript_bytes","StepCircuit","TrivialCircuit","arity","arity","borrow","borrow_mut","clone","clone_into","default","deref","deref_mut","drop","eq","fmt","from","init","into","synthesize","synthesize","to_owned","try_from","try_into","type_id","vzip","Commitment","CommitmentEngineTrait","CommitmentKey","CommitmentTrait","CompressedCommitment","Len","ScalarMul","commit","compress","decompress","length","setup","to_coordinates","EvaluationArgument","EvaluationEngineTrait","ProverKey","VerifierKey","prove","setup","verify","BatchedRelaxedR1CSSNARKTrait","DigestHelperTrait","ProverKey","ProverKey","RelaxedR1CSSNARKTrait","VerifierKey","VerifierKey","ck_floor","ck_floor","default_ck_hint","digest","prove","prove","setup","setup","verify","verify"],"q":[[0,"arecibo"],[160,"arecibo::constants"],[161,"arecibo::errors"],[222,"arecibo::gadgets"],[223,"arecibo::gadgets::ecc"],[276,"arecibo::provider"],[424,"arecibo::provider::hyperkzg"],[467,"arecibo::provider::ipa_pc"],[535,"arecibo::provider::non_hiding_zeromorph"],[716,"arecibo::provider::shplonk"],[757,"arecibo::r1cs"],[911,"arecibo::spartan"],[917,"arecibo::spartan::batched"],[970,"arecibo::spartan::batched_ppsnark"],[1024,"arecibo::spartan::polys"],[1025,"arecibo::spartan::polys::multilinear"],[1056,"arecibo::spartan::ppsnark"],[1155,"arecibo::spartan::snark"],[1213,"arecibo::supernova"],[1353,"arecibo::supernova::error"],[1375,"arecibo::supernova::snark"],[1422,"arecibo::traits"],[1466,"arecibo::traits::circuit"],[1490,"arecibo::traits::commitment"],[1503,"arecibo::traits::evaluation"],[1510,"arecibo::traits::snark"],[1527,"core::clone"],[1528,"core::result"],[1529,"serde::de"],[1530,"std::io::error"],[1531,"std::io"],[1532,"core::cmp"],[1533,"core::option"],[1534,"core::fmt"],[1535,"core::fmt"],[1536,"core::any"],[1537,"alloc::vec"],[1538,"bellpepper_core::constraint_system"],[1539,"core::error"],[1540,"alloc::string"],[1541,"bellpepper_core::constraint_system"],[1542,"bellpepper_core::gadgets::boolean"],[1543,"pairing"],[1544,"pairing"],[1545,"core::borrow"],[1546,"core::default"],[1547,"rand_core"],[1548,"rand_core"],[1549,"core::ops::function"],[1550,"alloc::boxed"],[1551,"ff"],[1552,"core::marker"],[1553,"num_bigint::bigint"],[1554,"core::cmp"]],"d":["A SNARK that proves the knowledge of a valid RecursiveSNARK","A type that holds the prover key for CompressedSNARK","A type that holds public parameters of Nova","A type that holds parameters for the primary and secondary …","A SNARK that proves the correct execution of an …","A resource buffer for RecursiveSNARK for storing scratch …","A type that holds the verifier key for CompressedSNARK","","","","","","","","","","","","","","","Compute the circuit digest of a StepCircuit.","","","","","","","","","","","","","Global Nova constants","","","","","","","","","","","","","","","","","","","","Return the R1CSWithArity’ digest.","Retrieve the digest of the public parameters.","","","","","","","","","","","This module defines errors returned by the library.","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","This module implements various gadgets necessary for Nova …","This implementation behaves in ways specific to the …","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Create a new R1CSWithArity","Create new instance of recursive SNARK","Returns the number of constraints in the primary and …","The number of steps which have been executed thus far.","Returns the number of variables in the primary and …","Get the outputs after the last step of computation.","Create a new CompressedSNARK","Create a new RecursiveSNARK (or updates the provided …","This module implements Nova’s traits using the following …","This module defines R1CS related types and a folding …","","","","","","","Set up builder to create PublicParams for a pair of …","Creates prover and verifier keys for CompressedSNARK","This module implements RelaxedR1CSSNARKTrait using Spartan …","SuperNova Description","","","","","","","This module defines various traits required by the users …","","","","","","","","","","","","","","","","","","","","","","Verify the correctness of the RecursiveSNARK","Verify the correctness of the CompressedSNARK","","","","","","","","Inputs of the primary circuits","Outputs of the primary circuits","Macros to give syntactic sugar for zipWith pattern and …","Like zip_with but use for_each instead of map.","Bit size of Nova field element hashes","returned when the supplied compressed commitment cannot be …","returned when there is an error creating a digest","returned when the consistency with public IO and …","returned when the prover cannot prove the provided …","returned when the transcript engine encounters an overflow …","returned if the provided commitment key is not of …","returned if the supplied row or col in (row,col,val) tuple …","returned when the initial input to an incremental …","returned if the supplied input is not of the right length","returned when the multiset check fails","returned if the provided number of steps is zero","returned when an invalid PCS evaluation argument is …","returned when the product proof check fails","returned if the step circuit calls inputize or alloc_io in …","returned when the step execution produces an output whose …","returned when an invalid sum-check proof is provided","returned if the supplied witness is not of the right length","returned when a length check fails in a PCS","Errors returned by Nova","Errors specific to the Polynomial commitment scheme","returned if there is an error in the proof/verification of …","returned if proof verification fails","return when error during synthesis","returned if the supplied witness is not a satisfying …","returned if the supplied witness is not a satisfying …","returned when there is a Zeromorph error","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","This module implements various elliptic curve gadgets","AllocatedPoint provides an elliptic curve abstraction …","AllocatedPoint but one that is guaranteed to be not …","Add two points (may be equal)","Add two points assuming self != +/- other","Adds other point to this point and returns the result. …","Allocates a new point on the curve using coordinates …","Allocates a new point on the curve using coordinates …","","","","","checks if self is on the curve or if it is infinity","","","","","If condition outputs a otherwise outputs b","If condition outputs a otherwise outputs b","Allocates a default point on the curve, set to the …","","","","","Doubles the supplied point.","doubles the point; since this is called with a point not …","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Turns an AllocatedPoint into an AllocatedPointNonInfinity …","Returns coordinates associated with the point.","Returns coordinates associated with the point.","","","Calls U::from(self).","Calls U::from(self).","Negates the provided point","Creates a new AllocatedPointNonInfinity from the specified …","A gadget for scalar multiplication, optimized to use …","If condition outputs a otherwise infinity","Returns an AllocatedPoint from an AllocatedPointNonInfinity","","","","","","","","","","","An implementation of the Nova Engine trait with BN254 …","An implementation of Nova traits with HyperKZG over the …","An implementation of the Nova Engine trait with BN254 …","An implementation of the Nova Engine trait with Grumpkin …","An implementation of the Nova Engine trait with Pallas …","An implementation of the Nova Engine trait with Secp256k1 …","An implementation of the Nova Engine trait with Secp256k1 …","An implementation of the Nova Engine trait with Vesta …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","This module implements Nova’s evaluation engine using …","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","This module implements EvaluationEngine using an IPA-based …","Non-hiding Zeromorph scheme for Multilinear Polynomials.","Shplonk PCS","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Provides an implementation of a polynomial evaluation …","Provides an implementation of a polynomial evaluation …","Compute powers of q : (1, q, q^2, …, q^(k-1))","","","","","","","","","TODO: write doc","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","TODO: write doc","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","TODO: write doc","A method to verify purported evaluations of a batch of …","","","Provides an implementation of a polynomial evaluation …","An inner product argument","Provides an implementation of the prover key","Provides an implementation of the verifier key","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","A method to verify purported evaluations of a batch of …","","","","","Polynomial Evaluation","KZG Polynomial Commitment Scheme on univariate polynomial. …","Polynomial and its associated types","Proofs","Commitments","Polynomial Evaluation","Zeromorph Polynomial Commitment Scheme on multilinear …","Proofs","ZMProverKey is used to generate a proof","ZMVerifierKey is used to check evaluation proofs for a …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Generate a commitment for a polynomial Note that the …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","On input a polynomial p and a point point, outputs a proof …","proof","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","EvaluationArgument of Shplonk","EvaluationEngine of Shplonk","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","A method to verify purported evaluations of a batch of …","","","A type for functions that hints commitment key sizing by …","A type that holds an R1CS instance","A type that holds the result of a R1CS multiplication","A type that holds the shape of the R1CS matrices","A type that holds a witness for a given R1CS instance","A type that holds a Relaxed R1CS instance","A type that holds a witness for a given Relaxed R1CS …","","","","","","","","","","","","","","","","","","","","","","","","","","","Commits to the witness using the supplied generators","Commits to the witness using the supplied generators","A method to compute a commitment to the cross-term T given …","A method to compute a commitment to the cross-term T given …","Generates public parameters for a Rank-1 Constraint System …","Computes the number of generators required for the …","Produces a default R1CSResult given an R1CSShape","Produces a default RelaxedR1CSWitness given an R1CSShape","Produces a default RelaxedR1CSInstance given R1CSGens and …","Empty buffer for commit_T_into","","","","","","","","","","","","","","","","","","","returned the digest of the R1CSShape","","","","","","","","","","","","","","","","","","","","","","Folds an incoming R1CSWitness into the current one","Folds an incoming RelaxedR1CSInstance into the current one","Mutably folds an incoming R1CSWitness into the current one","Mutably folds an incoming RelaxedR1CSInstance into the …","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Initializes a new RelaxedR1CSInstance from an R1CSInstance","Initializes a new RelaxedR1CSInstance from an R1CSInstance","Initializes a new RelaxedR1CSWitness from an R1CSWitness","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Checks if the R1CS instance is satisfiable given a witness …","Checks if the Relaxed R1CS instance is satisfiable given a …","Create an object of type R1CSShape from the explicitly …","A method to create a witness object using a vector of …","A method to create an instance object using constituent …","Pads the R1CSShape so that the shape passes …","Pads the provided witness to the correct length","Generate a random R1CSShape with the specified number of …","Generate a satisfying RelaxedR1CSWitness and …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","This module implements BatchedRelaxedR1CSSNARKTrait using …","batched pp snark","This module contains the definitions of polynomial types …","Creates a vector of the first n powers of s.","This module implements RelaxedR1CSSNARK traits using a …","This module implements RelaxedR1CSSNARKTrait using Spartan …","A succinct proof of knowledge of a witness to a batch of …","A type that represents the prover’s key","A type that represents the verifier’s key","","","","","","","","","","","","","","","Returns the digest of the verifier’s key.","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","A succinct proof of knowledge of a witness to a relaxed …","A type that represents the prover’s key","A type that represents the verifier’s key","","","","","","","","","","","","","","","","Returns the digest of the verifier’s key","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","Main components:","A multilinear extension of a polynomial $Z(\\\\cdot)$, denote …","","Binds the polynomial’s top variable using the given …","","","","","","","","","","Evaluates the polynomial at the given point. Returns Z(r) …","Evaluates the polynomial with the given evaluations and …","evaluations of the polynomial in all the 2^num_vars …","","Returns the argument unchanged.","Returns the number of variables in the multilinear …","","","Calls U::from(self).","Returns true if no evaluations.","Returns the total number of evaluations.","Creates a new MultilinearPolynomial from the given …","Returns a random polynomial","","","","","","","A type that represents the prover’s key","A type that holds a commitment to a sparse polynomial","A type that holds R1CSShape in a form amenable to memory …","A succinct proof of knowledge of a witness to a relaxed …","A type that represents the verifier’s key","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the digest of the verifier’s key","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","represents R1CSShape in a Spark-friendly format amenable …","produces a succinct proof of satisfiability of a …","","","","","","","","","","","","","","","","","","","","","","","","","","","verifies a proof of satisfiability of a RelaxedR1CS …","","","","","","A type that represents the prover’s key","A succinct proof of knowledge of a witness to a relaxed …","A type that represents the verifier’s key","","","","","","","","","","","","","","","","","","","","Returns the digest of the verifier’s key.","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","produces a succinct proof of satisfiability of a …","","","","","","","","","","","","","","","","verifies a proof of satisfiability of a RelaxedR1CS …","","","","Auxiliary PublicParams information about the commitment …","The type of the step-circuits on the primary","The type of the step-circuits on the secondary","A struct that manages all the digests of the primary …","SuperNova helper trait, for implementors that provide sets …","A vector of R1CSWithArity adjoined to a set of PublicParams","A SNARK that proves the correct execution of an …","A helper trait for a step of the incremental computation …","A trivial step circuit that simply returns the input, for …","A trivial step circuit that simply returns the input","Return the the number of inputs or outputs of each step …","","","","","","","","","","","","","","","Compute the circuit digest of a supernova StepCircuit.","Return this StepCircuit’s assigned index, for use when …","","","All of the primary circuit digests of this PublicParams","","","","","","","","","","","","","","","","","","","","","","","","","Return the CircuitDigests’ digest.","Return the PublicParams’ digest.","","","","","","","","","This module defines errors returned by the library.","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Create a PublicParams from a vector of raw R1CSWithArity …","Create a PublicParams from a vector of raw R1CSWithArity …","","","","","","","","Initial circuit index, defaults to zero.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Breaks down an instance of PublicParams into the circuit …","Construct a new CircuitDigests","iterate base step to get new instance of recursive SNARK","How many circuits are provided?","Return a new instance of the primary circuit at index.","executing a step of the incremental computation","Return a new instance of the secondary circuit.","","","","","Construct a new PublicParams","This module defines a final compressing SNARK for …","Synthesize the circuit for a computation step and return …","","","","","","","","","","","","","","","","","","","","","","","","","verify recursive snark","","","","","","","Inputs of the primary circuits","Outputs of the primary circuits","missing commitment key","Nova error","Errors returned by Nova","Extended error for supernova","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","A SNARK that proves the knowledge of a valid RecursiveSNARK","A type that holds the prover key for CompressedSNARK","A type that holds the verifier key for CompressedSNARK","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Create a new CompressedSNARK","","Creates prover and verifier keys for CompressedSNARK","","","","","","","","","","Verify the correctness of the CompressedSNARK","","","","A helper trait to absorb different objects in RO","A type representing an element of the base field of the …","A type representing an element of the base field of the …","A type that defines a commitment engine over scalars in …","The circuit alter ego of this trait impl - this constrains …","A type representing constants/parameters associated with …","A type representing constants/parameters associated with …","This is a convenience trait to pair engines which fields …","Convenience projection to the secondary Engine of a …","A collection of engines that are required by the library","A type that represents an element of the group","Represents an element of a group This is currently …","the vanilla alter ego of this trait - this constrains it …","Defines additional methods on PrimeField objects","A type that represents a circuit-friendly sponge that …","An alternate implementation of Self::RO in the circuit …","A helper trait that defines the behavior of a hash …","An alias for constants associated with E::RO","An alias for constants associated with E::ROCircuit","A helper trait that defines the behavior of a hash …","A type representing an element of the scalar field of the …","A type representing an element of the scalar field of the …","The secondary Engine of Self","A type that provides a generic Fiat-Shamir transcript to …","This trait defines the behavior of a transcript engine …","This trait allows types to implement how they want to be …","Adds a scalar to the internal state","Adds a scalar to the internal state","absorbs any type that implements TranscriptReprTrait under …","Absorbs the value in the provided RO","This module defines traits that a step function must …","This module defines a collection of traits that define the …","adds a domain separator","This module defines a collection of traits that define the …","Returns a scalar representing the bytes","Returns A, B, the order of the group, the size of the base …","Initializes the hash function","Initializes the hash function","initializes the transcript","This module defines a collection of traits that define the …","Returns a challenge of num_bits by hashing the internal …","Returns a challenge of num_bits by hashing the internal …","returns a scalar element of the group as a challenge","returns a byte representation of self to be added to the …","A helper trait for a step of the incremental computation …","A trivial step circuit that simply returns the input","Return the number of inputs or outputs of each step (this …","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","Sythesize the circuit for a computation step and return …","","","","","","","Holds the type of the commitment","A trait that ties different pieces of the commitment …","Holds the type of the commitment key The key should …","This trait defines the behavior of the commitment","Holds the type of the compressed commitment","A trait that helps determine the length of a structure. …","A helper trait for types implementing scalar …","Commits to the provided vector using the provided …","Compresses self into a compressed commitment","Decompresses a compressed commitment into a commitment","Returns the length of the structure.","Samples a new commitment key of a specified size","Returns the coordinate representation of the commitment","A type that holds the evaluation argument","A trait that ties different pieces of the commitment …","A type that holds the prover key","A type that holds the verifier key","A method to prove the evaluation of a multilinear …","A method to perform any additional setup needed to produce …","A method to verify the purported evaluation of a …","A trait that defines the behavior of a zkSNARK to prove …","A helper trait that defines the behavior of a verifier key …","A type that represents the prover’s key","A type that represents the prover’s key","A trait that defines the behavior of a zkSNARK","A type that represents the verifier’s key","A type that represents the verifier’s key","This associated function (not a method) provides a hint …","This associated function (not a method) provides a hint …","Public parameter creation takes a size hint. This size …","Returns the digest of the verifier’s key","Produces a new SNARK for a relaxed R1CS","Produces a new SNARK for a batch of relaxed R1CS","Produces the keys for the prover and the verifier","Produces the keys for the prover and the verifier","Verifies a SNARK for a relaxed R1CS","Verifies a SNARK for a batch of relaxed R1CS"],"i":[0,0,0,0,0,0,0,2,5,7,8,9,12,17,2,5,7,8,9,12,17,0,2,5,7,8,9,12,2,5,7,8,9,12,0,2,5,7,8,9,12,17,2,5,7,8,9,12,17,2,5,7,8,17,2,5,2,5,7,8,9,12,17,2,2,5,0,2,2,2,5,7,8,9,12,17,2,5,7,8,9,12,17,0,0,2,5,7,8,9,12,17,2,5,7,8,9,12,17,2,8,5,8,5,8,17,8,0,0,2,5,7,8,12,17,5,17,0,0,2,5,7,8,9,12,0,2,5,7,8,9,12,17,2,5,7,8,9,12,17,2,5,7,8,9,12,17,8,17,2,5,7,8,9,12,17,8,8,0,0,0,29,29,29,29,29,29,29,29,29,29,29,34,29,29,29,29,29,34,0,0,29,29,29,29,29,34,29,34,29,34,29,34,29,34,29,34,29,34,29,29,34,34,29,29,29,34,29,34,29,34,29,29,34,29,34,29,34,29,34,29,34,0,0,0,38,41,38,38,41,38,41,38,41,38,38,41,38,41,38,41,38,38,41,38,41,38,41,38,41,38,41,38,41,41,38,41,38,41,38,41,38,41,38,38,41,38,41,38,41,38,41,38,41,38,41,0,0,0,0,0,0,0,0,45,46,47,48,49,50,51,52,45,46,47,48,49,50,51,52,45,46,47,48,49,50,51,52,45,46,47,48,49,50,51,52,45,46,47,48,49,50,51,52,45,46,47,48,49,50,51,52,45,46,47,48,49,50,51,52,45,46,47,48,49,50,51,52,45,46,47,48,49,50,51,52,45,46,47,48,49,50,51,52,0,45,46,47,48,49,50,51,52,45,46,47,48,49,50,51,52,0,0,0,45,46,47,48,49,50,51,52,45,46,47,48,49,50,51,52,45,46,47,48,49,50,51,52,45,46,47,48,49,50,51,52,45,46,47,48,49,50,51,52,0,0,55,53,55,53,55,53,55,53,55,55,53,55,53,55,53,53,55,53,55,53,55,55,53,55,53,55,55,53,55,53,55,53,55,53,55,53,55,55,55,53,55,0,0,0,0,64,65,62,63,64,65,62,63,62,63,62,63,64,65,62,63,64,65,62,63,63,64,65,62,63,64,65,62,63,64,65,62,63,64,65,62,63,64,65,62,63,62,65,63,62,62,63,64,65,62,63,64,65,62,63,64,65,62,63,62,64,65,62,63,0,0,0,0,0,0,0,0,0,0,66,67,68,69,70,71,72,73,74,66,67,68,69,70,71,72,73,74,66,67,68,69,70,71,72,73,74,66,67,68,69,70,71,72,73,74,75,68,66,67,68,71,72,73,74,66,67,68,69,70,71,72,73,74,66,67,68,69,70,71,72,73,74,73,66,67,68,69,70,71,72,73,74,66,67,68,69,70,71,72,73,74,66,67,68,69,70,71,72,73,74,66,67,68,69,70,71,72,72,73,74,66,67,68,69,70,71,72,73,74,66,67,68,69,70,71,72,73,74,68,67,74,70,73,74,66,67,68,69,70,71,72,73,74,66,67,68,69,70,71,72,73,74,66,67,68,69,70,71,72,73,74,66,67,68,69,70,71,72,73,74,74,66,67,68,69,70,71,72,73,74,0,0,78,79,78,79,78,79,78,79,78,79,78,79,78,79,78,79,78,79,78,79,78,79,78,79,79,78,79,79,78,79,78,79,78,79,78,79,79,78,79,0,0,0,0,0,0,0,80,81,28,82,83,80,84,81,28,82,83,80,84,81,28,82,83,80,84,81,28,82,83,80,84,81,83,84,28,28,0,0,82,84,81,0,28,82,83,80,84,81,28,82,83,80,84,81,28,82,83,80,84,81,28,28,82,83,80,84,81,28,28,82,83,80,84,81,28,28,28,82,83,80,84,81,84,81,84,81,28,82,83,80,84,81,81,81,84,28,82,83,80,84,81,28,82,83,80,84,81,28,28,28,83,80,28,84,28,28,28,82,83,80,84,81,28,82,83,80,84,81,81,28,82,83,80,84,81,28,82,83,80,84,81,28,82,83,80,84,81,28,82,83,80,84,81,0,0,0,0,0,0,0,0,0,90,93,92,90,93,92,90,90,93,92,90,93,92,90,92,90,93,92,90,93,92,90,93,92,90,93,92,90,93,92,90,90,90,92,90,90,90,93,92,90,93,92,90,93,92,90,90,90,93,92,0,0,0,96,95,94,96,95,94,94,94,96,95,94,96,95,94,94,95,96,95,94,96,95,94,96,95,94,96,95,94,96,95,94,94,94,95,94,94,94,96,95,94,96,95,94,96,95,94,94,94,96,95,94,0,0,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,0,0,0,0,0,101,102,103,104,105,101,102,103,104,105,105,101,102,103,104,105,101,102,103,104,105,101,102,103,104,105,101,102,103,104,105,101,102,105,104,101,102,103,104,105,101,102,103,104,105,101,102,103,104,105,101,102,103,104,105,101,102,103,104,105,101,105,101,102,104,105,105,101,102,103,104,105,102,101,102,103,104,105,101,102,103,104,105,101,102,103,104,105,105,101,102,103,104,105,0,0,0,106,107,108,106,107,108,106,107,108,106,107,108,106,107,108,106,107,108,108,107,106,107,108,106,107,108,106,107,108,106,107,108,106,107,108,108,107,108,108,106,107,108,106,107,108,106,107,108,106,107,108,108,106,107,108,0,118,118,0,0,0,0,0,0,0,109,110,111,110,111,113,112,114,115,110,111,113,112,114,115,0,109,110,111,112,110,111,114,115,110,111,114,115,110,111,110,111,113,113,112,114,115,110,111,113,112,114,115,115,113,112,110,111,113,112,114,115,113,114,0,110,111,113,112,114,115,110,111,113,112,114,115,112,112,112,110,111,113,112,114,115,118,110,111,113,112,114,115,112,113,115,118,118,115,118,113,112,114,115,112,0,109,110,111,110,111,114,115,110,111,113,112,114,115,110,111,113,112,114,115,110,111,113,112,114,115,115,110,111,113,112,114,115,115,115,119,119,0,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,0,0,0,122,123,120,122,123,120,122,123,120,122,123,120,120,122,123,120,122,123,120,122,123,120,122,123,120,122,123,120,120,120,120,122,123,120,122,123,120,122,123,120,120,122,123,120,0,39,4,4,126,126,127,0,0,0,4,0,127,0,4,4,0,0,0,0,39,4,6,4,0,0,126,127,58,133,0,0,58,0,134,39,126,127,58,0,126,127,58,132,0,0,1,136,136,136,136,136,136,136,136,136,136,136,136,136,136,1,136,136,136,136,136,136,144,0,144,0,138,0,0,144,138,138,140,144,138,91,0,91,91,91,91,91,0,0,10,121,0,10,121,10,121,0,141,10,121,10,121,10,121],"f":[0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[],1],[[[2,[-1]]],[[2,[-1]]],[3,4]],[[[5,[-1]]],[[5,[-1]]],[6,3]],[[[7,[-1]]],[[7,[-1]]],[3,4]],[[[8,[-1]]],[[8,[-1]]],[6,3]],[[[9,[-1,-2,-3]]],[[9,[-1,-2,-3]]],[6,3],[[10,[-1]],3],[[10,[[11,[-1]]]],3]],[[[12,[-1,-2,-3]]],[[12,[-1,-2,-3]]],[6,3],[[10,[-1]],3],[[10,[[11,[-1]]]],3]],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],0,[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[-1,[[15,[[2,[-2]]]]],16,4],[-1,[[15,[[5,[-2]]]]],16,6],[-1,[[15,[[7,[-2]]]]],16,4],[-1,[[15,[[8,[-2]]]]],16,6],[-1,[[15,[[17,[-2,-3,-4]]]]],16,6,[[10,[-2]]],[[10,[[11,[-2]]]]]],[[[2,[-1]]],[],4],[[[5,[-1]]],[],6],[14,13],[14,13],[14,13],[14,13],[14,13],[14,13],[14,13],[[[2,[-1]],-2],[[18,[13]]],4,19],[[[2,[-1]],[2,[-1]]],20,[21,4]],[[[5,[-1]],[5,[-1]]],20,[6,21]],0,[[[2,[-1]],[23,[22]]],[[24,[[23,[22]]]]],4],[[[2,[-1]]],14,4],[[[2,[-1]],25],26,[27,4]],[[[5,[-1]],25],26,[6,27]],[[[7,[-1]],25],26,[27,4]],[[[8,[-1]],25],26,[6,27]],[[[9,[-1,-2,-3]],25],26,[6,27],[[10,[-1]],27],[[10,[[11,[-1]]]],27]],[[[12,[-1,-2,-3]],25],26,[6,27],[[10,[-1]],27],[[10,[[11,[-1]]]],27]],[[[17,[-1,-2,-3]],25],26,[6,27],[[10,[-1]],27],[[10,[[11,[-1]]]],27]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],0,0,[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[28,[-1]],14],[[2,[-1]]],4],[[[5,[-1]],-2,-3,23,23],[[15,[[8,[-1]],29]]],6,1,1],[[[5,[-1]]],[[13,[14,14]]],6],[[[8,[-1]]],14,6],[[[5,[-1]]],[[13,[14,14]]],6],[[[8,[-1]]],[[13,[23,23]]],6],[[[5,[-1]],[9,[-1,-2,-3]],[8,[-1]]],[[15,[[17,[-1,-2,-3]],29]]],6,[[10,[-1]]],[[10,[[11,[-1]]]]]],[[[8,[-1]],[5,[-1]],-2,-3],[[15,[13,29]]],6,1,1],0,0,[[[2,[-1]],-2],15,4,30],[[[5,[-1]],-2],15,6,30],[[[7,[-1]],-2],15,4,30],[[[8,[-1]],-2],15,6,30],[[[12,[-1,-2,-3]],-4],15,6,[[10,[-1]]],[[10,[[11,[-1]]]]],30],[[[17,[-1,-2,-3]],-4],15,6,[[10,[-1]]],[[10,[[11,[-1]]]]],30],[[-1,-2,[31,[-3]],[31,[[11,[-3]]]]],[[15,[[5,[-3]],29]]],1,1,6],[[[5,[-1]]],[[15,[[13,[[9,[-1,-2,-3]],[12,[-1,-2,-3]]]],29]]],6,[[10,[-1]]],[[10,[[11,[-1]]]]]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,32,[]],[-1,32,[]],[-1,32,[]],[-1,32,[]],[-1,32,[]],[-1,32,[]],[-1,32,[]],[[[8,[-1]],[5,[-1]],14,23,23],[[15,[[13,[33,33]],29]]],6],[[[17,[-1,-2,-3]],[12,[-1,-2,-3]],14,23,23],[[15,[[13,[33,33]],29]]],6,[[10,[-1]]],[[10,[[11,[-1]]]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[8,[-1]]],33,6],[[[8,[-1]]],33,6],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,13],[14,13],[[29,29],20],[[34,34],20],[[29,25],26],[[29,25],26],[[34,25],26],[[34,25],26],[35,29],[34,29],[-1,-1,[]],[-1,-1,[]],[[],14],[[],14],[-1,-2,[],[]],[-1,-2,[],[]],[29,[[24,[36]]]],[-1,37,[]],[-1,37,[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,32,[]],[-1,32,[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,[[[38,[-1]],-2,[38,[-1]]],[[15,[[38,[-1]],35]]],39,40],[[[41,[-1]],-2,[41,[-1]]],[[15,[[41,[-1]],35]]],39,40],[[[38,[-1]],-2,[38,[-1]],42],[[15,[[38,[-1]],35]]],39,40],[[-1,[24,[[13,[20]]]]],[[15,[[38,[-2]],35]]],40,39],[[-1,[24,[13]]],[[15,[[41,[-2]],35]]],40,39],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[38,[-1]],-2],[[15,[13,35]]],39,40],[[[38,[-1]]],[[38,[-1]]],[3,39]],[[[41,[-1]]],[[41,[-1]]],[3,39]],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[[-1,[38,[-2]],[38,[-2]],43],[[15,[[38,[-2]],35]]],40,39],[[-1,[41,[-2]],[41,[-2]],43],[[15,[[41,[-2]],35]]],40,39],[-1,[[15,[[38,[-2]],35]]],40,39],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[[[38,[-1]],-2],[[15,[[38,[-1]],35]]],39,40],[[[41,[-1]],-2],[[15,[[41,[-1]],35]]],39,40],[14,13],[14,13],[[[38,[-1]],25],26,[27,39]],[[[41,[-1]],25],26,[27,39]],[-1,-1,[]],[-1,-1,[]],[[[38,[-1]]],[[41,[-1]]],39],[[[38,[-1]]],[[13,[44,44,44]]],39],[[[41,[-1]]],[[13,[44,44]]],39],[[],14],[[],14],[-1,-2,[],[]],[-1,-2,[],[]],[[[38,[-1]],-2],[[15,[[38,[-1]],35]]],39,40],[[44,44],[[41,[-1]]],39],[[[38,[-1]],-2,[23,[42]]],[[15,[[38,[-1]],35]]],39,40],[[-1,[38,[-2]],43],[[15,[[38,[-2]],35]]],40,39],[[[41,[-1]],44],[[15,[[38,[-1]],35]]],39],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,32,[]],[-1,32,[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[45,45],[46,46],[47,47],[48,48],[49,49],[50,50],[51,51],[52,52],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,13],[14,13],[14,13],[14,13],[14,13],[14,13],[14,13],[14,13],[[45,45],20],[[46,46],20],[[47,47],20],[[48,48],20],[[49,49],20],[[50,50],20],[[51,51],20],[[52,52],20],[[45,25],26],[[46,25],26],[[47,25],26],[[48,25],26],[[49,25],26],[[50,25],26],[[51,25],26],[[52,25],26],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],0,[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,32,[]],[-1,32,[]],[-1,32,[]],[-1,32,[]],[-1,32,[]],[-1,32,[]],[-1,32,[]],[-1,32,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[14,33],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[53,[-1]]],[[53,[-1]]],[3,54]],[[[55,[-1,-2]]],[[55,[-1,-2]]],3,3],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[[23,-2],[],[[4,[],[[56,[]],[57,[]]]]],[[58,[-1]]]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[-1,[[15,[[53,[-2]]]]],16,54],[14,13],[14,13],[[[53,[-1]],25],26,[27,54]],[[[55,[-1,-2]],25],26,27,27],[-1,-1,[]],[-1,-1,[]],[[[23,[33]],-2],[],[[4,[],[[56,[]],[57,[]]]]],[[58,[-1]]]],[[],14],[[],14],[-1,-2,[],[]],[-1,-2,[],[]],[[[0,[-1]],-2,[0,[-3]],23,23],[[15,[-4,29]]],59,[],[[4,[],[[56,[]],[57,[]],[60,[[0,[-1]]]]]]],[]],[[[53,[-1]],-2],15,54,30],[[[61,[[0,[-1]]]]],[[13,[-2,-3]]],59,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,32,[]],[-1,32,[]],[[23,-2],[],[[4,[],[[56,[]],[57,[]]]]],[[58,[-1]]]],[[-1,[0,[-3]],23,-4],[[15,[13,29]]],[],59,[[4,[],[[56,[]],[57,[]],[60,[[0,[-2]]]]]]],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[62,[-1]]],[[62,[-1]]],3],[[[63,[-1]]],[[63,[-1]]],[3,4]],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[-1,[[15,[[63,[-2]]]]],16,4],[14,13],[14,13],[14,13],[14,13],[[[64,[-1]],25],26,[27,4]],[[[65,[-1]],25],26,[27,4]],[[[62,[-1]],25],26,27],[[[63,[-1]],25],26,[27,4]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[[],14],[[],14],[[],14],[[],14],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,23,23],[[15,[-2,29]]],[],[]],[[[65,[-1]],-2],15,4,30],[[[63,[-1]],-2],15,4,30],[61,[[13,[-1,-2]]],[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,32,[]],[-1,32,[]],[-1,32,[]],[-1,32,[]],[[-1,23,-2],[[15,[13,29]]],[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[66,[-1]]],[[66,[-1]]],[3,54]],[[[67,[-1]]],[[67,[-1]]],[3,54]],[[[68,[-1]]],[[68,[-1]]],3],[[[69,[-1]]],[[69,[-1]]],[3,54]],[[[70,[-1]]],[[70,[-1]]],[3,54]],[[[71,[-1]]],[[71,[-1]]],[3,54]],[[[72,[-1]]],[[72,[-1]]],[3,54]],[[[73,[-1]]],[[73,[-1]]],[3,54]],[[[74,[-1,-2]]],[[74,[-1,-2]]],3,3],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],0,[[-2,75],[[15,[[0,[-1]],29]]],59,[[76,[[0,[-1]]]]]],[[],[[66,[-1]]],[77,54]],[[],[[67,[-1]]],[77,54]],[[],[[68,[-1]]],77],[[],[[71,[-1]]],[77,54]],[[],[[72,[-1]]],[77,54]],[[],[[73,[-1]]],[77,54]],[[],[[74,[-1,-2]]],77,77],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[-1,[[15,[[73,[-2]]]]],16,54],[14,13],[14,13],[14,13],[14,13],[14,13],[14,13],[14,13],[14,13],[14,13],[[[66,[-1]],[66,[-1]]],20,[21,54]],[[[67,[-1]],[67,[-1]]],20,[21,54]],[[[68,[-1]],[68,[-1]]],20,21],[[[69,[-1]],[69,[-1]]],20,[21,54]],[[[70,[-1]],[70,[-1]]],20,[21,54]],[[[71,[-1]],[71,[-1]]],20,[21,54]],[[[72,[-1]],[72,[-1]]],20,[21,54]],[[[73,[-1]],[73,[-1]]],20,[21,54]],[[[74,[-1,-2]],[74,[-1,-2]]],20,21,21],[[[66,[-1]],25],26,[27,54]],[[[67,[-1]],25],26,[27,54]],[[[68,[-1]],25],26,27],[[[69,[-1]],25],26,[27,54]],[[[70,[-1]],25],26,[27,54]],[[[71,[-1]],25],26,[27,54]],[[[72,[-1]],25],26,[27,54]],[[[73,[-1]],25],26,[27,54]],[[[74,[-1,-2]],25],26,27,27],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[[[66,[-1]]],[[72,[-1]]],54],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-2,75],[[15,[[13,[[67,[-1]],[66,[-1]]]],29]]],59,[[76,[[0,[-1]]]]]],0,[[[0,[-1]],-2,23,23],[[15,[-3,29]]],59,[],[]],[[[70,[-1]],-2],15,54,30],[[[73,[-1]],-2],15,54,30],[[[61,[[0,[-1]]]]],[[13,[-2,-3]]],59,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,32,[]],[-1,32,[]],[-1,32,[]],[-1,32,[]],[-1,32,[]],[-1,32,[]],[-1,32,[]],[-1,32,[]],[-1,32,[]],[[-1,23,-2],[[15,[13,29]]],[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[78,[-1]]],[[78,[-1]]],[3,54]],[[[79,[-1,-2]]],[[79,[-1,-2]]],3,3],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[-1,[[15,[[78,[-2]]]]],16,54],[-1,[[15,[[79,[-2,-3]]]]],16,[],[]],[14,13],[14,13],[[[78,[-1]],25],26,[27,54]],[[[79,[-1,-2]],25],26,27,27],[-1,-1,[]],[-1,-1,[]],[[],14],[[],14],[-1,-2,[],[]],[-1,-2,[],[]],[[[0,[-1]],[0,[-1]],[0,[-2]],23,23],[[15,[[78,[-1]],29]]],59,[[4,[],[[56,[]],[57,[]],[60,[[0,[-1]]]]]]]],[[[78,[-1]],-2],15,54,30],[[[79,[-1,-2]],-3],15,[],[],30],[[[61,[[0,[-1]]]]],[[13,[[0,[-1]],[0,[-1]]]]],59],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,32,[]],[-1,32,[]],[[[0,[-1]],[0,[-2]],23,[78,[-1]]],[[15,[13,29]]],59,[[4,[],[[56,[]],[57,[]],[60,[[0,[-1]]]]]]]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,[[[80,[-1]]],13,4],[[[81,[-1]]],13,4],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[28,[-1]]],[[28,[-1]]],[3,4]],[[[82,[-1]]],[[82,[-1]]],[3,4]],[[[83,[-1]]],[[83,[-1]]],[3,4]],[[[80,[-1]]],[[80,[-1]]],[3,4]],[[[84,[-1]]],[[84,[-1]]],[3,4]],[[[81,[-1]]],[[81,[-1]]],[3,4]],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[[[83,[-1]]],[],4],[[[84,[-1]]],13,4],[[[28,[-1]],[81,[-1]],[84,[-1]],[80,[-1]],[83,[-1]]],[[15,[[13,[33]],29]]],4],[[[28,[-1]],[81,[-1]],[84,[-1]],[80,[-1]],[83,[-1]],33,[82,[-1]],[82,[-1]]],[[15,[29]]],4],[[[28,[-1]],[31,[-1]]],[],4],[[[28,[-1]],[31,[-1]]],14,4],[14,[[82,[-1]]],4],[[[28,[-1]]],[[84,[-1]]],4],[[[28,[-1]]],[[81,[-1]]],4],[14,33],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[-1,[[15,[[28,[-2]]]]],16,4],[-1,[[15,[[82,[-2]]]]],16,4],[-1,[[15,[[83,[-2]]]]],16,4],[-1,[[15,[[80,[-2]]]]],16,4],[-1,[[15,[[84,[-2]]]]],16,4],[-1,[[15,[[81,[-2]]]]],16,4],[[[28,[-1]]],[],4],[14,13],[14,13],[14,13],[14,13],[14,13],[14,13],[[[28,[-1]],-2],[[18,[13]]],4,19],[[[28,[-1]],[28,[-1]]],20,[21,4]],[[[82,[-1]],[82,[-1]]],20,[21,4]],[[[83,[-1]],[83,[-1]]],20,[21,4]],[[[80,[-1]],[80,[-1]]],20,[21,4]],[[[84,[-1]],[84,[-1]]],20,[21,4]],[[[81,[-1]],[81,[-1]]],20,[21,4]],[[[28,[-1]],[23,[22]]],[[24,[[23,[22]]]]],4],[[[28,[-1]]],14,4],[[[28,[-1]],25],26,[27,4]],[[[82,[-1]],25],26,[27,4]],[[[83,[-1]],25],26,[27,4]],[[[80,[-1]],25],26,[27,4]],[[[84,[-1]],25],26,[27,4]],[[[81,[-1]],25],26,[27,4]],[[[84,[-1]],[83,[-1]],23],[[15,[[84,[-1]],29]]],4],[[[81,[-1]],[80,[-1]]],[[81,[-1]]],4],[[[84,[-1]],[83,[-1]],23],[[15,[13,29]]],4],[[[81,[-1]],[80,[-1]]],13,4],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[[[28,[-1]],[80,[-1]]],[[81,[-1]]],4],[23,[[81,[-1]]],4],[[[28,[-1]],[83,[-1]]],[[84,[-1]]],4],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[28,[-1]],[80,[-1]],[83,[-1]]],[[15,[13,29]]],4],[[[28,[-1]],[81,[-1]],[84,[-1]]],[[15,[13,29]]],4],0,[[[28,[-1]],33],[[15,[[83,[-1]],29]]],4],[[[28,[-1]],33],[[15,[[80,[-1]],29]]],4],[[[28,[-1]]],[[28,[-1]]],4],[[[84,[-1]],[28,[-1]]],[[84,[-1]]],4],[[14,14,14,14,-1],[[28,[-2]]],[85,86],4],[[[28,[-1]],-2],[[13,[[84,[-1]],[81,[-1]]]]],4,[85,86]],[[[28,[-1]],-2],15,4,30],[[[82,[-1]],-2],15,4,30],[[[83,[-1]],-2],15,4,30],[[[80,[-1]],-2],15,4,30],[[[84,[-1]],-2],15,4,30],[[[81,[-1]],-2],15,4,30],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[81,[-1]]],[[33,[22]]],4],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,32,[]],[-1,32,[]],[-1,32,[]],[-1,32,[]],[-1,32,[]],[-1,32,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,[[-1,14],[[33,[-1]]],87],0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[],[[89,[88]]]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[-1,[[15,[[90,[-2,-3]]]]],16,4,[[91,[-2]]]],[[[92,[-1,-2]]],[],4,[[91,[-1]]]],[14,13],[14,13],[14,13],[[[90,[-1,-2]],25],26,[27,4],[27,[91,[-1]]]],[[[93,[-1,-2]],25],26,[27,4],[27,[91,[-1]]]],[[[92,[-1,-2]],25],26,[27,4],[27,[91,[-1]]]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[[],14],[[],14],[[],14],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,[28,[-2]],[81,[-2]],[84,[-2]]],[[15,[[90,[-2,-3]],29]]],[],4,[[91,[-2]]]],[[-1,[33,[[28,[-2]]]],[23,[[81,[-2]]]],[23,[[84,[-2]]]]],[[15,[[90,[-2,-3]],29]]],[],4,[[91,[-2]]]],[[[90,[-1,-2]],-3],15,4,[[91,[-1]]],30],[[[92,[-1,-2]],-3],15,4,[[91,[-1]]],30],[[61,[28,[-1]]],[[15,[[13,[-2,-3]],29]]],4,[],[]],[[61,[33,[[28,[-1]]]]],[[15,[[13,[-2,-3]],29]]],4,[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,32,[]],[-1,32,[]],[-1,32,[]],[[[90,[-1,-2]],-3,[23,[[81,[-1]]]]],[[15,[13,29]]],4,[[91,[-1]]],[]],[[[90,[-1,-2]],-3,[81,[-1]]],[[15,[13,29]]],4,[[91,[-1]]],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[],[[89,[88]]]],[[],[[89,[88]]]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[-1,[[15,[[94,[-2,-3]]]]],16,4,[[91,[-2]]]],[[[95,[-1,-2]]],[],4,[[91,[-1]]]],[14,13],[14,13],[14,13],[[[96,[-1,-2]],25],26,[27,4],[27,[91,[-1]]]],[[[95,[-1,-2]],25],26,[27,4],[27,[91,[-1]]]],[[[94,[-1,-2]],25],26,[27,4],[27,[91,[-1]]]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[[],14],[[],14],[[],14],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,[33,[[28,[-2]]]],[23,[[81,[-2]]]],[23,[[84,[-2]]]]],[[15,[[94,[-2,-3]],29]]],[],4,[[91,[-2]]]],[[-1,[28,[-2]],[81,[-2]],[84,[-2]]],[[15,[[94,[-2,-3]],29]]],[],4,[[91,[-2]]]],[[[95,[-1,-2]],-3],15,4,[[91,[-1]]],30],[[[94,[-1,-2]],-3],15,4,[[91,[-1]]],30],[[61,[33,[[28,[-1]]]]],[[15,[[13,[-2,-3]],29]]],4,[],[]],[[61,[28,[-1]]],[[15,[[13,[-2,-3]],29]]],4,[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,32,[]],[-1,32,[]],[-1,32,[]],[[[94,[-1,-2]],-3,[81,[-1]]],[[15,[13,29]]],4,[[91,[-1]]],[]],[[[94,[-1,-2]],-3,[23,[[81,[-1]]]]],[[15,[13,29]]],4,[[91,[-1]]],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[[[97,[-1]],[97,[-1]]],-2,98,[]],[[[97,[-1]],-1],13,98],[-1,-2,[],[]],[-1,-2,[],[]],[[[97,[-1]]],[[97,[-1]]],3],[[-1,-2],13,[],[]],[14,-1,[]],[14,-1,[]],[-1,[[15,[[97,[-2]]]]],16,99],[14,13],[[[97,[-1]],[97,[-1]]],20,21],[[[97,[-1]],[23,[-1]]],-1,98],[[[23,[-1]],[23,[-1]]],-1,98],[[[97,[-1]]],[[23,[-1]]],98],[[[97,[-1]],25],26,27],[-1,-1,[]],[[[97,[-1]]],14,98],[[[97,[-1]],14],-1,98],[[],14],[-1,-2,[],[]],[[[97,[-1]]],20,98],[[[97,[-1]]],14,98],[[[33,[-1]]],[[97,[-1]]],98],[[14,-1],[[97,[-2]]],[85,86],98],[[[97,[-1]],-2],15,100,30],[-1,-2,[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,32,[]],[-1,-2,[],[]],0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[],[[89,[88]]]],[[[101,[-1]]],[[101,[-1]]],[3,4]],[[[102,[-1]]],[[102,[-1]]],[3,4]],[[[103,[-1,-2]]],[[103,[-1,-2]]],[3,4],[3,[91,[-1]]]],[[[104,[-1,-2]]],[[104,[-1,-2]]],[3,4],[3,[91,[-1]]]],[[[105,[-1,-2]]],[[105,[-1,-2]]],[3,4],[3,[91,[-1]]]],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[-1,[[15,[[101,[-2]]]]],16,4],[-1,[[15,[[102,[-2]]]]],16,4],[-1,[[15,[[105,[-2,-3]]]]],16,4,[[91,[-2]]]],[[[104,[-1,-2]]],[],4,[[91,[-1]]]],[14,13],[14,13],[14,13],[14,13],[14,13],[[[101,[-1]],25],26,[27,4]],[[[102,[-1]],25],26,[27,4]],[[[103,[-1,-2]],25],26,[27,4],[27,[91,[-1]]]],[[[104,[-1,-2]],25],26,[27,4],[27,[91,[-1]]]],[[[105,[-1,-2]],25],26,[27,4],[27,[91,[-1]]]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[[],14],[[],14],[[],14],[[],14],[[],14],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[28,[-1]]],[[101,[-1]]],4],[[-1,[28,[-2]],[81,[-2]],[84,[-2]]],[[15,[[105,[-2,-3]],29]]],[],4,[[91,[-2]]]],[[[101,[-1]],-2],15,4,30],[[[102,[-1]],-2],15,4,30],[[[104,[-1,-2]],-3],15,4,[[91,[-1]]],30],[[[105,[-1,-2]],-3],15,4,[[91,[-1]]],30],[[61,[28,[-1]]],[[15,[[13,[-2,-3]],29]]],4,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[102,[-1]]],[[33,[22]]],4],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,32,[]],[-1,32,[]],[-1,32,[]],[-1,32,[]],[-1,32,[]],[[[105,[-1,-2]],-3,[81,[-1]]],[[15,[13,29]]],4,[[91,[-1]]],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[106,[-1,-2]]],[[106,[-1,-2]]],[3,4],[3,[91,[-1]]]],[[[107,[-1,-2]]],[[107,[-1,-2]]],[3,4],[3,[91,[-1]]]],[[[108,[-1,-2]]],[[108,[-1,-2]]],[3,4],[3,[91,[-1]]]],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[-1,[[15,[[108,[-2,-3]]]]],16,4,[[91,[-2]]]],[[[107,[-1,-2]]],[],4,[[91,[-1]]]],[14,13],[14,13],[14,13],[[[106,[-1,-2]],25],26,[27,4],[27,[91,[-1]]]],[[[107,[-1,-2]],25],26,[27,4],[27,[91,[-1]]]],[[[108,[-1,-2]],25],26,[27,4],[27,[91,[-1]]]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[[],14],[[],14],[[],14],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,[28,[-2]],[81,[-2]],[84,[-2]]],[[15,[[108,[-2,-3]],29]]],[],4,[[91,[-2]]]],[[[107,[-1,-2]],-3],15,4,[[91,[-1]]],30],[[[108,[-1,-2]],-3],15,4,[[91,[-1]]],30],[[61,[28,[-1]]],[[15,[[13,[-2,-3]],29]]],4,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,32,[]],[-1,32,[]],[-1,32,[]],[[[108,[-1,-2]],-3,[81,[-1]]],[[15,[13,29]]],4,[[91,[-1]]],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,[109,14],[[[110,[-1]]],14,98],[[[111,[-1]]],14,98],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,14],[],109],[109,14],[[[110,[-1]]],14,98],[[[111,[-1]]],14,98],[[[112,[-1]]],[[113,[-1]]],6],[[[110,[-1]]],[[110,[-1]]],3],[[[111,[-1]]],[[111,[-1]]],3],[[[114,[-1]]],[[114,[-1]]],[6,3]],[[[115,[-1]]],[[115,[-1]]],[6,3]],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[[],[[110,[-1]]],77],[[],[[111,[-1]]],77],[14,-1,[]],[14,-1,[]],[14,-1,[]],[[[113,[-1]]],-2,4,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[-1,[[15,[[115,[-2]]]]],16,6],[[[113,[-1]]],[],4],[[[112,[-1]]],[],6],[14,13],[14,13],[14,13],[14,13],[14,13],[14,13],[[[113,[-1]],[113,[-1]]],20,[21,4]],[[[114,[-1]],[114,[-1]]],20,[6,21]],0,[[[110,[-1]],25],26,27],[[[111,[-1]],25],26,27],[[[113,[-1]],25],26,[27,4]],[[[112,[-1]],25],26,[6,27]],[[[114,[-1]],25],26,[6,27]],[[[115,[-1]],25],26,[6,27]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[[[33,[[2,[-1]]]],[114,[-1]]],[[112,[-1]]],6],[[[33,[[2,[-1]]]],[114,[-1]]],[[112,[-1]]],6],[[[112,[-1]],14],-2,6,[]],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[[118,[],[[116,[-1]],[117,[-2]]]]],14,109,109],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[112,[-1]]],[[13,[[33,[[2,[-1]]]],[114,[-1]]]]],6],[33,[[113,[-1]]],4],[[[112,[-1]],-2,23,23],[[15,[[115,[-1]],119]]],6,[[118,[-1]]]],[[[118,[],[[116,[-1]],[117,[-2]]]]],14,109,109],[[[118,[],[[116,[-1]],[117,[-2]]]],14],-1,109,109],[[[115,[-1]],[112,[-1]],-2,-3],[[15,[13,119]]],6,109,109],[[[118,[],[[116,[-1]],[117,[-2]]]]],-2,109,109],[[[113,[-1]],-2],15,4,30],[[[112,[-1]],-2],15,6,30],[[[114,[-1]],-2],15,6,30],[[[115,[-1]],-2],15,6,30],[[-2,[31,[-1]],[31,[[11,[-1]]]]],[[112,[-1]]],6,[[118,[-1]]]],0,[[109,-2,[24,[[44,[-1]]]],[23,[[44,[-1]]]]],[[15,[[13,[[24,[[44,[-1]]]],[33,[[44,[-1]]]]]],35]]],98,[[40,[-1]]]],[[[110,[-1]],-2,[24,[[44,[-1]]]],[23,[[44,[-1]]]]],[[15,[[13,[[24,[[44,[-1]]]],[33,[[44,[-1]]]]]],35]]],98,[[40,[-1]]]],[[[111,[-1]],-2,[24,[[44,[-1]]]],[23,[[44,[-1]]]]],[[15,[[13,[[24,[[44,[-1]]]],[33,[[44,[-1]]]]]],35]]],98,[[40,[-1]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,32,[]],[-1,32,[]],[-1,32,[]],[-1,32,[]],[-1,32,[]],[-1,32,[]],[[[115,[-1]],[112,[-1]],23,23],[[15,[[13,[33,33]],119]]],6],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[115,[-1]]],33,6],[[[115,[-1]]],33,6],0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[14,-1,[]],[14,-1,[]],[14,13],[[119,119],20],[[119,25],26],[[119,25],26],[29,119],[-1,-1,[]],[[],14],[-1,-2,[],[]],[119,[[24,[36]]]],[-1,37,[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,32,[]],[-1,-2,[],[]],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[-1,[[15,[[120,[-2,-3,-4]]]]],16,6,[[121,[-2]]],[[10,[[11,[-2]]]]]],[14,13],[14,13],[14,13],[[[122,[-1,-2,-3]],25],26,[6,27],[[121,[-1]],27],[[10,[[11,[-1]]]],27]],[[[123,[-1,-2,-3]],25],26,[6,27],[[121,[-1]],27],[[10,[[11,[-1]]]],27]],[[[120,[-1,-2,-3]],25],26,[6,27],[[121,[-1]],27],[[10,[[11,[-1]]]],27]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[[],14],[[],14],[[],14],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[112,[-1]],[122,[-1,-2,-3]],[115,[-1]]],[[15,[[120,[-1,-2,-3]],119]]],6,[[121,[-1]]],[[10,[[11,[-1]]]]]],[[[120,[-1,-2,-3]],-4],15,6,[[121,[-1]]],[[10,[[11,[-1]]]]],30],[[[112,[-1]]],[[15,[[13,[[122,[-1,-2,-3]],[123,[-1,-2,-3]]]],119]]],6,[[121,[-1]]],[[10,[[11,[-1]]]]]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,32,[]],[-1,32,[]],[-1,32,[]],[[[120,[-1,-2,-3]],[112,[-1]],[123,[-1,-2,-3]],23,23],[[15,[[13,[33,33]],119]]],6,[[121,[-1]]],[[10,[[11,[-1]]]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[[126,[],[[124,[-1]],[125,[-3]]]],-2],13,[[127,[-2],[[125,[-3]]]]],98,[27,77,3,21,128,129,100,99,130]],[[[127,[],[[131,[-1]],[125,[-4]]]],[44,[-2]]],13,[[126,[-2,-3],[[125,[-4]]]]],98,[],[27,77,3,21,128,129,100,99,130]],[[58,[23,[22]],-1],13,132],[133,13],0,0,[[58,[23,[22]]],13],0,[[[23,[22]]],134],[[],[[13,[-1,-1,135,135]]],[]],[[-1,14],[[126,[],[[124,[-2]],[125,[-1]]]]],[27,77,3,21,128,129,100,99,130],[[127,[-3],[[125,[-1]]]]],98],[[-1,14],[[127,[],[[131,[-2]],[125,[-1]]]]],[27,77,3,21,128,129,100,99,130],[[126,[-3,-4],[[125,[-1]]]]],98,[]],[[[23,[22]]],58],0,[[[126,[],[[124,[-1]],[125,[-3]]]],14],-4,[[127,[-2],[[125,[-3]]]]],98,[27,77,3,21,128,129,100,99,130],[]],[[[127,[],[[131,[-1]],[125,[-4]]]],-5,14],[[15,[[33,[42]],35]]],[[126,[-2,-3],[[125,[-4]]]]],98,[],[27,77,3,21,128,129,100,99,130],[[40,[-2]]]],[[58,[23,[22]]],[[15,[29]]]],[132,[[33,[22]]]],0,0,[1,14],[[[136,[-1]]],14,98],[-1,-2,[],[]],[-1,-2,[],[]],[[[136,[-1]]],[[136,[-1]]],3],[[-1,-2],13,[],[]],[[],[[136,[-1]]],77],[14,-1,[]],[14,-1,[]],[14,13],[[[136,[-1]],[136,[-1]]],20,21],[[[136,[-1]],25],26,27],[-1,-1,[]],[[],14],[-1,-2,[],[]],[[1,-2,[23,[[44,[-1]]]]],[[15,[[33,[[44,[-1]]]],35]]],98,[[40,[-1]]]],[[[136,[-1]],-2,[23,[[44,[-1]]]]],[[15,[[33,[[44,[-1]]]],35]]],98,[[40,[-1]]]],[-1,-2,[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,32,[]],[-1,-2,[],[]],0,0,0,0,0,0,0,[[-1,23],-2,[],[]],[[[138,[],[[137,[-1]]]]],-1,[3,27,21,139,128,129,132,100,99]],[-1,[[15,[[138,[],[[137,[-1]]]],29]]],[3,27,21,139,128,129,132,100,99]],[140,14],[[[23,[22]],14],-1,[]],[[[138,[],[[137,[-1]]]]],[[13,[20]]],[3,27,21,139,128,129,132,100,99]],0,0,0,0,[[-1,23,23],[[15,[-2,29]]],[],[]],[61,[[13,[-1,-2]]],[],[]],[[-1,23,-2],[[15,[13,29]]],[],[]],0,0,0,0,0,0,0,[[],[[89,[88]]]],[[],[[89,[88]]]],[[],[[89,[88]]]],[141],[[-1,[28,[-2]],[81,[-2]],[84,[-2]]],[[15,[[10,[],[[142,[-1]],[143,[-3]]]],29]]],[128,129],4,[128,129,100]],[[-1,[33,[[28,[-2]]]],[23,[[81,[-2]]]],[23,[[84,[-2]]]]],[[15,[[121,[],[[142,[-1]],[143,[-3]]]],29]]],[128,129],4,[128,129,[141,[-2]]]],[[61,[28,[-1]]],[[15,[[13,[-2,-3]],29]]],4,[],[]],[[61,[33,[[28,[-1]]]]],[[15,[[13,[-2,-3]],29]]],4,[],[]],[[[10,[],[[142,[-1]],[143,[-2]]]],-2,[81,[-3]]],[[15,[13,29]]],[128,129],[128,129,100],4],[[[121,[],[[142,[-1]],[143,[-2]]]],-2,[23,[[81,[-3]]]]],[[15,[13,29]]],[128,129],[128,129,[141,[-3]]],4]],"c":[],"p":[[10,"StepCircuit",1466],[5,"R1CSWithArity",0],[10,"Clone",1527],[10,"Engine",1422],[5,"PublicParams",0],[10,"CurveCycleEquipped",1422],[5,"ResourceBuffer",0],[5,"RecursiveSNARK",0],[5,"ProverKey",0],[10,"RelaxedR1CSSNARKTrait",1510],[8,"Dual",1422],[5,"VerifierKey",0],[1,"tuple"],[1,"usize"],[6,"Result",1528],[10,"Deserializer",1529],[5,"CompressedSNARK",0],[8,"Result",1530],[10,"Write",1531],[1,"bool"],[10,"PartialEq",1532],[1,"u8"],[1,"slice"],[6,"Option",1533],[5,"Formatter",1534],[8,"Result",1534],[10,"Debug",1534],[5,"R1CSShape",757],[6,"NovaError",161],[10,"Serializer",1535],[8,"CommitmentKeyHint",757],[5,"TypeId",1536],[5,"Vec",1537],[6,"PCSError",161],[6,"SynthesisError",1538],[10,"Error",1539],[5,"String",1540],[5,"AllocatedPoint",223],[10,"Group",1422],[10,"ConstraintSystem",1538],[5,"AllocatedPointNonInfinity",223],[5,"AllocatedBit",1541],[6,"Boolean",1541],[5,"AllocatedNum",1542],[5,"GrumpkinEngine",276],[5,"Bn256EngineIPA",276],[5,"Bn256EngineZM",276],[5,"Bn256EngineKZG",276],[5,"Secp256k1Engine",276],[5,"Secq256k1Engine",276],[5,"PallasEngine",276],[5,"VestaEngine",276],[5,"EvaluationArgument",424],[10,"Engine",1543],[5,"EvaluationEngine",424],[17,"GE"],[17,"Scalar"],[10,"TranscriptEngineTrait",1422],[10,"MultiMillerLoop",1543],[17,"CE"],[5,"Arc",1544],[5,"EvaluationEngine",467],[5,"InnerProductArgument",467],[5,"ProverKey",467],[5,"VerifierKey",467],[5,"UVKZGEvaluation",535],[5,"UVKZGProof",535],[5,"UVKZGPCS",535],[5,"ZMProverKey",535],[5,"ZMVerifierKey",535],[5,"ZMCommitment",535],[5,"ZMEvaluation",535],[5,"ZMProof",535],[5,"ZMPCS",535],[8,"UVKZGPoly",535],[10,"Borrow",1545],[10,"Default",1546],[5,"EvaluationArgument",716],[5,"EvaluationEngine",716],[5,"R1CSInstance",757],[5,"RelaxedR1CSInstance",757],[5,"R1CSResult",757],[5,"R1CSWitness",757],[5,"RelaxedR1CSWitness",757],[10,"RngCore",1547],[10,"CryptoRng",1547],[10,"Field",1548],[10,"Fn",1549],[5,"Box",1550],[5,"BatchedRelaxedR1CSSNARK",917],[10,"EvaluationEngineTrait",1503],[5,"VerifierKey",917],[5,"ProverKey",917],[5,"BatchedRelaxedR1CSSNARK",970],[5,"VerifierKey",970],[5,"ProverKey",970],[5,"MultilinearPolynomial",1025],[10,"PrimeField",1548],[10,"Deserialize",1529],[10,"Serialize",1535],[5,"R1CSShapeSparkRepr",1056],[5,"R1CSShapeSparkCommitment",1056],[5,"ProverKey",1056],[5,"VerifierKey",1056],[5,"RelaxedR1CSSNARK",1056],[5,"ProverKey",1155],[5,"VerifierKey",1155],[5,"RelaxedR1CSSNARK",1155],[10,"StepCircuit",1213],[5,"TrivialTestCircuit",1213],[5,"TrivialSecondaryCircuit",1213],[5,"PublicParams",1213],[5,"CircuitDigests",1213],[5,"AuxParams",1213],[5,"RecursiveSNARK",1213],[17,"C1"],[17,"C2"],[10,"NonUniformCircuit",1213],[6,"SuperNovaError",1353],[5,"CompressedSNARK",1375],[10,"BatchedRelaxedR1CSSNARKTrait",1510],[5,"ProverKey",1375],[5,"VerifierKey",1375],[17,"CircuitRO"],[17,"Constants"],[10,"ROTrait",1422],[10,"ROCircuitTrait",1422],[10,"Send",1551],[10,"Sync",1551],[10,"Abomonation",1552],[17,"NativeRO"],[10,"TranscriptReprTrait",1422],[10,"AbsorbInROTrait",1422],[10,"PrimeFieldExt",1422],[5,"BigInt",1553],[5,"TrivialCircuit",1466],[17,"CompressedCommitment"],[10,"CommitmentTrait",1490],[10,"Eq",1532],[10,"Len",1490],[10,"DigestHelperTrait",1510],[17,"ProverKey"],[17,"VerifierKey"],[10,"CommitmentEngineTrait",1490]],"b":[[199,"impl-Debug-for-NovaError"],[200,"impl-Display-for-NovaError"],[201,"impl-Debug-for-PCSError"],[202,"impl-Display-for-PCSError"],[203,"impl-From%3CSynthesisError%3E-for-NovaError"],[204,"impl-From%3CPCSError%3E-for-NovaError"],[950,"impl-RelaxedR1CSSNARKTrait%3CE%3E-for-BatchedRelaxedR1CSSNARK%3CE,+EE%3E"],[951,"impl-BatchedRelaxedR1CSSNARKTrait%3CE%3E-for-BatchedRelaxedR1CSSNARK%3CE,+EE%3E"],[954,"impl-RelaxedR1CSSNARKTrait%3CE%3E-for-BatchedRelaxedR1CSSNARK%3CE,+EE%3E"],[955,"impl-BatchedRelaxedR1CSSNARKTrait%3CE%3E-for-BatchedRelaxedR1CSSNARK%3CE,+EE%3E"],[965,"impl-BatchedRelaxedR1CSSNARKTrait%3CE%3E-for-BatchedRelaxedR1CSSNARK%3CE,+EE%3E"],[966,"impl-RelaxedR1CSSNARKTrait%3CE%3E-for-BatchedRelaxedR1CSSNARK%3CE,+EE%3E"],[979,"impl-BatchedRelaxedR1CSSNARKTrait%3CE%3E-for-BatchedRelaxedR1CSSNARK%3CE,+EE%3E"],[980,"impl-RelaxedR1CSSNARKTrait%3CE%3E-for-BatchedRelaxedR1CSSNARK%3CE,+EE%3E"],[1004,"impl-BatchedRelaxedR1CSSNARKTrait%3CE%3E-for-BatchedRelaxedR1CSSNARK%3CE,+EE%3E"],[1005,"impl-RelaxedR1CSSNARKTrait%3CE%3E-for-BatchedRelaxedR1CSSNARK%3CE,+EE%3E"],[1008,"impl-BatchedRelaxedR1CSSNARKTrait%3CE%3E-for-BatchedRelaxedR1CSSNARK%3CE,+EE%3E"],[1009,"impl-RelaxedR1CSSNARKTrait%3CE%3E-for-BatchedRelaxedR1CSSNARK%3CE,+EE%3E"],[1019,"impl-RelaxedR1CSSNARKTrait%3CE%3E-for-BatchedRelaxedR1CSSNARK%3CE,+EE%3E"],[1020,"impl-BatchedRelaxedR1CSSNARKTrait%3CE%3E-for-BatchedRelaxedR1CSSNARK%3CE,+EE%3E"],[1363,"impl-Debug-for-SuperNovaError"],[1364,"impl-Display-for-SuperNovaError"]]}]\ +["arecibo",{"doc":"This library implements Nova, a high-speed recursive SNARK.","t":"FFFFFFFNNNNNNNNNNNNNNHNNNNNNNNNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNCQNNNNNNNNNNNNNNNNNNNNNNCCNNNNNNNNCCNNNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNQQSPPPPPPPPPPPPPPPPPPGGPPPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFFFFFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNCCCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFIFFFFFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNIFFFFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHHNNNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCCCHCCFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFRRFKFFKFFMNNNNNNNNNNNNNNHMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNMNNNNNCMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNPPGPNNNNNNNNNNNNNNNNNNFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNKRRRRRRKIKRKRKRRKIIKRRRRKKMMMMCCMCMMMMMCMMMMKFMNNNNNNNNNNNNNNMNNNNNNRKRKRKKMMMMMMRKRRMMMKKRRKRRNNHMMMMMMM","n":["CompressedSNARK","ProverKey","PublicParams","R1CSWithArity","RecursiveSNARK","ResourceBuffer","VerifierKey","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","circuit_digest","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","constants","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deserialize","deserialize","deserialize","deserialize","deserialize","digest","digest","drop","drop","drop","drop","drop","drop","drop","entomb","eq","eq","errors","exhume","extent","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","gadgets","impl_traits","init","init","init","init","init","init","init","into","into","into","into","into","into","into","new","new","num_constraints","num_steps","num_variables","outputs","prove","prove_step","provider","r1cs","serialize","serialize","serialize","serialize","serialize","serialize","setup","setup","spartan","supernova","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","traits","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","verify","verify","vzip","vzip","vzip","vzip","vzip","vzip","vzip","z0_primary","zi_primary","zip_with","zip_with_for_each","NUM_HASH_BITS","DecompressionError","DigestError","IncorrectWitness","InternalError","InternalTranscriptError","InvalidCommitmentKeyLength","InvalidIndex","InvalidInitialInputLength","InvalidInputLength","InvalidMultisetProof","InvalidNumSteps","InvalidPCS","InvalidProductProof","InvalidStepCircuitIO","InvalidStepOutputLength","InvalidSumcheckProof","InvalidWitnessLength","LengthError","NovaError","PCSError","PCSError","ProofVerifyError","SynthesisError","UnSat","UnSatIndex","ZMError","borrow","borrow","borrow_mut","borrow_mut","deref","deref","deref_mut","deref_mut","drop","drop","eq","eq","fmt","fmt","fmt","fmt","from","from","from","from","init","init","into","into","source","to_string","to_string","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","ecc","AllocatedPoint","AllocatedPointNonInfinity","add","add_incomplete","add_internal","alloc","alloc","borrow","borrow","borrow_mut","borrow_mut","check_on_curve","clone","clone","clone_into","clone_into","conditionally_select","conditionally_select","default","deref","deref","deref_mut","deref_mut","double","double_incomplete","drop","drop","fmt","fmt","from","from","from_allocated_point","get_coordinates","get_coordinates","init","init","into","into","negate","new","scalar_mul","select_point_or_infinity","to_allocated_point","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","Bn256EngineIPA","Bn256EngineKZG","Bn256EngineZM","GrumpkinEngine","PallasEngine","Secp256k1Engine","Secq256k1Engine","VestaEngine","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","drop","drop","drop","eq","eq","eq","eq","eq","eq","eq","eq","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","hyperkzg","init","init","init","init","init","init","init","init","into","into","into","into","into","into","into","into","ipa_pc","non_hiding_zeromorph","shplonk","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","EvaluationArgument","EvaluationEngine","batch_challenge_powers","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","compute_challenge","deref","deref","deref_mut","deref_mut","deserialize","drop","drop","fmt","fmt","from","from","get_batch_challenge","init","init","into","into","prove","serialize","setup","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","verifier_second_challenge","verify","vzip","vzip","EvaluationEngine","InnerProductArgument","ProverKey","VerifierKey","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deserialize","drop","drop","drop","drop","fmt","fmt","fmt","fmt","from","from","from","from","init","init","init","init","into","into","into","into","prove","serialize","serialize","setup","to_owned","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","verify","vzip","vzip","vzip","vzip","UVKZGEvaluation","UVKZGPCS","UVKZGPoly","UVKZGProof","ZMCommitment","ZMEvaluation","ZMPCS","ZMProof","ZMProverKey","ZMVerifierKey","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","coeffs","commit","default","default","default","default","default","default","default","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deserialize","drop","drop","drop","drop","drop","drop","drop","drop","drop","eq","eq","eq","eq","eq","eq","eq","eq","eq","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","init","init","init","init","init","init","init","init","init","into","into","into","into","into","into","into","into","into","open","proof","prove","serialize","serialize","setup","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","verify","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","EvaluationArgument","EvaluationEngine","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","deref","deref","deref_mut","deref_mut","deserialize","deserialize","drop","drop","fmt","fmt","from","from","init","init","into","into","prove","serialize","serialize","setup","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","verify","vzip","vzip","CommitmentKeyHint","R1CSInstance","R1CSResult","R1CSShape","R1CSWitness","RelaxedR1CSInstance","RelaxedR1CSWitness","absorb_in_ro","absorb_in_ro","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","commit","commit","commit_T","commit_T_into","commitment_key","commitment_key_size","default","default","default","default_T","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","digest","drop","drop","drop","drop","drop","drop","entomb","eq","eq","eq","eq","eq","eq","exhume","extent","fmt","fmt","fmt","fmt","fmt","fmt","fold","fold","fold_mut","fold_mut","from","from","from","from","from","from","from_r1cs_instance","from_r1cs_instance_unchecked","from_r1cs_witness","init","init","init","init","init","init","into","into","into","into","into","into","is_sat","is_sat_relaxed","new","new","new","pad","pad","random","random_witness_instance","serialize","serialize","serialize","serialize","serialize","serialize","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_transcript_bytes","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","batched","batched_ppsnark","polys","powers","ppsnark","snark","BatchedRelaxedR1CSSNARK","ProverKey","VerifierKey","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","ck_floor","deref","deref","deref","deref_mut","deref_mut","deref_mut","deserialize","digest","drop","drop","drop","fmt","fmt","fmt","from","from","from","init","init","init","into","into","into","prove","prove","serialize","serialize","setup","setup","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","verify","verify","vzip","vzip","vzip","BatchedRelaxedR1CSSNARK","ProverKey","VerifierKey","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","ck_floor","ck_floor","deref","deref","deref","deref_mut","deref_mut","deref_mut","deserialize","digest","drop","drop","drop","fmt","fmt","fmt","from","from","from","init","init","init","into","into","into","prove","prove","serialize","serialize","setup","setup","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","verify","verify","vzip","vzip","vzip","multilinear","MultilinearPolynomial","add","bind_poly_var_top","borrow","borrow_mut","clone","clone_into","deref","deref_mut","deserialize","drop","eq","evaluate","evaluate_with","evaluations","fmt","from","get_num_vars","index","init","into","is_empty","len","new","random","serialize","to_owned","try_from","try_into","type_id","vzip","ProverKey","R1CSShapeSparkCommitment","R1CSShapeSparkRepr","RelaxedR1CSSNARK","VerifierKey","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","ck_floor","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deserialize","deserialize","deserialize","digest","drop","drop","drop","drop","drop","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","init","init","init","init","init","into","into","into","into","into","new","prove","serialize","serialize","serialize","serialize","setup","to_owned","to_owned","to_owned","to_owned","to_owned","to_transcript_bytes","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","verify","vzip","vzip","vzip","vzip","vzip","ProverKey","RelaxedR1CSSNARK","VerifierKey","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","deref","deref","deref","deref_mut","deref_mut","deref_mut","deserialize","digest","drop","drop","drop","fmt","fmt","fmt","from","from","from","init","init","init","into","into","into","prove","serialize","serialize","setup","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","verify","vzip","vzip","vzip","AuxParams","C1","C2","CircuitDigests","NonUniformCircuit","PublicParams","RecursiveSNARK","StepCircuit","TrivialSecondaryCircuit","TrivialTestCircuit","arity","arity","arity","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","circuit_digest","circuit_index","circuit_index","circuit_index","circuit_param_digests","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","default","default","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deserialize","digest","digest","drop","drop","drop","drop","drop","drop","eq","eq","error","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from_parts","from_parts_unchecked","index","init","init","init","init","init","init","initial_circuit_index","into","into","into","into","into","into","into_parts","new","new","num_circuits","primary_circuit","prove_step","secondary_circuit","serialize","serialize","serialize","serialize","setup","snark","synthesize","synthesize","synthesize","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","verify","vzip","vzip","vzip","vzip","vzip","vzip","z0_primary","zi_primary","MissingCK","NovaError","SuperNovaError","UnSatIndex","borrow","borrow_mut","deref","deref_mut","drop","eq","fmt","fmt","from","from","init","into","source","to_string","try_from","try_into","type_id","vzip","CompressedSNARK","ProverKey","VerifierKey","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","deref","deref","deref","deref_mut","deref_mut","deref_mut","deserialize","drop","drop","drop","fmt","fmt","fmt","from","from","from","init","init","init","into","into","into","prove","serialize","setup","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","verify","vzip","vzip","vzip","AbsorbInROTrait","Base","Base","CE","CircuitRO","Constants","Constants","CurveCycleEquipped","Dual","Engine","GE","Group","NativeRO","PrimeFieldExt","RO","ROCircuit","ROCircuitTrait","ROConstants","ROConstantsCircuit","ROTrait","Scalar","Scalar","Secondary","TE","TranscriptEngineTrait","TranscriptReprTrait","absorb","absorb","absorb","absorb_in_ro","circuit","commitment","dom_sep","evaluation","from_uniform","group_params","new","new","new","snark","squeeze","squeeze","squeeze","to_transcript_bytes","StepCircuit","TrivialCircuit","arity","arity","borrow","borrow_mut","clone","clone_into","default","deref","deref_mut","drop","eq","fmt","from","init","into","synthesize","synthesize","to_owned","try_from","try_into","type_id","vzip","Commitment","CommitmentEngineTrait","CommitmentKey","CommitmentTrait","CompressedCommitment","Len","ScalarMul","commit","compress","decompress","length","setup","to_coordinates","EvaluationArgument","EvaluationEngineTrait","ProverKey","VerifierKey","prove","setup","verify","BatchedRelaxedR1CSSNARKTrait","DigestHelperTrait","ProverKey","ProverKey","RelaxedR1CSSNARKTrait","VerifierKey","VerifierKey","ck_floor","ck_floor","default_ck_hint","digest","prove","prove","setup","setup","verify","verify"],"q":[[0,"arecibo"],[160,"arecibo::constants"],[161,"arecibo::errors"],[222,"arecibo::gadgets"],[223,"arecibo::gadgets::ecc"],[276,"arecibo::provider"],[424,"arecibo::provider::hyperkzg"],[467,"arecibo::provider::ipa_pc"],[535,"arecibo::provider::non_hiding_zeromorph"],[716,"arecibo::provider::shplonk"],[757,"arecibo::r1cs"],[911,"arecibo::spartan"],[917,"arecibo::spartan::batched"],[970,"arecibo::spartan::batched_ppsnark"],[1024,"arecibo::spartan::polys"],[1025,"arecibo::spartan::polys::multilinear"],[1056,"arecibo::spartan::ppsnark"],[1155,"arecibo::spartan::snark"],[1213,"arecibo::supernova"],[1353,"arecibo::supernova::error"],[1375,"arecibo::supernova::snark"],[1422,"arecibo::traits"],[1466,"arecibo::traits::circuit"],[1490,"arecibo::traits::commitment"],[1503,"arecibo::traits::evaluation"],[1510,"arecibo::traits::snark"],[1527,"core::clone"],[1528,"core::result"],[1529,"serde::de"],[1530,"std::io::error"],[1531,"std::io"],[1532,"core::cmp"],[1533,"core::option"],[1534,"core::fmt"],[1535,"core::fmt"],[1536,"core::any"],[1537,"alloc::vec"],[1538,"bellpepper_core::constraint_system"],[1539,"core::error"],[1540,"alloc::string"],[1541,"bellpepper_core::constraint_system"],[1542,"bellpepper_core::gadgets::boolean"],[1543,"pairing"],[1544,"pairing"],[1545,"core::borrow"],[1546,"core::default"],[1547,"rand_core"],[1548,"rand_core"],[1549,"core::ops::function"],[1550,"alloc::boxed"],[1551,"ff"],[1552,"core::marker"],[1553,"num_bigint::bigint"],[1554,"core::cmp"]],"d":["A SNARK that proves the knowledge of a valid RecursiveSNARK","A type that holds the prover key for CompressedSNARK","A type that holds public parameters of Nova","A type that holds parameters for the primary and secondary …","A SNARK that proves the correct execution of an …","A resource buffer for RecursiveSNARK for storing scratch …","A type that holds the verifier key for CompressedSNARK","","","","","","","","","","","","","","","Compute the circuit digest of a StepCircuit.","","","","","","","","","","","","","Global Nova constants","","","","","","","","","","","","","","","","","","","","Return the R1CSWithArity’ digest.","Retrieve the digest of the public parameters.","","","","","","","","","","","This module defines errors returned by the library.","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","This module implements various gadgets necessary for Nova …","This implementation behaves in ways specific to the …","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Create a new R1CSWithArity","Create new instance of recursive SNARK","Returns the number of constraints in the primary and …","The number of steps which have been executed thus far.","Returns the number of variables in the primary and …","Get the outputs after the last step of computation.","Create a new CompressedSNARK","Create a new RecursiveSNARK (or updates the provided …","This module implements Nova’s traits using the following …","This module defines R1CS related types and a folding …","","","","","","","Set up builder to create PublicParams for a pair of …","Creates prover and verifier keys for CompressedSNARK","This module implements RelaxedR1CSSNARKTrait using Spartan …","SuperNova Description","","","","","","","This module defines various traits required by the users …","","","","","","","","","","","","","","","","","","","","","","Verify the correctness of the RecursiveSNARK","Verify the correctness of the CompressedSNARK","","","","","","","","Inputs of the primary circuits","Outputs of the primary circuits","Macros to give syntactic sugar for zipWith pattern and …","Like zip_with but use for_each instead of map.","Bit size of Nova field element hashes","returned when the supplied compressed commitment cannot be …","returned when there is an error creating a digest","returned when the consistency with public IO and …","returned when the prover cannot prove the provided …","returned when the transcript engine encounters an overflow …","returned if the provided commitment key is not of …","returned if the supplied row or col in (row,col,val) tuple …","returned when the initial input to an incremental …","returned if the supplied input is not of the right length","returned when the multiset check fails","returned if the provided number of steps is zero","returned when an invalid PCS evaluation argument is …","returned when the product proof check fails","returned if the step circuit calls inputize or alloc_io in …","returned when the step execution produces an output whose …","returned when an invalid sum-check proof is provided","returned if the supplied witness is not of the right length","returned when a length check fails in a PCS","Errors returned by Nova","Errors specific to the Polynomial commitment scheme","returned if there is an error in the proof/verification of …","returned if proof verification fails","return when error during synthesis","returned if the supplied witness is not a satisfying …","returned if the supplied witness is not a satisfying …","returned when there is a Zeromorph error","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","This module implements various elliptic curve gadgets","AllocatedPoint provides an elliptic curve abstraction …","AllocatedPoint but one that is guaranteed to be not …","Add two points (may be equal)","Add two points assuming self != +/- other","Adds other point to this point and returns the result. …","Allocates a new point on the curve using coordinates …","Allocates a new point on the curve using coordinates …","","","","","checks if self is on the curve or if it is infinity","","","","","If condition outputs a otherwise outputs b","If condition outputs a otherwise outputs b","Allocates a default point on the curve, set to the …","","","","","Doubles the supplied point.","doubles the point; since this is called with a point not …","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Turns an AllocatedPoint into an AllocatedPointNonInfinity …","Returns coordinates associated with the point.","Returns coordinates associated with the point.","","","Calls U::from(self).","Calls U::from(self).","Negates the provided point","Creates a new AllocatedPointNonInfinity from the specified …","A gadget for scalar multiplication, optimized to use …","If condition outputs a otherwise infinity","Returns an AllocatedPoint from an AllocatedPointNonInfinity","","","","","","","","","","","An implementation of the Nova Engine trait with BN254 …","An implementation of Nova traits with HyperKZG over the …","An implementation of the Nova Engine trait with BN254 …","An implementation of the Nova Engine trait with Grumpkin …","An implementation of the Nova Engine trait with Pallas …","An implementation of the Nova Engine trait with Secp256k1 …","An implementation of the Nova Engine trait with Secp256k1 …","An implementation of the Nova Engine trait with Vesta …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","This module implements Nova’s evaluation engine using …","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","This module implements EvaluationEngine using an IPA-based …","Non-hiding Zeromorph scheme for Multilinear Polynomials.","Shplonk PCS","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Provides an implementation of a polynomial evaluation …","Provides an implementation of a polynomial evaluation …","Compute powers of q : (1, q, q^2, …, q^(k-1))","","","","","","","","","TODO: write doc","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","TODO: write doc","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","TODO: write doc","A method to verify purported evaluations of a batch of …","","","Provides an implementation of a polynomial evaluation …","An inner product argument","Provides an implementation of the prover key","Provides an implementation of the verifier key","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","A method to verify purported evaluations of a batch of …","","","","","Polynomial Evaluation","KZG Polynomial Commitment Scheme on univariate polynomial. …","Polynomial and its associated types","Proofs","Commitments","Polynomial Evaluation","Zeromorph Polynomial Commitment Scheme on multilinear …","Proofs","ZMProverKey is used to generate a proof","ZMVerifierKey is used to check evaluation proofs for a …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Generate a commitment for a polynomial Note that the …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","On input a polynomial p and a point point, outputs a proof …","proof","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","EvaluationArgument of Shplonk","EvaluationEngine of Shplonk","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","A method to verify purported evaluations of a batch of …","","","A type for functions that hints commitment key sizing by …","A type that holds an R1CS instance","A type that holds the result of a R1CS multiplication","A type that holds the shape of the R1CS matrices","A type that holds a witness for a given R1CS instance","A type that holds a Relaxed R1CS instance","A type that holds a witness for a given Relaxed R1CS …","","","","","","","","","","","","","","","","","","","","","","","","","","","Commits to the witness using the supplied generators","Commits to the witness using the supplied generators","A method to compute a commitment to the cross-term T given …","A method to compute a commitment to the cross-term T given …","Generates public parameters for a Rank-1 Constraint System …","Computes the number of generators required for the …","Produces a default R1CSResult given an R1CSShape","Produces a default RelaxedR1CSWitness given an R1CSShape","Produces a default RelaxedR1CSInstance given R1CSGens and …","Empty buffer for commit_T_into","","","","","","","","","","","","","","","","","","","returned the digest of the R1CSShape","","","","","","","","","","","","","","","","","","","","","","Folds an incoming R1CSWitness into the current one","Folds an incoming RelaxedR1CSInstance into the current one","Mutably folds an incoming R1CSWitness into the current one","Mutably folds an incoming RelaxedR1CSInstance into the …","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Initializes a new RelaxedR1CSInstance from an R1CSInstance","Initializes a new RelaxedR1CSInstance from an R1CSInstance","Initializes a new RelaxedR1CSWitness from an R1CSWitness","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Checks if the R1CS instance is satisfiable given a witness …","Checks if the Relaxed R1CS instance is satisfiable given a …","Create an object of type R1CSShape from the explicitly …","A method to create a witness object using a vector of …","A method to create an instance object using constituent …","Pads the R1CSShape so that the shape passes …","Pads the provided witness to the correct length","Generate a random R1CSShape with the specified number of …","Generate a satisfying RelaxedR1CSWitness and …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","This module implements BatchedRelaxedR1CSSNARKTrait using …","batched pp snark","This module contains the definitions of polynomial types …","Creates a vector of the first n powers of s.","This module implements RelaxedR1CSSNARK traits using a …","This module implements RelaxedR1CSSNARKTrait using Spartan …","A succinct proof of knowledge of a witness to a batch of …","A type that represents the prover’s key","A type that represents the verifier’s key","","","","","","","","","","","","","","","Returns the digest of the verifier’s key.","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","A succinct proof of knowledge of a witness to a relaxed …","A type that represents the prover’s key","A type that represents the verifier’s key","","","","","","","","","","","","","","","","Returns the digest of the verifier’s key","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","Main components:","A multilinear extension of a polynomial $Z(\\\\cdot)$, denote …","","Binds the polynomial’s top variable using the given …","","","","","","","","","","Evaluates the polynomial at the given point. Returns Z(r) …","Evaluates the polynomial with the given evaluations and …","evaluations of the polynomial in all the 2^num_vars …","","Returns the argument unchanged.","Returns the number of variables in the multilinear …","","","Calls U::from(self).","Returns true if no evaluations.","Returns the total number of evaluations.","Creates a new MultilinearPolynomial from the given …","Returns a random polynomial","","","","","","","A type that represents the prover’s key","A type that holds a commitment to a sparse polynomial","A type that holds R1CSShape in a form amenable to memory …","A succinct proof of knowledge of a witness to a relaxed …","A type that represents the verifier’s key","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the digest of the verifier’s key","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","represents R1CSShape in a Spark-friendly format amenable …","produces a succinct proof of satisfiability of a …","","","","","","","","","","","","","","","","","","","","","","","","","","","verifies a proof of satisfiability of a RelaxedR1CS …","","","","","","A type that represents the prover’s key","A succinct proof of knowledge of a witness to a relaxed …","A type that represents the verifier’s key","","","","","","","","","","","","","","","","","","","","Returns the digest of the verifier’s key.","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","produces a succinct proof of satisfiability of a …","","","","","","","","","","","","","","","","verifies a proof of satisfiability of a RelaxedR1CS …","","","","Auxiliary PublicParams information about the commitment …","The type of the step-circuits on the primary","The type of the step-circuits on the secondary","A struct that manages all the digests of the primary …","SuperNova helper trait, for implementors that provide sets …","A vector of R1CSWithArity adjoined to a set of PublicParams","A SNARK that proves the correct execution of an …","A helper trait for a step of the incremental computation …","A trivial step circuit that simply returns the input, for …","A trivial step circuit that simply returns the input","Return the the number of inputs or outputs of each step …","","","","","","","","","","","","","","","Compute the circuit digest of a supernova StepCircuit.","Return this StepCircuit’s assigned index, for use when …","","","All of the primary circuit digests of this PublicParams","","","","","","","","","","","","","","","","","","","","","","","","","Return the CircuitDigests’ digest.","Return the PublicParams’ digest.","","","","","","","","","This module defines errors returned by the library.","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Create a PublicParams from a vector of raw R1CSWithArity …","Create a PublicParams from a vector of raw R1CSWithArity …","","","","","","","","Initial circuit index, defaults to zero.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Breaks down an instance of PublicParams into the circuit …","Construct a new CircuitDigests","iterate base step to get new instance of recursive SNARK","How many circuits are provided?","Return a new instance of the primary circuit at index.","executing a step of the incremental computation","Return a new instance of the secondary circuit.","","","","","Construct a new PublicParams","This module defines a final compressing SNARK for …","Synthesize the circuit for a computation step and return …","","","","","","","","","","","","","","","","","","","","","","","","","verify recursive snark","","","","","","","Inputs of the primary circuits","Outputs of the primary circuits","missing commitment key","Nova error","Errors returned by Nova","Extended error for supernova","","","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","","A SNARK that proves the knowledge of a valid RecursiveSNARK","A type that holds the prover key for CompressedSNARK","A type that holds the verifier key for CompressedSNARK","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Create a new CompressedSNARK","","Creates prover and verifier keys for CompressedSNARK","","","","","","","","","","Verify the correctness of the CompressedSNARK","","","","A helper trait to absorb different objects in RO","A type representing an element of the base field of the …","A type representing an element of the base field of the …","A type that defines a commitment engine over scalars in …","The circuit alter ego of this trait impl - this constrains …","A type representing constants/parameters associated with …","A type representing constants/parameters associated with …","This is a convenience trait to pair engines which fields …","Convenience projection to the secondary Engine of a …","A collection of engines that are required by the library","A type that represents an element of the group","Represents an element of a group This is currently …","the vanilla alter ego of this trait - this constrains it …","Defines additional methods on PrimeField objects","A type that represents a circuit-friendly sponge that …","An alternate implementation of Self::RO in the circuit …","A helper trait that defines the behavior of a hash …","An alias for constants associated with E::RO","An alias for constants associated with E::ROCircuit","A helper trait that defines the behavior of a hash …","A type representing an element of the scalar field of the …","A type representing an element of the scalar field of the …","The secondary Engine of Self","A type that provides a generic Fiat-Shamir transcript to …","This trait defines the behavior of a transcript engine …","This trait allows types to implement how they want to be …","Adds a scalar to the internal state","Adds a scalar to the internal state","absorbs any type that implements TranscriptReprTrait under …","Absorbs the value in the provided RO","This module defines traits that a step function must …","This module defines a collection of traits that define the …","adds a domain separator","This module defines a collection of traits that define the …","Returns a scalar representing the bytes","Returns A, B, the order of the group, the size of the base …","Initializes the hash function","Initializes the hash function","initializes the transcript","This module defines a collection of traits that define the …","Returns a challenge of num_bits by hashing the internal …","Returns a challenge of num_bits by hashing the internal …","returns a scalar element of the group as a challenge","returns a byte representation of self to be added to the …","A helper trait for a step of the incremental computation …","A trivial step circuit that simply returns the input","Return the number of inputs or outputs of each step (this …","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","Sythesize the circuit for a computation step and return …","","","","","","","Holds the type of the commitment","A trait that ties different pieces of the commitment …","Holds the type of the commitment key The key should …","This trait defines the behavior of the commitment","Holds the type of the compressed commitment","A trait that helps determine the length of a structure. …","A helper trait for types implementing scalar …","Commits to the provided vector using the provided …","Compresses self into a compressed commitment","Decompresses a compressed commitment into a commitment","Returns the length of the structure.","Samples a new commitment key of a specified size","Returns the coordinate representation of the commitment","A type that holds the evaluation argument","A trait that ties different pieces of the commitment …","A type that holds the prover key","A type that holds the verifier key","A method to prove the evaluation of a multilinear …","A method to perform any additional setup needed to produce …","A method to verify the purported evaluation of a …","A trait that defines the behavior of a zkSNARK to prove …","A helper trait that defines the behavior of a verifier key …","A type that represents the prover’s key","A type that represents the prover’s key","A trait that defines the behavior of a zkSNARK","A type that represents the verifier’s key","A type that represents the verifier’s key","This associated function (not a method) provides a hint …","This associated function (not a method) provides a hint …","Public parameter creation takes a size hint. This size …","Returns the digest of the verifier’s key","Produces a new SNARK for a relaxed R1CS","Produces a new SNARK for a batch of relaxed R1CS","Produces the keys for the prover and the verifier","Produces the keys for the prover and the verifier","Verifies a SNARK for a relaxed R1CS","Verifies a SNARK for a batch of relaxed R1CS"],"i":[0,0,0,0,0,0,0,2,5,7,8,9,12,17,2,5,7,8,9,12,17,0,2,5,7,8,9,12,2,5,7,8,9,12,0,2,5,7,8,9,12,17,2,5,7,8,9,12,17,2,5,7,8,17,2,5,2,5,7,8,9,12,17,2,2,5,0,2,2,2,5,7,8,9,12,17,2,5,7,8,9,12,17,0,0,2,5,7,8,9,12,17,2,5,7,8,9,12,17,2,8,5,8,5,8,17,8,0,0,2,5,7,8,12,17,5,17,0,0,2,5,7,8,9,12,0,2,5,7,8,9,12,17,2,5,7,8,9,12,17,2,5,7,8,9,12,17,8,17,2,5,7,8,9,12,17,8,8,0,0,0,29,29,29,29,29,29,29,29,29,29,29,34,29,29,29,29,29,34,0,0,29,29,29,29,29,34,29,34,29,34,29,34,29,34,29,34,29,34,29,29,34,34,29,29,29,34,29,34,29,34,29,29,34,29,34,29,34,29,34,29,34,0,0,0,38,41,38,38,41,38,41,38,41,38,38,41,38,41,38,41,38,38,41,38,41,38,41,38,41,38,41,38,41,41,38,41,38,41,38,41,38,41,38,38,41,38,41,38,41,38,41,38,41,38,41,0,0,0,0,0,0,0,0,45,46,47,48,49,50,51,52,45,46,47,48,49,50,51,52,45,46,47,48,49,50,51,52,45,46,47,48,49,50,51,52,45,46,47,48,49,50,51,52,45,46,47,48,49,50,51,52,45,46,47,48,49,50,51,52,45,46,47,48,49,50,51,52,45,46,47,48,49,50,51,52,45,46,47,48,49,50,51,52,0,45,46,47,48,49,50,51,52,45,46,47,48,49,50,51,52,0,0,0,45,46,47,48,49,50,51,52,45,46,47,48,49,50,51,52,45,46,47,48,49,50,51,52,45,46,47,48,49,50,51,52,45,46,47,48,49,50,51,52,0,0,55,53,55,53,55,53,55,53,55,55,53,55,53,55,53,53,55,53,55,53,55,55,53,55,53,55,55,53,55,53,55,53,55,53,55,53,55,55,55,53,55,0,0,0,0,64,65,62,63,64,65,62,63,62,63,62,63,64,65,62,63,64,65,62,63,63,64,65,62,63,64,65,62,63,64,65,62,63,64,65,62,63,64,65,62,63,62,65,63,62,62,63,64,65,62,63,64,65,62,63,64,65,62,63,62,64,65,62,63,0,0,0,0,0,0,0,0,0,0,66,67,68,69,70,71,72,73,74,66,67,68,69,70,71,72,73,74,66,67,68,69,70,71,72,73,74,66,67,68,69,70,71,72,73,74,75,68,66,67,68,71,72,73,74,66,67,68,69,70,71,72,73,74,66,67,68,69,70,71,72,73,74,73,66,67,68,69,70,71,72,73,74,66,67,68,69,70,71,72,73,74,66,67,68,69,70,71,72,73,74,66,67,68,69,70,71,72,72,73,74,66,67,68,69,70,71,72,73,74,66,67,68,69,70,71,72,73,74,68,67,74,70,73,74,66,67,68,69,70,71,72,73,74,66,67,68,69,70,71,72,73,74,66,67,68,69,70,71,72,73,74,66,67,68,69,70,71,72,73,74,74,66,67,68,69,70,71,72,73,74,0,0,78,79,78,79,78,79,78,79,78,79,78,79,78,79,78,79,78,79,78,79,78,79,78,79,79,78,79,79,78,79,78,79,78,79,78,79,79,78,79,0,0,0,0,0,0,0,80,81,28,82,83,80,84,81,28,82,83,80,84,81,28,82,83,80,84,81,28,82,83,80,84,81,83,84,28,28,0,0,82,84,81,0,28,82,83,80,84,81,28,82,83,80,84,81,28,82,83,80,84,81,28,28,82,83,80,84,81,28,28,82,83,80,84,81,28,28,28,82,83,80,84,81,84,81,84,81,28,82,83,80,84,81,81,81,84,28,82,83,80,84,81,28,82,83,80,84,81,28,28,28,83,80,28,84,28,28,28,82,83,80,84,81,28,82,83,80,84,81,81,28,82,83,80,84,81,28,82,83,80,84,81,28,82,83,80,84,81,28,82,83,80,84,81,0,0,0,0,0,0,0,0,0,90,93,92,90,93,92,90,90,93,92,90,93,92,90,92,90,93,92,90,93,92,90,93,92,90,93,92,90,93,92,90,90,90,92,90,90,90,93,92,90,93,92,90,93,92,90,90,90,93,92,0,0,0,96,95,94,96,95,94,94,94,96,95,94,96,95,94,94,95,96,95,94,96,95,94,96,95,94,96,95,94,96,95,94,94,94,95,94,94,94,96,95,94,96,95,94,96,95,94,94,94,96,95,94,0,0,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,0,0,0,0,0,101,102,103,104,105,101,102,103,104,105,105,101,102,103,104,105,101,102,103,104,105,101,102,103,104,105,101,102,103,104,105,101,102,105,104,101,102,103,104,105,101,102,103,104,105,101,102,103,104,105,101,102,103,104,105,101,102,103,104,105,101,105,101,102,104,105,105,101,102,103,104,105,102,101,102,103,104,105,101,102,103,104,105,101,102,103,104,105,105,101,102,103,104,105,0,0,0,106,107,108,106,107,108,106,107,108,106,107,108,106,107,108,106,107,108,108,107,106,107,108,106,107,108,106,107,108,106,107,108,106,107,108,108,107,108,108,106,107,108,106,107,108,106,107,108,106,107,108,108,106,107,108,0,118,118,0,0,0,0,0,0,0,109,110,111,110,111,113,112,114,115,110,111,113,112,114,115,0,109,110,111,112,110,111,114,115,110,111,114,115,110,111,110,111,113,113,112,114,115,110,111,113,112,114,115,115,113,112,110,111,113,112,114,115,113,114,0,110,111,113,112,114,115,110,111,113,112,114,115,112,112,112,110,111,113,112,114,115,118,110,111,113,112,114,115,112,113,115,118,118,115,118,113,112,114,115,112,0,109,110,111,110,111,114,115,110,111,113,112,114,115,110,111,113,112,114,115,110,111,113,112,114,115,115,110,111,113,112,114,115,115,115,119,119,0,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,0,0,0,122,123,120,122,123,120,122,123,120,122,123,120,120,122,123,120,122,123,120,122,123,120,122,123,120,122,123,120,120,120,120,122,123,120,122,123,120,122,123,120,120,122,123,120,0,39,4,4,126,126,127,0,0,0,4,0,127,0,4,4,0,0,0,0,39,4,6,4,0,0,126,127,58,133,0,0,58,0,134,39,126,127,58,0,126,127,58,132,0,0,1,136,136,136,136,136,136,136,136,136,136,136,136,136,136,1,136,136,136,136,136,136,144,0,144,0,138,0,0,144,138,138,140,144,138,91,0,91,91,91,91,91,0,0,10,121,0,10,121,10,121,0,141,10,121,10,121,10,121],"f":[0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[],1],[[[2,[-1]]],[[2,[-1]]],[3,4]],[[[5,[-1]]],[[5,[-1]]],[6,3]],[[[7,[-1]]],[[7,[-1]]],[3,4]],[[[8,[-1]]],[[8,[-1]]],[6,3]],[[[9,[-1,-2,-3]]],[[9,[-1,-2,-3]]],[6,3],[[10,[-1]],3],[[10,[[11,[-1]]]],3]],[[[12,[-1,-2,-3]]],[[12,[-1,-2,-3]]],[6,3],[[10,[-1]],3],[[10,[[11,[-1]]]],3]],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],0,[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[-1,[[15,[[2,[-2]]]]],16,4],[-1,[[15,[[5,[-2]]]]],16,6],[-1,[[15,[[7,[-2]]]]],16,4],[-1,[[15,[[8,[-2]]]]],16,6],[-1,[[15,[[17,[-2,-3,-4]]]]],16,6,[[10,[-2]]],[[10,[[11,[-2]]]]]],[[[2,[-1]]],[],4],[[[5,[-1]]],[],6],[14,13],[14,13],[14,13],[14,13],[14,13],[14,13],[14,13],[[[2,[-1]],-2],[[18,[13]]],4,19],[[[2,[-1]],[2,[-1]]],20,[21,4]],[[[5,[-1]],[5,[-1]]],20,[6,21]],0,[[[2,[-1]],[23,[22]]],[[24,[[23,[22]]]]],4],[[[2,[-1]]],14,4],[[[2,[-1]],25],26,[27,4]],[[[5,[-1]],25],26,[6,27]],[[[7,[-1]],25],26,[27,4]],[[[8,[-1]],25],26,[6,27]],[[[9,[-1,-2,-3]],25],26,[6,27],[[10,[-1]],27],[[10,[[11,[-1]]]],27]],[[[12,[-1,-2,-3]],25],26,[6,27],[[10,[-1]],27],[[10,[[11,[-1]]]],27]],[[[17,[-1,-2,-3]],25],26,[6,27],[[10,[-1]],27],[[10,[[11,[-1]]]],27]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],0,0,[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[28,[-1]],14],[[2,[-1]]],4],[[[5,[-1]],-2,-3,23,23],[[15,[[8,[-1]],29]]],6,1,1],[[[5,[-1]]],[[13,[14,14]]],6],[[[8,[-1]]],14,6],[[[5,[-1]]],[[13,[14,14]]],6],[[[8,[-1]]],[[13,[23,23]]],6],[[[5,[-1]],[9,[-1,-2,-3]],[8,[-1]]],[[15,[[17,[-1,-2,-3]],29]]],6,[[10,[-1]]],[[10,[[11,[-1]]]]]],[[[8,[-1]],[5,[-1]],-2,-3],[[15,[13,29]]],6,1,1],0,0,[[[2,[-1]],-2],15,4,30],[[[5,[-1]],-2],15,6,30],[[[7,[-1]],-2],15,4,30],[[[8,[-1]],-2],15,6,30],[[[12,[-1,-2,-3]],-4],15,6,[[10,[-1]]],[[10,[[11,[-1]]]]],30],[[[17,[-1,-2,-3]],-4],15,6,[[10,[-1]]],[[10,[[11,[-1]]]]],30],[[-1,-2,[31,[-3]],[31,[[11,[-3]]]]],[[15,[[5,[-3]],29]]],1,1,6],[[[5,[-1]]],[[15,[[13,[[9,[-1,-2,-3]],[12,[-1,-2,-3]]]],29]]],6,[[10,[-1]]],[[10,[[11,[-1]]]]]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,32,[]],[-1,32,[]],[-1,32,[]],[-1,32,[]],[-1,32,[]],[-1,32,[]],[-1,32,[]],[[[8,[-1]],[5,[-1]],14,23,23],[[15,[[13,[33,33]],29]]],6],[[[17,[-1,-2,-3]],[12,[-1,-2,-3]],14,23,23],[[15,[[13,[33,33]],29]]],6,[[10,[-1]]],[[10,[[11,[-1]]]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[8,[-1]]],33,6],[[[8,[-1]]],33,6],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,13],[14,13],[[29,29],20],[[34,34],20],[[29,25],26],[[29,25],26],[[34,25],26],[[34,25],26],[-1,-1,[]],[35,29],[34,29],[-1,-1,[]],[[],14],[[],14],[-1,-2,[],[]],[-1,-2,[],[]],[29,[[24,[36]]]],[-1,37,[]],[-1,37,[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,32,[]],[-1,32,[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,[[[38,[-1]],-2,[38,[-1]]],[[15,[[38,[-1]],35]]],39,40],[[[41,[-1]],-2,[41,[-1]]],[[15,[[41,[-1]],35]]],39,40],[[[38,[-1]],-2,[38,[-1]],42],[[15,[[38,[-1]],35]]],39,40],[[-1,[24,[[13,[20]]]]],[[15,[[38,[-2]],35]]],40,39],[[-1,[24,[13]]],[[15,[[41,[-2]],35]]],40,39],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[38,[-1]],-2],[[15,[13,35]]],39,40],[[[38,[-1]]],[[38,[-1]]],[3,39]],[[[41,[-1]]],[[41,[-1]]],[3,39]],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[[-1,[38,[-2]],[38,[-2]],43],[[15,[[38,[-2]],35]]],40,39],[[-1,[41,[-2]],[41,[-2]],43],[[15,[[41,[-2]],35]]],40,39],[-1,[[15,[[38,[-2]],35]]],40,39],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[[[38,[-1]],-2],[[15,[[38,[-1]],35]]],39,40],[[[41,[-1]],-2],[[15,[[41,[-1]],35]]],39,40],[14,13],[14,13],[[[38,[-1]],25],26,[27,39]],[[[41,[-1]],25],26,[27,39]],[-1,-1,[]],[-1,-1,[]],[[[38,[-1]]],[[41,[-1]]],39],[[[38,[-1]]],[[13,[44,44,44]]],39],[[[41,[-1]]],[[13,[44,44]]],39],[[],14],[[],14],[-1,-2,[],[]],[-1,-2,[],[]],[[[38,[-1]],-2],[[15,[[38,[-1]],35]]],39,40],[[44,44],[[41,[-1]]],39],[[[38,[-1]],-2,[23,[42]]],[[15,[[38,[-1]],35]]],39,40],[[-1,[38,[-2]],43],[[15,[[38,[-2]],35]]],40,39],[[[41,[-1]],44],[[15,[[38,[-1]],35]]],39],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,32,[]],[-1,32,[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[45,45],[46,46],[47,47],[48,48],[49,49],[50,50],[51,51],[52,52],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,13],[14,13],[14,13],[14,13],[14,13],[14,13],[14,13],[14,13],[[45,45],20],[[46,46],20],[[47,47],20],[[48,48],20],[[49,49],20],[[50,50],20],[[51,51],20],[[52,52],20],[[45,25],26],[[46,25],26],[[47,25],26],[[48,25],26],[[49,25],26],[[50,25],26],[[51,25],26],[[52,25],26],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],0,[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,32,[]],[-1,32,[]],[-1,32,[]],[-1,32,[]],[-1,32,[]],[-1,32,[]],[-1,32,[]],[-1,32,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[14,33],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[53,[-1]]],[[53,[-1]]],[3,54]],[[[55,[-1,-2]]],[[55,[-1,-2]]],3,3],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[[23,-2],[],[[4,[],[[56,[]],[57,[]]]]],[[58,[-1]]]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[-1,[[15,[[53,[-2]]]]],16,54],[14,13],[14,13],[[[53,[-1]],25],26,[27,54]],[[[55,[-1,-2]],25],26,27,27],[-1,-1,[]],[-1,-1,[]],[[[23,[33]],-2],[],[[4,[],[[56,[]],[57,[]]]]],[[58,[-1]]]],[[],14],[[],14],[-1,-2,[],[]],[-1,-2,[],[]],[[[0,[-1]],-2,[0,[-3]],23,23],[[15,[-4,29]]],59,[],[[4,[],[[56,[]],[57,[]],[60,[[0,[-1]]]]]]],[]],[[[53,[-1]],-2],15,54,30],[[[61,[[0,[-1]]]]],[[13,[-2,-3]]],59,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,32,[]],[-1,32,[]],[[23,-2],[],[[4,[],[[56,[]],[57,[]]]]],[[58,[-1]]]],[[-1,[0,[-3]],23,-4],[[15,[13,29]]],[],59,[[4,[],[[56,[]],[57,[]],[60,[[0,[-2]]]]]]],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[62,[-1]]],[[62,[-1]]],3],[[[63,[-1]]],[[63,[-1]]],[3,4]],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[-1,[[15,[[63,[-2]]]]],16,4],[14,13],[14,13],[14,13],[14,13],[[[64,[-1]],25],26,[27,4]],[[[65,[-1]],25],26,[27,4]],[[[62,[-1]],25],26,27],[[[63,[-1]],25],26,[27,4]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[[],14],[[],14],[[],14],[[],14],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,23,23],[[15,[-2,29]]],[],[]],[[[65,[-1]],-2],15,4,30],[[[63,[-1]],-2],15,4,30],[61,[[13,[-1,-2]]],[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,32,[]],[-1,32,[]],[-1,32,[]],[-1,32,[]],[[-1,23,-2],[[15,[13,29]]],[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[66,[-1]]],[[66,[-1]]],[3,54]],[[[67,[-1]]],[[67,[-1]]],[3,54]],[[[68,[-1]]],[[68,[-1]]],3],[[[69,[-1]]],[[69,[-1]]],[3,54]],[[[70,[-1]]],[[70,[-1]]],[3,54]],[[[71,[-1]]],[[71,[-1]]],[3,54]],[[[72,[-1]]],[[72,[-1]]],[3,54]],[[[73,[-1]]],[[73,[-1]]],[3,54]],[[[74,[-1,-2]]],[[74,[-1,-2]]],3,3],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],0,[[-2,75],[[15,[[0,[-1]],29]]],59,[[76,[[0,[-1]]]]]],[[],[[66,[-1]]],[77,54]],[[],[[67,[-1]]],[77,54]],[[],[[68,[-1]]],77],[[],[[71,[-1]]],[77,54]],[[],[[72,[-1]]],[77,54]],[[],[[73,[-1]]],[77,54]],[[],[[74,[-1,-2]]],77,77],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[-1,[[15,[[73,[-2]]]]],16,54],[14,13],[14,13],[14,13],[14,13],[14,13],[14,13],[14,13],[14,13],[14,13],[[[66,[-1]],[66,[-1]]],20,[21,54]],[[[67,[-1]],[67,[-1]]],20,[21,54]],[[[68,[-1]],[68,[-1]]],20,21],[[[69,[-1]],[69,[-1]]],20,[21,54]],[[[70,[-1]],[70,[-1]]],20,[21,54]],[[[71,[-1]],[71,[-1]]],20,[21,54]],[[[72,[-1]],[72,[-1]]],20,[21,54]],[[[73,[-1]],[73,[-1]]],20,[21,54]],[[[74,[-1,-2]],[74,[-1,-2]]],20,21,21],[[[66,[-1]],25],26,[27,54]],[[[67,[-1]],25],26,[27,54]],[[[68,[-1]],25],26,27],[[[69,[-1]],25],26,[27,54]],[[[70,[-1]],25],26,[27,54]],[[[71,[-1]],25],26,[27,54]],[[[72,[-1]],25],26,[27,54]],[[[73,[-1]],25],26,[27,54]],[[[74,[-1,-2]],25],26,27,27],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[[[66,[-1]]],[[72,[-1]]],54],[-1,-1,[]],[-1,-1,[]],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-2,75],[[15,[[13,[[67,[-1]],[66,[-1]]]],29]]],59,[[76,[[0,[-1]]]]]],0,[[[0,[-1]],-2,23,23],[[15,[-3,29]]],59,[],[]],[[[70,[-1]],-2],15,54,30],[[[73,[-1]],-2],15,54,30],[[[61,[[0,[-1]]]]],[[13,[-2,-3]]],59,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,32,[]],[-1,32,[]],[-1,32,[]],[-1,32,[]],[-1,32,[]],[-1,32,[]],[-1,32,[]],[-1,32,[]],[-1,32,[]],[[-1,23,-2],[[15,[13,29]]],[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[78,[-1]]],[[78,[-1]]],[3,54]],[[[79,[-1,-2]]],[[79,[-1,-2]]],3,3],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[-1,[[15,[[78,[-2]]]]],16,54],[-1,[[15,[[79,[-2,-3]]]]],16,[],[]],[14,13],[14,13],[[[78,[-1]],25],26,[27,54]],[[[79,[-1,-2]],25],26,27,27],[-1,-1,[]],[-1,-1,[]],[[],14],[[],14],[-1,-2,[],[]],[-1,-2,[],[]],[[[0,[-1]],[0,[-1]],[0,[-2]],23,23],[[15,[[78,[-1]],29]]],59,[[4,[],[[56,[]],[57,[]],[60,[[0,[-1]]]]]]]],[[[78,[-1]],-2],15,54,30],[[[79,[-1,-2]],-3],15,[],[],30],[[[61,[[0,[-1]]]]],[[13,[[0,[-1]],[0,[-1]]]]],59],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,32,[]],[-1,32,[]],[[[0,[-1]],[0,[-2]],23,[78,[-1]]],[[15,[13,29]]],59,[[4,[],[[56,[]],[57,[]],[60,[[0,[-1]]]]]]]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,[[[80,[-1]]],13,4],[[[81,[-1]]],13,4],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[28,[-1]]],[[28,[-1]]],[3,4]],[[[82,[-1]]],[[82,[-1]]],[3,4]],[[[83,[-1]]],[[83,[-1]]],[3,4]],[[[80,[-1]]],[[80,[-1]]],[3,4]],[[[84,[-1]]],[[84,[-1]]],[3,4]],[[[81,[-1]]],[[81,[-1]]],[3,4]],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[[[83,[-1]]],[],4],[[[84,[-1]]],13,4],[[[28,[-1]],[81,[-1]],[84,[-1]],[80,[-1]],[83,[-1]]],[[15,[[13,[33]],29]]],4],[[[28,[-1]],[81,[-1]],[84,[-1]],[80,[-1]],[83,[-1]],33,[82,[-1]],[82,[-1]]],[[15,[29]]],4],[[[28,[-1]],[31,[-1]]],[],4],[[[28,[-1]],[31,[-1]]],14,4],[14,[[82,[-1]]],4],[[[28,[-1]]],[[84,[-1]]],4],[[[28,[-1]]],[[81,[-1]]],4],[14,33],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[-1,[[15,[[28,[-2]]]]],16,4],[-1,[[15,[[82,[-2]]]]],16,4],[-1,[[15,[[83,[-2]]]]],16,4],[-1,[[15,[[80,[-2]]]]],16,4],[-1,[[15,[[84,[-2]]]]],16,4],[-1,[[15,[[81,[-2]]]]],16,4],[[[28,[-1]]],[],4],[14,13],[14,13],[14,13],[14,13],[14,13],[14,13],[[[28,[-1]],-2],[[18,[13]]],4,19],[[[28,[-1]],[28,[-1]]],20,[21,4]],[[[82,[-1]],[82,[-1]]],20,[21,4]],[[[83,[-1]],[83,[-1]]],20,[21,4]],[[[80,[-1]],[80,[-1]]],20,[21,4]],[[[84,[-1]],[84,[-1]]],20,[21,4]],[[[81,[-1]],[81,[-1]]],20,[21,4]],[[[28,[-1]],[23,[22]]],[[24,[[23,[22]]]]],4],[[[28,[-1]]],14,4],[[[28,[-1]],25],26,[27,4]],[[[82,[-1]],25],26,[27,4]],[[[83,[-1]],25],26,[27,4]],[[[80,[-1]],25],26,[27,4]],[[[84,[-1]],25],26,[27,4]],[[[81,[-1]],25],26,[27,4]],[[[84,[-1]],[83,[-1]],23],[[15,[[84,[-1]],29]]],4],[[[81,[-1]],[80,[-1]]],[[81,[-1]]],4],[[[84,[-1]],[83,[-1]],23],[[15,[13,29]]],4],[[[81,[-1]],[80,[-1]]],13,4],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[[[28,[-1]],[80,[-1]]],[[81,[-1]]],4],[23,[[81,[-1]]],4],[[[28,[-1]],[83,[-1]]],[[84,[-1]]],4],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[28,[-1]],[80,[-1]],[83,[-1]]],[[15,[13,29]]],4],[[[28,[-1]],[81,[-1]],[84,[-1]]],[[15,[13,29]]],4],0,[[[28,[-1]],33],[[15,[[83,[-1]],29]]],4],[[[28,[-1]],33],[[15,[[80,[-1]],29]]],4],[[[28,[-1]]],[[28,[-1]]],4],[[[84,[-1]],[28,[-1]]],[[84,[-1]]],4],[[14,14,14,14,-1],[[28,[-2]]],[85,86],4],[[[28,[-1]],-2],[[13,[[84,[-1]],[81,[-1]]]]],4,[85,86]],[[[28,[-1]],-2],15,4,30],[[[82,[-1]],-2],15,4,30],[[[83,[-1]],-2],15,4,30],[[[80,[-1]],-2],15,4,30],[[[84,[-1]],-2],15,4,30],[[[81,[-1]],-2],15,4,30],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[81,[-1]]],[[33,[22]]],4],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,32,[]],[-1,32,[]],[-1,32,[]],[-1,32,[]],[-1,32,[]],[-1,32,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,[[-1,14],[[33,[-1]]],87],0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[],[[89,[88]]]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[-1,[[15,[[90,[-2,-3]]]]],16,4,[[91,[-2]]]],[[[92,[-1,-2]]],[],4,[[91,[-1]]]],[14,13],[14,13],[14,13],[[[90,[-1,-2]],25],26,[27,4],[27,[91,[-1]]]],[[[93,[-1,-2]],25],26,[27,4],[27,[91,[-1]]]],[[[92,[-1,-2]],25],26,[27,4],[27,[91,[-1]]]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[[],14],[[],14],[[],14],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,[28,[-2]],[81,[-2]],[84,[-2]]],[[15,[[90,[-2,-3]],29]]],[],4,[[91,[-2]]]],[[-1,[33,[[28,[-2]]]],[23,[[81,[-2]]]],[23,[[84,[-2]]]]],[[15,[[90,[-2,-3]],29]]],[],4,[[91,[-2]]]],[[[90,[-1,-2]],-3],15,4,[[91,[-1]]],30],[[[92,[-1,-2]],-3],15,4,[[91,[-1]]],30],[[61,[28,[-1]]],[[15,[[13,[-2,-3]],29]]],4,[],[]],[[61,[33,[[28,[-1]]]]],[[15,[[13,[-2,-3]],29]]],4,[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,32,[]],[-1,32,[]],[-1,32,[]],[[[90,[-1,-2]],-3,[23,[[81,[-1]]]]],[[15,[13,29]]],4,[[91,[-1]]],[]],[[[90,[-1,-2]],-3,[81,[-1]]],[[15,[13,29]]],4,[[91,[-1]]],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[],[[89,[88]]]],[[],[[89,[88]]]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[-1,[[15,[[94,[-2,-3]]]]],16,4,[[91,[-2]]]],[[[95,[-1,-2]]],[],4,[[91,[-1]]]],[14,13],[14,13],[14,13],[[[96,[-1,-2]],25],26,[27,4],[27,[91,[-1]]]],[[[95,[-1,-2]],25],26,[27,4],[27,[91,[-1]]]],[[[94,[-1,-2]],25],26,[27,4],[27,[91,[-1]]]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[[],14],[[],14],[[],14],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,[28,[-2]],[81,[-2]],[84,[-2]]],[[15,[[94,[-2,-3]],29]]],[],4,[[91,[-2]]]],[[-1,[33,[[28,[-2]]]],[23,[[81,[-2]]]],[23,[[84,[-2]]]]],[[15,[[94,[-2,-3]],29]]],[],4,[[91,[-2]]]],[[[95,[-1,-2]],-3],15,4,[[91,[-1]]],30],[[[94,[-1,-2]],-3],15,4,[[91,[-1]]],30],[[61,[28,[-1]]],[[15,[[13,[-2,-3]],29]]],4,[],[]],[[61,[33,[[28,[-1]]]]],[[15,[[13,[-2,-3]],29]]],4,[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,32,[]],[-1,32,[]],[-1,32,[]],[[[94,[-1,-2]],-3,[81,[-1]]],[[15,[13,29]]],4,[[91,[-1]]],[]],[[[94,[-1,-2]],-3,[23,[[81,[-1]]]]],[[15,[13,29]]],4,[[91,[-1]]],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[[[97,[-1]],[97,[-1]]],-2,98,[]],[[[97,[-1]],-1],13,98],[-1,-2,[],[]],[-1,-2,[],[]],[[[97,[-1]]],[[97,[-1]]],3],[[-1,-2],13,[],[]],[14,-1,[]],[14,-1,[]],[-1,[[15,[[97,[-2]]]]],16,99],[14,13],[[[97,[-1]],[97,[-1]]],20,21],[[[97,[-1]],[23,[-1]]],-1,98],[[[23,[-1]],[23,[-1]]],-1,98],[[[97,[-1]]],[[23,[-1]]],98],[[[97,[-1]],25],26,27],[-1,-1,[]],[[[97,[-1]]],14,98],[[[97,[-1]],14],-1,98],[[],14],[-1,-2,[],[]],[[[97,[-1]]],20,98],[[[97,[-1]]],14,98],[[[33,[-1]]],[[97,[-1]]],98],[[14,-1],[[97,[-2]]],[85,86],98],[[[97,[-1]],-2],15,100,30],[-1,-2,[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,32,[]],[-1,-2,[],[]],0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[],[[89,[88]]]],[[[101,[-1]]],[[101,[-1]]],[3,4]],[[[102,[-1]]],[[102,[-1]]],[3,4]],[[[103,[-1,-2]]],[[103,[-1,-2]]],[3,4],[3,[91,[-1]]]],[[[104,[-1,-2]]],[[104,[-1,-2]]],[3,4],[3,[91,[-1]]]],[[[105,[-1,-2]]],[[105,[-1,-2]]],[3,4],[3,[91,[-1]]]],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[-1,[[15,[[101,[-2]]]]],16,4],[-1,[[15,[[102,[-2]]]]],16,4],[-1,[[15,[[105,[-2,-3]]]]],16,4,[[91,[-2]]]],[[[104,[-1,-2]]],[],4,[[91,[-1]]]],[14,13],[14,13],[14,13],[14,13],[14,13],[[[101,[-1]],25],26,[27,4]],[[[102,[-1]],25],26,[27,4]],[[[103,[-1,-2]],25],26,[27,4],[27,[91,[-1]]]],[[[104,[-1,-2]],25],26,[27,4],[27,[91,[-1]]]],[[[105,[-1,-2]],25],26,[27,4],[27,[91,[-1]]]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[[],14],[[],14],[[],14],[[],14],[[],14],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[28,[-1]]],[[101,[-1]]],4],[[-1,[28,[-2]],[81,[-2]],[84,[-2]]],[[15,[[105,[-2,-3]],29]]],[],4,[[91,[-2]]]],[[[101,[-1]],-2],15,4,30],[[[102,[-1]],-2],15,4,30],[[[104,[-1,-2]],-3],15,4,[[91,[-1]]],30],[[[105,[-1,-2]],-3],15,4,[[91,[-1]]],30],[[61,[28,[-1]]],[[15,[[13,[-2,-3]],29]]],4,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[102,[-1]]],[[33,[22]]],4],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,32,[]],[-1,32,[]],[-1,32,[]],[-1,32,[]],[-1,32,[]],[[[105,[-1,-2]],-3,[81,[-1]]],[[15,[13,29]]],4,[[91,[-1]]],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[106,[-1,-2]]],[[106,[-1,-2]]],[3,4],[3,[91,[-1]]]],[[[107,[-1,-2]]],[[107,[-1,-2]]],[3,4],[3,[91,[-1]]]],[[[108,[-1,-2]]],[[108,[-1,-2]]],[3,4],[3,[91,[-1]]]],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[-1,[[15,[[108,[-2,-3]]]]],16,4,[[91,[-2]]]],[[[107,[-1,-2]]],[],4,[[91,[-1]]]],[14,13],[14,13],[14,13],[[[106,[-1,-2]],25],26,[27,4],[27,[91,[-1]]]],[[[107,[-1,-2]],25],26,[27,4],[27,[91,[-1]]]],[[[108,[-1,-2]],25],26,[27,4],[27,[91,[-1]]]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[[],14],[[],14],[[],14],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,[28,[-2]],[81,[-2]],[84,[-2]]],[[15,[[108,[-2,-3]],29]]],[],4,[[91,[-2]]]],[[[107,[-1,-2]],-3],15,4,[[91,[-1]]],30],[[[108,[-1,-2]],-3],15,4,[[91,[-1]]],30],[[61,[28,[-1]]],[[15,[[13,[-2,-3]],29]]],4,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,32,[]],[-1,32,[]],[-1,32,[]],[[[108,[-1,-2]],-3,[81,[-1]]],[[15,[13,29]]],4,[[91,[-1]]],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,[109,14],[[[110,[-1]]],14,98],[[[111,[-1]]],14,98],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,14],[],109],[109,14],[[[110,[-1]]],14,98],[[[111,[-1]]],14,98],[[[112,[-1]]],[[113,[-1]]],6],[[[110,[-1]]],[[110,[-1]]],3],[[[111,[-1]]],[[111,[-1]]],3],[[[114,[-1]]],[[114,[-1]]],[6,3]],[[[115,[-1]]],[[115,[-1]]],[6,3]],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[[-1,-2],13,[],[]],[[],[[110,[-1]]],77],[[],[[111,[-1]]],77],[14,-1,[]],[14,-1,[]],[[[113,[-1]]],-2,4,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[-1,[[15,[[115,[-2]]]]],16,6],[[[113,[-1]]],[],4],[[[112,[-1]]],[],6],[14,13],[14,13],[14,13],[14,13],[14,13],[14,13],[[[113,[-1]],[113,[-1]]],20,[21,4]],[[[114,[-1]],[114,[-1]]],20,[6,21]],0,[[[110,[-1]],25],26,27],[[[111,[-1]],25],26,27],[[[113,[-1]],25],26,[27,4]],[[[112,[-1]],25],26,[6,27]],[[[114,[-1]],25],26,[6,27]],[[[115,[-1]],25],26,[6,27]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[[[33,[[2,[-1]]]],[114,[-1]]],[[112,[-1]]],6],[[[33,[[2,[-1]]]],[114,[-1]]],[[112,[-1]]],6],[[[112,[-1]],14],-2,6,[]],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[[118,[],[[116,[-1]],[117,[-2]]]]],14,109,109],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[112,[-1]]],[[13,[[33,[[2,[-1]]]],[114,[-1]]]]],6],[33,[[113,[-1]]],4],[[[112,[-1]],-2,23,23],[[15,[[115,[-1]],119]]],6,[[118,[-1]]]],[[[118,[],[[116,[-1]],[117,[-2]]]]],14,109,109],[[[118,[],[[116,[-1]],[117,[-2]]]],14],-1,109,109],[[[115,[-1]],[112,[-1]],-2,-3],[[15,[13,119]]],6,109,109],[[[118,[],[[116,[-1]],[117,[-2]]]]],-2,109,109],[[[113,[-1]],-2],15,4,30],[[[112,[-1]],-2],15,6,30],[[[114,[-1]],-2],15,6,30],[[[115,[-1]],-2],15,6,30],[[-2,[31,[-1]],[31,[[11,[-1]]]]],[[112,[-1]]],6,[[118,[-1]]]],0,[[109,-2,[24,[[44,[-1]]]],[23,[[44,[-1]]]]],[[15,[[13,[[24,[[44,[-1]]]],[33,[[44,[-1]]]]]],35]]],98,[[40,[-1]]]],[[[110,[-1]],-2,[24,[[44,[-1]]]],[23,[[44,[-1]]]]],[[15,[[13,[[24,[[44,[-1]]]],[33,[[44,[-1]]]]]],35]]],98,[[40,[-1]]]],[[[111,[-1]],-2,[24,[[44,[-1]]]],[23,[[44,[-1]]]]],[[15,[[13,[[24,[[44,[-1]]]],[33,[[44,[-1]]]]]],35]]],98,[[40,[-1]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,32,[]],[-1,32,[]],[-1,32,[]],[-1,32,[]],[-1,32,[]],[-1,32,[]],[[[115,[-1]],[112,[-1]],23,23],[[15,[[13,[33,33]],119]]],6],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[115,[-1]]],33,6],[[[115,[-1]]],33,6],0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[14,-1,[]],[14,-1,[]],[14,13],[[119,119],20],[[119,25],26],[[119,25],26],[-1,-1,[]],[29,119],[[],14],[-1,-2,[],[]],[119,[[24,[36]]]],[-1,37,[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,32,[]],[-1,-2,[],[]],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[14,-1,[]],[-1,[[15,[[120,[-2,-3,-4]]]]],16,6,[[121,[-2]]],[[10,[[11,[-2]]]]]],[14,13],[14,13],[14,13],[[[122,[-1,-2,-3]],25],26,[6,27],[[121,[-1]],27],[[10,[[11,[-1]]]],27]],[[[123,[-1,-2,-3]],25],26,[6,27],[[121,[-1]],27],[[10,[[11,[-1]]]],27]],[[[120,[-1,-2,-3]],25],26,[6,27],[[121,[-1]],27],[[10,[[11,[-1]]]],27]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[[],14],[[],14],[[],14],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[112,[-1]],[122,[-1,-2,-3]],[115,[-1]]],[[15,[[120,[-1,-2,-3]],119]]],6,[[121,[-1]]],[[10,[[11,[-1]]]]]],[[[120,[-1,-2,-3]],-4],15,6,[[121,[-1]]],[[10,[[11,[-1]]]]],30],[[[112,[-1]]],[[15,[[13,[[122,[-1,-2,-3]],[123,[-1,-2,-3]]]],119]]],6,[[121,[-1]]],[[10,[[11,[-1]]]]]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,32,[]],[-1,32,[]],[-1,32,[]],[[[120,[-1,-2,-3]],[112,[-1]],[123,[-1,-2,-3]],23,23],[[15,[[13,[33,33]],119]]],6,[[121,[-1]]],[[10,[[11,[-1]]]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[[126,[],[[124,[-1]],[125,[-3]]]],-2],13,[[127,[-2],[[125,[-3]]]]],98,[27,77,3,21,128,129,100,99,130]],[[[127,[],[[131,[-1]],[125,[-4]]]],[44,[-2]]],13,[[126,[-2,-3],[[125,[-4]]]]],98,[],[27,77,3,21,128,129,100,99,130]],[[58,[23,[22]],-1],13,132],[133,13],0,0,[[58,[23,[22]]],13],0,[[[23,[22]]],134],[[],[[13,[-1,-1,135,135]]],[]],[[-1,14],[[126,[],[[124,[-2]],[125,[-1]]]]],[27,77,3,21,128,129,100,99,130],[[127,[-3],[[125,[-1]]]]],98],[[-1,14],[[127,[],[[131,[-2]],[125,[-1]]]]],[27,77,3,21,128,129,100,99,130],[[126,[-3,-4],[[125,[-1]]]]],98,[]],[[[23,[22]]],58],0,[[[126,[],[[124,[-1]],[125,[-3]]]],14],-4,[[127,[-2],[[125,[-3]]]]],98,[27,77,3,21,128,129,100,99,130],[]],[[[127,[],[[131,[-1]],[125,[-4]]]],-5,14],[[15,[[33,[42]],35]]],[[126,[-2,-3],[[125,[-4]]]]],98,[],[27,77,3,21,128,129,100,99,130],[[40,[-2]]]],[[58,[23,[22]]],[[15,[29]]]],[132,[[33,[22]]]],0,0,[1,14],[[[136,[-1]]],14,98],[-1,-2,[],[]],[-1,-2,[],[]],[[[136,[-1]]],[[136,[-1]]],3],[[-1,-2],13,[],[]],[[],[[136,[-1]]],77],[14,-1,[]],[14,-1,[]],[14,13],[[[136,[-1]],[136,[-1]]],20,21],[[[136,[-1]],25],26,27],[-1,-1,[]],[[],14],[-1,-2,[],[]],[[1,-2,[23,[[44,[-1]]]]],[[15,[[33,[[44,[-1]]]],35]]],98,[[40,[-1]]]],[[[136,[-1]],-2,[23,[[44,[-1]]]]],[[15,[[33,[[44,[-1]]]],35]]],98,[[40,[-1]]]],[-1,-2,[],[]],[-1,[[15,[-2]]],[],[]],[-1,[[15,[-2]]],[],[]],[-1,32,[]],[-1,-2,[],[]],0,0,0,0,0,0,0,[[-1,23],-2,[],[]],[[[138,[],[[137,[-1]]]]],-1,[3,27,21,139,128,129,132,100,99]],[-1,[[15,[[138,[],[[137,[-1]]]],29]]],[3,27,21,139,128,129,132,100,99]],[140,14],[[[23,[22]],14],-1,[]],[[[138,[],[[137,[-1]]]]],[[13,[20]]],[3,27,21,139,128,129,132,100,99]],0,0,0,0,[[-1,23,23],[[15,[-2,29]]],[],[]],[61,[[13,[-1,-2]]],[],[]],[[-1,23,-2],[[15,[13,29]]],[],[]],0,0,0,0,0,0,0,[[],[[89,[88]]]],[[],[[89,[88]]]],[[],[[89,[88]]]],[141],[[-1,[28,[-2]],[81,[-2]],[84,[-2]]],[[15,[[10,[],[[142,[-1]],[143,[-3]]]],29]]],[128,129],4,[128,129,100]],[[-1,[33,[[28,[-2]]]],[23,[[81,[-2]]]],[23,[[84,[-2]]]]],[[15,[[121,[],[[142,[-1]],[143,[-3]]]],29]]],[128,129],4,[128,129,[141,[-2]]]],[[61,[28,[-1]]],[[15,[[13,[-2,-3]],29]]],4,[],[]],[[61,[33,[[28,[-1]]]]],[[15,[[13,[-2,-3]],29]]],4,[],[]],[[[10,[],[[142,[-1]],[143,[-2]]]],-2,[81,[-3]]],[[15,[13,29]]],[128,129],[128,129,100],4],[[[121,[],[[142,[-1]],[143,[-2]]]],-2,[23,[[81,[-3]]]]],[[15,[13,29]]],[128,129],[128,129,[141,[-3]]],4]],"c":[],"p":[[10,"StepCircuit",1466],[5,"R1CSWithArity",0],[10,"Clone",1527],[10,"Engine",1422],[5,"PublicParams",0],[10,"CurveCycleEquipped",1422],[5,"ResourceBuffer",0],[5,"RecursiveSNARK",0],[5,"ProverKey",0],[10,"RelaxedR1CSSNARKTrait",1510],[8,"Dual",1422],[5,"VerifierKey",0],[1,"tuple"],[1,"usize"],[6,"Result",1528],[10,"Deserializer",1529],[5,"CompressedSNARK",0],[8,"Result",1530],[10,"Write",1531],[1,"bool"],[10,"PartialEq",1532],[1,"u8"],[1,"slice"],[6,"Option",1533],[5,"Formatter",1534],[8,"Result",1534],[10,"Debug",1534],[5,"R1CSShape",757],[6,"NovaError",161],[10,"Serializer",1535],[8,"CommitmentKeyHint",757],[5,"TypeId",1536],[5,"Vec",1537],[6,"PCSError",161],[6,"SynthesisError",1538],[10,"Error",1539],[5,"String",1540],[5,"AllocatedPoint",223],[10,"Group",1422],[10,"ConstraintSystem",1538],[5,"AllocatedPointNonInfinity",223],[5,"AllocatedBit",1541],[6,"Boolean",1541],[5,"AllocatedNum",1542],[5,"GrumpkinEngine",276],[5,"Bn256EngineIPA",276],[5,"Bn256EngineZM",276],[5,"Bn256EngineKZG",276],[5,"Secp256k1Engine",276],[5,"Secq256k1Engine",276],[5,"PallasEngine",276],[5,"VestaEngine",276],[5,"EvaluationArgument",424],[10,"Engine",1543],[5,"EvaluationEngine",424],[17,"GE"],[17,"Scalar"],[10,"TranscriptEngineTrait",1422],[10,"MultiMillerLoop",1543],[17,"CE"],[5,"Arc",1544],[5,"EvaluationEngine",467],[5,"InnerProductArgument",467],[5,"ProverKey",467],[5,"VerifierKey",467],[5,"UVKZGEvaluation",535],[5,"UVKZGProof",535],[5,"UVKZGPCS",535],[5,"ZMProverKey",535],[5,"ZMVerifierKey",535],[5,"ZMCommitment",535],[5,"ZMEvaluation",535],[5,"ZMProof",535],[5,"ZMPCS",535],[8,"UVKZGPoly",535],[10,"Borrow",1545],[10,"Default",1546],[5,"EvaluationArgument",716],[5,"EvaluationEngine",716],[5,"R1CSInstance",757],[5,"RelaxedR1CSInstance",757],[5,"R1CSResult",757],[5,"R1CSWitness",757],[5,"RelaxedR1CSWitness",757],[10,"RngCore",1547],[10,"CryptoRng",1547],[10,"Field",1548],[10,"Fn",1549],[5,"Box",1550],[5,"BatchedRelaxedR1CSSNARK",917],[10,"EvaluationEngineTrait",1503],[5,"VerifierKey",917],[5,"ProverKey",917],[5,"BatchedRelaxedR1CSSNARK",970],[5,"VerifierKey",970],[5,"ProverKey",970],[5,"MultilinearPolynomial",1025],[10,"PrimeField",1548],[10,"Deserialize",1529],[10,"Serialize",1535],[5,"R1CSShapeSparkRepr",1056],[5,"R1CSShapeSparkCommitment",1056],[5,"ProverKey",1056],[5,"VerifierKey",1056],[5,"RelaxedR1CSSNARK",1056],[5,"ProverKey",1155],[5,"VerifierKey",1155],[5,"RelaxedR1CSSNARK",1155],[10,"StepCircuit",1213],[5,"TrivialTestCircuit",1213],[5,"TrivialSecondaryCircuit",1213],[5,"PublicParams",1213],[5,"CircuitDigests",1213],[5,"AuxParams",1213],[5,"RecursiveSNARK",1213],[17,"C1"],[17,"C2"],[10,"NonUniformCircuit",1213],[6,"SuperNovaError",1353],[5,"CompressedSNARK",1375],[10,"BatchedRelaxedR1CSSNARKTrait",1510],[5,"ProverKey",1375],[5,"VerifierKey",1375],[17,"CircuitRO"],[17,"Constants"],[10,"ROTrait",1422],[10,"ROCircuitTrait",1422],[10,"Send",1551],[10,"Sync",1551],[10,"Abomonation",1552],[17,"NativeRO"],[10,"TranscriptReprTrait",1422],[10,"AbsorbInROTrait",1422],[10,"PrimeFieldExt",1422],[5,"BigInt",1553],[5,"TrivialCircuit",1466],[17,"CompressedCommitment"],[10,"CommitmentTrait",1490],[10,"Eq",1532],[10,"Len",1490],[10,"DigestHelperTrait",1510],[17,"ProverKey"],[17,"VerifierKey"],[10,"CommitmentEngineTrait",1490]],"b":[[199,"impl-Display-for-NovaError"],[200,"impl-Debug-for-NovaError"],[201,"impl-Debug-for-PCSError"],[202,"impl-Display-for-PCSError"],[204,"impl-From%3CSynthesisError%3E-for-NovaError"],[205,"impl-From%3CPCSError%3E-for-NovaError"],[950,"impl-RelaxedR1CSSNARKTrait%3CE%3E-for-BatchedRelaxedR1CSSNARK%3CE,+EE%3E"],[951,"impl-BatchedRelaxedR1CSSNARKTrait%3CE%3E-for-BatchedRelaxedR1CSSNARK%3CE,+EE%3E"],[954,"impl-RelaxedR1CSSNARKTrait%3CE%3E-for-BatchedRelaxedR1CSSNARK%3CE,+EE%3E"],[955,"impl-BatchedRelaxedR1CSSNARKTrait%3CE%3E-for-BatchedRelaxedR1CSSNARK%3CE,+EE%3E"],[965,"impl-BatchedRelaxedR1CSSNARKTrait%3CE%3E-for-BatchedRelaxedR1CSSNARK%3CE,+EE%3E"],[966,"impl-RelaxedR1CSSNARKTrait%3CE%3E-for-BatchedRelaxedR1CSSNARK%3CE,+EE%3E"],[979,"impl-RelaxedR1CSSNARKTrait%3CE%3E-for-BatchedRelaxedR1CSSNARK%3CE,+EE%3E"],[980,"impl-BatchedRelaxedR1CSSNARKTrait%3CE%3E-for-BatchedRelaxedR1CSSNARK%3CE,+EE%3E"],[1004,"impl-RelaxedR1CSSNARKTrait%3CE%3E-for-BatchedRelaxedR1CSSNARK%3CE,+EE%3E"],[1005,"impl-BatchedRelaxedR1CSSNARKTrait%3CE%3E-for-BatchedRelaxedR1CSSNARK%3CE,+EE%3E"],[1008,"impl-RelaxedR1CSSNARKTrait%3CE%3E-for-BatchedRelaxedR1CSSNARK%3CE,+EE%3E"],[1009,"impl-BatchedRelaxedR1CSSNARKTrait%3CE%3E-for-BatchedRelaxedR1CSSNARK%3CE,+EE%3E"],[1019,"impl-RelaxedR1CSSNARKTrait%3CE%3E-for-BatchedRelaxedR1CSSNARK%3CE,+EE%3E"],[1020,"impl-BatchedRelaxedR1CSSNARKTrait%3CE%3E-for-BatchedRelaxedR1CSSNARK%3CE,+EE%3E"],[1363,"impl-Debug-for-SuperNovaError"],[1364,"impl-Display-for-SuperNovaError"]]}]\ ]')); if (typeof exports !== 'undefined') exports.searchIndex = searchIndex; else if (window.initSearch) window.initSearch(searchIndex); diff --git a/docs/trait.impl/abomonation/trait.Abomonation.js b/docs/trait.impl/abomonation/trait.Abomonation.js index efa4a6a86..6d0b19499 100644 --- a/docs/trait.impl/abomonation/trait.Abomonation.js +++ b/docs/trait.impl/abomonation/trait.Abomonation.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"arecibo":[["impl<E: Engine> Abomonation for R1CSWithArity<E>
where\n <E::Scalar as PrimeField>::Repr: Abomonation,
"],["impl<E: Engine> Abomonation for R1CSShape<E>
where\n <E::Scalar as PrimeField>::Repr: Abomonation,
"]] +"arecibo":[["impl<E: Engine> Abomonation for R1CSShape<E>
where\n <E::Scalar as PrimeField>::Repr: Abomonation,
"],["impl<E: Engine> Abomonation for R1CSWithArity<E>
where\n <E::Scalar as PrimeField>::Repr: Abomonation,
"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/docs/trait.impl/core/clone/trait.Clone.js b/docs/trait.impl/core/clone/trait.Clone.js index 8f37b3132..6d8e01293 100644 --- a/docs/trait.impl/core/clone/trait.Clone.js +++ b/docs/trait.impl/core/clone/trait.Clone.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"arecibo":[["impl<E: Clone + Engine, EE: Clone + EvaluationEngineTrait<E>> Clone for ProverKey<E, EE>
where\n EE::ProverKey: Clone,\n E::Scalar: Clone,
"],["impl<E1> Clone for AuxParams<E1>
where\n E1: CurveCycleEquipped + Clone,\n E1::Scalar: Clone,
"],["impl<E: Clone + Engine> Clone for UVKZGProof<E>
where\n E::G1Affine: Clone,
"],["impl Clone for Bn256EngineIPA"],["impl<E: Clone + Engine> Clone for RelaxedR1CSInstance<E>
where\n E::Scalar: Clone,
"],["impl<E1> Clone for RecursiveSNARK<E1>
where\n E1: CurveCycleEquipped + Clone,\n E1::Scalar: Clone,
"],["impl<E: Clone + Engine> Clone for ZMProof<E>
where\n E::G1Affine: Clone,
"],["impl<E: Clone + Engine> Clone for R1CSResult<E>
where\n E::Scalar: Clone,
"],["impl<E: Clone> Clone for EvaluationEngine<E>"],["impl<E: Clone + Engine> Clone for ResourceBuffer<E>
where\n E::Scalar: Clone,
"],["impl<E: Clone + Engine> Clone for EvaluationArgument<E>
where\n E::G1Affine: Clone,\n E::Fr: Clone,
"],["impl<E: Clone + Engine> Clone for InnerProductArgument<E>
where\n E::Scalar: Clone,
"],["impl<E: Clone + Engine> Clone for R1CSShape<E>
where\n E::Scalar: Clone,
"],["impl<E: Clone + Engine> Clone for R1CSInstance<E>
where\n E::Scalar: Clone,
"],["impl Clone for Bn256EngineZM"],["impl Clone for Secp256k1Engine"],["impl<Scalar: Clone> Clone for MultilinearPolynomial<Scalar>"],["impl<E1, S1, S2> Clone for ProverKey<E1, S1, S2>
where\n E1: CurveCycleEquipped + Clone,\n S1: RelaxedR1CSSNARKTrait<E1> + Clone,\n S2: RelaxedR1CSSNARKTrait<Dual<E1>> + Clone,\n S1::ProverKey: Clone,\n S2::ProverKey: Clone,
"],["impl<E: Clone + Engine> Clone for EvaluationArgument<E>
where\n E::G1Affine: Clone,\n E::Fr: Clone,
"],["impl<E: Clone + Engine, EE: Clone + EvaluationEngineTrait<E>> Clone for RelaxedR1CSSNARK<E, EE>
where\n E::Scalar: Clone,\n EE::EvaluationArgument: Clone,
"],["impl<E: Clone + Engine, EE: Clone + EvaluationEngineTrait<E>> Clone for VerifierKey<E, EE>
where\n EE::VerifierKey: Clone,\n E::Scalar: Clone,
"],["impl<E: Clone, NE: Clone> Clone for ZMPCS<E, NE>"],["impl<E: Clone + Engine> Clone for R1CSShapeSparkRepr<E>
where\n E::Scalar: Clone,
"],["impl<F: Clone> Clone for TrivialSecondaryCircuit<F>"],["impl Clone for Secq256k1Engine"],["impl<E: Clone + Engine> Clone for UVKZGEvaluation<E>
where\n E::Fr: Clone,
"],["impl<E: Clone> Clone for UVKZGPCS<E>"],["impl Clone for Bn256EngineKZG"],["impl<E1, S1, S2> Clone for VerifierKey<E1, S1, S2>
where\n E1: CurveCycleEquipped + Clone,\n S1: RelaxedR1CSSNARKTrait<E1> + Clone,\n S2: RelaxedR1CSSNARKTrait<Dual<E1>> + Clone,\n E1::Scalar: Clone,\n S1::VerifierKey: Clone,\n S2::VerifierKey: Clone,
"],["impl<E: Clone + Engine, EE: Clone + EvaluationEngineTrait<E>> Clone for ProverKey<E, EE>
where\n EE::ProverKey: Clone,\n E::Scalar: Clone,
"],["impl<E: Clone + Engine> Clone for R1CSWitness<E>
where\n E::Scalar: Clone,
"],["impl Clone for PallasEngine"],["impl<G: Clone + Group> Clone for AllocatedPointNonInfinity<G>
where\n G::Base: Clone,
"],["impl<E: Clone + Engine> Clone for ZMProverKey<E>"],["impl<G: Clone + Group> Clone for AllocatedPoint<G>
where\n G::Base: Clone,
"],["impl<E1> Clone for RecursiveSNARK<E1>
where\n E1: CurveCycleEquipped + Clone,\n E1::Scalar: Clone,
"],["impl<E: Clone + Engine> Clone for R1CSShapeSparkCommitment<E>"],["impl<F: Clone> Clone for TrivialTestCircuit<F>"],["impl<E: Clone + Engine> Clone for R1CSWithArity<E>"],["impl<E> Clone for PublicParams<E>
where\n E: CurveCycleEquipped + Clone,\n E::Scalar: Clone,
"],["impl Clone for GrumpkinEngine"],["impl<E: Clone + Engine> Clone for ZMVerifierKey<E>
where\n E::G2Affine: Clone,
"],["impl<E: Clone + Engine> Clone for RelaxedR1CSWitness<E>
where\n E::Scalar: Clone,
"],["impl<E: Clone, NE: Clone> Clone for EvaluationEngine<E, NE>"],["impl<E: Clone + Engine, EE: Clone + EvaluationEngineTrait<E>> Clone for VerifierKey<E, EE>
where\n EE::VerifierKey: Clone,\n E::Scalar: Clone,
"],["impl<E: Clone + Engine> Clone for ZMEvaluation<E>
where\n E::Fr: Clone,
"],["impl Clone for VestaEngine"],["impl<F: Clone> Clone for TrivialCircuit<F>"],["impl<E: Clone + Engine, EE: Clone + EvaluationEngineTrait<E>> Clone for RelaxedR1CSSNARK<E, EE>
where\n E::Scalar: Clone,\n EE::EvaluationArgument: Clone,
"],["impl<E: Clone + Engine> Clone for ZMCommitment<E>
where\n E::G1Affine: Clone,
"],["impl<E: Clone, NE: Clone> Clone for EvaluationEngine<E, NE>"]] +"arecibo":[["impl<E: Clone + Engine> Clone for R1CSShapeSparkCommitment<E>"],["impl<F: Clone> Clone for TrivialSecondaryCircuit<F>"],["impl<E: Clone + Engine> Clone for RelaxedR1CSInstance<E>
where\n E::Scalar: Clone,
"],["impl<E1, S1, S2> Clone for ProverKey<E1, S1, S2>
where\n E1: CurveCycleEquipped + Clone,\n S1: RelaxedR1CSSNARKTrait<E1> + Clone,\n S2: RelaxedR1CSSNARKTrait<Dual<E1>> + Clone,\n S1::ProverKey: Clone,\n S2::ProverKey: Clone,
"],["impl<E> Clone for PublicParams<E>
where\n E: CurveCycleEquipped + Clone,\n E::Scalar: Clone,
"],["impl<E: Clone + Engine> Clone for EvaluationArgument<E>
where\n E::G1Affine: Clone,\n E::Fr: Clone,
"],["impl Clone for Secq256k1Engine"],["impl<F: Clone> Clone for TrivialTestCircuit<F>"],["impl<F: Clone> Clone for TrivialCircuit<F>"],["impl Clone for VestaEngine"],["impl<G: Clone + Group> Clone for AllocatedPointNonInfinity<G>
where\n G::Base: Clone,
"],["impl<E1> Clone for RecursiveSNARK<E1>
where\n E1: CurveCycleEquipped + Clone,\n E1::Scalar: Clone,
"],["impl<E: Clone + Engine> Clone for R1CSResult<E>
where\n E::Scalar: Clone,
"],["impl<E: Clone + Engine, EE: Clone + EvaluationEngineTrait<E>> Clone for ProverKey<E, EE>
where\n EE::ProverKey: Clone,\n E::Scalar: Clone,
"],["impl Clone for Bn256EngineZM"],["impl<E: Clone + Engine, EE: Clone + EvaluationEngineTrait<E>> Clone for RelaxedR1CSSNARK<E, EE>
where\n E::Scalar: Clone,\n EE::EvaluationArgument: Clone,
"],["impl<E: Clone + Engine> Clone for ZMCommitment<E>
where\n E::G1Affine: Clone,
"],["impl<E: Clone + Engine> Clone for R1CSShape<E>
where\n E::Scalar: Clone,
"],["impl<E: Clone + Engine> Clone for InnerProductArgument<E>
where\n E::Scalar: Clone,
"],["impl<E: Clone> Clone for UVKZGPCS<E>"],["impl Clone for GrumpkinEngine"],["impl Clone for Bn256EngineKZG"],["impl<E: Clone + Engine> Clone for RelaxedR1CSWitness<E>
where\n E::Scalar: Clone,
"],["impl<E: Clone + Engine, EE: Clone + EvaluationEngineTrait<E>> Clone for RelaxedR1CSSNARK<E, EE>
where\n E::Scalar: Clone,\n EE::EvaluationArgument: Clone,
"],["impl<E: Clone + Engine> Clone for UVKZGEvaluation<E>
where\n E::Fr: Clone,
"],["impl<E1> Clone for RecursiveSNARK<E1>
where\n E1: CurveCycleEquipped + Clone,\n E1::Scalar: Clone,
"],["impl<E: Clone, NE: Clone> Clone for ZMPCS<E, NE>"],["impl<E: Clone + Engine> Clone for ZMEvaluation<E>
where\n E::Fr: Clone,
"],["impl<E: Clone + Engine> Clone for R1CSWithArity<E>"],["impl<E: Clone + Engine> Clone for ZMProverKey<E>"],["impl Clone for Bn256EngineIPA"],["impl<E: Clone, NE: Clone> Clone for EvaluationEngine<E, NE>"],["impl<E: Clone + Engine> Clone for R1CSShapeSparkRepr<E>
where\n E::Scalar: Clone,
"],["impl Clone for PallasEngine"],["impl<E: Clone + Engine> Clone for UVKZGProof<E>
where\n E::G1Affine: Clone,
"],["impl Clone for Secp256k1Engine"],["impl<E: Clone + Engine> Clone for ResourceBuffer<E>
where\n E::Scalar: Clone,
"],["impl<E: Clone, NE: Clone> Clone for EvaluationEngine<E, NE>"],["impl<E: Clone + Engine> Clone for EvaluationArgument<E>
where\n E::G1Affine: Clone,\n E::Fr: Clone,
"],["impl<E1, S1, S2> Clone for VerifierKey<E1, S1, S2>
where\n E1: CurveCycleEquipped + Clone,\n S1: RelaxedR1CSSNARKTrait<E1> + Clone,\n S2: RelaxedR1CSSNARKTrait<Dual<E1>> + Clone,\n E1::Scalar: Clone,\n S1::VerifierKey: Clone,\n S2::VerifierKey: Clone,
"],["impl<E: Clone + Engine, EE: Clone + EvaluationEngineTrait<E>> Clone for ProverKey<E, EE>
where\n EE::ProverKey: Clone,\n E::Scalar: Clone,
"],["impl<G: Clone + Group> Clone for AllocatedPoint<G>
where\n G::Base: Clone,
"],["impl<E1> Clone for AuxParams<E1>
where\n E1: CurveCycleEquipped + Clone,\n E1::Scalar: Clone,
"],["impl<E: Clone + Engine, EE: Clone + EvaluationEngineTrait<E>> Clone for VerifierKey<E, EE>
where\n EE::VerifierKey: Clone,\n E::Scalar: Clone,
"],["impl<E: Clone + Engine, EE: Clone + EvaluationEngineTrait<E>> Clone for VerifierKey<E, EE>
where\n EE::VerifierKey: Clone,\n E::Scalar: Clone,
"],["impl<E: Clone + Engine> Clone for R1CSWitness<E>
where\n E::Scalar: Clone,
"],["impl<Scalar: Clone> Clone for MultilinearPolynomial<Scalar>"],["impl<E: Clone> Clone for EvaluationEngine<E>"],["impl<E: Clone + Engine> Clone for ZMProof<E>
where\n E::G1Affine: Clone,
"],["impl<E: Clone + Engine> Clone for R1CSInstance<E>
where\n E::Scalar: Clone,
"],["impl<E: Clone + Engine> Clone for ZMVerifierKey<E>
where\n E::G2Affine: Clone,
"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/docs/trait.impl/core/cmp/trait.Eq.js b/docs/trait.impl/core/cmp/trait.Eq.js index 64e181400..cef87ac2d 100644 --- a/docs/trait.impl/core/cmp/trait.Eq.js +++ b/docs/trait.impl/core/cmp/trait.Eq.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"arecibo":[["impl Eq for PCSError"],["impl<E: Eq + Engine> Eq for ZMCommitment<E>
where\n E::G1Affine: Eq,
"],["impl<E: Eq + Engine> Eq for ZMProof<E>
where\n E::G1Affine: Eq,
"],["impl Eq for GrumpkinEngine"],["impl<E: Eq + Engine> Eq for ZMEvaluation<E>
where\n E::Fr: Eq,
"],["impl<E: Eq> Eq for UVKZGPCS<E>"],["impl<E: Eq + Engine> Eq for RelaxedR1CSInstance<E>
where\n E::Scalar: Eq,
"],["impl<E: Eq, NE: Eq> Eq for ZMPCS<E, NE>"],["impl Eq for VestaEngine"],["impl<E: Eq + Engine> Eq for RelaxedR1CSWitness<E>
where\n E::Scalar: Eq,
"],["impl<E: Eq + Engine> Eq for ZMVerifierKey<E>
where\n E::G2Affine: Eq,
"],["impl<E: Eq + Engine> Eq for UVKZGEvaluation<E>
where\n E::Fr: Eq,
"],["impl<Scalar: Eq> Eq for MultilinearPolynomial<Scalar>"],["impl<E: Eq + Engine> Eq for UVKZGProof<E>
where\n E::G1Affine: Eq,
"],["impl<F: Eq> Eq for TrivialCircuit<F>"],["impl Eq for Bn256EngineIPA"],["impl<E: Eq + Engine> Eq for R1CSInstance<E>
where\n E::Scalar: Eq,
"],["impl Eq for NovaError"],["impl<E: Eq + Engine> Eq for R1CSWitness<E>
where\n E::Scalar: Eq,
"],["impl Eq for Secp256k1Engine"],["impl Eq for Secq256k1Engine"],["impl<E: Eq + Engine> Eq for CircuitDigests<E>
where\n E::Scalar: Eq,
"],["impl<E: Eq + Engine> Eq for R1CSShape<E>
where\n E::Scalar: Eq,
"],["impl Eq for PallasEngine"],["impl<E: Eq + Engine> Eq for R1CSResult<E>
where\n E::Scalar: Eq,
"],["impl Eq for SuperNovaError"],["impl Eq for Bn256EngineKZG"],["impl<E: Eq + Engine> Eq for R1CSWithArity<E>"],["impl<E: Eq + Engine> Eq for ZMProverKey<E>"],["impl Eq for Bn256EngineZM"]] +"arecibo":[["impl<E: Eq + Engine> Eq for R1CSWithArity<E>"],["impl<E: Eq + Engine> Eq for UVKZGProof<E>
where\n E::G1Affine: Eq,
"],["impl<E: Eq + Engine> Eq for UVKZGEvaluation<E>
where\n E::Fr: Eq,
"],["impl<E: Eq + Engine> Eq for CircuitDigests<E>
where\n E::Scalar: Eq,
"],["impl<E: Eq + Engine> Eq for R1CSWitness<E>
where\n E::Scalar: Eq,
"],["impl Eq for Bn256EngineIPA"],["impl<F: Eq> Eq for TrivialCircuit<F>"],["impl<E: Eq + Engine> Eq for R1CSInstance<E>
where\n E::Scalar: Eq,
"],["impl<E: Eq + Engine> Eq for ZMCommitment<E>
where\n E::G1Affine: Eq,
"],["impl Eq for VestaEngine"],["impl Eq for PCSError"],["impl<E: Eq + Engine> Eq for ZMProof<E>
where\n E::G1Affine: Eq,
"],["impl Eq for PallasEngine"],["impl Eq for Secq256k1Engine"],["impl<E: Eq + Engine> Eq for RelaxedR1CSInstance<E>
where\n E::Scalar: Eq,
"],["impl<E: Eq> Eq for UVKZGPCS<E>"],["impl Eq for Secp256k1Engine"],["impl<E: Eq + Engine> Eq for RelaxedR1CSWitness<E>
where\n E::Scalar: Eq,
"],["impl<Scalar: Eq> Eq for MultilinearPolynomial<Scalar>"],["impl<E: Eq + Engine> Eq for ZMEvaluation<E>
where\n E::Fr: Eq,
"],["impl Eq for SuperNovaError"],["impl Eq for Bn256EngineKZG"],["impl Eq for GrumpkinEngine"],["impl<E: Eq + Engine> Eq for ZMVerifierKey<E>
where\n E::G2Affine: Eq,
"],["impl<E: Eq, NE: Eq> Eq for ZMPCS<E, NE>"],["impl<E: Eq + Engine> Eq for R1CSShape<E>
where\n E::Scalar: Eq,
"],["impl<E: Eq + Engine> Eq for ZMProverKey<E>"],["impl Eq for NovaError"],["impl Eq for Bn256EngineZM"],["impl<E: Eq + Engine> Eq for R1CSResult<E>
where\n E::Scalar: Eq,
"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/docs/trait.impl/core/cmp/trait.PartialEq.js b/docs/trait.impl/core/cmp/trait.PartialEq.js index 2c60b67e1..ea29f4113 100644 --- a/docs/trait.impl/core/cmp/trait.PartialEq.js +++ b/docs/trait.impl/core/cmp/trait.PartialEq.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"arecibo":[["impl<F: PartialEq> PartialEq for TrivialCircuit<F>"],["impl<E: PartialEq + Engine> PartialEq for R1CSInstance<E>
where\n E::Scalar: PartialEq,
"],["impl PartialEq for Bn256EngineKZG"],["impl<E: PartialEq + Engine> PartialEq for ZMEvaluation<E>
where\n E::Fr: PartialEq,
"],["impl<E: PartialEq + Engine> PartialEq for UVKZGEvaluation<E>
where\n E::Fr: PartialEq,
"],["impl<E: PartialEq, NE: PartialEq> PartialEq for ZMPCS<E, NE>"],["impl<E: PartialEq + Engine> PartialEq for CircuitDigests<E>
where\n E::Scalar: PartialEq,
"],["impl<E: PartialEq + Engine> PartialEq for R1CSWitness<E>
where\n E::Scalar: PartialEq,
"],["impl PartialEq for GrumpkinEngine"],["impl<E: PartialEq + Engine> PartialEq for R1CSShape<E>
where\n E::Scalar: PartialEq,
"],["impl<E: PartialEq + Engine> PartialEq for RelaxedR1CSInstance<E>
where\n E::Scalar: PartialEq,
"],["impl PartialEq for PallasEngine"],["impl<E: PartialEq + Engine> PartialEq for UVKZGProof<E>
where\n E::G1Affine: PartialEq,
"],["impl<E: PartialEq + Engine> PartialEq for ZMCommitment<E>
where\n E::G1Affine: PartialEq,
"],["impl<E: PartialEq + Engine> PartialEq for ZMVerifierKey<E>
where\n E::G2Affine: PartialEq,
"],["impl<E: PartialEq + Engine> PartialEq for R1CSResult<E>
where\n E::Scalar: PartialEq,
"],["impl<E: PartialEq + Engine> PartialEq for RelaxedR1CSWitness<E>
where\n E::Scalar: PartialEq,
"],["impl PartialEq for Secp256k1Engine"],["impl<E: PartialEq + Engine> PartialEq for R1CSWithArity<E>"],["impl<E1> PartialEq for AuxParams<E1>
where\n E1: CurveCycleEquipped + PartialEq,\n E1::Scalar: PartialEq,
"],["impl PartialEq for Bn256EngineIPA"],["impl PartialEq for NovaError"],["impl PartialEq for PCSError"],["impl<E: PartialEq> PartialEq for UVKZGPCS<E>"],["impl<E> PartialEq for PublicParams<E>
where\n E: CurveCycleEquipped + PartialEq,\n E::Scalar: PartialEq,
"],["impl<E: PartialEq + Engine> PartialEq for ZMProof<E>
where\n E::G1Affine: PartialEq,
"],["impl PartialEq for SuperNovaError"],["impl<Scalar: PartialEq> PartialEq for MultilinearPolynomial<Scalar>"],["impl PartialEq for Bn256EngineZM"],["impl<E: PartialEq + Engine> PartialEq for ZMProverKey<E>"],["impl PartialEq for VestaEngine"],["impl PartialEq for Secq256k1Engine"]] +"arecibo":[["impl<E: PartialEq + Engine> PartialEq for ZMEvaluation<E>
where\n E::Fr: PartialEq,
"],["impl<E: PartialEq + Engine> PartialEq for R1CSInstance<E>
where\n E::Scalar: PartialEq,
"],["impl<F: PartialEq> PartialEq for TrivialCircuit<F>"],["impl<Scalar: PartialEq> PartialEq for MultilinearPolynomial<Scalar>"],["impl<E: PartialEq + Engine> PartialEq for R1CSWithArity<E>"],["impl<E: PartialEq + Engine> PartialEq for UVKZGProof<E>
where\n E::G1Affine: PartialEq,
"],["impl<E: PartialEq + Engine> PartialEq for UVKZGEvaluation<E>
where\n E::Fr: PartialEq,
"],["impl<E: PartialEq + Engine> PartialEq for ZMProof<E>
where\n E::G1Affine: PartialEq,
"],["impl PartialEq for GrumpkinEngine"],["impl<E: PartialEq + Engine> PartialEq for ZMCommitment<E>
where\n E::G1Affine: PartialEq,
"],["impl PartialEq for VestaEngine"],["impl<E: PartialEq + Engine> PartialEq for R1CSResult<E>
where\n E::Scalar: PartialEq,
"],["impl<E: PartialEq + Engine> PartialEq for R1CSWitness<E>
where\n E::Scalar: PartialEq,
"],["impl<E> PartialEq for PublicParams<E>
where\n E: CurveCycleEquipped + PartialEq,\n E::Scalar: PartialEq,
"],["impl PartialEq for PallasEngine"],["impl<E: PartialEq + Engine> PartialEq for ZMVerifierKey<E>
where\n E::G2Affine: PartialEq,
"],["impl<E1> PartialEq for AuxParams<E1>
where\n E1: CurveCycleEquipped + PartialEq,\n E1::Scalar: PartialEq,
"],["impl<E: PartialEq + Engine> PartialEq for RelaxedR1CSInstance<E>
where\n E::Scalar: PartialEq,
"],["impl<E: PartialEq> PartialEq for UVKZGPCS<E>"],["impl PartialEq for PCSError"],["impl PartialEq for Bn256EngineIPA"],["impl PartialEq for SuperNovaError"],["impl PartialEq for NovaError"],["impl PartialEq for Secp256k1Engine"],["impl PartialEq for Secq256k1Engine"],["impl PartialEq for Bn256EngineKZG"],["impl<E: PartialEq + Engine> PartialEq for RelaxedR1CSWitness<E>
where\n E::Scalar: PartialEq,
"],["impl<E: PartialEq, NE: PartialEq> PartialEq for ZMPCS<E, NE>"],["impl<E: PartialEq + Engine> PartialEq for CircuitDigests<E>
where\n E::Scalar: PartialEq,
"],["impl<E: PartialEq + Engine> PartialEq for R1CSShape<E>
where\n E::Scalar: PartialEq,
"],["impl PartialEq for Bn256EngineZM"],["impl<E: PartialEq + Engine> PartialEq for ZMProverKey<E>"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/docs/trait.impl/core/convert/trait.From.js b/docs/trait.impl/core/convert/trait.From.js index 5e461dc14..730e5aef8 100644 --- a/docs/trait.impl/core/convert/trait.From.js +++ b/docs/trait.impl/core/convert/trait.From.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"arecibo":[["impl<E: Engine> From<UVKZGEvaluation<E>> for ZMEvaluation<E>"],["impl From<SynthesisError> for NovaError"],["impl From<NovaError> for SuperNovaError"],["impl From<PCSError> for NovaError"]] +"arecibo":[["impl<E: Engine> From<UVKZGEvaluation<E>> for ZMEvaluation<E>"],["impl From<NovaError> for SuperNovaError"],["impl From<SynthesisError> for NovaError"],["impl From<PCSError> for NovaError"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/docs/trait.impl/core/default/trait.Default.js b/docs/trait.impl/core/default/trait.Default.js index c3f980db1..d4732c4d2 100644 --- a/docs/trait.impl/core/default/trait.Default.js +++ b/docs/trait.impl/core/default/trait.Default.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"arecibo":[["impl<E: Default> Default for UVKZGPCS<E>"],["impl<F: Default> Default for TrivialSecondaryCircuit<F>"],["impl<E: Default + Engine> Default for UVKZGEvaluation<E>
where\n E::Fr: Default,
"],["impl<E: Default, NE: Default> Default for ZMPCS<E, NE>"],["impl<E: Default + Engine> Default for ZMProof<E>
where\n E::G1Affine: Default,
"],["impl<E: Default + Engine> Default for ZMEvaluation<E>
where\n E::Fr: Default,
"],["impl<F: Default> Default for TrivialCircuit<F>"],["impl<E: Default + Engine> Default for ZMCommitment<E>
where\n E::G1Affine: Default,
"],["impl<E: Default + Engine> Default for UVKZGProof<E>
where\n E::G1Affine: Default,
"],["impl<F: Default> Default for TrivialTestCircuit<F>"]] +"arecibo":[["impl<F: Default> Default for TrivialCircuit<F>"],["impl<F: Default> Default for TrivialTestCircuit<F>"],["impl<E: Default + Engine> Default for ZMCommitment<E>
where\n E::G1Affine: Default,
"],["impl<E: Default + Engine> Default for ZMProof<E>
where\n E::G1Affine: Default,
"],["impl<E: Default + Engine> Default for ZMEvaluation<E>
where\n E::Fr: Default,
"],["impl<E: Default> Default for UVKZGPCS<E>"],["impl<E: Default, NE: Default> Default for ZMPCS<E, NE>"],["impl<E: Default + Engine> Default for UVKZGEvaluation<E>
where\n E::Fr: Default,
"],["impl<F: Default> Default for TrivialSecondaryCircuit<F>"],["impl<E: Default + Engine> Default for UVKZGProof<E>
where\n E::G1Affine: Default,
"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/docs/trait.impl/core/error/trait.Error.js b/docs/trait.impl/core/error/trait.Error.js index a6d04c2ce..2dd842c78 100644 --- a/docs/trait.impl/core/error/trait.Error.js +++ b/docs/trait.impl/core/error/trait.Error.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"arecibo":[["impl Error for PCSError"],["impl Error for NovaError"],["impl Error for SuperNovaError"]] +"arecibo":[["impl Error for SuperNovaError"],["impl Error for NovaError"],["impl Error for PCSError"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/docs/trait.impl/core/fmt/trait.Debug.js b/docs/trait.impl/core/fmt/trait.Debug.js index 6527839f7..04cb5cf97 100644 --- a/docs/trait.impl/core/fmt/trait.Debug.js +++ b/docs/trait.impl/core/fmt/trait.Debug.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"arecibo":[["impl Debug for Secp256k1Engine"],["impl<E: Debug + Engine, EE: Debug + EvaluationEngineTrait<E>> Debug for VerifierKey<E, EE>
where\n EE::VerifierKey: Debug,\n E::Scalar: Debug,
"],["impl Debug for PCSError"],["impl<E: Debug + Engine> Debug for VerifierKey<E>"],["impl<E1> Debug for AuxParams<E1>
where\n E1: CurveCycleEquipped + Debug,\n E1::Scalar: Debug,
"],["impl<E: Debug + Engine> Debug for CircuitDigests<E>
where\n E::Scalar: Debug,
"],["impl<E: Debug> Debug for UVKZGPCS<E>"],["impl Debug for GrumpkinEngine"],["impl<E: Debug + Engine> Debug for ResourceBuffer<E>
where\n E::Scalar: Debug,
"],["impl<E: Debug, NE: Debug> Debug for EvaluationEngine<E, NE>"],["impl<E: Debug + Engine> Debug for R1CSShape<E>
where\n E::Scalar: Debug,
"],["impl<E: Debug + Engine> Debug for R1CSWithArity<E>"],["impl<E: Debug + Engine> Debug for R1CSShapeSparkCommitment<E>"],["impl<F: Debug> Debug for TrivialCircuit<F>"],["impl<E1, S1, S2> Debug for ProverKey<E1, S1, S2>
where\n E1: CurveCycleEquipped + Debug,\n S1: RelaxedR1CSSNARKTrait<E1> + Debug,\n S2: RelaxedR1CSSNARKTrait<Dual<E1>> + Debug,\n S1::ProverKey: Debug,\n S2::ProverKey: Debug,
"],["impl<E: Debug + Engine> Debug for ProverKey<E>"],["impl<E: Debug + Engine, EE: Debug + EvaluationEngineTrait<E>> Debug for VerifierKey<E, EE>
where\n EE::VerifierKey: Debug,\n E::Scalar: Debug,
"],["impl<E: Debug, NE: Debug> Debug for EvaluationEngine<E, NE>"],["impl<E: Debug + Engine, EE: Debug + EvaluationEngineTrait<E>> Debug for RelaxedR1CSSNARK<E, EE>
where\n E::Scalar: Debug,\n EE::EvaluationArgument: Debug,
"],["impl Debug for NovaError"],["impl<G: Debug + Group> Debug for AllocatedPointNonInfinity<G>
where\n G::Base: Debug,
"],["impl<E1, S1, S2> Debug for CompressedSNARK<E1, S1, S2>
where\n E1: CurveCycleEquipped + Debug,\n S1: RelaxedR1CSSNARKTrait<E1> + Debug,\n S2: RelaxedR1CSSNARKTrait<Dual<E1>> + Debug,\n E1::Scalar: Debug,
"],["impl<E: Debug + Engine> Debug for ZMCommitment<E>
where\n E::G1Affine: Debug,
"],["impl<E: Debug + Engine, EE: Debug + EvaluationEngineTrait<E>> Debug for ProverKey<E, EE>
where\n EE::ProverKey: Debug,\n E::Scalar: Debug,
"],["impl<E: Debug + Engine> Debug for R1CSShapeSparkRepr<E>
where\n E::Scalar: Debug,
"],["impl<E: Debug + Engine> Debug for R1CSWitness<E>
where\n E::Scalar: Debug,
"],["impl<E: Debug + Engine> Debug for ZMProverKey<E>"],["impl Debug for Bn256EngineKZG"],["impl<E: Debug, NE: Debug> Debug for ZMPCS<E, NE>"],["impl<E: Debug + Engine, EE: Debug + EvaluationEngineTrait<E>> Debug for ProverKey<E, EE>
where\n EE::ProverKey: Debug,\n E::Scalar: Debug,
"],["impl Debug for PallasEngine"],["impl<E: Debug + Engine> Debug for EvaluationArgument<E>
where\n E::G1Affine: Debug,\n E::Fr: Debug,
"],["impl<F: Debug> Debug for TrivialTestCircuit<F>"],["impl<F: Debug> Debug for TrivialSecondaryCircuit<F>"],["impl Debug for VestaEngine"],["impl<E: Debug + Engine> Debug for UVKZGProof<E>
where\n E::G1Affine: Debug,
"],["impl<E1> Debug for RecursiveSNARK<E1>
where\n E1: CurveCycleEquipped + Debug,\n E1::Scalar: Debug,
"],["impl<E: Debug + Engine> Debug for UVKZGEvaluation<E>
where\n E::Fr: Debug,
"],["impl<E: Debug + Engine> Debug for R1CSInstance<E>
where\n E::Scalar: Debug,
"],["impl<E1, S1, S2> Debug for CompressedSNARK<E1, S1, S2>
where\n E1: CurveCycleEquipped + Debug,\n S1: BatchedRelaxedR1CSSNARKTrait<E1> + Debug,\n S2: RelaxedR1CSSNARKTrait<Dual<E1>> + Debug,\n E1::Scalar: Debug,
"],["impl<E1, S1, S2> Debug for VerifierKey<E1, S1, S2>
where\n E1: CurveCycleEquipped + Debug,\n S1: RelaxedR1CSSNARKTrait<E1> + Debug,\n S2: RelaxedR1CSSNARKTrait<Dual<E1>> + Debug,\n E1::Scalar: Debug,\n S1::VerifierKey: Debug,\n S2::VerifierKey: Debug,
"],["impl<E: Debug + Engine, EE: Debug + EvaluationEngineTrait<E>> Debug for RelaxedR1CSSNARK<E, EE>
where\n E::Scalar: Debug,\n EE::EvaluationArgument: Debug,
"],["impl<E1> Debug for RecursiveSNARK<E1>
where\n E1: CurveCycleEquipped + Debug,\n E1::Scalar: Debug,
"],["impl<E: Debug + Engine, EE: Debug + EvaluationEngineTrait<E>> Debug for ProverKey<E, EE>
where\n EE::ProverKey: Debug,\n E::Scalar: Debug,
"],["impl<E: Debug> Debug for EvaluationEngine<E>"],["impl Debug for Secq256k1Engine"],["impl<E: Debug + Engine> Debug for ZMVerifierKey<E>
where\n E::G2Affine: Debug,
"],["impl<E1, S1, S2> Debug for ProverKey<E1, S1, S2>
where\n E1: CurveCycleEquipped + Debug,\n S1: BatchedRelaxedR1CSSNARKTrait<E1> + Debug,\n S2: RelaxedR1CSSNARKTrait<Dual<E1>> + Debug,\n S1::ProverKey: Debug,\n S2::ProverKey: Debug,
"],["impl<E: Debug + Engine> Debug for EvaluationArgument<E>
where\n E::G1Affine: Debug,\n E::Fr: Debug,
"],["impl Debug for Bn256EngineZM"],["impl<E: Debug + Engine> Debug for InnerProductArgument<E>
where\n E::Scalar: Debug,
"],["impl Debug for Bn256EngineIPA"],["impl<E: Debug + Engine> Debug for R1CSResult<E>
where\n E::Scalar: Debug,
"],["impl<E: Debug + Engine> Debug for ZMProof<E>
where\n E::G1Affine: Debug,
"],["impl<E: Debug + Engine, EE: Debug + EvaluationEngineTrait<E>> Debug for BatchedRelaxedR1CSSNARK<E, EE>
where\n E::Scalar: Debug,\n EE::EvaluationArgument: Debug,
"],["impl<E: Debug + Engine, EE: Debug + EvaluationEngineTrait<E>> Debug for BatchedRelaxedR1CSSNARK<E, EE>
where\n E::Scalar: Debug,\n EE::EvaluationArgument: Debug,
"],["impl<E: Debug + Engine> Debug for RelaxedR1CSInstance<E>
where\n E::Scalar: Debug,
"],["impl<E: Debug + Engine, EE: Debug + EvaluationEngineTrait<E>> Debug for VerifierKey<E, EE>
where\n EE::VerifierKey: Debug,\n E::Scalar: Debug,
"],["impl<E: Debug + Engine> Debug for RelaxedR1CSWitness<E>
where\n E::Scalar: Debug,
"],["impl Debug for SuperNovaError"],["impl<E> Debug for PublicParams<E>
where\n E: CurveCycleEquipped + Debug,\n E::Scalar: Debug,
"],["impl<E1> Debug for PublicParams<E1>
where\n E1: CurveCycleEquipped + Debug,\n E1::Scalar: Debug,
"],["impl<Scalar: Debug> Debug for MultilinearPolynomial<Scalar>"],["impl<E: Debug + Engine, EE: Debug + EvaluationEngineTrait<E>> Debug for ProverKey<E, EE>
where\n EE::ProverKey: Debug,\n E::Scalar: Debug,
"],["impl<E: Debug + Engine> Debug for ZMEvaluation<E>
where\n E::Fr: Debug,
"],["impl<E1, S1, S2> Debug for VerifierKey<E1, S1, S2>
where\n E1: CurveCycleEquipped + Debug,\n S1: BatchedRelaxedR1CSSNARKTrait<E1> + Debug,\n S2: RelaxedR1CSSNARKTrait<Dual<E1>> + Debug,\n S1::VerifierKey: Debug,\n S2::VerifierKey: Debug,
"],["impl<G: Debug + Group> Debug for AllocatedPoint<G>
where\n G::Base: Debug,
"],["impl<E: Debug + Engine, EE: Debug + EvaluationEngineTrait<E>> Debug for VerifierKey<E, EE>
where\n EE::VerifierKey: Debug,\n E::Scalar: Debug,
"]] +"arecibo":[["impl<E: Debug + Engine, EE: Debug + EvaluationEngineTrait<E>> Debug for VerifierKey<E, EE>
where\n EE::VerifierKey: Debug,\n E::Scalar: Debug,
"],["impl<E1> Debug for PublicParams<E1>
where\n E1: CurveCycleEquipped + Debug,\n E1::Scalar: Debug,
"],["impl<E: Debug + Engine> Debug for R1CSWitness<E>
where\n E::Scalar: Debug,
"],["impl<E: Debug + Engine, EE: Debug + EvaluationEngineTrait<E>> Debug for ProverKey<E, EE>
where\n EE::ProverKey: Debug,\n E::Scalar: Debug,
"],["impl Debug for GrumpkinEngine"],["impl<E1, S1, S2> Debug for CompressedSNARK<E1, S1, S2>
where\n E1: CurveCycleEquipped + Debug,\n S1: BatchedRelaxedR1CSSNARKTrait<E1> + Debug,\n S2: RelaxedR1CSSNARKTrait<Dual<E1>> + Debug,\n E1::Scalar: Debug,
"],["impl Debug for Bn256EngineIPA"],["impl Debug for VestaEngine"],["impl<E: Debug + Engine> Debug for R1CSShape<E>
where\n E::Scalar: Debug,
"],["impl<E: Debug + Engine, EE: Debug + EvaluationEngineTrait<E>> Debug for ProverKey<E, EE>
where\n EE::ProverKey: Debug,\n E::Scalar: Debug,
"],["impl<E: Debug + Engine> Debug for R1CSShapeSparkRepr<E>
where\n E::Scalar: Debug,
"],["impl<E: Debug + Engine, EE: Debug + EvaluationEngineTrait<E>> Debug for RelaxedR1CSSNARK<E, EE>
where\n E::Scalar: Debug,\n EE::EvaluationArgument: Debug,
"],["impl<E: Debug> Debug for UVKZGPCS<E>"],["impl<E: Debug + Engine> Debug for ZMEvaluation<E>
where\n E::Fr: Debug,
"],["impl<E: Debug + Engine> Debug for CircuitDigests<E>
where\n E::Scalar: Debug,
"],["impl<E: Debug + Engine> Debug for ProverKey<E>"],["impl<E: Debug + Engine> Debug for VerifierKey<E>"],["impl<E: Debug + Engine> Debug for R1CSInstance<E>
where\n E::Scalar: Debug,
"],["impl<E: Debug + Engine> Debug for UVKZGProof<E>
where\n E::G1Affine: Debug,
"],["impl<E1, S1, S2> Debug for ProverKey<E1, S1, S2>
where\n E1: CurveCycleEquipped + Debug,\n S1: RelaxedR1CSSNARKTrait<E1> + Debug,\n S2: RelaxedR1CSSNARKTrait<Dual<E1>> + Debug,\n S1::ProverKey: Debug,\n S2::ProverKey: Debug,
"],["impl Debug for PallasEngine"],["impl Debug for Bn256EngineZM"],["impl<E: Debug + Engine> Debug for ZMCommitment<E>
where\n E::G1Affine: Debug,
"],["impl<E: Debug> Debug for EvaluationEngine<E>"],["impl<E: Debug + Engine, EE: Debug + EvaluationEngineTrait<E>> Debug for VerifierKey<E, EE>
where\n EE::VerifierKey: Debug,\n E::Scalar: Debug,
"],["impl<E1, S1, S2> Debug for VerifierKey<E1, S1, S2>
where\n E1: CurveCycleEquipped + Debug,\n S1: BatchedRelaxedR1CSSNARKTrait<E1> + Debug,\n S2: RelaxedR1CSSNARKTrait<Dual<E1>> + Debug,\n S1::VerifierKey: Debug,\n S2::VerifierKey: Debug,
"],["impl<E: Debug + Engine> Debug for ResourceBuffer<E>
where\n E::Scalar: Debug,
"],["impl Debug for Secq256k1Engine"],["impl<E1, S1, S2> Debug for ProverKey<E1, S1, S2>
where\n E1: CurveCycleEquipped + Debug,\n S1: BatchedRelaxedR1CSSNARKTrait<E1> + Debug,\n S2: RelaxedR1CSSNARKTrait<Dual<E1>> + Debug,\n S1::ProverKey: Debug,\n S2::ProverKey: Debug,
"],["impl<E1> Debug for RecursiveSNARK<E1>
where\n E1: CurveCycleEquipped + Debug,\n E1::Scalar: Debug,
"],["impl Debug for NovaError"],["impl<E: Debug + Engine> Debug for R1CSShapeSparkCommitment<E>"],["impl<F: Debug> Debug for TrivialCircuit<F>"],["impl<E> Debug for PublicParams<E>
where\n E: CurveCycleEquipped + Debug,\n E::Scalar: Debug,
"],["impl<F: Debug> Debug for TrivialTestCircuit<F>"],["impl<E: Debug + Engine> Debug for RelaxedR1CSInstance<E>
where\n E::Scalar: Debug,
"],["impl<Scalar: Debug> Debug for MultilinearPolynomial<Scalar>"],["impl<G: Debug + Group> Debug for AllocatedPointNonInfinity<G>
where\n G::Base: Debug,
"],["impl<E: Debug + Engine, EE: Debug + EvaluationEngineTrait<E>> Debug for VerifierKey<E, EE>
where\n EE::VerifierKey: Debug,\n E::Scalar: Debug,
"],["impl<E: Debug + Engine, EE: Debug + EvaluationEngineTrait<E>> Debug for ProverKey<E, EE>
where\n EE::ProverKey: Debug,\n E::Scalar: Debug,
"],["impl<E: Debug, NE: Debug> Debug for ZMPCS<E, NE>"],["impl<F: Debug> Debug for TrivialSecondaryCircuit<F>"],["impl<E: Debug, NE: Debug> Debug for EvaluationEngine<E, NE>"],["impl<E: Debug + Engine, EE: Debug + EvaluationEngineTrait<E>> Debug for BatchedRelaxedR1CSSNARK<E, EE>
where\n E::Scalar: Debug,\n EE::EvaluationArgument: Debug,
"],["impl<E1, S1, S2> Debug for VerifierKey<E1, S1, S2>
where\n E1: CurveCycleEquipped + Debug,\n S1: RelaxedR1CSSNARKTrait<E1> + Debug,\n S2: RelaxedR1CSSNARKTrait<Dual<E1>> + Debug,\n E1::Scalar: Debug,\n S1::VerifierKey: Debug,\n S2::VerifierKey: Debug,
"],["impl<E: Debug + Engine> Debug for RelaxedR1CSWitness<E>
where\n E::Scalar: Debug,
"],["impl<E: Debug + Engine> Debug for R1CSWithArity<E>"],["impl<G: Debug + Group> Debug for AllocatedPoint<G>
where\n G::Base: Debug,
"],["impl<E: Debug + Engine> Debug for EvaluationArgument<E>
where\n E::G1Affine: Debug,\n E::Fr: Debug,
"],["impl<E: Debug + Engine> Debug for ZMProof<E>
where\n E::G1Affine: Debug,
"],["impl Debug for SuperNovaError"],["impl<E: Debug + Engine> Debug for ZMProverKey<E>"],["impl<E: Debug + Engine, EE: Debug + EvaluationEngineTrait<E>> Debug for ProverKey<E, EE>
where\n EE::ProverKey: Debug,\n E::Scalar: Debug,
"],["impl<E1, S1, S2> Debug for CompressedSNARK<E1, S1, S2>
where\n E1: CurveCycleEquipped + Debug,\n S1: RelaxedR1CSSNARKTrait<E1> + Debug,\n S2: RelaxedR1CSSNARKTrait<Dual<E1>> + Debug,\n E1::Scalar: Debug,
"],["impl<E: Debug + Engine, EE: Debug + EvaluationEngineTrait<E>> Debug for VerifierKey<E, EE>
where\n EE::VerifierKey: Debug,\n E::Scalar: Debug,
"],["impl<E: Debug + Engine> Debug for InnerProductArgument<E>
where\n E::Scalar: Debug,
"],["impl<E1> Debug for RecursiveSNARK<E1>
where\n E1: CurveCycleEquipped + Debug,\n E1::Scalar: Debug,
"],["impl<E: Debug, NE: Debug> Debug for EvaluationEngine<E, NE>"],["impl Debug for Secp256k1Engine"],["impl<E: Debug + Engine, EE: Debug + EvaluationEngineTrait<E>> Debug for BatchedRelaxedR1CSSNARK<E, EE>
where\n E::Scalar: Debug,\n EE::EvaluationArgument: Debug,
"],["impl Debug for PCSError"],["impl<E: Debug + Engine> Debug for R1CSResult<E>
where\n E::Scalar: Debug,
"],["impl<E1> Debug for AuxParams<E1>
where\n E1: CurveCycleEquipped + Debug,\n E1::Scalar: Debug,
"],["impl<E: Debug + Engine> Debug for UVKZGEvaluation<E>
where\n E::Fr: Debug,
"],["impl<E: Debug + Engine, EE: Debug + EvaluationEngineTrait<E>> Debug for RelaxedR1CSSNARK<E, EE>
where\n E::Scalar: Debug,\n EE::EvaluationArgument: Debug,
"],["impl<E: Debug + Engine> Debug for EvaluationArgument<E>
where\n E::G1Affine: Debug,\n E::Fr: Debug,
"],["impl<E: Debug + Engine> Debug for ZMVerifierKey<E>
where\n E::G2Affine: Debug,
"],["impl Debug for Bn256EngineKZG"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/docs/trait.impl/core/fmt/trait.Display.js b/docs/trait.impl/core/fmt/trait.Display.js index 5bc05a7c2..d6b8c6d64 100644 --- a/docs/trait.impl/core/fmt/trait.Display.js +++ b/docs/trait.impl/core/fmt/trait.Display.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"arecibo":[["impl Display for PCSError"],["impl Display for SuperNovaError"],["impl Display for NovaError"]] +"arecibo":[["impl Display for SuperNovaError"],["impl Display for PCSError"],["impl Display for NovaError"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/docs/trait.impl/core/marker/trait.Copy.js b/docs/trait.impl/core/marker/trait.Copy.js index c7b5e7e31..0715fd1c0 100644 --- a/docs/trait.impl/core/marker/trait.Copy.js +++ b/docs/trait.impl/core/marker/trait.Copy.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"arecibo":[["impl Copy for Secq256k1Engine"],["impl Copy for GrumpkinEngine"],["impl Copy for Bn256EngineZM"],["impl Copy for Bn256EngineIPA"],["impl Copy for VestaEngine"],["impl Copy for PallasEngine"],["impl Copy for Secp256k1Engine"],["impl Copy for Bn256EngineKZG"]] +"arecibo":[["impl Copy for Bn256EngineZM"],["impl Copy for GrumpkinEngine"],["impl Copy for Bn256EngineIPA"],["impl Copy for Secq256k1Engine"],["impl Copy for Bn256EngineKZG"],["impl Copy for Secp256k1Engine"],["impl Copy for PallasEngine"],["impl Copy for VestaEngine"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/docs/trait.impl/core/marker/trait.StructuralEq.js b/docs/trait.impl/core/marker/trait.StructuralEq.js index 51e1a8c2d..6b96c5a51 100644 --- a/docs/trait.impl/core/marker/trait.StructuralEq.js +++ b/docs/trait.impl/core/marker/trait.StructuralEq.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"arecibo":[["impl<E: Engine> StructuralEq for ZMProverKey<E>"],["impl StructuralEq for Secp256k1Engine"],["impl StructuralEq for Bn256EngineKZG"],["impl<E: Engine> StructuralEq for ZMProof<E>"],["impl StructuralEq for Bn256EngineZM"],["impl<F> StructuralEq for TrivialCircuit<F>"],["impl<E: Engine> StructuralEq for RelaxedR1CSInstance<E>"],["impl StructuralEq for SuperNovaError"],["impl<E: Engine> StructuralEq for R1CSShape<E>"],["impl<E: Engine> StructuralEq for RelaxedR1CSWitness<E>"],["impl<E: Engine> StructuralEq for UVKZGProof<E>"],["impl StructuralEq for Bn256EngineIPA"],["impl<E> StructuralEq for UVKZGPCS<E>"],["impl StructuralEq for Secq256k1Engine"],["impl<Scalar> StructuralEq for MultilinearPolynomial<Scalar>"],["impl<E: Engine> StructuralEq for ZMEvaluation<E>"],["impl<E: Engine> StructuralEq for R1CSWitness<E>"],["impl StructuralEq for PallasEngine"],["impl<E: Engine> StructuralEq for R1CSResult<E>"],["impl<E: Engine> StructuralEq for ZMCommitment<E>"],["impl StructuralEq for VestaEngine"],["impl<E: Engine> StructuralEq for UVKZGEvaluation<E>"],["impl<E: Engine> StructuralEq for R1CSInstance<E>"],["impl StructuralEq for PCSError"],["impl<E: Engine> StructuralEq for CircuitDigests<E>"],["impl StructuralEq for GrumpkinEngine"],["impl<E, NE> StructuralEq for ZMPCS<E, NE>"],["impl<E: Engine> StructuralEq for R1CSWithArity<E>"],["impl StructuralEq for NovaError"],["impl<E: Engine> StructuralEq for ZMVerifierKey<E>"]] +"arecibo":[["impl<E: Engine> StructuralEq for ZMVerifierKey<E>"],["impl<E: Engine> StructuralEq for ZMProof<E>"],["impl<E: Engine> StructuralEq for ZMCommitment<E>"],["impl<E: Engine> StructuralEq for R1CSShape<E>"],["impl<E, NE> StructuralEq for ZMPCS<E, NE>"],["impl StructuralEq for GrumpkinEngine"],["impl<E: Engine> StructuralEq for UVKZGEvaluation<E>"],["impl StructuralEq for Bn256EngineIPA"],["impl<E: Engine> StructuralEq for CircuitDigests<E>"],["impl<E: Engine> StructuralEq for R1CSInstance<E>"],["impl<E: Engine> StructuralEq for ZMProverKey<E>"],["impl StructuralEq for Bn256EngineKZG"],["impl<E: Engine> StructuralEq for ZMEvaluation<E>"],["impl<Scalar> StructuralEq for MultilinearPolynomial<Scalar>"],["impl StructuralEq for NovaError"],["impl<E> StructuralEq for UVKZGPCS<E>"],["impl<E: Engine> StructuralEq for R1CSWithArity<E>"],["impl StructuralEq for PallasEngine"],["impl<E: Engine> StructuralEq for R1CSResult<E>"],["impl<E: Engine> StructuralEq for UVKZGProof<E>"],["impl StructuralEq for Secq256k1Engine"],["impl<F> StructuralEq for TrivialCircuit<F>"],["impl<E: Engine> StructuralEq for RelaxedR1CSInstance<E>"],["impl StructuralEq for SuperNovaError"],["impl StructuralEq for Secp256k1Engine"],["impl<E: Engine> StructuralEq for RelaxedR1CSWitness<E>"],["impl<E: Engine> StructuralEq for R1CSWitness<E>"],["impl StructuralEq for Bn256EngineZM"],["impl StructuralEq for VestaEngine"],["impl StructuralEq for PCSError"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/docs/trait.impl/core/marker/trait.StructuralPartialEq.js b/docs/trait.impl/core/marker/trait.StructuralPartialEq.js index b1c90ec21..c98a02a8d 100644 --- a/docs/trait.impl/core/marker/trait.StructuralPartialEq.js +++ b/docs/trait.impl/core/marker/trait.StructuralPartialEq.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"arecibo":[["impl StructuralPartialEq for NovaError"],["impl<E, NE> StructuralPartialEq for ZMPCS<E, NE>"],["impl<E: Engine> StructuralPartialEq for RelaxedR1CSWitness<E>"],["impl StructuralPartialEq for PCSError"],["impl StructuralPartialEq for GrumpkinEngine"],["impl<E: Engine> StructuralPartialEq for ZMVerifierKey<E>"],["impl<E: Engine> StructuralPartialEq for ZMCommitment<E>"],["impl<E: Engine> StructuralPartialEq for RelaxedR1CSInstance<E>"],["impl<E: Engine> StructuralPartialEq for CircuitDigests<E>"],["impl StructuralPartialEq for Secq256k1Engine"],["impl StructuralPartialEq for Secp256k1Engine"],["impl StructuralPartialEq for PallasEngine"],["impl<E: Engine> StructuralPartialEq for R1CSResult<E>"],["impl<E: Engine> StructuralPartialEq for ZMEvaluation<E>"],["impl<E1> StructuralPartialEq for AuxParams<E1>
where\n E1: CurveCycleEquipped,
"],["impl<E: Engine> StructuralPartialEq for R1CSShape<E>"],["impl<E: Engine> StructuralPartialEq for R1CSWithArity<E>"],["impl StructuralPartialEq for VestaEngine"],["impl<F> StructuralPartialEq for TrivialCircuit<F>"],["impl StructuralPartialEq for Bn256EngineZM"],["impl<E: Engine> StructuralPartialEq for ZMProof<E>"],["impl<E> StructuralPartialEq for PublicParams<E>
where\n E: CurveCycleEquipped,
"],["impl<Scalar> StructuralPartialEq for MultilinearPolynomial<Scalar>"],["impl<E: Engine> StructuralPartialEq for UVKZGEvaluation<E>"],["impl StructuralPartialEq for SuperNovaError"],["impl<E: Engine> StructuralPartialEq for R1CSWitness<E>"],["impl<E> StructuralPartialEq for UVKZGPCS<E>"],["impl<E: Engine> StructuralPartialEq for UVKZGProof<E>"],["impl<E: Engine> StructuralPartialEq for ZMProverKey<E>"],["impl StructuralPartialEq for Bn256EngineIPA"],["impl StructuralPartialEq for Bn256EngineKZG"],["impl<E: Engine> StructuralPartialEq for R1CSInstance<E>"]] +"arecibo":[["impl<E: Engine> StructuralPartialEq for RelaxedR1CSInstance<E>"],["impl<E1> StructuralPartialEq for AuxParams<E1>
where\n E1: CurveCycleEquipped,
"],["impl StructuralPartialEq for Secp256k1Engine"],["impl<E: Engine> StructuralPartialEq for CircuitDigests<E>"],["impl<Scalar> StructuralPartialEq for MultilinearPolynomial<Scalar>"],["impl StructuralPartialEq for PallasEngine"],["impl StructuralPartialEq for Bn256EngineIPA"],["impl<E: Engine> StructuralPartialEq for R1CSResult<E>"],["impl<E: Engine> StructuralPartialEq for ZMEvaluation<E>"],["impl<E: Engine> StructuralPartialEq for R1CSShape<E>"],["impl<E: Engine> StructuralPartialEq for RelaxedR1CSWitness<E>"],["impl<E: Engine> StructuralPartialEq for ZMCommitment<E>"],["impl StructuralPartialEq for SuperNovaError"],["impl<E> StructuralPartialEq for PublicParams<E>
where\n E: CurveCycleEquipped,
"],["impl StructuralPartialEq for Bn256EngineKZG"],["impl<E: Engine> StructuralPartialEq for R1CSInstance<E>"],["impl<E, NE> StructuralPartialEq for ZMPCS<E, NE>"],["impl StructuralPartialEq for GrumpkinEngine"],["impl<F> StructuralPartialEq for TrivialCircuit<F>"],["impl<E: Engine> StructuralPartialEq for UVKZGProof<E>"],["impl<E: Engine> StructuralPartialEq for ZMVerifierKey<E>"],["impl<E: Engine> StructuralPartialEq for ZMProverKey<E>"],["impl StructuralPartialEq for VestaEngine"],["impl<E: Engine> StructuralPartialEq for R1CSWithArity<E>"],["impl StructuralPartialEq for PCSError"],["impl<E: Engine> StructuralPartialEq for UVKZGEvaluation<E>"],["impl<E: Engine> StructuralPartialEq for ZMProof<E>"],["impl StructuralPartialEq for Secq256k1Engine"],["impl StructuralPartialEq for NovaError"],["impl<E: Engine> StructuralPartialEq for R1CSWitness<E>"],["impl StructuralPartialEq for Bn256EngineZM"],["impl<E> StructuralPartialEq for UVKZGPCS<E>"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/docs/trait.impl/serde/de/trait.Deserialize.js b/docs/trait.impl/serde/de/trait.Deserialize.js index 59ce49b66..6e6c13bc1 100644 --- a/docs/trait.impl/serde/de/trait.Deserialize.js +++ b/docs/trait.impl/serde/de/trait.Deserialize.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"arecibo":[["impl<'de, E: Engine> Deserialize<'de> for ResourceBuffer<E>"],["impl<'de, E: Engine> Deserialize<'de> for EvaluationArgument<E>
where\n E::G1Affine: Deserialize<'de>,\n E::Fr: Deserialize<'de>,
"],["impl<'de, E: Engine> Deserialize<'de> for R1CSWitness<E>"],["impl<'de, E: Engine> Deserialize<'de> for EvaluationArgument<E>
where\n E::G1Affine: Deserialize<'de>,\n E::Fr: Deserialize<'de>,
"],["impl<'de, E: Engine> Deserialize<'de> for R1CSShape<E>"],["impl<'de, E: Engine> Deserialize<'de> for ZMProof<E>
where\n E::G1Affine: Deserialize<'de>,
"],["impl<'de, E: Engine, EE: EvaluationEngineTrait<E>> Deserialize<'de> for BatchedRelaxedR1CSSNARK<E, EE>"],["impl<'de, E: Engine> Deserialize<'de> for R1CSShapeSparkRepr<E>"],["impl<'de, E1, S1, S2> Deserialize<'de> for CompressedSNARK<E1, S1, S2>
where\n E1: CurveCycleEquipped,\n S1: RelaxedR1CSSNARKTrait<E1>,\n S2: RelaxedR1CSSNARKTrait<Dual<E1>>,
"],["impl<'de, E: Engine> Deserialize<'de> for RelaxedR1CSInstance<E>"],["impl<'de, E: Engine> Deserialize<'de> for R1CSWithArity<E>"],["impl<'de, E: Engine> Deserialize<'de> for RelaxedR1CSWitness<E>"],["impl<'de, E: Engine> Deserialize<'de> for InnerProductArgument<E>"],["impl<'de, E: Engine> Deserialize<'de> for R1CSInstance<E>"],["impl<'de, E> Deserialize<'de> for PublicParams<E>
where\n E: CurveCycleEquipped,
"],["impl<'de, E1, S1, S2> Deserialize<'de> for CompressedSNARK<E1, S1, S2>
where\n E1: CurveCycleEquipped,\n S1: BatchedRelaxedR1CSSNARKTrait<E1>,\n S2: RelaxedR1CSSNARKTrait<Dual<E1>>,
"],["impl<'de, E: Engine> Deserialize<'de> for R1CSShapeSparkCommitment<E>"],["impl<'de, E: Engine, EE: EvaluationEngineTrait<E>> Deserialize<'de> for BatchedRelaxedR1CSSNARK<E, EE>"],["impl<'de, E: Engine, EE: EvaluationEngineTrait<E>> Deserialize<'de> for RelaxedR1CSSNARK<E, EE>"],["impl<'de, E, NE> Deserialize<'de> for EvaluationEngine<E, NE>"],["impl<'de, E: Engine> Deserialize<'de> for R1CSResult<E>"],["impl<'de, E: Engine, EE: EvaluationEngineTrait<E>> Deserialize<'de> for RelaxedR1CSSNARK<E, EE>"],["impl<'de, E1> Deserialize<'de> for RecursiveSNARK<E1>
where\n E1: CurveCycleEquipped,
"],["impl<'de, E1> Deserialize<'de> for RecursiveSNARK<E1>
where\n E1: CurveCycleEquipped,
"],["impl<'de, Scalar> Deserialize<'de> for MultilinearPolynomial<Scalar>
where\n Scalar: Deserialize<'de>,
"]] +"arecibo":[["impl<'de, E: Engine> Deserialize<'de> for R1CSWitness<E>"],["impl<'de, E: Engine> Deserialize<'de> for R1CSShapeSparkCommitment<E>"],["impl<'de, E1, S1, S2> Deserialize<'de> for CompressedSNARK<E1, S1, S2>
where\n E1: CurveCycleEquipped,\n S1: RelaxedR1CSSNARKTrait<E1>,\n S2: RelaxedR1CSSNARKTrait<Dual<E1>>,
"],["impl<'de, E: Engine> Deserialize<'de> for R1CSResult<E>"],["impl<'de, E: Engine> Deserialize<'de> for R1CSShape<E>"],["impl<'de, Scalar> Deserialize<'de> for MultilinearPolynomial<Scalar>
where\n Scalar: Deserialize<'de>,
"],["impl<'de, E: Engine, EE: EvaluationEngineTrait<E>> Deserialize<'de> for BatchedRelaxedR1CSSNARK<E, EE>"],["impl<'de, E: Engine> Deserialize<'de> for R1CSInstance<E>"],["impl<'de, E: Engine> Deserialize<'de> for ResourceBuffer<E>"],["impl<'de, E: Engine> Deserialize<'de> for EvaluationArgument<E>
where\n E::G1Affine: Deserialize<'de>,\n E::Fr: Deserialize<'de>,
"],["impl<'de, E: Engine, EE: EvaluationEngineTrait<E>> Deserialize<'de> for RelaxedR1CSSNARK<E, EE>"],["impl<'de, E: Engine> Deserialize<'de> for EvaluationArgument<E>
where\n E::G1Affine: Deserialize<'de>,\n E::Fr: Deserialize<'de>,
"],["impl<'de, E1, S1, S2> Deserialize<'de> for CompressedSNARK<E1, S1, S2>
where\n E1: CurveCycleEquipped,\n S1: BatchedRelaxedR1CSSNARKTrait<E1>,\n S2: RelaxedR1CSSNARKTrait<Dual<E1>>,
"],["impl<'de, E1> Deserialize<'de> for RecursiveSNARK<E1>
where\n E1: CurveCycleEquipped,
"],["impl<'de, E, NE> Deserialize<'de> for EvaluationEngine<E, NE>"],["impl<'de, E: Engine> Deserialize<'de> for InnerProductArgument<E>"],["impl<'de, E: Engine> Deserialize<'de> for ZMProof<E>
where\n E::G1Affine: Deserialize<'de>,
"],["impl<'de, E1> Deserialize<'de> for RecursiveSNARK<E1>
where\n E1: CurveCycleEquipped,
"],["impl<'de, E: Engine, EE: EvaluationEngineTrait<E>> Deserialize<'de> for BatchedRelaxedR1CSSNARK<E, EE>"],["impl<'de, E> Deserialize<'de> for PublicParams<E>
where\n E: CurveCycleEquipped,
"],["impl<'de, E: Engine> Deserialize<'de> for R1CSWithArity<E>"],["impl<'de, E: Engine> Deserialize<'de> for RelaxedR1CSInstance<E>"],["impl<'de, E: Engine, EE: EvaluationEngineTrait<E>> Deserialize<'de> for RelaxedR1CSSNARK<E, EE>"],["impl<'de, E: Engine> Deserialize<'de> for R1CSShapeSparkRepr<E>"],["impl<'de, E: Engine> Deserialize<'de> for RelaxedR1CSWitness<E>"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/docs/trait.impl/serde/ser/trait.Serialize.js b/docs/trait.impl/serde/ser/trait.Serialize.js index 28c77b209..10aaaf596 100644 --- a/docs/trait.impl/serde/ser/trait.Serialize.js +++ b/docs/trait.impl/serde/ser/trait.Serialize.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"arecibo":[["impl<E: Engine, EE: EvaluationEngineTrait<E>> Serialize for BatchedRelaxedR1CSSNARK<E, EE>"],["impl<E: Engine> Serialize for VerifierKey<E>"],["impl<E: Engine> Serialize for EvaluationArgument<E>
where\n E::G1Affine: Serialize,\n E::Fr: Serialize,
"],["impl<E> Serialize for PublicParams<E>
where\n E: CurveCycleEquipped,
"],["impl<E: Engine> Serialize for R1CSWithArity<E>"],["impl<E1, S1, S2> Serialize for CompressedSNARK<E1, S1, S2>
where\n E1: CurveCycleEquipped,\n S1: BatchedRelaxedR1CSSNARKTrait<E1>,\n S2: RelaxedR1CSSNARKTrait<Dual<E1>>,
"],["impl<E: Engine> Serialize for R1CSInstance<E>"],["impl<E: Engine, EE: EvaluationEngineTrait<E>> Serialize for RelaxedR1CSSNARK<E, EE>"],["impl<E1, S1, S2> Serialize for CompressedSNARK<E1, S1, S2>
where\n E1: CurveCycleEquipped,\n S1: RelaxedR1CSSNARKTrait<E1>,\n S2: RelaxedR1CSSNARKTrait<Dual<E1>>,
"],["impl<E: Engine> Serialize for EvaluationArgument<E>
where\n E::G1Affine: Serialize,\n E::Fr: Serialize,
"],["impl<E: Engine, EE: EvaluationEngineTrait<E>> Serialize for VerifierKey<E, EE>"],["impl<E1> Serialize for RecursiveSNARK<E1>
where\n E1: CurveCycleEquipped,
"],["impl<E: Engine> Serialize for R1CSShapeSparkCommitment<E>"],["impl<E: Engine> Serialize for R1CSWitness<E>"],["impl<E: Engine> Serialize for RelaxedR1CSWitness<E>"],["impl<E: Engine> Serialize for ZMProof<E>
where\n E::G1Affine: Serialize,
"],["impl<E, NE> Serialize for EvaluationEngine<E, NE>"],["impl<E1> Serialize for RecursiveSNARK<E1>
where\n E1: CurveCycleEquipped,
"],["impl<Scalar> Serialize for MultilinearPolynomial<Scalar>
where\n Scalar: Serialize,
"],["impl<E: Engine> Serialize for R1CSShapeSparkRepr<E>"],["impl<E1> Serialize for PublicParams<E1>
where\n E1: CurveCycleEquipped,
"],["impl<E: Engine, EE: EvaluationEngineTrait<E>> Serialize for BatchedRelaxedR1CSSNARK<E, EE>"],["impl<E: Engine, EE: EvaluationEngineTrait<E>> Serialize for VerifierKey<E, EE>"],["impl<E: Engine> Serialize for ZMVerifierKey<E>
where\n E::G1Affine: Serialize,\n E::G2Affine: Serialize,
"],["impl<E: Engine> Serialize for R1CSResult<E>"],["impl<E1> Serialize for AuxParams<E1>
where\n E1: CurveCycleEquipped,
"],["impl<E: Engine> Serialize for ResourceBuffer<E>"],["impl<E: Engine, EE: EvaluationEngineTrait<E>> Serialize for VerifierKey<E, EE>
where\n EE::VerifierKey: Serialize,
"],["impl<E1, S1, S2> Serialize for VerifierKey<E1, S1, S2>
where\n E1: CurveCycleEquipped,\n S1: RelaxedR1CSSNARKTrait<E1>,\n S2: RelaxedR1CSSNARKTrait<Dual<E1>>,
"],["impl<E: Engine, EE: EvaluationEngineTrait<E>> Serialize for VerifierKey<E, EE>"],["impl<E: Engine> Serialize for RelaxedR1CSInstance<E>"],["impl<E: Engine, EE: EvaluationEngineTrait<E>> Serialize for RelaxedR1CSSNARK<E, EE>"],["impl<E: Engine> Serialize for CircuitDigests<E>"],["impl<E: Engine> Serialize for InnerProductArgument<E>"],["impl<E: Engine> Serialize for R1CSShape<E>"]] +"arecibo":[["impl<Scalar> Serialize for MultilinearPolynomial<Scalar>
where\n Scalar: Serialize,
"],["impl<E: Engine, EE: EvaluationEngineTrait<E>> Serialize for VerifierKey<E, EE>"],["impl<E: Engine> Serialize for InnerProductArgument<E>"],["impl<E1, S1, S2> Serialize for VerifierKey<E1, S1, S2>
where\n E1: CurveCycleEquipped,\n S1: RelaxedR1CSSNARKTrait<E1>,\n S2: RelaxedR1CSSNARKTrait<Dual<E1>>,
"],["impl<E: Engine> Serialize for R1CSShape<E>"],["impl<E: Engine, EE: EvaluationEngineTrait<E>> Serialize for VerifierKey<E, EE>
where\n EE::VerifierKey: Serialize,
"],["impl<E: Engine, EE: EvaluationEngineTrait<E>> Serialize for VerifierKey<E, EE>"],["impl<E: Engine> Serialize for R1CSWithArity<E>"],["impl<E: Engine> Serialize for R1CSInstance<E>"],["impl<E: Engine> Serialize for ZMVerifierKey<E>
where\n E::G1Affine: Serialize,\n E::G2Affine: Serialize,
"],["impl<E: Engine> Serialize for ZMProof<E>
where\n E::G1Affine: Serialize,
"],["impl<E1, S1, S2> Serialize for CompressedSNARK<E1, S1, S2>
where\n E1: CurveCycleEquipped,\n S1: RelaxedR1CSSNARKTrait<E1>,\n S2: RelaxedR1CSSNARKTrait<Dual<E1>>,
"],["impl<E1> Serialize for PublicParams<E1>
where\n E1: CurveCycleEquipped,
"],["impl<E1, S1, S2> Serialize for CompressedSNARK<E1, S1, S2>
where\n E1: CurveCycleEquipped,\n S1: BatchedRelaxedR1CSSNARKTrait<E1>,\n S2: RelaxedR1CSSNARKTrait<Dual<E1>>,
"],["impl<E: Engine> Serialize for CircuitDigests<E>"],["impl<E: Engine> Serialize for R1CSWitness<E>"],["impl<E> Serialize for PublicParams<E>
where\n E: CurveCycleEquipped,
"],["impl<E: Engine, EE: EvaluationEngineTrait<E>> Serialize for BatchedRelaxedR1CSSNARK<E, EE>"],["impl<E1> Serialize for RecursiveSNARK<E1>
where\n E1: CurveCycleEquipped,
"],["impl<E: Engine, EE: EvaluationEngineTrait<E>> Serialize for BatchedRelaxedR1CSSNARK<E, EE>"],["impl<E1> Serialize for RecursiveSNARK<E1>
where\n E1: CurveCycleEquipped,
"],["impl<E: Engine> Serialize for EvaluationArgument<E>
where\n E::G1Affine: Serialize,\n E::Fr: Serialize,
"],["impl<E: Engine> Serialize for RelaxedR1CSInstance<E>"],["impl<E: Engine> Serialize for R1CSResult<E>"],["impl<E: Engine> Serialize for RelaxedR1CSWitness<E>"],["impl<E1> Serialize for AuxParams<E1>
where\n E1: CurveCycleEquipped,
"],["impl<E: Engine, EE: EvaluationEngineTrait<E>> Serialize for RelaxedR1CSSNARK<E, EE>"],["impl<E: Engine, EE: EvaluationEngineTrait<E>> Serialize for RelaxedR1CSSNARK<E, EE>"],["impl<E: Engine> Serialize for ResourceBuffer<E>"],["impl<E: Engine> Serialize for R1CSShapeSparkRepr<E>"],["impl<E: Engine> Serialize for VerifierKey<E>"],["impl<E: Engine> Serialize for R1CSShapeSparkCommitment<E>"],["impl<E: Engine, EE: EvaluationEngineTrait<E>> Serialize for VerifierKey<E, EE>"],["impl<E, NE> Serialize for EvaluationEngine<E, NE>"],["impl<E: Engine> Serialize for EvaluationArgument<E>
where\n E::G1Affine: Serialize,\n E::Fr: Serialize,
"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file