diff --git a/docs/arecibo/errors/enum.NovaError.html b/docs/arecibo/errors/enum.NovaError.html index b207c886f..fefb3600a 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 7ed74370b..ca10bceee 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 c459e57fd..d83c2acc7 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/snark/struct.ProverKey.html b/docs/arecibo/spartan/snark/struct.ProverKey.html index c42f4a9f8..bf56113d8 100644 --- a/docs/arecibo/spartan/snark/struct.ProverKey.html +++ b/docs/arecibo/spartan/snark/struct.ProverKey.html @@ -1,10 +1,10 @@ ProverKey in arecibo::spartan::snark - Rust -
pub struct ProverKey<E: Engine, EE: EvaluationEngineTrait<E>> { /* private fields */ }
Expand description

A type that represents the prover’s key

-

Trait Implementations§

source§

impl<E: Clone + Engine, EE: Clone + EvaluationEngineTrait<E>> Clone for ProverKey<E, EE>
where +
pub struct ProverKey<E: Engine, EE: EvaluationEngineTrait<E>> { /* private fields */ }
Expand description

A type that represents the prover’s key

+

Trait Implementations§

source§

impl<E: Clone + Engine, EE: Clone + EvaluationEngineTrait<E>> Clone for ProverKey<E, EE>
where EE::ProverKey: Clone, - E::Scalar: Clone,

source§

fn clone(&self) -> ProverKey<E, EE>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<E: Debug + Engine, EE: Debug + EvaluationEngineTrait<E>> Debug for ProverKey<E, EE>
where + E::Scalar: Clone,

source§

fn clone(&self) -> ProverKey<E, EE>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<E: Debug + Engine, EE: Debug + EvaluationEngineTrait<E>> Debug for ProverKey<E, EE>
where EE::ProverKey: Debug, - E::Scalar: Debug,

source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<E, EE> RefUnwindSafe for ProverKey<E, EE>
where + E::Scalar: Debug,

source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<E, EE> RefUnwindSafe for ProverKey<E, EE>

§

impl<E, EE> Send for ProverKey<E, EE>

§

impl<E, EE> Sync for ProverKey<E, EE>

§

impl<E, EE> Unpin for ProverKey<E, EE>
where <EE as EvaluationEngineTrait<E>>::ProverKey: Unpin, diff --git a/docs/arecibo/spartan/snark/struct.RelaxedR1CSSNARK.html b/docs/arecibo/spartan/snark/struct.RelaxedR1CSSNARK.html index f42369e00..1dd9e2953 100644 --- a/docs/arecibo/spartan/snark/struct.RelaxedR1CSSNARK.html +++ b/docs/arecibo/spartan/snark/struct.RelaxedR1CSSNARK.html @@ -1,31 +1,31 @@ RelaxedR1CSSNARK in arecibo::spartan::snark - Rust -
pub struct RelaxedR1CSSNARK<E: Engine, EE: EvaluationEngineTrait<E>> { /* private fields */ }
Expand description

A succinct proof of knowledge of a witness to a relaxed R1CS instance +

pub struct RelaxedR1CSSNARK<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: Clone + Engine, EE: Clone + EvaluationEngineTrait<E>> Clone for RelaxedR1CSSNARK<E, EE>
where +

Trait Implementations§

source§

impl<E: Clone + Engine, EE: Clone + EvaluationEngineTrait<E>> Clone for RelaxedR1CSSNARK<E, EE>

source§

fn clone(&self) -> RelaxedR1CSSNARK<E, EE>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

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

source§

fn clone(&self) -> RelaxedR1CSSNARK<E, EE>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<E: Debug + Engine, EE: Debug + EvaluationEngineTrait<E>> Debug for RelaxedR1CSSNARK<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 RelaxedR1CSSNARK<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 RelaxedR1CSSNARK<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 RelaxedR1CSSNARK<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 RelaxedR1CSSNARK<E, EE>

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 succinct proof of satisfiability of a RelaxedR1CS instance

-
source§

fn verify( +

source§

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

verifies a proof of satisfiability of a RelaxedR1CS instance

-
§

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( +

§

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: &R1CSShape<E> ) -> Result<(Self::ProverKey, Self::VerifierKey), NovaError>

Produces the keys for the prover and the verifier
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: Engine, EE: EvaluationEngineTrait<E>> Serialize for RelaxedR1CSSNARK<E, EE>

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where +be at least as large as this hint.

source§

impl<E: Engine, EE: EvaluationEngineTrait<E>> Serialize for RelaxedR1CSSNARK<E, EE>

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

§

impl<E, EE> RefUnwindSafe for RelaxedR1CSSNARK<E, EE>

§

impl<E, EE> Send for RelaxedR1CSSNARK<E, EE>

§

impl<E, EE> Sync for RelaxedR1CSSNARK<E, EE>

§

impl<E, EE> Unpin for RelaxedR1CSSNARK<E, EE>
where diff --git a/docs/arecibo/spartan/snark/struct.VerifierKey.html b/docs/arecibo/spartan/snark/struct.VerifierKey.html index bda51dbcd..d521dc64d 100644 --- a/docs/arecibo/spartan/snark/struct.VerifierKey.html +++ b/docs/arecibo/spartan/snark/struct.VerifierKey.html @@ -1,11 +1,11 @@ VerifierKey in arecibo::spartan::snark - Rust -
pub struct VerifierKey<E: Engine, EE: EvaluationEngineTrait<E>> { /* private fields */ }
Expand description

A type that represents the verifier’s key

-

Trait Implementations§

source§

impl<E: Clone + Engine, EE: Clone + EvaluationEngineTrait<E>> Clone for VerifierKey<E, EE>
where +
pub struct VerifierKey<E: Engine, EE: EvaluationEngineTrait<E>> { /* private fields */ }
Expand description

A type that represents the verifier’s key

+

Trait Implementations§

source§

impl<E: Clone + Engine, EE: Clone + EvaluationEngineTrait<E>> Clone for VerifierKey<E, EE>
where EE::VerifierKey: Clone, - E::Scalar: Clone,

source§

fn clone(&self) -> VerifierKey<E, EE>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<E: Debug + Engine, EE: Debug + EvaluationEngineTrait<E>> Debug for VerifierKey<E, EE>
where + E::Scalar: Clone,

source§

fn clone(&self) -> VerifierKey<E, EE>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<E: Debug + Engine, EE: Debug + EvaluationEngineTrait<E>> Debug for VerifierKey<E, EE>
where EE::VerifierKey: Debug, - E::Scalar: Debug,

source§

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

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

impl<E: Engine, EE: EvaluationEngineTrait<E>> DigestHelperTrait<E> for VerifierKey<E, EE>

source§

fn digest(&self) -> E::Scalar

Returns the digest of the verifier’s key.

-
source§

impl<E: Engine, EE: EvaluationEngineTrait<E>> Serialize for VerifierKey<E, EE>

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + E::Scalar: Debug,

source§

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

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

impl<E: Engine, EE: EvaluationEngineTrait<E>> DigestHelperTrait<E> for VerifierKey<E, EE>

source§

fn digest(&self) -> E::Scalar

Returns the digest of the verifier’s key.

+
source§

impl<E: Engine, EE: EvaluationEngineTrait<E>> Serialize for VerifierKey<E, EE>

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

§

impl<E, EE> RefUnwindSafe for VerifierKey<E, EE>

§

impl<E, EE> Send for VerifierKey<E, EE>

§

impl<E, EE> Sync for VerifierKey<E, EE>

§

impl<E, EE> Unpin for VerifierKey<E, EE>
where diff --git a/docs/arecibo/traits/snark/trait.DigestHelperTrait.html b/docs/arecibo/traits/snark/trait.DigestHelperTrait.html index 35629d8d5..87e082c5c 100644 --- a/docs/arecibo/traits/snark/trait.DigestHelperTrait.html +++ b/docs/arecibo/traits/snark/trait.DigestHelperTrait.html @@ -4,4 +4,4 @@ fn digest(&self) -> E::Scalar; }
Expand description

A helper trait that defines the behavior of a verifier key of zkSNARK

Required Methods§

source

fn digest(&self) -> E::Scalar

Returns the digest of the verifier’s key

-

Implementors§

source§

impl<E: Engine, EE: EvaluationEngineTrait<E>> DigestHelperTrait<E> for arecibo::spartan::batched::VerifierKey<E, EE>

source§

impl<E: Engine, EE: EvaluationEngineTrait<E>> DigestHelperTrait<E> for arecibo::spartan::batched_ppsnark::VerifierKey<E, EE>

source§

impl<E: Engine, EE: EvaluationEngineTrait<E>> DigestHelperTrait<E> for arecibo::spartan::ppsnark::VerifierKey<E, EE>

source§

impl<E: Engine, EE: EvaluationEngineTrait<E>> DigestHelperTrait<E> for arecibo::spartan::snark::VerifierKey<E, EE>

\ No newline at end of file +

Implementors§

source§

impl<E: Engine, EE: EvaluationEngineTrait<E>> DigestHelperTrait<E> for arecibo::spartan::batched::VerifierKey<E, EE>

source§

impl<E: Engine, EE: EvaluationEngineTrait<E>> DigestHelperTrait<E> for arecibo::spartan::batched_ppsnark::VerifierKey<E, EE>

source§

impl<E: Engine, EE: EvaluationEngineTrait<E>> DigestHelperTrait<E> for arecibo::spartan::ppsnark::VerifierKey<E, EE>

source§

impl<E: Engine, EE: EvaluationEngineTrait<E>> DigestHelperTrait<E> for arecibo::spartan::snark::VerifierKey<E, EE>

\ No newline at end of file diff --git a/docs/arecibo/traits/snark/trait.RelaxedR1CSSNARKTrait.html b/docs/arecibo/traits/snark/trait.RelaxedR1CSSNARKTrait.html index 908e3f827..8391bb579 100644 --- a/docs/arecibo/traits/snark/trait.RelaxedR1CSSNARKTrait.html +++ b/docs/arecibo/traits/snark/trait.RelaxedR1CSSNARKTrait.html @@ -46,4 +46,4 @@ 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.

-

Object Safety§

This trait is not object safe.

Implementors§

source§

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

§

type ProverKey = ProverKey<E, EE>

§

type VerifierKey = VerifierKey<E, EE>

source§

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

§

type ProverKey = ProverKey<E, EE>

§

type VerifierKey = VerifierKey<E, EE>

source§

impl<E: Engine, EE: EvaluationEngineTrait<E>> RelaxedR1CSSNARKTrait<E> for arecibo::spartan::ppsnark::RelaxedR1CSSNARK<E, EE>

§

type ProverKey = ProverKey<E, EE>

§

type VerifierKey = VerifierKey<E, EE>

source§

impl<E: Engine, EE: EvaluationEngineTrait<E>> RelaxedR1CSSNARKTrait<E> for arecibo::spartan::snark::RelaxedR1CSSNARK<E, EE>

§

type ProverKey = ProverKey<E, EE>

§

type VerifierKey = VerifierKey<E, EE>

\ No newline at end of file +

Object Safety§

This trait is not object safe.

Implementors§

source§

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

§

type ProverKey = ProverKey<E, EE>

§

type VerifierKey = VerifierKey<E, EE>

source§

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

§

type ProverKey = ProverKey<E, EE>

§

type VerifierKey = VerifierKey<E, EE>

source§

impl<E: Engine, EE: EvaluationEngineTrait<E>> RelaxedR1CSSNARKTrait<E> for arecibo::spartan::ppsnark::RelaxedR1CSSNARK<E, EE>

§

type ProverKey = ProverKey<E, EE>

§

type VerifierKey = VerifierKey<E, EE>

source§

impl<E: Engine, EE: EvaluationEngineTrait<E>> RelaxedR1CSSNARKTrait<E> for arecibo::spartan::snark::RelaxedR1CSSNARK<E, EE>

§

type ProverKey = ProverKey<E, EE>

§

type VerifierKey = VerifierKey<E, EE>

\ No newline at end of file diff --git a/docs/arecibo/traits/trait.Group.html b/docs/arecibo/traits/trait.Group.html index 9e2c3aaf3..db15ac300 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 = 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 +

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 = Fq

§

type Scalar = Fr

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 = 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 7b703970f..5e40b0b6a 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 8195f98e2..4639fca9c 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 fd967f644..97fe50e57 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],[-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"]]}]\ +["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,[]],[34,29],[35,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,[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,[]],[[[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,[23,[[81,[-1]]]]],[[15,[13,29]]],4,[[91,[-1]]],[]],[[[94,[-1,-2]],-3,[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],[-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-Debug-for-NovaError"],[200,"impl-Display-for-NovaError"],[201,"impl-Debug-for-PCSError"],[202,"impl-Display-for-PCSError"],[204,"impl-From%3CPCSError%3E-for-NovaError"],[205,"impl-From%3CSynthesisError%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-BatchedRelaxedR1CSSNARKTrait%3CE%3E-for-BatchedRelaxedR1CSSNARK%3CE,+EE%3E"],[955,"impl-RelaxedR1CSSNARKTrait%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-BatchedRelaxedR1CSSNARKTrait%3CE%3E-for-BatchedRelaxedR1CSSNARK%3CE,+EE%3E"],[1020,"impl-RelaxedR1CSSNARKTrait%3CE%3E-for-BatchedRelaxedR1CSSNARK%3CE,+EE%3E"],[1363,"impl-Display-for-SuperNovaError"],[1364,"impl-Debug-for-SuperNovaError"]]}]\ ]')); if (typeof exports !== 'undefined') exports.searchIndex = searchIndex; else if (window.initSearch) window.initSearch(searchIndex); diff --git a/docs/src/arecibo/spartan/snark.rs.html b/docs/src/arecibo/spartan/snark.rs.html index d3548d6fa..86e05a0f1 100644 --- a/docs/src/arecibo/spartan/snark.rs.html +++ b/docs/src/arecibo/spartan/snark.rs.html @@ -564,7 +564,11 @@ r1cs::{R1CSShape, RelaxedR1CSInstance, RelaxedR1CSWitness, SparseMatrix}, spartan::{ compute_eval_table_sparse, - polys::{eq::EqPolynomial, multilinear::MultilinearPolynomial, multilinear::SparsePolynomial}, + polys::{ + eq::EqPolynomial, + multilinear::{MultilinearPolynomial, SparsePolynomial}, + power::PowPolynomial, + }, powers, sumcheck::SumcheckProof, PolyEvalInstance, PolyEvalWitness, @@ -695,9 +699,7 @@ ); // outer sum-check - let tau = (0..num_rounds_x) - .map(|_i| transcript.squeeze(b"t")) - .collect::<Result<EqPolynomial<_>, NovaError>>()?; + let tau: EqPolynomial<_> = PowPolynomial::new(&transcript.squeeze(b"t")?, num_rounds_x).into(); let mut poly_tau = MultilinearPolynomial::new(tau.evals()); let (mut poly_Az, mut poly_Bz, poly_Cz, mut poly_uCz_E) = { @@ -838,9 +840,7 @@ ); // outer sum-check - let tau = (0..num_rounds_x) - .map(|_i| transcript.squeeze(b"t")) - .collect::<Result<EqPolynomial<_>, NovaError>>()?; + let tau: EqPolynomial<_> = PowPolynomial::new(&transcript.squeeze(b"t")?, num_rounds_x).into(); let (claim_outer_final, r_x) = self diff --git a/docs/trait.impl/core/clone/trait.Clone.js b/docs/trait.impl/core/clone/trait.Clone.js index 6d8e01293..268aaecd2 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> 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,
"]] +"arecibo":[["impl<E: Clone + Engine> Clone for InnerProductArgument<E>
where\n E::Scalar: Clone,
"],["impl<E: Clone + Engine> Clone for UVKZGEvaluation<E>
where\n E::Fr: Clone,
"],["impl<E: Clone> Clone for EvaluationEngine<E>"],["impl Clone for Secq256k1Engine"],["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<F: Clone> Clone for TrivialSecondaryCircuit<F>"],["impl<E: Clone + Engine> Clone for ZMProof<E>
where\n E::G1Affine: Clone,
"],["impl<E: Clone + Engine> Clone for R1CSShape<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 Clone for Bn256EngineZM"],["impl<E: Clone + Engine> Clone for ZMEvaluation<E>
where\n E::Fr: Clone,
"],["impl Clone for Bn256EngineIPA"],["impl<E: Clone + Engine> Clone for R1CSWithArity<E>"],["impl<E: Clone + Engine> Clone for EvaluationArgument<E>
where\n E::G1Affine: Clone,\n E::Fr: Clone,
"],["impl<E: Clone, NE: Clone> Clone for ZMPCS<E, NE>"],["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<G: Clone + Group> Clone for AllocatedPoint<G>
where\n G::Base: Clone,
"],["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 RecursiveSNARK<E1>
where\n E1: CurveCycleEquipped + Clone,\n E1::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<E: Clone + Engine> Clone for R1CSResult<E>
where\n E::Scalar: Clone,
"],["impl<E: Clone + Engine> Clone for R1CSInstance<E>
where\n E::Scalar: Clone,
"],["impl<E: Clone + Engine> Clone for RelaxedR1CSInstance<E>
where\n E::Scalar: Clone,
"],["impl<E: Clone, NE: Clone> Clone for EvaluationEngine<E, NE>"],["impl<E: Clone + Engine> Clone for ZMCommitment<E>
where\n E::G1Affine: Clone,
"],["impl<Scalar: Clone> Clone for MultilinearPolynomial<Scalar>"],["impl<E: Clone + Engine> Clone for ZMVerifierKey<E>
where\n E::G2Affine: Clone,
"],["impl<E: Clone + Engine> Clone for ZMProverKey<E>"],["impl Clone for Secp256k1Engine"],["impl<E: Clone + Engine, EE: Clone + EvaluationEngineTrait<E>> Clone for RelaxedR1CSSNARK<E, EE>
where\n E::Scalar: Clone,\n EE::EvaluationArgument: Clone,
"],["impl Clone for VestaEngine"],["impl<F: Clone> Clone for TrivialCircuit<F>"],["impl Clone for GrumpkinEngine"],["impl<G: Clone + Group> Clone for AllocatedPointNonInfinity<G>
where\n G::Base: Clone,
"],["impl<E: Clone> Clone for UVKZGPCS<E>"],["impl<E: Clone, NE: Clone> Clone for EvaluationEngine<E, NE>"],["impl<E: Clone + Engine> Clone for UVKZGProof<E>
where\n E::G1Affine: Clone,
"],["impl<E1> Clone for RecursiveSNARK<E1>
where\n E1: CurveCycleEquipped + Clone,\n E1::Scalar: Clone,
"],["impl<E: Clone + Engine> Clone for ResourceBuffer<E>
where\n E::Scalar: Clone,
"],["impl<E: Clone + Engine> Clone for RelaxedR1CSWitness<E>
where\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 Clone for PallasEngine"],["impl<E: Clone + Engine> Clone for R1CSShapeSparkCommitment<E>"],["impl Clone for Bn256EngineKZG"],["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 for PublicParams<E>
where\n E: CurveCycleEquipped + Clone,\n E::Scalar: Clone,
"],["impl<E: Clone + Engine> Clone for R1CSWitness<E>
where\n E::Scalar: Clone,
"],["impl<E1> Clone for AuxParams<E1>
where\n E1: CurveCycleEquipped + Clone,\n E1::Scalar: Clone,
"],["impl<F: Clone> Clone for TrivialTestCircuit<F>"],["impl<E: Clone + Engine> Clone for R1CSShapeSparkRepr<E>
where\n E::Scalar: 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 cef87ac2d..a7742b6c0 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<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,
"]] +"arecibo":[["impl<E: Eq, NE: Eq> Eq for ZMPCS<E, NE>"],["impl<E: Eq + Engine> Eq for ZMEvaluation<E>
where\n E::Fr: Eq,
"],["impl<E: Eq + Engine> Eq for UVKZGEvaluation<E>
where\n E::Fr: Eq,
"],["impl<Scalar: Eq> Eq for MultilinearPolynomial<Scalar>"],["impl Eq for Secp256k1Engine"],["impl Eq for Bn256EngineKZG"],["impl Eq for Bn256EngineIPA"],["impl<E: Eq + Engine> Eq for ZMProverKey<E>"],["impl Eq for NovaError"],["impl<E: Eq + Engine> Eq for R1CSWithArity<E>"],["impl<E: Eq + Engine> Eq for ZMVerifierKey<E>
where\n E::G2Affine: Eq,
"],["impl<E: Eq + Engine> Eq for ZMProof<E>
where\n E::G1Affine: Eq,
"],["impl<E: Eq + Engine> Eq for RelaxedR1CSWitness<E>
where\n E::Scalar: Eq,
"],["impl Eq for VestaEngine"],["impl<E: Eq + Engine> Eq for R1CSInstance<E>
where\n E::Scalar: Eq,
"],["impl Eq for Secq256k1Engine"],["impl Eq for PallasEngine"],["impl<E: Eq + Engine> Eq for R1CSWitness<E>
where\n E::Scalar: Eq,
"],["impl<E: Eq> Eq for UVKZGPCS<E>"],["impl Eq for SuperNovaError"],["impl<E: Eq + Engine> Eq for R1CSResult<E>
where\n E::Scalar: Eq,
"],["impl<E: Eq + Engine> Eq for ZMCommitment<E>
where\n E::G1Affine: Eq,
"],["impl<E: Eq + Engine> Eq for R1CSShape<E>
where\n E::Scalar: Eq,
"],["impl<E: Eq + Engine> Eq for UVKZGProof<E>
where\n E::G1Affine: Eq,
"],["impl<F: Eq> Eq for TrivialCircuit<F>"],["impl Eq for GrumpkinEngine"],["impl Eq for Bn256EngineZM"],["impl<E: Eq + Engine> Eq for RelaxedR1CSInstance<E>
where\n E::Scalar: Eq,
"],["impl<E: Eq + Engine> Eq for CircuitDigests<E>
where\n E::Scalar: Eq,
"],["impl Eq 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/cmp/trait.PartialEq.js b/docs/trait.impl/core/cmp/trait.PartialEq.js index ea29f4113..72e2c5eed 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<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>"]] +"arecibo":[["impl<E: PartialEq + Engine> PartialEq for UVKZGEvaluation<E>
where\n E::Fr: PartialEq,
"],["impl<E: PartialEq + Engine> PartialEq for ZMCommitment<E>
where\n E::G1Affine: PartialEq,
"],["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 PartialEq for PCSError"],["impl PartialEq for Bn256EngineZM"],["impl<E: PartialEq, NE: PartialEq> PartialEq for ZMPCS<E, NE>"],["impl PartialEq for VestaEngine"],["impl<Scalar: PartialEq> PartialEq for MultilinearPolynomial<Scalar>"],["impl PartialEq for NovaError"],["impl<E: PartialEq + Engine> PartialEq for R1CSResult<E>
where\n E::Scalar: PartialEq,
"],["impl<E> PartialEq for PublicParams<E>
where\n E: CurveCycleEquipped + PartialEq,\n E::Scalar: PartialEq,
"],["impl<E: PartialEq + Engine> PartialEq for R1CSWithArity<E>"],["impl<E: PartialEq + Engine> PartialEq for R1CSWitness<E>
where\n E::Scalar: PartialEq,
"],["impl<E: PartialEq + Engine> PartialEq for ZMProverKey<E>"],["impl PartialEq for GrumpkinEngine"],["impl<E: PartialEq + Engine> PartialEq for CircuitDigests<E>
where\n E::Scalar: PartialEq,
"],["impl PartialEq for Secp256k1Engine"],["impl PartialEq for PallasEngine"],["impl<E: PartialEq + Engine> PartialEq for ZMVerifierKey<E>
where\n E::G2Affine: PartialEq,
"],["impl<E: PartialEq + Engine> PartialEq for RelaxedR1CSWitness<E>
where\n E::Scalar: PartialEq,
"],["impl<E: PartialEq + Engine> PartialEq for R1CSShape<E>
where\n E::Scalar: PartialEq,
"],["impl PartialEq for Bn256EngineIPA"],["impl<F: PartialEq> PartialEq for TrivialCircuit<F>"],["impl<E1> PartialEq for AuxParams<E1>
where\n E1: CurveCycleEquipped + PartialEq,\n E1::Scalar: PartialEq,
"],["impl PartialEq for SuperNovaError"],["impl<E: PartialEq + Engine> PartialEq for UVKZGProof<E>
where\n E::G1Affine: PartialEq,
"],["impl<E: PartialEq> PartialEq for UVKZGPCS<E>"],["impl PartialEq for Secq256k1Engine"],["impl<E: PartialEq + Engine> PartialEq for RelaxedR1CSInstance<E>
where\n E::Scalar: PartialEq,
"],["impl<E: PartialEq + Engine> PartialEq for ZMProof<E>
where\n E::G1Affine: PartialEq,
"]] };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 730e5aef8..5a40f3405 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<NovaError> for SuperNovaError"],["impl From<SynthesisError> for NovaError"],["impl From<PCSError> for NovaError"]] +"arecibo":[["impl From<SynthesisError> for NovaError"],["impl<E: Engine> From<UVKZGEvaluation<E>> for ZMEvaluation<E>"],["impl From<PCSError> for NovaError"],["impl From<NovaError> for SuperNovaError"]] };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 d4732c4d2..6df5eacea 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<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,
"]] +"arecibo":[["impl<E: Default + Engine> Default for ZMCommitment<E>
where\n E::G1Affine: Default,
"],["impl<E: Default, NE: Default> Default for ZMPCS<E, NE>"],["impl<F: Default> Default for TrivialSecondaryCircuit<F>"],["impl<E: Default + Engine> Default for UVKZGEvaluation<E>
where\n E::Fr: Default,
"],["impl<F: Default> Default for TrivialCircuit<F>"],["impl<E: Default + Engine> Default for UVKZGProof<E>
where\n E::G1Affine: Default,
"],["impl<E: Default> Default for UVKZGPCS<E>"],["impl<F: Default> Default for TrivialTestCircuit<F>"],["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,
"]] };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 2dd842c78..001bd7c7c 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 SuperNovaError"],["impl Error for NovaError"],["impl Error for PCSError"]] +"arecibo":[["impl Error for NovaError"],["impl Error for SuperNovaError"],["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 04cb5cf97..b18921b02 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<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"]] +"arecibo":[["impl<Scalar: Debug> Debug for MultilinearPolynomial<Scalar>"],["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 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<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<E: Debug, NE: Debug> Debug for ZMPCS<E, NE>"],["impl Debug for PallasEngine"],["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 EvaluationArgument<E>
where\n E::G1Affine: Debug,\n E::Fr: Debug,
"],["impl<E: Debug + Engine> Debug for InnerProductArgument<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<E1> Debug for PublicParams<E1>
where\n E1: CurveCycleEquipped + Debug,\n E1::Scalar: Debug,
"],["impl Debug for NovaError"],["impl<E> Debug for PublicParams<E>
where\n E: CurveCycleEquipped + Debug,\n E::Scalar: Debug,
"],["impl<E: Debug + Engine> Debug for UVKZGEvaluation<E>
where\n E::Fr: Debug,
"],["impl Debug for Bn256EngineIPA"],["impl Debug for Secp256k1Engine"],["impl<E: Debug + Engine> Debug for ZMProof<E>
where\n E::G1Affine: Debug,
"],["impl<E: Debug + Engine> Debug for RelaxedR1CSWitness<E>
where\n E::Scalar: 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 UVKZGProof<E>
where\n E::G1Affine: Debug,
"],["impl<E: Debug + Engine> Debug for EvaluationArgument<E>
where\n E::G1Affine: Debug,\n E::Fr: 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 VerifierKey<E>"],["impl Debug for GrumpkinEngine"],["impl Debug for Secq256k1Engine"],["impl<E: Debug + Engine> Debug for RelaxedR1CSInstance<E>
where\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<F: Debug> Debug for TrivialTestCircuit<F>"],["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<E1> Debug for AuxParams<E1>
where\n E1: CurveCycleEquipped + Debug,\n E1::Scalar: Debug,
"],["impl<E: Debug + Engine> Debug for ZMVerifierKey<E>
where\n E::G2Affine: Debug,
"],["impl<G: Debug + Group> Debug for AllocatedPointNonInfinity<G>
where\n G::Base: Debug,
"],["impl<E: Debug + Engine> Debug for R1CSShape<E>
where\n E::Scalar: Debug,
"],["impl<E: Debug + Engine> Debug for R1CSResult<E>
where\n E::Scalar: Debug,
"],["impl<F: Debug> Debug for TrivialCircuit<F>"],["impl<E: Debug + Engine> Debug for ZMProverKey<E>"],["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<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, NE: Debug> Debug for EvaluationEngine<E, NE>"],["impl Debug for Bn256EngineKZG"],["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 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 Debug for VestaEngine"],["impl<F: Debug> Debug for TrivialSecondaryCircuit<F>"],["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 R1CSShapeSparkCommitment<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> Debug for RecursiveSNARK<E1>
where\n E1: CurveCycleEquipped + Debug,\n E1::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 R1CSInstance<E>
where\n E::Scalar: Debug,
"],["impl<E: Debug + Engine> Debug for R1CSWithArity<E>"],["impl<E: Debug + Engine> Debug for ZMEvaluation<E>
where\n E::Fr: Debug,
"],["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 Bn256EngineZM"],["impl Debug for SuperNovaError"],["impl<G: Debug + Group> Debug for AllocatedPoint<G>
where\n G::Base: Debug,
"],["impl<E1> Debug for RecursiveSNARK<E1>
where\n E1: CurveCycleEquipped + Debug,\n E1::Scalar: Debug,
"],["impl<E: Debug> Debug for EvaluationEngine<E>"],["impl<E: Debug + Engine> Debug for CircuitDigests<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> Debug for UVKZGPCS<E>"],["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 ResourceBuffer<E>
where\n E::Scalar: Debug,
"]] };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 0715fd1c0..78bcc80b6 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 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"]] +"arecibo":[["impl Copy for PallasEngine"],["impl Copy for Bn256EngineZM"],["impl Copy for GrumpkinEngine"],["impl Copy for Secq256k1Engine"],["impl Copy for Secp256k1Engine"],["impl Copy for VestaEngine"],["impl Copy for Bn256EngineIPA"],["impl Copy 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/marker/trait.StructuralEq.js b/docs/trait.impl/core/marker/trait.StructuralEq.js index 6b96c5a51..7f720307d 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 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"]] +"arecibo":[["impl StructuralEq for PCSError"],["impl<E, NE> StructuralEq for ZMPCS<E, NE>"],["impl<E: Engine> StructuralEq for R1CSInstance<E>"],["impl<E: Engine> StructuralEq for ZMCommitment<E>"],["impl StructuralEq for Secp256k1Engine"],["impl<E: Engine> StructuralEq for R1CSResult<E>"],["impl StructuralEq for Bn256EngineZM"],["impl StructuralEq for GrumpkinEngine"],["impl StructuralEq for Bn256EngineIPA"],["impl<E> StructuralEq for UVKZGPCS<E>"],["impl<E: Engine> StructuralEq for ZMProof<E>"],["impl StructuralEq for NovaError"],["impl StructuralEq for Bn256EngineKZG"],["impl<Scalar> StructuralEq for MultilinearPolynomial<Scalar>"],["impl<E: Engine> StructuralEq for UVKZGProof<E>"],["impl StructuralEq for VestaEngine"],["impl<E: Engine> StructuralEq for UVKZGEvaluation<E>"],["impl<E: Engine> StructuralEq for ZMVerifierKey<E>"],["impl<F> StructuralEq for TrivialCircuit<F>"],["impl<E: Engine> StructuralEq for R1CSWitness<E>"],["impl<E: Engine> StructuralEq for ZMEvaluation<E>"],["impl<E: Engine> StructuralEq for CircuitDigests<E>"],["impl<E: Engine> StructuralEq for RelaxedR1CSWitness<E>"],["impl StructuralEq for Secq256k1Engine"],["impl<E: Engine> StructuralEq for R1CSWithArity<E>"],["impl<E: Engine> StructuralEq for ZMProverKey<E>"],["impl StructuralEq for SuperNovaError"],["impl StructuralEq for PallasEngine"],["impl<E: Engine> StructuralEq for R1CSShape<E>"],["impl<E: Engine> StructuralEq for RelaxedR1CSInstance<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/marker/trait.StructuralPartialEq.js b/docs/trait.impl/core/marker/trait.StructuralPartialEq.js index c98a02a8d..04c045172 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<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>"]] +"arecibo":[["impl<E> StructuralPartialEq for PublicParams<E>
where\n E: CurveCycleEquipped,
"],["impl<E: Engine> StructuralPartialEq for ZMEvaluation<E>"],["impl StructuralPartialEq for PCSError"],["impl StructuralPartialEq for Bn256EngineIPA"],["impl<E: Engine> StructuralPartialEq for ZMProof<E>"],["impl StructuralPartialEq for PallasEngine"],["impl<E1> StructuralPartialEq for AuxParams<E1>
where\n E1: CurveCycleEquipped,
"],["impl<E, NE> StructuralPartialEq for ZMPCS<E, NE>"],["impl<E: Engine> StructuralPartialEq for RelaxedR1CSWitness<E>"],["impl<F> StructuralPartialEq for TrivialCircuit<F>"],["impl<E: Engine> StructuralPartialEq for R1CSShape<E>"],["impl<E: Engine> StructuralPartialEq for UVKZGEvaluation<E>"],["impl StructuralPartialEq for SuperNovaError"],["impl StructuralPartialEq for Secq256k1Engine"],["impl<Scalar> StructuralPartialEq for MultilinearPolynomial<Scalar>"],["impl<E: Engine> StructuralPartialEq for ZMProverKey<E>"],["impl<E: Engine> StructuralPartialEq for R1CSWithArity<E>"],["impl<E: Engine> StructuralPartialEq for RelaxedR1CSInstance<E>"],["impl<E: Engine> StructuralPartialEq for R1CSWitness<E>"],["impl<E: Engine> StructuralPartialEq for CircuitDigests<E>"],["impl StructuralPartialEq for Bn256EngineZM"],["impl<E: Engine> StructuralPartialEq for UVKZGProof<E>"],["impl StructuralPartialEq for VestaEngine"],["impl StructuralPartialEq for Bn256EngineKZG"],["impl<E: Engine> StructuralPartialEq for ZMCommitment<E>"],["impl StructuralPartialEq for Secp256k1Engine"],["impl StructuralPartialEq for NovaError"],["impl<E: Engine> StructuralPartialEq for R1CSResult<E>"],["impl<E> StructuralPartialEq for UVKZGPCS<E>"],["impl<E: Engine> StructuralPartialEq for R1CSInstance<E>"],["impl<E: Engine> StructuralPartialEq for ZMVerifierKey<E>"],["impl StructuralPartialEq for GrumpkinEngine"]] };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/ops/index/trait.Index.js b/docs/trait.impl/core/ops/index/trait.Index.js index 428ef3f32..9a91f7d5d 100644 --- a/docs/trait.impl/core/ops/index/trait.Index.js +++ b/docs/trait.impl/core/ops/index/trait.Index.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"arecibo":[["impl<E1> Index<usize> for PublicParams<E1>
where\n E1: CurveCycleEquipped,
"],["impl<Scalar: PrimeField> Index<usize> for MultilinearPolynomial<Scalar>"]] +"arecibo":[["impl<Scalar: PrimeField> Index<usize> for MultilinearPolynomial<Scalar>"],["impl<E1> Index<usize> for PublicParams<E1>
where\n E1: CurveCycleEquipped,
"]] };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 6e6c13bc1..11f6066e0 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 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>"]] +"arecibo":[["impl<'de, E: Engine, EE: EvaluationEngineTrait<E>> Deserialize<'de> for RelaxedR1CSSNARK<E, EE>"],["impl<'de, E: Engine> Deserialize<'de> for R1CSShapeSparkCommitment<E>"],["impl<'de, E: Engine> Deserialize<'de> for InnerProductArgument<E>"],["impl<'de, E: Engine> Deserialize<'de> for R1CSShape<E>"],["impl<'de, E: Engine> Deserialize<'de> for R1CSInstance<E>"],["impl<'de, E: Engine, EE: EvaluationEngineTrait<E>> Deserialize<'de> for BatchedRelaxedR1CSSNARK<E, EE>"],["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 ResourceBuffer<E>"],["impl<'de, E, NE> Deserialize<'de> for EvaluationEngine<E, NE>"],["impl<'de, E: Engine> Deserialize<'de> for R1CSWithArity<E>"],["impl<'de, E1> Deserialize<'de> for RecursiveSNARK<E1>
where\n E1: CurveCycleEquipped,
"],["impl<'de, E: Engine> Deserialize<'de> for ZMProof<E>
where\n E::G1Affine: Deserialize<'de>,
"],["impl<'de, E: Engine> Deserialize<'de> for RelaxedR1CSInstance<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 EvaluationArgument<E>
where\n E::G1Affine: Deserialize<'de>,\n E::Fr: Deserialize<'de>,
"],["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: BatchedRelaxedR1CSSNARKTrait<E1>,\n S2: RelaxedR1CSSNARKTrait<Dual<E1>>,
"],["impl<'de, E: Engine, EE: EvaluationEngineTrait<E>> Deserialize<'de> for RelaxedR1CSSNARK<E, EE>"],["impl<'de, E: Engine> Deserialize<'de> for RelaxedR1CSWitness<E>"],["impl<'de, Scalar> Deserialize<'de> for MultilinearPolynomial<Scalar>
where\n Scalar: Deserialize<'de>,
"],["impl<'de, E1> Deserialize<'de> for RecursiveSNARK<E1>
where\n E1: CurveCycleEquipped,
"],["impl<'de, E: Engine> Deserialize<'de> for R1CSResult<E>"],["impl<'de, E> Deserialize<'de> for PublicParams<E>
where\n E: CurveCycleEquipped,
"],["impl<'de, E: Engine, EE: EvaluationEngineTrait<E>> Deserialize<'de> for BatchedRelaxedR1CSSNARK<E, EE>"]] };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 10aaaf596..9055f63fc 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<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,
"]] +"arecibo":[["impl<Scalar> Serialize for MultilinearPolynomial<Scalar>
where\n Scalar: Serialize,
"],["impl<E: Engine> Serialize for R1CSWithArity<E>"],["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 R1CSInstance<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 RelaxedR1CSWitness<E>"],["impl<E: Engine> Serialize for EvaluationArgument<E>
where\n E::G1Affine: Serialize,\n E::Fr: Serialize,
"],["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, EE: EvaluationEngineTrait<E>> Serialize for VerifierKey<E, EE>"],["impl<E: Engine, EE: EvaluationEngineTrait<E>> Serialize for VerifierKey<E, EE>
where\n EE::VerifierKey: Serialize,
"],["impl<E: Engine, EE: EvaluationEngineTrait<E>> Serialize for RelaxedR1CSSNARK<E, EE>"],["impl<E1> Serialize for RecursiveSNARK<E1>
where\n E1: CurveCycleEquipped,
"],["impl<E: Engine, EE: EvaluationEngineTrait<E>> Serialize for RelaxedR1CSSNARK<E, EE>"],["impl<E: Engine> Serialize for R1CSShape<E>"],["impl<E: Engine> Serialize for CircuitDigests<E>"],["impl<E1> Serialize for RecursiveSNARK<E1>
where\n E1: CurveCycleEquipped,
"],["impl<E: Engine, EE: EvaluationEngineTrait<E>> Serialize for VerifierKey<E, EE>"],["impl<E: Engine, EE: EvaluationEngineTrait<E>> Serialize for BatchedRelaxedR1CSSNARK<E, EE>"],["impl<E: Engine> Serialize for ResourceBuffer<E>"],["impl<E: Engine> Serialize for R1CSShapeSparkCommitment<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, EE: EvaluationEngineTrait<E>> Serialize for BatchedRelaxedR1CSSNARK<E, EE>"],["impl<E1> Serialize for AuxParams<E1>
where\n E1: CurveCycleEquipped,
"],["impl<E: Engine> Serialize for R1CSWitness<E>"],["impl<E: Engine> Serialize for ZMProof<E>
where\n E::G1Affine: Serialize,
"],["impl<E: Engine> Serialize for VerifierKey<E>"],["impl<E: Engine> Serialize for InnerProductArgument<E>"],["impl<E: Engine> Serialize for ZMVerifierKey<E>
where\n E::G1Affine: Serialize,\n E::G2Affine: Serialize,
"],["impl<E, NE> Serialize for EvaluationEngine<E, NE>"],["impl<E: Engine> Serialize for RelaxedR1CSInstance<E>"],["impl<E: Engine> Serialize for R1CSResult<E>"],["impl<E: Engine, EE: EvaluationEngineTrait<E>> Serialize for VerifierKey<E, EE>"],["impl<E1> Serialize for PublicParams<E1>
where\n E1: CurveCycleEquipped,
"],["impl<E: Engine> Serialize for R1CSShapeSparkRepr<E>"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file