diff --git a/docs/fastcrypto_vdf/class_group/struct.QuadraticForm.html b/docs/fastcrypto_vdf/class_group/struct.QuadraticForm.html index e79a37cb5..6b506d499 100644 --- a/docs/fastcrypto_vdf/class_group/struct.QuadraticForm.html +++ b/docs/fastcrypto_vdf/class_group/struct.QuadraticForm.html @@ -22,7 +22,7 @@
source

pub fn compose(&self, rhs: &QuadraticForm) -> QuadraticForm

Compute the composition of this quadratic form with another quadratic form.

Trait Implementations§

source§

impl Add<&QuadraticForm> for &QuadraticForm

source§

type Output = QuadraticForm

The resulting type after applying the + operator.
source§

fn add(self, rhs: &QuadraticForm) -> Self::Output

Performs the + operation. Read more
source§

impl Add<&QuadraticForm> for QuadraticForm

source§

type Output = QuadraticForm

The resulting type after applying the + operator.
source§

fn add(self, rhs: &QuadraticForm) -> Self::Output

Performs the + operation. Read more
source§

impl Add for QuadraticForm

source§

type Output = QuadraticForm

The resulting type after applying the + operator.
source§

fn add(self, rhs: QuadraticForm) -> Self::Output

Performs the + operation. Read more
source§

impl Clone for QuadraticForm

source§

fn clone(&self) -> QuadraticForm

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 Debug for QuadraticForm

source§

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

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

impl<'de> Deserialize<'de> for QuadraticForm

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 Doubling for QuadraticForm

source§

fn double(self) -> Self

Compute 2 * Self = Self + Self.
§

fn repeated_doubling(self, repetitions: u64) -> Self

Compute input * 2^repetitions by repeated doubling.
source§

impl Neg for QuadraticForm

source§

type Output = QuadraticForm

The resulting type after applying the - operator.
source§

fn neg(self) -> Self::Output

Performs the unary - operation. Read more
source§

impl ParameterizedGroupElement for QuadraticForm

source§

type ParameterType = Discriminant

The discriminant of a quadratic form defines the class group.

-
source§

fn zero(discriminant: &Self::ParameterType) -> Self

Return an instance of the identity element in this group.
source§

fn is_in_group(&self, discriminant: &Discriminant) -> bool

Returns true if this is an element of the group defined by parameter.
source§

impl PartialEq for QuadraticForm

source§

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

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

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

Tests for !=. The default implementation is almost always sufficient, +
source§

fn zero(discriminant: &Self::ParameterType) -> Self

Return an instance of the identity element in this group.
source§

fn is_in_group(&self, discriminant: &Discriminant) -> bool

Returns true if this is an element of the group defined by parameter.
source§

fn multiply(&self, scalar: &BigUint, parameter: &Self::ParameterType) -> Self

Compute self * scalar.
source§

impl PartialEq for QuadraticForm

source§

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

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

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

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

impl Serialize for QuadraticForm

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
source§

impl Eq for QuadraticForm

Auto Trait Implementations§

§

impl !Freeze for QuadraticForm

§

impl !RefUnwindSafe for QuadraticForm

§

impl Send for QuadraticForm

§

impl !Sync for QuadraticForm

§

impl Unpin for QuadraticForm

§

impl UnwindSafe for QuadraticForm

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/fastcrypto_vdf/math/parameterized_group/index.html b/docs/fastcrypto_vdf/math/parameterized_group/index.html index 1856a0882..6983aa278 100644 --- a/docs/fastcrypto_vdf/math/parameterized_group/index.html +++ b/docs/fastcrypto_vdf/math/parameterized_group/index.html @@ -1,2 +1,2 @@ -fastcrypto_vdf::math::parameterized_group - Rust

Module fastcrypto_vdf::math::parameterized_group

source ·

Traits§

Provided Methods§

source

fn multiply(&self, scalar: &BigUint, parameter: &Self::ParameterType) -> Self

Compute self * scalar.

+

Object Safety§

This trait is not object safe.

Implementors§

source§

impl ParameterizedGroupElement for QuadraticForm

source§

impl<'a> ParameterizedGroupElement for RSAGroupElement<'a>

\ No newline at end of file diff --git a/docs/fastcrypto_vdf/rsa_group/index.html b/docs/fastcrypto_vdf/rsa_group/index.html index 0e5b921a1..c028e1e2d 100644 --- a/docs/fastcrypto_vdf/rsa_group/index.html +++ b/docs/fastcrypto_vdf/rsa_group/index.html @@ -1,2 +1,2 @@ -fastcrypto_vdf::rsa_group - Rust

Module fastcrypto_vdf::rsa_group

source ·

Modules§

Structs§

  • This represents an element of the subgroup of an RSA group ZN* / <±1> +fastcrypto_vdf::rsa_group - Rust

    Module fastcrypto_vdf::rsa_group

    source ·

    Modules§

    Structs§

    • This represents an element of the subgroup of an RSA group ZN* / <±1> where N is the product of two large primes. See also RSAModulus.
    \ No newline at end of file diff --git a/docs/fastcrypto_vdf/rsa_group/modulus/index.html b/docs/fastcrypto_vdf/rsa_group/modulus/index.html index 1dc3a3543..550b775de 100644 --- a/docs/fastcrypto_vdf/rsa_group/modulus/index.html +++ b/docs/fastcrypto_vdf/rsa_group/modulus/index.html @@ -1 +1 @@ -fastcrypto_vdf::rsa_group::modulus - Rust

    Module fastcrypto_vdf::rsa_group::modulus

    source ·

    Structs§

    \ No newline at end of file +fastcrypto_vdf::rsa_group::modulus - Rust

    Module fastcrypto_vdf::rsa_group::modulus

    source ·

    Structs§

    \ No newline at end of file diff --git a/docs/fastcrypto_vdf/rsa_group/struct.RSAGroupElement.html b/docs/fastcrypto_vdf/rsa_group/struct.RSAGroupElement.html index 7d3a77f4e..a89e029dd 100644 --- a/docs/fastcrypto_vdf/rsa_group/struct.RSAGroupElement.html +++ b/docs/fastcrypto_vdf/rsa_group/struct.RSAGroupElement.html @@ -6,7 +6,7 @@
    source

    pub fn value(&self) -> &BigUint

    Return the canonical representation of this group element.

    source

    pub fn from_seed(seed: [u8; 32], modulus: &'a RSAModulus) -> Self

    Generate a random element of the subgroup ZN* / <±1> using the given seed.

    -

Trait Implementations§

source§

impl Add<&RSAGroupElement<'_>> for RSAGroupElement<'_>

source§

type Output = RSAGroupElement<'_>

The resulting type after applying the + operator.
source§

fn add(self, rhs: &Self) -> Self::Output

Performs the + operation. Read more
source§

impl<'a> Clone for RSAGroupElement<'a>

source§

fn clone(&self) -> RSAGroupElement<'a>

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<'a> Debug for RSAGroupElement<'a>

source§

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

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

impl Doubling for RSAGroupElement<'_>

source§

fn double(self) -> Self

Compute 2 * Self = Self + Self.
§

fn repeated_doubling(self, repetitions: u64) -> Self

Compute input * 2^repetitions by repeated doubling.
source§

impl<'a> ParameterizedGroupElement for RSAGroupElement<'a>

source§

type ParameterType = &'a RSAModulus

The type of the parameter which uniquely defines this group.
source§

fn zero(parameter: &Self::ParameterType) -> Self

Return an instance of the identity element in this group.
source§

fn is_in_group(&self, parameter: &Self::ParameterType) -> bool

Returns true if this is an element of the group defined by parameter.
source§

impl<'a> PartialEq for RSAGroupElement<'a>

source§

fn eq(&self, other: &RSAGroupElement<'a>) -> bool

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

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

Tests for !=. The default implementation is almost always sufficient, +

Trait Implementations§

source§

impl Add<&RSAGroupElement<'_>> for RSAGroupElement<'_>

source§

type Output = RSAGroupElement<'_>

The resulting type after applying the + operator.
source§

fn add(self, rhs: &Self) -> Self::Output

Performs the + operation. Read more
source§

impl<'a> Clone for RSAGroupElement<'a>

source§

fn clone(&self) -> RSAGroupElement<'a>

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<'a> Debug for RSAGroupElement<'a>

source§

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

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

impl Doubling for RSAGroupElement<'_>

source§

fn double(self) -> Self

Compute 2 * Self = Self + Self.
§

fn repeated_doubling(self, repetitions: u64) -> Self

Compute input * 2^repetitions by repeated doubling.
source§

impl<'a> ParameterizedGroupElement for RSAGroupElement<'a>

source§

type ParameterType = &'a RSAModulus

The type of the parameter which uniquely defines this group.
source§

fn zero(modulus: &Self::ParameterType) -> Self

Return an instance of the identity element in this group.
source§

fn is_in_group(&self, modulus: &Self::ParameterType) -> bool

Returns true if this is an element of the group defined by parameter.
source§

fn multiply(&self, scalar: &BigUint, modulus: &Self::ParameterType) -> Self

Compute self * scalar.
source§

impl<'a> PartialEq for RSAGroupElement<'a>

source§

fn eq(&self, other: &RSAGroupElement<'a>) -> bool

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

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

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

impl<'a> Serialize for RSAGroupElement<'a>

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
source§

impl<'a> Eq for RSAGroupElement<'a>

source§

impl<'a> StructuralPartialEq for RSAGroupElement<'a>

Auto Trait Implementations§

§

impl<'a> Freeze for RSAGroupElement<'a>

§

impl<'a> RefUnwindSafe for RSAGroupElement<'a>

§

impl<'a> Send for RSAGroupElement<'a>

§

impl<'a> Sync for RSAGroupElement<'a>

§

impl<'a> Unpin for RSAGroupElement<'a>

§

impl<'a> UnwindSafe for RSAGroupElement<'a>

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/fastcrypto_vdf/vdf/pietrzak/index.html b/docs/fastcrypto_vdf/vdf/pietrzak/index.html index 376736bb3..c00de2f95 100644 --- a/docs/fastcrypto_vdf/vdf/pietrzak/index.html +++ b/docs/fastcrypto_vdf/vdf/pietrzak/index.html @@ -1 +1 @@ -fastcrypto_vdf::vdf::pietrzak - Rust

Module fastcrypto_vdf::vdf::pietrzak

source ·

Structs§

  • This implements Pietrzak’s VDF construction from https://eprint.iacr.org/2018/627.pdf.

Constants§

\ No newline at end of file +fastcrypto_vdf::vdf::pietrzak - Rust

Module fastcrypto_vdf::vdf::pietrzak

source ·

Structs§

  • This implements Pietrzak’s VDF construction from https://eprint.iacr.org/2018/627.pdf.

Constants§

\ No newline at end of file diff --git a/docs/fastcrypto_vdf/vdf/pietrzak/struct.PietrzaksVDF.html b/docs/fastcrypto_vdf/vdf/pietrzak/struct.PietrzaksVDF.html index 4b5267d77..614f720ad 100644 --- a/docs/fastcrypto_vdf/vdf/pietrzak/struct.PietrzaksVDF.html +++ b/docs/fastcrypto_vdf/vdf/pietrzak/struct.PietrzaksVDF.html @@ -4,10 +4,10 @@ verification is slower than in Wesolowski’s construction, but the output of a VDF is unique, assuming that the used group have no small subgroups, and proving is faster for the same number of iterations.

-

Implementations§

source§

impl<G: ParameterizedGroupElement> PietrzaksVDF<G>

source

pub fn new(group_parameter: G::ParameterType, iterations: u64) -> Self

Create a new VDF using the group defined by the given group parameter. Evaluating this VDF +

Implementations§

source§

impl<G: ParameterizedGroupElement> PietrzaksVDF<G>

source

pub fn new(group_parameter: G::ParameterType, iterations: u64) -> Self

Create a new VDF using the group defined by the given group parameter. Evaluating this VDF will require computing 2^iterations * input which requires iterations group operations.

-

Trait Implementations§

source§

impl<G: ParameterizedGroupElement + Serialize> VDF for PietrzaksVDF<G>

source§

type InputType = G

The type of the input to the VDF.
source§

type OutputType = G

The type of the output from the VDF.
source§

type ProofType = Vec<G>

The type of the proof of correctness for this VDF.
source§

fn evaluate(&self, input: &G) -> FastCryptoResult<(G, Vec<G>)>

Evaluate this VDF and return the output and a proof of correctness.
source§

fn verify(&self, input: &G, output: &G, proof: &Vec<G>) -> FastCryptoResult<()>

Verify the output and proof from a VDF.

Auto Trait Implementations§

§

impl<G> Freeze for PietrzaksVDF<G>
where +

Trait Implementations§

source§

impl<G: ParameterizedGroupElement + Serialize> VDF for PietrzaksVDF<G>

source§

type InputType = G

The type of the input to the VDF.
source§

type OutputType = G

The type of the output from the VDF.
source§

type ProofType = Vec<G>

The type of the proof of correctness for this VDF.
source§

fn evaluate(&self, input: &G) -> FastCryptoResult<(G, Vec<G>)>

Evaluate this VDF and return the output and a proof of correctness.
source§

fn verify(&self, input: &G, output: &G, proof: &Vec<G>) -> FastCryptoResult<()>

Verify the output and proof from a VDF.

Auto Trait Implementations§

§

impl<G> Freeze for PietrzaksVDF<G>

§

impl<G> RefUnwindSafe for PietrzaksVDF<G>

§

impl<G> Send for PietrzaksVDF<G>

§

impl<G> Sync for PietrzaksVDF<G>
where diff --git a/docs/fastcrypto_vdf/vdf/trait.VDF.html b/docs/fastcrypto_vdf/vdf/trait.VDF.html index 1b4d5d448..87d8f287f 100644 --- a/docs/fastcrypto_vdf/vdf/trait.VDF.html +++ b/docs/fastcrypto_vdf/vdf/trait.VDF.html @@ -28,5 +28,5 @@ output: &Self::OutputType, proof: &Self::ProofType, ) -> FastCryptoResult<()>

Verify the output and proof from a VDF.

-

Implementors§

\ No newline at end of file +

Implementors§

source§

impl<G: ParameterizedGroupElement + Serialize> VDF for PietrzaksVDF<G>

source§

impl<G: ParameterizedGroupElement, M: ScalarMultiplier<G, BigUint>> VDF for WesolowskisVDF<G, M>

\ No newline at end of file diff --git a/docs/search-index.js b/docs/search-index.js index 44f74bced..10b44294f 100644 --- a/docs/search-index.js +++ b/docs/search-index.js @@ -1,4 +1,4 @@ -var searchIndex = new Map(JSON.parse('[["ecvrf_cli",{"t":"GPPFPFNNNNNNNNNNNNNNNNNNNNNNNNNNHNNNNNNNNNNNNOONNNHOOOONNNNNNNNNNNNNNNNNNNN","n":["Command","Keygen","Prove","ProveArguments","Verify","VerifyArguments","__clone_box","","augment_args","","augment_args_for_update","","augment_subcommands","augment_subcommands_for_update","borrow","","","borrow_mut","","","clone","","clone_into","","clone_to_uninit","","command","","","command_for_update","","","execute","from","","","from_arg_matches","","","from_arg_matches_mut","","","group_id","","has_subcommand","input","","into","","","main","output","proof","public_key","secret_key","to_owned","","try_from","","","try_into","","","type_id","","","update_from_arg_matches","","","update_from_arg_matches_mut","","","vzip","",""],"q":[[0,"ecvrf_cli"],[75,"dyn_clone::sealed"],[76,"clap::builder::command"],[77,"alloc::string"],[78,"std::io::error"],[79,"core::result"],[80,"clap::parser::matches::arg_matches"],[81,"clap"],[82,"clap::util::id"],[83,"core::option"],[84,"core::any"]],"i":"`A`0`0`ln101022210210101010210210`21021021010210210`000110210210210210210210","f":"``````{{bd}f}0{hh}00000{b{{b{c}}}{}}00{{{b{j}}}{{b{jc}}}{}}00{{{b{l}}}l}{{{b{n}}}n}{{b{b{jc}}}f{}}0{bf}0{{}h}00000{A`{{Af{AbAd}}}}{cc{}}00{{{b{Ah}}}{{Af{A`Aj}}}}{{{b{Ah}}}{{Af{lAj}}}}{{{b{Ah}}}{{Af{nAj}}}}{{{b{jAh}}}{{Af{A`Aj}}}}{{{b{jAh}}}{{Af{lAj}}}}{{{b{jAh}}}{{Af{nAj}}}}{{}{{An{Al}}}}0{{{b{B`}}}Bb}``{{}c{}}00{{}f}````{bc{}}0{c{{Af{e}}}{}{}}00{{}{{Af{c}}}{}}00{bBd}00{{{b{jA`}}{b{Ah}}}{{Af{fAj}}}}{{{b{jl}}{b{Ah}}}{{Af{fAj}}}}{{{b{jn}}{b{Ah}}}{{Af{fAj}}}}{{{b{jA`}}{b{jAh}}}{{Af{fAj}}}}{{{b{jl}}{b{jAh}}}{{Af{fAj}}}}{{{b{jn}}{b{jAh}}}{{Af{fAj}}}};;;","D":"An","p":[[1,"reference"],[5,"Private",75],[1,"unit"],[5,"Command",76],[0,"mut"],[5,"ProveArguments",0],[5,"VerifyArguments",0],[6,"Command",0],[5,"String",77],[5,"Error",78],[6,"Result",79],[5,"ArgMatches",80],[8,"Error",81],[5,"Id",82],[6,"Option",83],[1,"str"],[1,"bool"],[5,"TypeId",84]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAADwABgAAAAEABAAAAAYAGwAlAAgAMwAAADgAEwA="}],["encode_cli",{"t":"FPGPNNNNNNNNNNNNNNNNHNNNNNNNNNNHNNNNNNNNNNNONN","n":["Arg","Base64ToHex","Command","HexToBase64","__clone_box","augment_args","augment_args_for_update","augment_subcommands","augment_subcommands_for_update","borrow","","borrow_mut","","clone","clone_into","clone_to_uninit","command","","command_for_update","","execute","from","","from_arg_matches","","from_arg_matches_mut","","group_id","has_subcommand","into","","main","to_owned","try_from","","try_into","","type_id","","update_from_arg_matches","","update_from_arg_matches_mut","","value","vzip",""],"q":[[0,"encode_cli"],[46,"dyn_clone::sealed"],[47,"clap::builder::command"],[48,"std::io::error"],[49,"core::result"],[50,"clap::parser::matches::arg_matches"],[51,"clap"],[52,"clap::util::id"],[53,"core::option"],[54,"core::any"]],"i":"`n`0l001110100001010`1010100110`01010101010010","f":"````{{bd}f}{hh}000{b{{b{c}}}{}}0{{{b{j}}}{{b{jc}}}{}}0{{{b{l}}}l}{{b{b{jc}}}f{}}{bf}{{}h}000{n{{Ab{fA`}}}}{cc{}}0{{{b{Ad}}}{{Ab{nAf}}}}{{{b{Ad}}}{{Ab{lAf}}}}{{{b{jAd}}}{{Ab{nAf}}}}{{{b{jAd}}}{{Ab{lAf}}}}{{}{{Aj{Ah}}}}{{{b{Al}}}An}{{}c{}}0{{}f}{bc{}}{c{{Ab{e}}}{}{}}0{{}{{Ab{c}}}{}}0{bB`}0{{{b{jn}}{b{Ad}}}{{Ab{fAf}}}}{{{b{jl}}{b{Ad}}}{{Ab{fAf}}}}{{{b{jn}}{b{jAd}}}{{Ab{fAf}}}}{{{b{jl}}{b{jAd}}}{{Ab{fAf}}}}`99","D":"l","p":[[1,"reference"],[5,"Private",46],[1,"unit"],[5,"Command",47],[0,"mut"],[5,"Arg",0],[6,"Command",0],[5,"Error",48],[6,"Result",49],[5,"ArgMatches",50],[8,"Error",51],[5,"Id",52],[6,"Option",53],[1,"str"],[1,"bool"],[5,"TypeId",54]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAACgABQAAAAEAAwAAAAUAEAAYAAUAIAAOAA=="}],["fastcrypto",{"t":"CCCCCQCCCQCCCCCCQQCCCCIIIIIIIIIIIFFFIKKKFRRIKNNNNNNNNNNNNNNNNNNMNNNMNNNNNNMNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNSSSSCCFIFFFIFSNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFIFFFIFSNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNSSSSFFFFIFIFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFFKFNNNNNNNNNNNNNNNNNNNNMNNNNHNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNPGIPPPPPPPPPPPPNNNNNNNNNNNNNNNNNNNNKKKKKKRRKKRCMMMMMMNMCMMNCCMSFIFSFISFSSFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNKKMMMMCFNNNNNHNNNNNNFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFSFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNIFFKKFIKTKIIIIRRNNNNNNNNNNNNNNNNNNNNNNNMMNNONNNNNNNNNMNNNNNNNNNMNMNNNNNNNMNMNNNNNNNNNNNNNNNNNNMNMNNNNNNNNIIHHFNNNNNNNNNNNNNNNNONHNNNNNONNFNNNNNNNNNNNNNNNNNNNNNNNNNNFKFFNNNNNNNNNNNNNNNNNNMNMNMNMNMNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNIJSSSSFFFIFINNNNNNNNNNNNNNNNNNNNNNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONOCONNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNJSFFNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNISSSSSSFFFIFINNNNNNNNNNNNNNNNNNNNNNOOONNNNNNNNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONOCONNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNSFNNNNNNONNNNNNNNNNNNNNNNNNNONONNNNNNNNNTFFKNNNNNNNNNNNHNNNNNNNNNNNNNNNNNNNMNNNNNHNNNNHMNNNNNNNNNNFNNNNNNNNNNNNNNNKKKRKKKKKTTTRRRRRRRRRRKKRRRRRRKRKKKKMMMNMMMMMMMNMMMNMMNMMMMNNHRRRRRRKKKKCMNMMMNFFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNONNNNNNNNNNNNNNNNNN","n":["aes","bls12381","ed25519","encoding","error","generate_bytes_representation","groups","hash","hmac","impl_base64_display_fmt","jwt_utils","private_seed","rsa","secp256k1","secp256r1","serde_helpers","serialize_deserialize_with_to_from_byte_array","serialize_deserialize_with_to_from_bytes","signature_service","traits","utils","vrf","Aes128CbcAnsiX923","Aes128CbcIso10126","Aes128CbcPkcs7","Aes128Ctr","Aes128Gcm","Aes192Ctr","Aes256CbcAnsiX923","Aes256CbcIso10126","Aes256CbcPkcs7","Aes256Ctr","Aes256Gcm","AesCbc","AesCtr","AesGcm","AesKey","AuthenticatedCipher","Cipher","EncryptionKey","GenericByteArray","IVType","","InitializationVector","Nonce","__clone_box","as_bits","as_bytes","as_ref","base32_len","borrow","","","","borrow_mut","","","","check_base32","clone","clone_into","clone_to_uninit","decode_base64","decrypt","","","","decrypt_authenticated","","deserialize","drop","encode_base64","encode_hex","encode_hex_upper","encrypt","","","","encrypt_authenticated","","fmt","","from","","","","from_bytes","generate","into","","","","new","","","serialize","to_owned","to_string","try_as_bits","try_from","","","","try_into","","","","type_id","","","","vzip","","","","write_base32","zeroize","BLS_G1_LENGTH","BLS_G2_LENGTH","BLS_KEYPAIR_LENGTH","BLS_PRIVATE_KEY_LENGTH","min_pk","min_sig","BLS12381AggregateSignature","BLS12381AggregateSignatureAsBytes","BLS12381KeyPair","BLS12381PrivateKey","BLS12381PublicKey","BLS12381PublicKeyAsBytes","BLS12381Signature","DST_G2","__clone_box","","","add_aggregate","add_signature","aggregate","as_bits","","","","","as_ref","","","","","base32_len","","","","","batch_verify","borrow","","","","","borrow_mut","","","","","bytes","","","","check_base32","","","","","clone","","","clone_into","","","clone_to_uninit","","","cmp","copy","decode_base64","","","","","default","","deserialize","","","","","encode_base64","","","","","encode_hex","","","","","encode_hex_upper","","","","","eq","","","","","equivalent","","","","","","","","","","fmt","","","","","","","","","from","","","","","","","","from_bytes","","","","","from_str","generate","hash","","insecure_default","into","","","","","partial_cmp","private","privkey","pubkey","public","serialize","","","","","sig","","sign","","to_owned","","","to_string","","","","try_as_bits","","","","","try_from","","","","","","","try_into","","","","","type_id","","","","","validate","verify","","verify_different_msg","vzip","","","","","write_base32","","","","","BLS12381AggregateSignature","BLS12381AggregateSignatureAsBytes","BLS12381KeyPair","BLS12381PrivateKey","BLS12381PublicKey","BLS12381PublicKeyAsBytes","BLS12381Signature","DST_G1","__clone_box","","","add_aggregate","add_signature","aggregate","as_bits","","","","","as_ref","","","","","base32_len","","","","","batch_verify","borrow","","","","","borrow_mut","","","","","bytes","","","","check_base32","","","","","clone","","","clone_into","","","clone_to_uninit","","","cmp","copy","decode_base64","","","","","default","","","deserialize","","","","","encode_base64","","","","","encode_hex","","","","","encode_hex_upper","","","","","eq","","","","","equivalent","","","","","","","","","","fmt","","","","","","","","","from","","","","","","","","from_bytes","","","","","from_str","generate","hash","","insecure_default","into","","","","","partial_cmp","private","privkey","pubkey","public","serialize","","","","","sig","","sign","","to_owned","","","to_string","","","","try_as_bits","","","","","try_from","","","","","","","try_into","","","","","type_id","","","","","validate","verify","","verify_different_msg","vzip","","","","","write_base32","","","","","ED25519_KEYPAIR_LENGTH","ED25519_PRIVATE_KEY_LENGTH","ED25519_PUBLIC_KEY_LENGTH","ED25519_SIGNATURE_LENGTH","Ed25519AggregateSignature","Ed25519KeyPair","Ed25519PrivateKey","Ed25519PublicKey","Ed25519PublicKeyAsBytes","Ed25519Signature","Ed25519SignatureAsBytes","SingleSignature","__clone_box","","","as_bits","","","","","as_ref","","","","","base32_len","","","","","borrow","","","","","","borrow_mut","","","","","","bytes","","check_base32","","","","","clone","","","clone_into","","","clone_to_uninit","","","cmp","copy","decode_base64","","","","","default","","deserialize","","","","","deserialize_as","drop","encode_base64","","","","","encode_hex","","","","","encode_hex_upper","","","","","eq","","","","","equivalent","","","","","","","","","","fmt","","","","","","","","","from","","","","","","","","","from_bytes","","","","","from_str","generate","hash","insecure_default","into","","","","","","partial_cmp","private","public","serialize","","","","","serialize_as","sig","sign","sigs","to_owned","","","to_string","","","","try_as_bits","","","","","try_from","","","","","","","","try_into","","","","","","type_id","","","","","","verify","vzip","","","","","","write_base32","","","","","Base58","Base64","Bech32","Encoding","Hex","__clone_box","","","borrow","","","","borrow_mut","","","","clone","","","clone_into","","","clone_to_uninit","","","decode","","","","","decode_bytes_hex","deserialize","","","deserialize_as","","","","","","encode","","","","","encode_with_format","encoded","encoded_with_format","eq","","","equivalent","","","","fmt","","","from","","","","from_bytes","","into","","","","json_schema","","","schema_name","","","serialize","","","serialize_as","","","to_owned","","","to_vec","","try_from","","","","","","","try_into","","","","type_id","","","","vzip","","","","Err","FastCryptoError","FastCryptoResult","GeneralError","GeneralOpaqueError","IgnoredMessage","InputLengthWrong","InputTooLong","InputTooShort","InvalidInput","InvalidMessage","InvalidProof","InvalidSignature","NotEnoughInputs","Ok","__clone_box","borrow","borrow_mut","clone","clone_into","clone_to_uninit","eq","equivalent","","fmt","","from","","into","to_owned","to_string","try_from","try_into","type_id","vzip","Doubling","FiatShamirChallenge","FromTrustedByteArray","GroupElement","HashToGroupElement","MultiScalarMul","Other","Output","Pairing","Scalar","ScalarType","bls12381","double","fiat_shamir_reduction_to_group_element","from_trusted_byte_array","generator","hash_to_group_element","inverse","multi_pairing","multi_scalar_mul","multiplier","pairing","rand","repeated_doubling","ristretto255","secp256r1","zero","FP_BYTE_LENGTH","G1Element","G1ElementAsBytes","G1ElementUncompressed","G1_ELEMENT_BYTE_LENGTH","G2Element","G2ElementAsBytes","G2_ELEMENT_BYTE_LENGTH","GTElement","GT_ELEMENT_BYTE_LENGTH","SCALAR_LENGTH","Scalar","__clone_box","","","","","add","","","","","","","","","","","","","","","","add_assign","","","","","","","","borrow","","","","","borrow_mut","","","","","buffer_to_scalar_mod_r","clone","","","","","clone_into","","","","","clone_to_uninit","","","","","deserialize","","","","div","","","","eq","","","","equivalent","","","","","","","","fiat_shamir_reduction_to_group_element","fmt","","","","","from","","","","","","","from_byte_array","","","","from_trusted_byte_array","","","","","generator","","","","hash_to_group_element","","into","","","","","into_byte_array","inverse","mul","","","","","","","","","","","","","","","","mul_assign","","","","","","","","multi_pairing","multi_scalar_mul","","neg","","","","","","","","pairing","rand","serialize","","","","sub","","","","","","","","","","","","","","","","sub_assign","","","","","","","","sum","to_byte_array","","","","to_owned","","","","","try_from","","","","","","","","try_into","","","","","type_id","","","","","vzip","","","","","zero","","","","zeroize","ScalarMultiplier","ToLittleEndianBytes","mul","new","to_le_bytes","two_scalar_mul","windowed","WindowedScalarMultiplier","borrow","borrow_mut","from","into","mul","multi_scalar_mul","new","try_from","try_into","two_scalar_mul","type_id","vzip","RistrettoPoint","RistrettoScalar","__clone_box","","add","","","","","","","","add_assign","","","","borrow","","borrow_mut","","clone","","clone_into","","clone_to_uninit","","compress","decompress","default","deserialize","","div","","","double","eq","","equivalent","","","","fiat_shamir_reduction_to_group_element","fmt","","from","","","","","from_byte_array","","from_bytes_mod_order","from_bytes_mod_order_wide","from_uniform_bytes","generator","","group_order","hash_to_group_element","","into","","inverse","map_to_point","mul","","","","","","","","mul_assign","","","","multi_scalar_mul","neg","","","","rand","serialize","","sub","","","","","","","","sub_assign","","","","to_byte_array","","to_owned","","try_from","","","try_into","","type_id","","vzip","","zero","","zeroize","ProjectivePoint","SCALAR_SIZE_IN_BYTES","Scalar","__clone_box","","add","","","","","","","","add_assign","","","","borrow","","borrow_mut","","clone","","clone_into","","clone_to_uninit","","default","","deserialize","div","","double","eq","","equivalent","","","","fmt","","from","","","","","from_byte_array","generator","","into","","inverse","mul","","","","","","","","mul_assign","","","","neg","","","","rand","serialize","sub","","","","","","","","sub_assign","","","","to_byte_array","to_le_bytes","to_owned","","try_from","","try_into","","type_id","","vzip","","zero","","Blake2b256","Digest","EllipticCurveMultisetHash","Hash","HashFunction","HashFunctionWrapper","Keccak256","MultisetHash","OUTPUT_SIZE","ReverseWrapper","Sha256","Sha3_256","Sha3_512","Sha512","TypedDigest","Variant","__clone_box","","as_bits","as_ref","base32_len","borrow","","","borrow_mut","","","check_base32","clone","","clone_into","","clone_to_uninit","","cmp","default","","deserialize","","digest","","","","","digest_iterator","encode_hex","encode_hex_upper","eq","","equivalent","","","","finalize","","flush","fmt","","","from","","","hash","insert","","insert_all","","into","","","new","","partial_cmp","remove","","remove_all","","serialize","","size","to_owned","","to_string","to_vec","try_as_bits","try_from","","","try_into","","","type_id","","","union","","update","","vzip","","","write","","","write_base32","HkdfIkm","HmacKey","hkdf_sha3_256","hmac_sha3_256","JWTHeader","__clone_box","borrow","borrow_mut","clone","clone_into","clone_to_uninit","default","deserialize","eq","equivalent","","fmt","from","hash","into","json_schema","kid","new","parse_and_validate_jwt","schema_name","serialize","to_owned","try_from","try_into","typ","type_id","vzip","PrivateSeed","as_bits","as_bytes","as_ref","base32_len","borrow","borrow_mut","check_base32","decode_base64","drop","encode_base64","encode_hex","encode_hex_upper","eq","equivalent","","fmt","from","from_bytes","into","try_as_bits","try_from","try_into","type_id","vzip","write_base32","zeroize","Base64UrlUnpadded","Encoding","RSAPublicKey","RSASignature","__clone_box","","","borrow","","","borrow_mut","","","clone","","","clone_into","","","clone_to_uninit","","","decode","","decode_in_place","","decode_vec","","encode","","encode_string","","encoded_len","","eq","","equivalent","","","","fmt","from","","","from_bytes","from_der","from_raw_components","into","","","to_owned","","","try_from","","","try_into","","","type_id","","","verify","verify_prehash","vzip","","","DefaultHash","SECP256K1","SECP256K1_KEYPAIR_LENGTH","SECP256K1_PRIVATE_KEY_LENGTH","SECP256K1_PUBLIC_KEY_LENGTH","SECP256K1_SIGNATURE_LENGTH","Secp256k1KeyPair","Secp256k1PrivateKey","Secp256k1PublicKey","Secp256k1PublicKeyAsBytes","Secp256k1Signature","Secp256k1SignatureAsBytes","__clone_box","","as_bits","","","","as_ref","","","","base32_len","","","","borrow","","","","borrow_mut","","","","bytes","","","check_base32","","","","clone","","clone_into","","clone_to_uninit","","cmp","copy","decode_base64","","","","deserialize","","","","drop","encode_base64","","","","encode_hex","","","","encode_hex_upper","","","","eq","","","","equivalent","","","","","","","","fmt","","","","","","","from","","","","","","","from_bytes","","","","from_str","generate","hash","","into","","","","partial_cmp","private","privkey","pubkey","public","","recoverable","secret","serialize","","","","sig","sign","sign_recoverable_with_hash","sign_with_hash","to_owned","","to_string","","","try_as_bits","","","","try_from","","","","","","try_into","","","","type_id","","","","verify","verify_with_hash","vzip","","","","write_base32","","","","SECP256K1","SECP256K1_RECOVERABLE_SIGNATURE_SIZE","Secp256k1RecoverableSignature","Secp256k1Sig","__clone_box","","as_bits","as_c_ptr","as_mut_c_ptr","as_mut_ptr","as_ptr","as_ref","base32_len","borrow","","borrow_mut","","bytes","check_base32","clone","","clone_into","","clone_to_uninit","","cmp","cmp_fast_unstable","decode_base64","deserialize","encode_base64","encode_hex","encode_hex_upper","eq","","eq_fast_unstable","equivalent","","","","fmt","","","","from","","","from_bytes","from_compact","from_der","from_der_lax","from_str","hash","","into","","normalize_s","partial_cmp","recover_with_hash","serialize","serialize_compact","serialize_der","sig","to_owned","","to_string","","try_as_bits","try_from","","try_from_nonrecoverable","try_into","","type_id","","verify","vzip","","write_base32","DefaultHash","PRECOMPUTED_POINTS","SECP256R1_KEYPAIR_LENGTH","SECP256R1_PRIVATE_KEY_LENGTH","SECP256R1_PUBLIC_KEY_LENGTH","SECP256R1_SIGNATURE_LENTH","SLIDING_WINDOW_WIDTH","Secp256r1KeyPair","Secp256r1PrivateKey","Secp256r1PublicKey","Secp256r1PublicKeyAsBytes","Secp256r1Signature","Secp256r1SignatureAsBytes","__clone_box","","as_bits","","","","as_ref","","","","base32_len","","","","borrow","","","","borrow_mut","","","","bytes","","","check_base32","","","","clone","","clone_into","","clone_to_uninit","","cmp","conversion","copy","decode_base64","","","","deserialize","","","","encode_base64","","","","encode_hex","","","","encode_hex_upper","","","","eq","","","","equivalent","","","","","","","","fmt","","","","","","","from","","","","","","","from_bytes","","","","from_str","generate","hash","","into","","","","partial_cmp","private","privkey","pubkey","public","","recoverable","secret","serialize","","","","sig","sign","sign_recoverable_with_hash","sign_with_hash","to_owned","","to_string","","","try_as_bits","","","","try_from","","","","","","try_into","","","","type_id","","","","verify","verify_with_hash","vzip","","","","write_base32","","","","SECP256R1_RECOVERABLE_SIGNATURE_LENGTH","Secp256r1RecoverableSignature","__clone_box","as_bits","as_ref","base32_len","borrow","borrow_mut","bytes","check_base32","clone","clone_into","clone_to_uninit","decode_base64","deserialize","encode_base64","encode_hex","encode_hex_upper","eq","equivalent","","fmt","","from","from_bytes","hash","into","recover_with_hash","recovery_id","serialize","sig","to_owned","to_string","try_as_bits","try_from","try_from_nonrecoverable","try_into","type_id","vzip","write_base32","BYTE_LENGTH","BytesRepresentation","SerializationHelper","ToFromByteArray","__clone_box","borrow","","borrow_mut","","clone","clone_into","clone_to_uninit","cmp","deserialize","","deserialize_vector","eq","equivalent","","fmt","","from","","","","","","","","","","","","","","from_byte_array","hash","into","","is_referenceable","json_schema","keypair_decode_base64","partial_cmp","schema_name","serialize","","serialize_vector","to_byte_array","to_owned","to_string","try_from","","try_into","","type_id","","vzip","","SignatureService","__clone_box","borrow","borrow_mut","clone","clone_into","clone_to_uninit","from","into","new","request_signature","to_owned","try_from","try_into","type_id","vzip","AggregateAuthenticator","AllowedRng","Authenticator","DefaultHash","EncodeDecodeBase64","FromUniformBytes","Generate","InsecureDefault","KeyPair","LENGTH","","","PrivKey","","","","PubKey","","","","","","RecoverableSignature","RecoverableSigner","Sig","","","","","","Signer","","SigningKey","ToFromBytes","VerifyRecoverable","VerifyingKey","add_aggregate","add_signature","aggregate","as_bytes","batch_verify","copy","decode_base64","encode_base64","from_bytes","generate","","","insecure_default","private","public","recover","recover_with_hash","sign","sign_recoverable","sign_recoverable_with_hash","verify","","verify_different_msg","verify_recoverable","verify_recoverable_with_hash","log2_byte","PrivateKey","","Proof","PublicKey","","","VRFKeyPair","VRFPrivateKey","VRFProof","VRFPublicKey","ecvrf","generate","output","prove","to_hash","verify","verify_output","ECVRFKeyPair","ECVRFPrivateKey","ECVRFProof","ECVRFPublicKey","borrow","","","","borrow_mut","","","","deserialize","","","","drop","eq","","","","equivalent","","","","","","","","fmt","","","","from","","","","","generate","into","","","","pk","prove","serialize","","","","sk","to_hash","try_from","","","","try_into","","","","type_id","","","","verify","vzip","","",""],"q":[[0,"fastcrypto"],[22,"fastcrypto::aes"],[117,"fastcrypto::bls12381"],[123,"fastcrypto::bls12381::min_pk"],[314,"fastcrypto::bls12381::min_sig"],[506,"fastcrypto::ed25519"],[699,"fastcrypto::encoding"],[803,"fastcrypto::error"],[838,"fastcrypto::groups"],[865,"fastcrypto::groups::bls12381"],[1090,"fastcrypto::groups::multiplier"],[1097,"fastcrypto::groups::multiplier::windowed"],[1110,"fastcrypto::groups::ristretto255"],[1221,"fastcrypto::groups::secp256r1"],[1317,"fastcrypto::hash"],[1422,"fastcrypto::hmac"],[1426,"fastcrypto::jwt_utils"],[1454,"fastcrypto::private_seed"],[1481,"fastcrypto::rsa"],[1548,"fastcrypto::secp256k1"],[1705,"fastcrypto::secp256k1::recoverable"],[1783,"fastcrypto::secp256r1"],[1941,"fastcrypto::secp256r1::recoverable"],[1981,"fastcrypto::serde_helpers"],[2039,"fastcrypto::signature_service"],[2055,"fastcrypto::traits"],[2116,"fastcrypto::utils"],[2117,"fastcrypto::vrf"],[2134,"fastcrypto::vrf::ecvrf"],[2202,"dyn_clone::sealed"],[2203,"bitvec::slice"],[2204,"bitvec::order"],[2205,"generic_array"],[2206,"core::fmt"],[2207,"bech32"],[2208,"alloc::vec"],[2209,"core::result"],[2210,"core::clone"],[2211,"crypto_common"],[2212,"cipher::block"],[2213,"typenum::generated::consts"],[2214,"block_padding"],[2215,"serde::de"],[2216,"alloc::string"],[2217,"core::iter::traits::collect"],[2218,"serde::ser"],[2219,"bitvec::ptr::span"],[2220,"core::any"],[2221,"core::borrow"],[2222,"core::iter::traits::iterator"],[2223,"core::cmp"],[2224,"core::hash"],[2225,"core::option"],[2226,"core::marker"],[2227,"ed25519_consensus::signature"],[2228,"ed25519_consensus::signing_key"],[2229,"core::convert"],[2230,"schemars::gen"],[2231,"schemars::schema"],[2232,"signature::error"],[2233,"core::ops::arith"],[2234,"std::collections::hash::map"],[2235,"curve25519_dalek_ng::ristretto"],[2236,"curve25519_dalek_ng::scalar"],[2237,"ark_secp256r1::curves"],[2238,"ark_secp256r1::fields::fr"],[2239,"core::default"],[2240,"digest::digest"],[2241,"std::io::error"],[2242,"der::error"],[2243,"base64ct::alphabet::url"],[2244,"base64ct::errors"],[2245,"secp256k1_sys"],[2246,"secp256k1"],[2247,"secp256k1::ecdsa::serialized_signature"],[2248,"secp256k1::key"],[2249,"core::iter::traits::exact_size"],[2250,"base64ct::encoding"]],"i":"`````````````````````````````````````````BhDf``l0000BlD`Dd3210333333521040333335210403321033321032103333210321032103210333``````````````FhFnF`0002FjFl324103241032241032410324132410324324324324041032324103241032410324103241032441100332244110332244100322410320043441032401404103232104324132410324410322410324103244224103241032````````H`HfGn0002HbHd32410324103224103241032413241032432432432404103232Hh5214352143521435214352143552211443355221443355211433521431154552143512515214343215435243521435521433521435214355335214352143````````````HjIbId2HnI`324103241032AHj521430521434352143543543543515214343521430252143521435214352143552211443355221443305521114352143115505214351152143041354352435214305521443052143052143505214352143`````IjIlInAHl3210321321321321AHn1432`4324433220143234343244224321432431432432432432432432431443322143214321432J```Bd0000000000100000000000000000000``````L`0``Kf`JnK`Kb3KjKh6Lb`715``6````````````LfLhLjLlLn4444333322221111443322114321043210`43210432104321043214321432144332211143210432110043214321043214343210014444333322221111443322114434433221141432144443333222211114433221104321432104443321043210432104321043211``Mb0Md1``Mf0000`000000``MlMn11110000110010101010101111010011011000101100010001100101001111100001100111000101111000011001010110101010100```NdNf1111000011001010101010100101101100101100001010011110000110011000011110000110000101010101010````````A@b`````OfAI`NlNn1111O`12012212121201214A@`6236333233226113323123020231263302023233233331231231202613121113`````AA`00000000000000000`00000000`AAd0000000000000000000000000````AAfAAhAAj210210210210210AIb30303030303313311332112232132132132132122321````````````ABbABf1ABd1ABh312031203120312031231203232323031203120131203120312031203311220033112203312200312000323120301300`031202000323123120331220312031203331203120````ABlABj011110010100010101011000001011100110011001111101011001101010010010101100`````````````AChACl1ACj1ACn312031203120312031231203232323`03120312031203120312031203311220033112203312200312000323120301300`031202000323123120331220312031203331203120``AD`0000000000000000000000000000000000000ADf```GlADb101111101`1111101111111111111210111`1101`21101010101`ADj00000000000000```AFn`````AEjAElADl20ADhAEh321AG`61``5420AGb2`7````222AEn34AFb015AFdAFfAFh88<{{}c{}}0{{{b{Nf}}}{{J`{Nf}}}}{{{b{Nd}}b}c{}}{{{b{Nd}}}c{}}{{NdNf}Nd}{{Ndb}c{}}{{{b{Nf}}b}c{}}{{NfNf}c{}}{{Nfb}c{}}{{{b{Nf}}}c{}}{{{b{AhNd}}b}f}{{{b{AhNd}}}f}{{{b{AhNf}}}f}{{{b{AhNf}}b}f}:{NdNd}5{NfNf}{{{b{Ahc}}}NfEf}{{{b{Nf}}c}AnEh}{{{b{Nd}}{b{Nd}}}c{}}{{NdNd}Nd}{{Nd{b{Nd}}}c{}}{{{b{Nd}}Nd}c{}}{{{b{Nf}}{b{Nf}}}c{}}{{Nf{b{Nf}}}c{}}{{NfNf}Nf}{{{b{Nf}}Nf}c{}}{{{b{AhNd}}{b{Nd}}}f}{{{b{AhNd}}Nd}f}{{{b{AhNf}}Nf}f}{{{b{AhNf}}{b{Nf}}}f}{{{b{Nf}}}{{Jd{n}}}}{{{b{Nf}}}{{Al{n}}}}{bc{}}0{c{{An{e}}}{}{}}0{{}{{An{c}}}{}}0{bEl}0{{}c{}}0{{}Nd}{{}Nf}````````````````{{bd}f}0{b{{b{{h{ce}}}}}{}j}{{{b{Nl}}}{{b{{A`{n}}}}}}{bAf}{b{{b{c}}}{}}00{{{b{Ah}}}{{b{Ahc}}}{}}00{{}{{An{{Al{Aj}}}}}}{{{b{Nl}}}Nl}{{{b{Nn}}}Nn}{{b{b{Ahc}}}f{}}0{bf}0{{{b{Nl}}{b{Nl}}}Gb}{{}{{O`{c}}}Ob}{{}Nn}{c{{An{Nl}}}Dh}{c{{An{Nn}}}Dh}{{{b{{Of{}{{Od{c}}}}}}}c{{Oh{Nl}}OjOlOnAd}}{{{b{A@`}}}Nl}{cNl{{Jf{{A`{n}}}}}}{{{b{Nn}}}Nl}`{eNl{{Jf{{A`{n}}}}}{{G`{}{{Fd{c}}}}}}{bc{{Dn{Dl}}}}0{{{b{Nl}}{b{Nl}}}Gd}{{{b{Nn}}{b{Nn}}}Gd}{{b{b{c}}}Gd{}}000{A@bNl}{{{O`{c}}}Nl{A@dOb}}{{{b{Ah{O`{c}}}}}{{A@f{f}}}{A@dOb}}{{{b{Nl}}{b{AhE`}}}{{An{fGf}}}}0{{{b{Nn}}{b{AhE`}}}Eb}{cc{}}00{{{b{Nl}}{b{Ahc}}}fGh}{{{b{AhA@`}}c}f{{Jf{{A`{n}}}}}}{{{b{AhNn}}c}f{{Jf{{A`{n}}}}}}{{{b{AhA@`}}e}f{{Jf{{A`{n}}}}}{{Ff{}{{Fd{c}}}}}}{{{b{AhNn}}e}f{{Jf{{A`{n}}}}}{{Ff{}{{Fd{c}}}}}}{{}c{}}00{{}A@b}{{{Jd{n}}}Nl}{{{b{Nl}}{b{Nl}}}{{Gj{Gb}}}}7654{{{b{Nl}}c}AnEh}{{{b{Nn}}c}AnEh}{{{b{Nl}}}Af}{bc{}}0{bDj}{{{b{Nl}}}{{Al{n}}}}{b{{An{{b{{h{ce}}}}{Ej{c}}}}}{}j}{c{{An{e}}}{}{}}00{{}{{An{c}}}{}}00{bEl}00{{{b{AhA@`}}{b{A@`}}}f}{{{b{AhNn}}{b{Nn}}}f}{{{b{AhA@b}}c}f{{Jf{{A`{n}}}}}}{{{b{Ah{O`{c}}}}e}f{A@dOb}{{Jf{{A`{n}}}}}}{{}c{}}00{{{b{Ah{O`{c}}}}{b{{A`{n}}}}}{{A@f{Af}}}{A@dOb}}{{{b{Ah}}{b{{A`{n}}}}}{{An{fA@h}}}}{{{b{Ah}}{b{{A`{n}}}}}{{An{fA@j}}}}{{b{b{Ahc}}}{{An{f}}}En}``{{{b{A@l}}{b{{A`{n}}}}{b{{A`{n}}}}Af}{{An{{Al{n}}Bd}}}}{{{b{A@n}}{b{{A`{n}}}}}Nl}`{{bd}f}{b{{b{c}}}{}}{{{b{Ah}}}{{b{Ahc}}}{}}{{{b{AA`}}}AA`}{{b{b{Ahc}}}f{}}{bf}{{}AA`}{c{{An{AA`}}}Dh}{{{b{AA`}}{b{AA`}}}Gd}{{b{b{c}}}Gd{}}0{{{b{AA`}}{b{AhE`}}}Eb}{cc{}}{{{b{AA`}}{b{Ahc}}}fGh}{{}c{}}{{{b{AhJh}}}Jj}`{{{b{Bb}}}{{An{AA`Bd}}}}{{{b{Bb}}}{{An{{AAb{DjDjDj}}Bd}}}}{{}Dj}{{{b{AA`}}c}AnEh}{bc{}}{c{{An{e}}}{}{}}{{}{{An{c}}}{}}`{bEl}9`{b{{b{{h{ce}}}}}{}j}{{{b{AAd}}}{{b{{A`{n}}}}}}0{bAf}{b{{b{c}}}{}}{{{b{Ah}}}{{b{Ahc}}}{}}{{}{{An{{Al{Aj}}}}}}{{{b{Bb}}}{{An{cBd}}}{}}{{{b{AhAAd}}}f}{bDj}{bc{{Dn{Dl}}}}0{{{b{AAd}}{b{AAd}}}Gd}{{b{b{c}}}Gd{}}0{{{b{AAd}}{b{AhE`}}}Eb}{cc{}}{{{b{{A`{n}}}}}{{An{AAdBd}}}}{{}c{}}{b{{An{{b{{h{ce}}}}{Ej{c}}}}}{}j}{c{{An{e}}}{}{}}{{}{{An{c}}}{}}{bEl}4{{b{b{Ahc}}}{{An{f}}}En}=````{{bd}f}00{b{{b{c}}}{}}00{{{b{Ah}}}{{b{Ahc}}}{}}00{{{b{AAf}}}AAf}{{{b{AAh}}}AAh}{{{b{AAj}}}AAj}{{b{b{Ahc}}}f{}}00{bf}00{{c{b{Ah{A`{n}}}}}{{An{{b{{A`{n}}}}AAl}}}{{Jf{{A`{n}}}}}}0{{{b{Ah{A`{n}}}}}{{An{{b{{A`{n}}}}AAn}}}}0{{{b{Bb}}}{{An{{Al{n}}AAl}}}}0{{{b{{A`{n}}}}{b{Ah{A`{n}}}}}{{An{{b{Bb}}AB`}}}}0{{{b{{A`{n}}}}}Dj}0{{{b{{A`{n}}}}}Af}0{{{b{AAf}}{b{AAf}}}Gd}{{{b{AAj}}{b{AAj}}}Gd}{{b{b{c}}}Gd{}}000{{{b{AAf}}{b{AhE`}}}{{An{fGf}}}}{cc{}}00{{{b{{A`{n}}}}}{{J`{AAj}}}}{{{b{{A`{n}}}}}{{J`{AAh}}}}{{{b{{A`{n}}}}{b{{A`{n}}}}}{{J`{AAh}}}}{{}c{}}00{bc{}}00{c{{An{e}}}{}{}}00{{}{{An{c}}}{}}00{bEl}00{{{b{AAh}}{b{{A`{n}}}}{b{AAj}}}{{J`{f}}}}0555````````````{{bd}f}0{b{{b{{h{ce}}}}}{}j}000{{{b{ABb}}}{{b{{A`{n}}}}}}{{{b{ABd}}}{{b{{A`{n}}}}}}{{{b{ABf}}}{{b{{A`{n}}}}}}{{{b{ABh}}}{{b{{A`{n}}}}}}{bAf}000{b{{b{c}}}{}}000{{{b{Ah}}}{{b{Ahc}}}{}}000```{{}{{An{{Al{Aj}}}}}}000{{{b{ABb}}}ABb}{{{b{ABf}}}ABf}{{b{b{Ahc}}}f{}}0{bf}0{{{b{ABb}}{b{ABb}}}Gb}{{{b{ABh}}}ABh}{{{b{Bb}}}{{An{cBd}}}{}}000{c{{An{ABb}}}Dh}{c{{An{ABd}}}Dh}{c{{An{ABf}}}Dh}{c{{An{ABh}}}Dh}{{{b{AhABd}}}f}{bDj}000{bc{{Dn{Dl}}}}0000000{{{b{ABb}}{b{ABb}}}Gd}{{{b{ABd}}{b{ABd}}}Gd}{{{b{ABf}}{b{ABf}}}Gd}{{{b{ABh}}{b{ABh}}}Gd}{{b{b{c}}}Gd{}}0000000{{{b{ABb}}{b{AhE`}}}Eb}{{{b{ABb}}{b{AhE`}}}{{An{fGf}}}}{{{b{ABd}}{b{AhE`}}}Eb}0{{{b{ABf}}{b{AhE`}}}Eb}{{{b{ABf}}{b{AhE`}}}{{An{fGf}}}}{{{b{ABh}}{b{AhE`}}}Eb}{cc{}}{{{b{ABd}}}ABb}11{{{b{ABj}}}ABf}{ABdABh}3{{{b{{A`{n}}}}}{{An{ABbBd}}}}{{{b{{A`{n}}}}}{{An{ABdBd}}}}{{{b{{A`{n}}}}}{{An{ABfBd}}}}{{{b{{A`{n}}}}}{{An{ABhBd}}}}{{{b{Bb}}}{{An{ABhc}}}{}}{{{b{Ahc}}}ABhEf}{{{b{ABb}}{b{Ahc}}}fGh}{{{b{ABf}}{b{Ahc}}}fGh}{{}c{}}000{{{b{ABb}}{b{ABb}}}{{Gj{Gb}}}}{ABhc{}}``{{{b{ABh}}}{{b{c}}}{}}```{{{b{ABb}}c}AnEh}{{{b{ABd}}c}AnEh}{{{b{ABf}}c}AnEh}{{{b{ABh}}c}AnEh}`{{{b{ABh}}{b{{A`{n}}}}}ABf}{{{b{ABh}}{b{{A`{n}}}}}ABj}1{bc{}}0{bDj}00{b{{An{{b{{h{ce}}}}{Ej{c}}}}}{}j}000{{{b{Gl}}}{{An{ABbc}}}{}}{c{{An{e}}}{}{}}00{{{b{Gl}}}{{An{ABfc}}}{}}1{{}{{An{c}}}{}}000{bEl}000{{{b{ABb}}{b{{A`{n}}}}{b{ABf}}}{{An{fBd}}}}0{{}c{}}000{{b{b{Ahc}}}{{An{f}}}En}000````{{bd}f}0{b{{b{{h{ce}}}}}{}j}{{{b{ABl}}}}{{{b{AhABl}}}}{{{b{AhABl}}}ABn}{{{b{ABl}}}ABn}{{{b{ABj}}}{{b{{A`{n}}}}}}{bAf}{b{{b{c}}}{}}0{{{b{Ah}}}{{b{Ahc}}}{}}0`{{}{{An{{Al{Aj}}}}}}{{{b{ABl}}}ABl}{{{b{ABj}}}ABj}{{b{b{Ahc}}}f{}}0{bf}0{{{b{ABl}}{b{ABl}}}Gb}0{{{b{Bb}}}{{An{cBd}}}{}}{c{{An{ABj}}}Dh}{bDj}{bc{{Dn{Dl}}}}0{{{b{ABl}}{b{ABl}}}Gd}{{{b{ABj}}{b{ABj}}}Gd}1{{b{b{c}}}Gd{}}000{{{b{ABl}}{b{AhE`}}}{{An{fGf}}}}0{{{b{ABj}}{b{AhE`}}}Eb}{{{b{ABj}}{b{AhE`}}}{{An{fGf}}}}{cc{}}{ABnABl}1{{{b{{A`{n}}}}}{{An{ABjBd}}}}{{{b{{A`{n}}}}}{{An{ABlAC`}}}}00{{{b{Bb}}}{{An{ABlAC`}}}}{{{b{ABl}}{b{Ahc}}}fGh}{{{b{ABj}}{b{Ahc}}}fGh}{{}c{}}0{{{b{AhABl}}}f}{{{b{ABl}}{b{ABl}}}{{Gj{Gb}}}}{{{b{ABj}}{b{{A`{n}}}}}{{An{ABbBd}}}}{{{b{ABj}}c}AnEh}{{{b{ABl}}}{{Jd{n}}}}{{{b{ABl}}}ACb}`{bc{}}0{bDj}0{b{{An{{b{{h{ce}}}}{Ej{c}}}}}{}j}{c{{An{e}}}{}{}}0{{{b{ABf}}{b{ABb}}{b{{A`{n}}}}}{{An{ABjBd}}}}{{}{{An{c}}}{}}0{bEl}0{{{b{ABl}}{b{ACd}}{b{ACf}}}{{An{fAC`}}}}>>{{b{b{Ahc}}}{{An{f}}}En}`````````````{{bd}f}0{b{{b{{h{ce}}}}}{}j}000{{{b{ACh}}}{{b{{A`{n}}}}}}{{{b{ACj}}}{{b{{A`{n}}}}}}{{{b{ACl}}}{{b{{A`{n}}}}}}{{{b{ACn}}}{{b{{A`{n}}}}}}{bAf}000{b{{b{c}}}{}}000{{{b{Ah}}}{{b{Ahc}}}{}}000```{{}{{An{{Al{Aj}}}}}}000{{{b{ACh}}}ACh}{{{b{ACl}}}ACl}{{b{b{Ahc}}}f{}}0{bf}0{{{b{ACh}}{b{ACh}}}Gb}`{{{b{ACn}}}ACn}{{{b{Bb}}}{{An{cBd}}}{}}000{c{{An{ACh}}}Dh}{c{{An{ACj}}}Dh}{c{{An{ACl}}}Dh}{c{{An{ACn}}}Dh}{bDj}000{bc{{Dn{Dl}}}}0000000{{{b{ACh}}{b{ACh}}}Gd}{{{b{ACj}}{b{ACj}}}Gd}{{{b{ACl}}{b{ACl}}}Gd}{{{b{ACn}}{b{ACn}}}Gd}{{b{b{c}}}Gd{}}0000000{{{b{ACh}}{b{AhE`}}}Eb}{{{b{ACh}}{b{AhE`}}}{{An{fGf}}}}{{{b{ACj}}{b{AhE`}}}Eb}0{{{b{ACl}}{b{AhE`}}}{{An{fGf}}}}{{{b{ACl}}{b{AhE`}}}Eb}{{{b{ACn}}{b{AhE`}}}Eb}{cc{}}{{{b{ACj}}}ACh}11{{{b{AD`}}}ACl}2{ACjACn}{{{b{{A`{n}}}}}{{An{AChBd}}}}{{{b{{A`{n}}}}}{{An{ACjBd}}}}{{{b{{A`{n}}}}}{{An{AClBd}}}}{{{b{{A`{n}}}}}{{An{ACnBd}}}}{{{b{Bb}}}{{An{ACnc}}}{}}{{{b{Ahc}}}ACnEf}{{{b{ACh}}{b{Ahc}}}fGh}{{{b{ACl}}{b{Ahc}}}fGh}{{}c{}}000{{{b{ACh}}{b{ACh}}}{{Gj{Gb}}}}{ACnc{}}``{{{b{ACn}}}{{b{c}}}{}}```{{{b{ACh}}c}AnEh}{{{b{ACj}}c}AnEh}{{{b{ACl}}c}AnEh}{{{b{ACn}}c}AnEh}`{{{b{ACn}}{b{{A`{n}}}}}ACl}{{{b{ACn}}{b{{A`{n}}}}}AD`}1{bc{}}0{bDj}00{b{{An{{b{{h{ce}}}}{Ej{c}}}}}{}j}000{c{{An{e}}}{}{}}{{{b{Gl}}}{{An{AChc}}}{}}11{{{b{Gl}}}{{An{AClc}}}{}}2{{}{{An{c}}}{}}000{bEl}000{{{b{ACh}}{b{{A`{n}}}}{b{ACl}}}{{An{fBd}}}}0{{}c{}}000{{b{b{Ahc}}}{{An{f}}}En}000``{{bd}f}{b{{b{{h{ce}}}}}{}j}{{{b{AD`}}}{{b{{A`{n}}}}}}{bAf}{b{{b{c}}}{}}{{{b{Ah}}}{{b{Ahc}}}{}}`{{}{{An{{Al{Aj}}}}}}{{{b{AD`}}}AD`}{{b{b{Ahc}}}f{}}{bf}{{{b{Bb}}}{{An{cBd}}}{}}{c{{An{AD`}}}Dh}{bDj}{bc{{Dn{Dl}}}}0{{{b{AD`}}{b{AD`}}}Gd}{{b{b{c}}}Gd{}}0{{{b{AD`}}{b{AhE`}}}Eb}{{{b{AD`}}{b{AhE`}}}{{An{fGf}}}}{cc{}}{{{b{{A`{n}}}}}{{An{AD`Bd}}}}{{{b{AD`}}{b{Ahc}}}fGh}{{}c{}}{{{b{AD`}}{b{{A`{n}}}}}{{An{AChBd}}}}`{{{b{AD`}}c}AnEh}`{bc{}}<{b{{An{{b{{h{ce}}}}{Ej{c}}}}}{}j}{c{{An{e}}}{}{}}{{{b{ACl}}{b{ACh}}{b{{A`{n}}}}}{{An{AD`Bd}}}}{{}{{An{c}}}{}}{bEl}8{{b{b{Ahc}}}{{An{f}}}En}````{{bd}f}{b{{b{c}}}{}}0{{{b{Ah}}}{{b{Ahc}}}{}}0{{{b{Gl}}}Gl}{{b{b{Ahc}}}f{}}{bf}{{{b{Gl}}{b{Gl}}}Gb}{c{{An{ADb}}}Dh}{c{{An{Gl}}}Dh}{{{b{{A`{n}}}}{ADd{{b{{Jd{n}}}}}{{Kn{{J`{c}}}}}}}{{J`{{Al{c}}}}}{}}{{{b{Gl}}{b{Gl}}}Gd}{{b{b{c}}}Gd{}}0{{{b{Gl}}{b{AhE`}}}{{An{fGf}}}}{{{b{Gl}}{b{AhE`}}}Eb}{cc{}}{{{b{ACl}}}Gl}1{{{b{Hj}}}Gl}{{{b{ACh}}}Gl}{{{b{H`}}}Gl}{{{b{Lf}}}Gl}{{{b{Lh}}}Gl}{{{b{Gn}}}Gl}{{{b{ABb}}}Gl}{{{b{Fh}}}Gl}{{{b{F`}}}Gl}{{{b{ABf}}}Gl}{{{b{Ib}}}Gl}{{{b{{Jd{n}}}}}{{An{ADfBd}}}}{{{b{Gl}}{b{Ahc}}}fGh}{{}c{}}0{{}Gd}{{{b{AhJh}}}Jj}{{{b{Bb}}}{{J`{c}}}ADh}{{{b{Gl}}{b{Gl}}}{{Gj{Gb}}}}{{}Dj}{{{b{ADb}}c}AnEh}{{{b{Gl}}c}AnEh}{{{b{{A`{c}}}}{ADd{{b{c}}}{{Kn{{Jd{n}}}}}}}{{Al{n}}}{}}{{{b{ADf}}}{{Jd{n}}}}{bc{}}{bDj}{c{{An{e}}}{}{}}0{{}{{An{c}}}{}}0{bEl}0>>`{{bd}f}{b{{b{c}}}{}}{{{b{Ah}}}{{b{Ahc}}}{}}{{{b{{ADj{c}}}}}{{ADj{c}}}{B`ADl}}{{b{b{Ahc}}}f{}}{bf}{cc{}}{{}c{}}{e{{ADj{c}}}ADl{{ADn{c}}AE`}}{{{b{{ADj{c}}}}Nl}cADl}><;:2````````````````````````````````````{{{b{Ah{AEh{}{{AEb{c}}{AEd{e}}{AEf{g}}}}}}{AEh{}{{AEb{c}}{AEd{e}}{AEf{g}}}}}{{An{fBd}}}{{ADl{}{{AEd{e}}}}}{{AEj{}{{AEb{c}}}}}{{AEl{}{{AEb{c}}}}}}{{{b{Ah{AEh{}{{AEb{c}}{AEd{e}}{AEf{g}}}}}}c}{{An{fBd}}}{{ADl{}{{AEd{e}}}}}{{AEj{}{{AEb{c}}}}}{{AEl{}{{AEb{c}}}}}}{g{{An{{AEh{}{{AEb{c}}{AEd{i}}{AEf{k}}}}Bd}}}{{ADl{}{{AEd{i}}}}}{{Fb{c}}}{{Ff{}{{Fd{{b{e}}}}}}}{{AEj{}{{AEb{c}}}}}{{AEl{}{{AEb{c}}}}}}{{{b{AEn}}}{{b{{A`{n}}}}}}{{{b{{A`{{b{{AEh{}{{AEb{c}}{AEd{e}}{AEf{g}}}}}}}}}}{Al{i}}{b{{A`{{b{{A`{n}}}}}}}}}{{An{fBd}}}{{ADl{}{{AEd{e}}}}}{{AEj{}{{AEb{c}}}}}{{AEl{}{{AEb{c}}}}}{{AF`{}{{Fd{{b{e}}}}}}}}{{{b{{ADh{}{{AEd{c}}{AEf{e}}{AEb{g}}}}}}}{{ADh{}{{AEd{c}}{AEf{e}}{AEb{g}}}}}{{AEj{}{{AEf{e}}{AEb{g}}}}}{{AEl{}{{AEd{c}}{AEb{g}}}}}{{ADl{}{{AEd{c}}{AEf{e}}}}}}{{{b{Bb}}}{{J`{AFb}}}}{{{b{AFb}}}Dj}{{{b{{A`{n}}}}}{{An{AEnBd}}}}{{{b{Ahc}}}{{ADh{}{{AEd{e}}{AEf{g}}{AEb{i}}}}}Ef{{AEj{}{{AEf{g}}{AEb{i}}}}}{{AEl{}{{AEd{e}}{AEb{i}}}}}{{ADl{}{{AEd{e}}{AEf{g}}}}}}{{{b{Ahc}}}AFdEf}{{{b{Ahc}}}AFfEf}{{}AFh}{{{ADh{}{{AEd{c}}{AEf{e}}{AEb{g}}}}}e{{AEj{}{{AEf{e}}{AEb{g}}}}}{{AEl{}{{AEd{c}}{AEb{g}}}}}{{ADl{}{{AEd{c}}{AEf{e}}}}}}{{{b{{ADh{}{{AEd{c}}{AEf{e}}{AEb{g}}}}}}}{{b{c}}}{{AEj{}{{AEf{e}}{AEb{g}}}}}{{AEl{}{{AEd{c}}{AEb{g}}}}}{{ADl{}{{AEd{c}}{AEf{e}}}}}}{{{b{{AFn{}{{AEd{c}}{AFj{e}}{AFl{g}}}}}}{b{{A`{n}}}}}{{An{cBd}}}{}{{AG`{}{{AEb{}}{AEd{}}}}}A@b}0{{{b{ADn}}{b{{A`{n}}}}}c{}}{{{b{{AG`{}{{AEd{c}}{AEb{e}}}}}}{b{{A`{n}}}}}e{}{{AFn{}{{AFj{}}{AEd{}}}}}}0{{{b{{AEj{}{{AEf{c}}{AEb{e}}}}}}{b{{A`{n}}}}{b{e}}}{{An{fBd}}}{{AEl{}{{AEd{}}}}}{{ADl{}{{AEd{}}}}}}{{{b{{AEh{}{{AEb{c}}{AEd{e}}{AEf{g}}}}}}{b{A`}}{b{{A`{n}}}}}{{An{fBd}}}{{ADl{}{{AEd{e}}}}}{{AEj{}{{AEb{c}}}}}{{AEl{}{{AEb{c}}}}}}{{{b{{AEh{}{{AEb{c}}{AEd{e}}{AEf{g}}}}}}{b{A`}}{b{{A`{{b{{A`{n}}}}}}}}}{{An{fBd}}}{{ADl{}{{AEd{e}}}}}{{AEj{}{{AEb{c}}}}}{{AEl{}{{AEb{c}}}}}}{{{b{{AGb{}{{AEb{c}}}}}}{b{{A`{n}}}}{b{c}}}{{An{fBd}}}{{AFn{}{{AEd{}}}}}}0{nAf}```````````{{{b{Ahc}}}{{AGj{}{{AGd{e}}{AGf{i}}{AGh{g}}}}}Ef{{AGl{}{{AGh{g}}}}}{{AGn{}{{AGf{i}}}}}{{AH`{}{{AGh{g}}}}}}{{{b{{AGj{}{{AGd{c}}{AGf{g}}{AGh{e}}}}}}{b{{A`{n}}}}}{{AAb{{Jd{n}}c}}}{{AGl{}{{AGh{e}}}}}{{AGn{}{{AGf{g}}}}}{{AH`{}{{AGh{e}}}}}}{{{b{{AGj{}{{AGd{c}}{AGf{g}}{AGh{e}}}}}}{b{{A`{n}}}}}c{{AGl{}{{AGh{e}}}}}{{AGn{}{{AGf{g}}}}}{{AH`{}{{AGh{e}}}}}}{{{b{{AGl{}{{AGh{c}}}}}}}{{Jd{n}}}AGn}{{{b{{AGl{}{{AGh{c}}}}}}{b{{A`{n}}}}{b{c}}}{{An{fBd}}}AGn}{{{b{{AGl{}{{AGh{c}}}}}}{b{{A`{n}}}}{b{c}}{b{{Jd{n}}}}}{{An{fBd}}}AGn}````{b{{b{c}}}{}}000{{{b{Ah}}}{{b{Ahc}}}{}}000{c{{An{AHb}}}Dh}{c{{An{AHd}}}Dh}{c{{An{AHf}}}Dh}{c{{An{AHh}}}Dh}{{{b{AhAHd}}}f}{{{b{AHb}}{b{AHb}}}Gd}{{{b{AHd}}{b{AHd}}}Gd}{{{b{AHf}}{b{AHf}}}Gd}{{{b{AHh}}{b{AHh}}}Gd}{{b{b{c}}}Gd{}}0000000{{{b{AHb}}{b{AhE`}}}Eb}{{{b{AHd}}{b{AhE`}}}Eb}{{{b{AHf}}{b{AhE`}}}Eb}{{{b{AHh}}{b{AhE`}}}Eb}{cc{}}0{AHdAHf}11{{{b{Ahc}}}AHfEf}{{}c{}}000`{{{b{AHf}}{b{{A`{n}}}}}AHh}{{{b{AHb}}c}AnEh}{{{b{AHd}}c}AnEh}{{{b{AHf}}c}AnEh}{{{b{AHh}}c}AnEh}`{{{b{AHh}}}{{Jd{n}}}}{c{{An{e}}}{}{}}000{{}{{An{c}}}{}}000{bEl}000{{{b{AHh}}{b{{A`{n}}}}{b{c}}}{{An{fBd}}}{}}::::","D":"CBn","p":[[1,"reference"],[5,"Private",2202],[1,"unit"],[5,"BitSlice",2203],[10,"BitOrder",2204],[5,"GenericByteArray",22],[1,"u8"],[1,"slice"],[10,"ArrayLength",2205],[10,"Debug",2206],[1,"usize"],[0,"mut"],[5,"u5",2207],[5,"Vec",2208],[6,"Result",2209],[10,"Clone",2210],[1,"str"],[6,"FastCryptoError",803],[17,"IVType"],[10,"Cipher",22],[10,"Nonce",22],[5,"AesCtr",22],[17,"KeySize"],[10,"KeySizeUser",2211],[10,"KeyInit",2211],[10,"BlockCipher",2212],[17,"BlockSize"],[8,"U16",2213],[10,"BlockSizeUser",2211],[10,"BlockEncrypt",2212],[10,"BlockDecrypt",2212],[5,"AesCbc",22],[10,"Padding",2214],[5,"AesGcm",22],[10,"AuthenticatedCipher",22],[10,"Deserializer",2215],[5,"String",2216],[1,"char"],[10,"FromIterator",2217],[5,"Formatter",2206],[8,"Result",2206],[8,"AesKey",22],[10,"AllowedRng",2055],[10,"Serializer",2218],[6,"BitSpanError",2219],[5,"TypeId",2220],[10,"WriteBase32",2207],[5,"BLS12381AggregateSignature",123],[10,"Borrow",2221],[17,"Item"],[10,"IntoIterator",2217],[5,"BLS12381PublicKey",123],[5,"BLS12381PrivateKey",123],[5,"BLS12381KeyPair",123],[5,"BLS12381Signature",123],[10,"Iterator",2222],[6,"Ordering",2223],[1,"bool"],[5,"Error",2206],[10,"Hasher",2224],[6,"Option",2225],[5,"BytesRepresentation",1981],[5,"BLS12381AggregateSignature",314],[5,"BLS12381PublicKey",314],[5,"BLS12381PrivateKey",314],[5,"BLS12381KeyPair",314],[5,"BLS12381Signature",314],[8,"BLS12381AggregateSignatureAsBytes",314],[5,"Ed25519PublicKey",506],[10,"Sized",2226],[5,"Ed25519PrivateKey",506],[5,"Ed25519KeyPair",506],[5,"Ed25519Signature",506],[5,"Ed25519AggregateSignature",506],[5,"Signature",2227],[5,"SigningKey",2228],[5,"Base64",699],[5,"Hex",699],[5,"Base58",699],[8,"FastCryptoResult",803],[10,"TryFrom",2229],[1,"array"],[10,"AsRef",2229],[5,"SchemaGenerator",2230],[6,"Schema",2231],[5,"Error",2232],[10,"Doubling",838],[10,"FiatShamirChallenge",838],[10,"FromTrustedByteArray",838],[17,"ScalarType"],[10,"GroupElement",838],[10,"Scalar",838],[10,"HashToGroupElement",838],[17,"Other"],[17,"Output"],[10,"Pairing",838],[10,"MultiScalarMul",838],[1,"u64"],[5,"G1Element",865],[5,"G2Element",865],[5,"GTElement",865],[5,"Scalar",865],[5,"G1ElementUncompressed",865],[1,"u128"],[10,"ScalarMultiplier",1090],[10,"ToLittleEndianBytes",1090],[5,"WindowedScalarMultiplier",1097],[10,"Add",2233],[5,"HashMap",2234],[5,"RistrettoPoint",1110],[5,"RistrettoScalar",1110],[5,"RistrettoPoint",2235],[5,"Scalar",2236],[5,"ProjectivePoint",1221],[5,"Scalar",1221],[8,"Projective",2237],[8,"Fr",2238],[5,"Digest",1317],[5,"EllipticCurveMultisetHash",1317],[5,"HashFunctionWrapper",1317],[10,"Default",2239],[17,"TypedDigest"],[10,"Hash",1317],[10,"Into",2229],[10,"Eq",2223],[10,"Hash",2224],[10,"Copy",2226],[10,"MultisetHash",1317],[10,"HashFunction",1317],[10,"Digest",2240],[8,"Result",2241],[5,"Error",2242],[5,"Error",2242],[8,"HkdfIkm",1422],[8,"HmacKey",1422],[5,"JWTHeader",1426],[1,"tuple"],[5,"PrivateSeed",1454],[5,"Base64UrlUnpadded",1481,2243],[5,"RSAPublicKey",1481],[5,"RSASignature",1481],[6,"Error",2244],[5,"InvalidEncodingError",2244],[5,"InvalidLengthError",2244],[5,"Secp256k1PublicKey",1548],[5,"Secp256k1PrivateKey",1548],[5,"Secp256k1Signature",1548],[5,"Secp256k1KeyPair",1548],[5,"Secp256k1RecoverableSignature",1705],[5,"Secp256k1Sig",1705],[5,"Signature",2245],[6,"Error",2246],[5,"SerializedSignature",2247],[5,"Message",2246],[5,"PublicKey",2248],[5,"Secp256r1PublicKey",1783],[5,"Secp256r1PrivateKey",1783],[5,"Secp256r1Signature",1783],[5,"Secp256r1KeyPair",1783],[5,"Secp256r1RecoverableSignature",1941],[5,"SerializationHelper",1981],[1,"fn"],[10,"ToFromByteArray",1981],[10,"KeyPair",2055],[5,"SignatureService",2039],[10,"Authenticator",2055],[10,"Signer",2055],[10,"Send",2226],[17,"Sig"],[17,"PubKey"],[17,"PrivKey"],[10,"AggregateAuthenticator",2055],[10,"VerifyingKey",2055],[10,"SigningKey",2055],[10,"ToFromBytes",2055],[10,"ExactSizeIterator",2249],[10,"EncodeDecodeBase64",2055],[10,"Generate",2055],[10,"FromUniformBytes",2055],[10,"InsecureDefault",2055],[17,"Signer"],[17,"DefaultHash"],[10,"RecoverableSignature",2055],[10,"RecoverableSigner",2055],[10,"VerifyRecoverable",2055],[17,"Proof"],[17,"PrivateKey"],[17,"PublicKey"],[10,"VRFKeyPair",2117],[10,"VRFProof",2117],[10,"VRFPublicKey",2117],[10,"VRFPrivateKey",2117],[5,"ECVRFPublicKey",2134],[5,"ECVRFPrivateKey",2134],[5,"ECVRFKeyPair",2134],[5,"ECVRFProof",2134],[5,"SingleSignature",506],[5,"Bech32",699],[10,"Encoding",699],[10,"ReverseWrapper",1317],[10,"Encoding",1481]],"r":[[1481,2243],[1482,2250]],"b":[[80,"impl-Debug-for-GenericByteArray%3CN%3E"],[81,"impl-Display-for-GenericByteArray%3CN%3E"],[225,"impl-Debug-for-BLS12381PublicKey"],[226,"impl-Display-for-BLS12381PublicKey"],[227,"impl-Display-for-BLS12381PrivateKey"],[228,"impl-Debug-for-BLS12381PrivateKey"],[230,"impl-Display-for-BLS12381Signature"],[231,"impl-Debug-for-BLS12381Signature"],[232,"impl-Display-for-BLS12381AggregateSignature"],[233,"impl-Debug-for-BLS12381AggregateSignature"],[417,"impl-Debug-for-BLS12381PublicKey"],[418,"impl-Display-for-BLS12381PublicKey"],[419,"impl-Debug-for-BLS12381PrivateKey"],[420,"impl-Display-for-BLS12381PrivateKey"],[422,"impl-Debug-for-BLS12381Signature"],[423,"impl-Display-for-BLS12381Signature"],[424,"impl-Display-for-BLS12381AggregateSignature"],[425,"impl-Debug-for-BLS12381AggregateSignature"],[610,"impl-Display-for-Ed25519PublicKey"],[611,"impl-Debug-for-Ed25519PublicKey"],[612,"impl-Display-for-Ed25519PrivateKey"],[613,"impl-Debug-for-Ed25519PrivateKey"],[615,"impl-Display-for-Ed25519Signature"],[616,"impl-Debug-for-Ed25519Signature"],[617,"impl-Display-for-Ed25519AggregateSignature"],[618,"impl-Debug-for-Ed25519AggregateSignature"],[623,"impl-From%3CEd25519PrivateKey%3E-for-Ed25519KeyPair"],[624,"impl-From%3CSigningKey%3E-for-Ed25519KeyPair"],[733,"impl-DeserializeAs%3C\'de,+%5Bu8;+N%5D%3E-for-Base64"],[734,"impl-DeserializeAs%3C\'de,+Vec%3Cu8%3E%3E-for-Base64"],[735,"impl-DeserializeAs%3C\'de,+%5Bu8;+N%5D%3E-for-Hex"],[736,"impl-DeserializeAs%3C\'de,+Vec%3Cu8%3E%3E-for-Hex"],[737,"impl-DeserializeAs%3C\'de,+Vec%3Cu8%3E%3E-for-Base58"],[738,"impl-DeserializeAs%3C\'de,+%5Bu8;+N%5D%3E-for-Base58"],[827,"impl-Display-for-FastCryptoError"],[828,"impl-Debug-for-FastCryptoError"],[882,"impl-Add%3C%26G1Element%3E-for-%26G1Element"],[883,"impl-Add-for-G1Element"],[884,"impl-Add%3CG1Element%3E-for-%26G1Element"],[885,"impl-Add%3C%26G1Element%3E-for-G1Element"],[886,"impl-Add%3CG2Element%3E-for-%26G2Element"],[887,"impl-Add%3C%26G2Element%3E-for-%26G2Element"],[888,"impl-Add-for-G2Element"],[889,"impl-Add%3C%26G2Element%3E-for-G2Element"],[890,"impl-Add%3C%26GTElement%3E-for-%26GTElement"],[891,"impl-Add-for-GTElement"],[892,"impl-Add%3CGTElement%3E-for-%26GTElement"],[893,"impl-Add%3C%26GTElement%3E-for-GTElement"],[894,"impl-Add%3C%26Scalar%3E-for-%26Scalar"],[895,"impl-Add%3CScalar%3E-for-%26Scalar"],[896,"impl-Add%3C%26Scalar%3E-for-Scalar"],[897,"impl-Add-for-Scalar"],[898,"impl-AddAssign%3C%26G1Element%3E-for-G1Element"],[899,"impl-AddAssign-for-G1Element"],[900,"impl-AddAssign%3C%26G2Element%3E-for-G2Element"],[901,"impl-AddAssign-for-G2Element"],[902,"impl-AddAssign-for-GTElement"],[903,"impl-AddAssign%3C%26GTElement%3E-for-GTElement"],[904,"impl-AddAssign-for-Scalar"],[905,"impl-AddAssign%3C%26Scalar%3E-for-Scalar"],[987,"impl-Mul%3C%26%3CG1Element+as+GroupElement%3E::ScalarType%3E-for-G1Element"],[988,"impl-Mul%3C%3CG1Element+as+GroupElement%3E::ScalarType%3E-for-%26G1Element"],[989,"impl-Mul%3C%26%3CG1Element+as+GroupElement%3E::ScalarType%3E-for-%26G1Element"],[990,"impl-Mul%3CScalar%3E-for-G1Element"],[991,"impl-Mul%3CScalar%3E-for-G2Element"],[992,"impl-Mul%3C%26%3CG2Element+as+GroupElement%3E::ScalarType%3E-for-%26G2Element"],[993,"impl-Mul%3C%3CG2Element+as+GroupElement%3E::ScalarType%3E-for-%26G2Element"],[994,"impl-Mul%3C%26%3CG2Element+as+GroupElement%3E::ScalarType%3E-for-G2Element"],[995,"impl-Mul%3CScalar%3E-for-GTElement"],[996,"impl-Mul%3C%26%3CGTElement+as+GroupElement%3E::ScalarType%3E-for-GTElement"],[997,"impl-Mul%3C%3CGTElement+as+GroupElement%3E::ScalarType%3E-for-%26GTElement"],[998,"impl-Mul%3C%26%3CGTElement+as+GroupElement%3E::ScalarType%3E-for-%26GTElement"],[999,"impl-Mul%3C%26%3CScalar+as+GroupElement%3E::ScalarType%3E-for-%26Scalar"],[1000,"impl-Mul%3C%3CScalar+as+GroupElement%3E::ScalarType%3E-for-%26Scalar"],[1001,"impl-Mul%3C%26%3CScalar+as+GroupElement%3E::ScalarType%3E-for-Scalar"],[1002,"impl-Mul-for-Scalar"],[1003,"impl-MulAssign%3C%26%3CG1Element+as+GroupElement%3E::ScalarType%3E-for-G1Element"],[1004,"impl-MulAssign%3C%3CG1Element+as+GroupElement%3E::ScalarType%3E-for-G1Element"],[1005,"impl-MulAssign%3C%26%3CG2Element+as+GroupElement%3E::ScalarType%3E-for-G2Element"],[1006,"impl-MulAssign%3C%3CG2Element+as+GroupElement%3E::ScalarType%3E-for-G2Element"],[1007,"impl-MulAssign%3C%3CGTElement+as+GroupElement%3E::ScalarType%3E-for-GTElement"],[1008,"impl-MulAssign%3C%26%3CGTElement+as+GroupElement%3E::ScalarType%3E-for-GTElement"],[1009,"impl-MulAssign%3C%26%3CScalar+as+GroupElement%3E::ScalarType%3E-for-Scalar"],[1010,"impl-MulAssign%3C%3CScalar+as+GroupElement%3E::ScalarType%3E-for-Scalar"],[1014,"impl-Neg-for-%26G1Element"],[1015,"impl-Neg-for-G1Element"],[1016,"impl-Neg-for-%26G2Element"],[1017,"impl-Neg-for-G2Element"],[1018,"impl-Neg-for-GTElement"],[1019,"impl-Neg-for-%26GTElement"],[1020,"impl-Neg-for-Scalar"],[1021,"impl-Neg-for-%26Scalar"],[1028,"impl-Sub-for-G1Element"],[1029,"impl-Sub%3CG1Element%3E-for-%26G1Element"],[1030,"impl-Sub%3C%26G1Element%3E-for-G1Element"],[1031,"impl-Sub%3C%26G1Element%3E-for-%26G1Element"],[1032,"impl-Sub%3CG2Element%3E-for-%26G2Element"],[1033,"impl-Sub%3C%26G2Element%3E-for-%26G2Element"],[1034,"impl-Sub-for-G2Element"],[1035,"impl-Sub%3C%26G2Element%3E-for-G2Element"],[1036,"impl-Sub-for-GTElement"],[1037,"impl-Sub%3C%26GTElement%3E-for-GTElement"],[1038,"impl-Sub%3CGTElement%3E-for-%26GTElement"],[1039,"impl-Sub%3C%26GTElement%3E-for-%26GTElement"],[1040,"impl-Sub%3CScalar%3E-for-%26Scalar"],[1041,"impl-Sub-for-Scalar"],[1042,"impl-Sub%3C%26Scalar%3E-for-%26Scalar"],[1043,"impl-Sub%3C%26Scalar%3E-for-Scalar"],[1044,"impl-SubAssign-for-G1Element"],[1045,"impl-SubAssign%3C%26G1Element%3E-for-G1Element"],[1046,"impl-SubAssign-for-G2Element"],[1047,"impl-SubAssign%3C%26G2Element%3E-for-G2Element"],[1048,"impl-SubAssign%3C%26GTElement%3E-for-GTElement"],[1049,"impl-SubAssign-for-GTElement"],[1050,"impl-SubAssign-for-Scalar"],[1051,"impl-SubAssign%3C%26Scalar%3E-for-Scalar"],[1063,"impl-TryFrom%3C%26G1ElementUncompressed%3E-for-G1Element"],[1064,"impl-TryFrom%3C%26BytesRepresentation%3C%24length%3E%3E-for-G1Element"],[1114,"impl-Add-for-RistrettoPoint"],[1115,"impl-Add%3C%26RistrettoPoint%3E-for-%26RistrettoPoint"],[1116,"impl-Add%3CRistrettoPoint%3E-for-%26RistrettoPoint"],[1117,"impl-Add%3C%26RistrettoPoint%3E-for-RistrettoPoint"],[1118,"impl-Add%3C%26RistrettoScalar%3E-for-RistrettoScalar"],[1119,"impl-Add%3CRistrettoScalar%3E-for-%26RistrettoScalar"],[1120,"impl-Add%3C%26RistrettoScalar%3E-for-%26RistrettoScalar"],[1121,"impl-Add-for-RistrettoScalar"],[1122,"impl-AddAssign%3C%26RistrettoPoint%3E-for-RistrettoPoint"],[1123,"impl-AddAssign-for-RistrettoPoint"],[1124,"impl-AddAssign-for-RistrettoScalar"],[1125,"impl-AddAssign%3C%26RistrettoScalar%3E-for-RistrettoScalar"],[1142,"impl-Div%3C__RhsT%3E-for-RistrettoScalar"],[1143,"impl-Div-for-RistrettoScalar"],[1157,"impl-From%3Cu128%3E-for-RistrettoScalar"],[1158,"impl-From%3CScalar%3E-for-RistrettoScalar"],[1173,"impl-Mul%3CRistrettoScalar%3E-for-RistrettoPoint"],[1174,"impl-Mul%3C%26%3CRistrettoPoint+as+GroupElement%3E::ScalarType%3E-for-RistrettoPoint"],[1175,"impl-Mul%3C%3CRistrettoPoint+as+GroupElement%3E::ScalarType%3E-for-%26RistrettoPoint"],[1176,"impl-Mul%3C%26%3CRistrettoPoint+as+GroupElement%3E::ScalarType%3E-for-%26RistrettoPoint"],[1177,"impl-Mul-for-RistrettoScalar"],[1178,"impl-Mul%3C%26%3CRistrettoScalar+as+GroupElement%3E::ScalarType%3E-for-RistrettoScalar"],[1179,"impl-Mul%3C%3CRistrettoScalar+as+GroupElement%3E::ScalarType%3E-for-%26RistrettoScalar"],[1180,"impl-Mul%3C%26%3CRistrettoScalar+as+GroupElement%3E::ScalarType%3E-for-%26RistrettoScalar"],[1181,"impl-MulAssign%3C%3CRistrettoPoint+as+GroupElement%3E::ScalarType%3E-for-RistrettoPoint"],[1182,"impl-MulAssign%3C%26%3CRistrettoPoint+as+GroupElement%3E::ScalarType%3E-for-RistrettoPoint"],[1183,"impl-MulAssign%3C%3CRistrettoScalar+as+GroupElement%3E::ScalarType%3E-for-RistrettoScalar"],[1184,"impl-MulAssign%3C%26%3CRistrettoScalar+as+GroupElement%3E::ScalarType%3E-for-RistrettoScalar"],[1186,"impl-Neg-for-RistrettoPoint"],[1187,"impl-Neg-for-%26RistrettoPoint"],[1188,"impl-Neg-for-RistrettoScalar"],[1189,"impl-Neg-for-%26RistrettoScalar"],[1193,"impl-Sub%3CRistrettoPoint%3E-for-%26RistrettoPoint"],[1194,"impl-Sub%3C%26RistrettoPoint%3E-for-%26RistrettoPoint"],[1195,"impl-Sub%3C%26RistrettoPoint%3E-for-RistrettoPoint"],[1196,"impl-Sub-for-RistrettoPoint"],[1197,"impl-Sub-for-RistrettoScalar"],[1198,"impl-Sub%3C%26RistrettoScalar%3E-for-RistrettoScalar"],[1199,"impl-Sub%3CRistrettoScalar%3E-for-%26RistrettoScalar"],[1200,"impl-Sub%3C%26RistrettoScalar%3E-for-%26RistrettoScalar"],[1201,"impl-SubAssign-for-RistrettoPoint"],[1202,"impl-SubAssign%3C%26RistrettoPoint%3E-for-RistrettoPoint"],[1203,"impl-SubAssign-for-RistrettoScalar"],[1204,"impl-SubAssign%3C%26RistrettoScalar%3E-for-RistrettoScalar"],[1226,"impl-Add%3CProjectivePoint%3E-for-%26ProjectivePoint"],[1227,"impl-Add%3C%26ProjectivePoint%3E-for-%26ProjectivePoint"],[1228,"impl-Add-for-ProjectivePoint"],[1229,"impl-Add%3C%26ProjectivePoint%3E-for-ProjectivePoint"],[1230,"impl-Add%3CScalar%3E-for-%26Scalar"],[1231,"impl-Add%3C%26Scalar%3E-for-Scalar"],[1232,"impl-Add%3C%26Scalar%3E-for-%26Scalar"],[1233,"impl-Add-for-Scalar"],[1234,"impl-AddAssign-for-ProjectivePoint"],[1235,"impl-AddAssign%3C%26ProjectivePoint%3E-for-ProjectivePoint"],[1236,"impl-AddAssign%3C%26Scalar%3E-for-Scalar"],[1237,"impl-AddAssign-for-Scalar"],[1265,"impl-From%3CFp%3CMontBackend%3CFrConfig,+4%3E,+4%3E%3E-for-Scalar"],[1266,"impl-From%3Cu128%3E-for-Scalar"],[1273,"impl-Mul%3C%26%3CProjectivePoint+as+GroupElement%3E::ScalarType%3E-for-%26ProjectivePoint"],[1274,"impl-Mul%3C%3CProjectivePoint+as+GroupElement%3E::ScalarType%3E-for-%26ProjectivePoint"],[1275,"impl-Mul%3CScalar%3E-for-ProjectivePoint"],[1276,"impl-Mul%3C%26%3CProjectivePoint+as+GroupElement%3E::ScalarType%3E-for-ProjectivePoint"],[1277,"impl-Mul%3C%26%3CScalar+as+GroupElement%3E::ScalarType%3E-for-%26Scalar"],[1278,"impl-Mul-for-Scalar"],[1279,"impl-Mul%3C%26%3CScalar+as+GroupElement%3E::ScalarType%3E-for-Scalar"],[1280,"impl-Mul%3C%3CScalar+as+GroupElement%3E::ScalarType%3E-for-%26Scalar"],[1281,"impl-MulAssign%3C%26%3CProjectivePoint+as+GroupElement%3E::ScalarType%3E-for-ProjectivePoint"],[1282,"impl-MulAssign%3C%3CProjectivePoint+as+GroupElement%3E::ScalarType%3E-for-ProjectivePoint"],[1283,"impl-MulAssign%3C%3CScalar+as+GroupElement%3E::ScalarType%3E-for-Scalar"],[1284,"impl-MulAssign%3C%26%3CScalar+as+GroupElement%3E::ScalarType%3E-for-Scalar"],[1285,"impl-Neg-for-%26ProjectivePoint"],[1286,"impl-Neg-for-ProjectivePoint"],[1287,"impl-Neg-for-%26Scalar"],[1288,"impl-Neg-for-Scalar"],[1291,"impl-Sub%3C%26ProjectivePoint%3E-for-%26ProjectivePoint"],[1292,"impl-Sub-for-ProjectivePoint"],[1293,"impl-Sub%3C%26ProjectivePoint%3E-for-ProjectivePoint"],[1294,"impl-Sub%3CProjectivePoint%3E-for-%26ProjectivePoint"],[1295,"impl-Sub%3C%26Scalar%3E-for-%26Scalar"],[1296,"impl-Sub%3C%26Scalar%3E-for-Scalar"],[1297,"impl-Sub-for-Scalar"],[1298,"impl-Sub%3CScalar%3E-for-%26Scalar"],[1299,"impl-SubAssign%3C%26ProjectivePoint%3E-for-ProjectivePoint"],[1300,"impl-SubAssign-for-ProjectivePoint"],[1301,"impl-SubAssign-for-Scalar"],[1302,"impl-SubAssign%3C%26Scalar%3E-for-Scalar"],[1373,"impl-Debug-for-Digest%3CDIGEST_LEN%3E"],[1374,"impl-Display-for-Digest%3CDIGEST_LEN%3E"],[1630,"impl-Debug-for-Secp256k1PublicKey"],[1631,"impl-Display-for-Secp256k1PublicKey"],[1632,"impl-Display-for-Secp256k1PrivateKey"],[1633,"impl-Debug-for-Secp256k1PrivateKey"],[1634,"impl-Debug-for-Secp256k1Signature"],[1635,"impl-Display-for-Secp256k1Signature"],[1744,"impl-Display-for-Signature"],[1745,"impl-Debug-for-Signature"],[1746,"impl-Debug-for-Secp256k1RecoverableSignature"],[1747,"impl-Display-for-Secp256k1RecoverableSignature"],[1866,"impl-Debug-for-Secp256r1PublicKey"],[1867,"impl-Display-for-Secp256r1PublicKey"],[1868,"impl-Debug-for-Secp256r1PrivateKey"],[1869,"impl-Display-for-Secp256r1PrivateKey"],[1870,"impl-Display-for-Secp256r1Signature"],[1871,"impl-Debug-for-Secp256r1Signature"],[1962,"impl-Debug-for-Secp256r1RecoverableSignature"],[1963,"impl-Display-for-Secp256r1RecoverableSignature"],[2000,"impl-Display-for-BytesRepresentation%3CN%3E"],[2001,"impl-Debug-for-BytesRepresentation%3CN%3E"],[2003,"impl-From%3C%26Secp256r1Signature%3E-for-BytesRepresentation%3C%24length%3E"],[2005,"impl-From%3C%26Ed25519PublicKey%3E-for-BytesRepresentation%3C%24length%3E"],[2006,"impl-From%3C%26Secp256r1PublicKey%3E-for-BytesRepresentation%3C%24length%3E"],[2007,"impl-From%3C%26BLS12381PublicKey%3E-for-BytesRepresentation%3C%24length%3E"],[2008,"impl-From%3C%26G1Element%3E-for-BytesRepresentation%3C%24length%3E"],[2009,"impl-From%3C%26G2Element%3E-for-BytesRepresentation%3C%24length%3E"],[2010,"impl-From%3C%26BLS12381AggregateSignature%3E-for-BytesRepresentation%3C%24length%3E"],[2011,"impl-From%3C%26Secp256k1PublicKey%3E-for-BytesRepresentation%3C%24length%3E"],[2012,"impl-From%3C%26BLS12381PublicKey%3E-for-BytesRepresentation%3C%24length%3E"],[2013,"impl-From%3C%26BLS12381AggregateSignature%3E-for-BytesRepresentation%3C%24length%3E"],[2014,"impl-From%3C%26Secp256k1Signature%3E-for-BytesRepresentation%3C%24length%3E"],[2015,"impl-From%3C%26Ed25519Signature%3E-for-BytesRepresentation%3C%24length%3E"]],"c":"OjAAAAEAAAAAAAEAEAAAALMGtAY=","e":"OzAAAAEAAAMHpgAAAAAABwAAAAoAAgAQAAAAEgAEACoAAQAuABEAQQACAEUABQBMAAIAUAACAFcAAQBdABgAfQAAAIEAAACEAGcA7gAAAPIACgACATgAPAEAAEABAABDAWgArgEAALIBCgDCATgAAwIAAAUCZgBuAgAAcAIBAHUCCACEAjgAwQITANcCAADZAgAA2wIIAOYCAADoAgAA7AIJAAADDgARAxIAJgMAADMDCwBBAwUATQMCAFIDAABUAwEAWAMAAFoDAABcAwEAYgMAAGQDAABmAwAAaAMBAGsDAQBuAyYAlgMoAMMDAADFAwgAzwMFANsDQQAeBCQARAQAAEkEAABLBAEATwQAAFEEBQBZBBcAcwQPAIQEAACGBAMAjQQBAJAEAQCUBAAAlgQjALsECgDHBAAAyQQmAPIEBAD5BCwANQUYAFAFAQBTBQcAXAUEAGQFAABmBQAAaAUAAG4FAABwBQAAcgUCAHYFAgB6BQkAhQUAAIcFBwCUBQsAoQUAAKMFAQCmBQgAsAUPAMEFAADDBQYAzAUTAOEFAADjBQAA5QUAAOcFAADpBQAA6wUHAPwFCwAKBgIADgYAABYGAAAYBk0AZwYAAGoGAQBtBgcAeQYFAIAGBgCJBhcAogYIAK4GBAC1Bg4AxQYGAM0GBwDWBgAA2AYAANwGAgDiBgAA5AYAAOcGBwDwBgMA9QYCAAIHAAAEByQAKgcnAFMHAABWBwAAWAcIAGUHBQBsBwcAdQcXAI4HCACYBxQArgcBALEHBwC6BwQAwQcLAM4HBADUBwAA1gcMAOUHBgDtBwoA+QcFAAEIBgALCAAAEQgMACAIBQAnCAAAKggAACwIAQAxCAIANwgBAEYIBQBXCCAAeggAAH0IAACCCBgA"}],["fastcrypto_cli",{"t":"CSSSFNNNNOOOONNN","n":["sigs_cli_test_vectors","MSG","SEED","TEST_CASES","TestVector","borrow","borrow_mut","from","into","name","private","public","sig","try_from","try_into","type_id"],"q":[[0,"fastcrypto_cli"],[1,"fastcrypto_cli::sigs_cli_test_vectors"],[16,"core::result"],[17,"core::any"]],"i":"`````j0000000000","f":"`````{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{cc{}}{{}c{}}````{c{{f{e}}}{}{}}{{}{{f{c}}}{}}{bh}","D":"h","p":[[1,"reference"],[0,"mut"],[6,"Result",16],[5,"TypeId",17],[5,"TestVector",1]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAAwAAwABAAMABgABAAoABgA="}],["fastcrypto_derive",{"t":"YYY","n":["GroupOpsExtend","SilentDebug","SilentDisplay"],"q":[[0,"fastcrypto_derive"]],"i":"```","f":"```","D":"h","p":[],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OjAAAAAAAAA="}],["fastcrypto_tbls",{"t":"CCCCCCCCCCCCCCFFSFFNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNONNOONNNNONONNNNNNNNNNNNNNNNONNNNFFFFNNNNNNNNNNNNNNNNNNNNONNNONNNNNNNNNNNNNNNNNNNNNNNOONNNONNNNNNNNNNNNNNNONNNNFFFFNNNNNNNNNNNNNNNNNNNNONNNONNNNNNNNNNNNNNNNNNNNNNNOONNNONNNNNNNNNNNNNNNONNNNHHHHHSFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFNNNNNNNNNNNNNNNNNNNNNONNNNNNNHFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFINNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNONNNNNNNNNNNNNNNNOIFIINNNNNNNNNNNNNNNNNNNONNNNNNNONNNFNNNNNNNNNNNNNNNNNNNNNNIRRIRKINOONNNNOOOMFIIIIIIIFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNOOONNNN","n":["dkg","dkg_v0","dkg_v1","dl_verification","ecies","ecies_v0","ecies_v1","mocked_dkg","nizk","nodes","polynomial","random_oracle","tbls","types","Complaint","Confirmation","DKG_MESSAGES_MAX_SIZE","Output","Party","__clone_box","","","","borrow","","","","borrow_mut","","","","clone","","","","clone_into","","","","clone_to_uninit","","","","complaints","complete","complete_v1","create_message","create_message_v1","deserialize","","","","eq","","","equivalent","","","","","","fmt","","","from","","","","id","into","","","","merge","merge_v1","new","nodes","process_message","process_message_v1","random_oracle","sender","serialize","","","","shares","t","","to_owned","","","","try_from","","","","try_into","","","","type_id","","","","vss_pk","vzip","","","","Message","ProcessedMessage","UsedProcessedMessages","VerifiedProcessedMessages","__clone_box","","","borrow","","","","borrow_mut","","","","clone","","","clone_into","","","clone_to_uninit","","","complaint","deserialize","","","encrypted_shares","eq","","","equivalent","","","","","","fmt","","","from","","","","","into","","","","is_empty","len","message","sender","serialize","","","shares","to_owned","","","try_from","","","","try_into","","","","type_id","","","","vss_pk","vzip","","","","Message","ProcessedMessage","UsedProcessedMessages","VerifiedProcessedMessages","__clone_box","","","borrow","","","","borrow_mut","","","","clone","","","clone_into","","","clone_to_uninit","","","complaint","deserialize","","","encrypted_shares","eq","","","equivalent","","","","","","fmt","","","from","","","","","into","","","","is_empty","len","message","sender","serialize","","","shares","to_owned","","","try_from","","","","try_into","","","","type_id","","","","vss_pk","vzip","","","","verify_deg_t_poly","verify_equal_exponents","verify_pairs","verify_poly_evals","verify_triplets","AES_KEY_LENGTH","PrivateKey","PublicKey","RecoveryPackage","__clone_box","","","as_element","borrow","","","borrow_mut","","","clone","","","clone_into","","","clone_to_uninit","","","create_recovery_package","decrypt","decrypt_with_recovery_package","deserialize","","","deterministic_encrypt","drop","eq","","","equivalent","","","","","","fmt","","","from","","","","","from_private_key","into","","","new","serialize","","","to_owned","","","try_from","","","try_into","","","type_id","","","vzip","","","Encryption","MultiRecipientEncryption","__clone_box","","borrow","","borrow_mut","","clone","","clone_into","","clone_to_uninit","","decrypt_from_partial_decryption","deserialize","","encrypt","ephemeral_key","","eq","","equivalent","","","","fmt","","from","","get_encryption","into","","is_empty","len","proof","serialize","","to_owned","","try_from","","try_into","","type_id","","verify","vzip","","MultiRecipientEncryption","__clone_box","borrow","borrow_mut","clone","clone_into","clone_to_uninit","create_recovery_package","decrypt","decrypt_with_recovery_package","deserialize","encrypt","ephemeral_key","eq","equivalent","","fmt","from","into","is_empty","len","proof","","serialize","to_owned","try_from","try_into","type_id","verify","vzip","generate_mocked_output","DLNizk","DdhTupleNizk","__clone_box","","borrow","","borrow_mut","","clone","","clone_into","","clone_to_uninit","","create","","deserialize","","eq","","equivalent","","","","fmt","","from","","into","","serialize","","to_owned","","try_from","","try_into","","type_id","","verify","","vzip","","Node","Nodes","PartyId","__clone_box","","borrow","","borrow_mut","","clone","","clone_into","","clone_to_uninit","","deserialize","","eq","","equivalent","","","","fmt","","from","","hash","id","into","","iter","new","new_reduced","node_id_to_node","num_nodes","pk","serialize","","share_id_to_node","share_ids_iter","share_ids_of","to_owned","","total_weight","try_from","","try_into","","type_id","","vzip","","weight","Eval","Poly","PrivatePoly","PublicPoly","__clone_box","add_assign","as_vec","borrow","borrow_mut","c0","clone","clone_into","clone_to_uninit","commit","degree","deserialize","eq","equivalent","","eval","fmt","from","","index","into","rand","serialize","to_owned","try_from","try_into","type_id","value","verify_share","vzip","zero","RandomOracle","__clone_box","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deserialize","eq","equivalent","","evaluate","extend","fmt","from","into","new","serialize","to_owned","try_from","try_into","type_id","vzip","PartialSignature","Private","Public","Share","Signature","ThresholdBls","UnindexedPartialSignatures","aggregate","index","","partial_sign","partial_sign_batch","partial_verify","partial_verify_batch","value","","values","verify","IndexedValue","PrivateBlsKey","PublicBlsKey","PublicVssKey","RawSignature","Share","ShareIndex","Signature","ThresholdBls12381MinSig","UnindexedValues","__clone_box","","add_indexes","borrow","","","borrow_mut","","","clone","","clone_into","","clone_to_uninit","","deserialize","","eq","","equivalent","","","","fmt","","from","","","","index","","into","","","serialize","","to_owned","","try_from","","","try_into","","","type_id","","","value","","values","verify","vzip","",""],"q":[[0,"fastcrypto_tbls"],[14,"fastcrypto_tbls::dkg"],[109,"fastcrypto_tbls::dkg_v0"],[187,"fastcrypto_tbls::dkg_v1"],[265,"fastcrypto_tbls::dl_verification"],[270,"fastcrypto_tbls::ecies"],[341,"fastcrypto_tbls::ecies_v0"],[390,"fastcrypto_tbls::ecies_v1"],[420,"fastcrypto_tbls::mocked_dkg"],[421,"fastcrypto_tbls::nizk"],[465,"fastcrypto_tbls::nodes"],[519,"fastcrypto_tbls::polynomial"],[554,"fastcrypto_tbls::random_oracle"],[577,"fastcrypto_tbls::tbls"],[595,"fastcrypto_tbls::types"],[659,"dyn_clone::sealed"],[660,"core::clone"],[661,"fastcrypto::groups"],[662,"fastcrypto::error"],[663,"serde::ser"],[664,"serde::de"],[665,"fastcrypto::traits"],[666,"core::result"],[667,"core::cmp"],[668,"core::fmt"],[669,"core::any"],[670,"fastcrypto::groups::bls12381"],[671,"alloc::vec"],[672,"fastcrypto::hash"],[673,"core::iter::traits::iterator"],[674,"core::borrow"]],"i":"```````````````````jA`AbAd32103210321032103210133333210321332211210321033210333033313210033321032103210321003210````BhClAfDn3210321321321321232133213322113210321103210023321232103210321032130321````BjD`BdEb3210321321321321232133213322113210321103210023321232103210321032130321`````````DbElEn1210210210210210221210122102211002102211012102210210210210210210``F`Ff101010101011001010110010100100001010101010010`Fj0000000000000000000000000000```FlFh1010101010101010110010101010101010101010```GdDd1010101010101011001010011000000110000100101010101````Ej000000000000000000Eh11111110111`Dh000000000000000000000`I`0`0``0HjHf222210Ib3``````````HnHl0Id2102121212121212211210211If313232321321321320321132","f":"```````````````````{{bd}f}000{b{{b{c}}}{}}000{{{b{h}}}{{b{hc}}}{}}000{{{b{{j{ce}}}}}{{j{ce}}}{ln}{ln}}{{{b{{A`{c}}}}}{{A`{c}}}{ln}}{{{b{{Ab{c}}}}}{{Ab{c}}}{ln}}{{{b{{Ad{ce}}}}}{{Ad{ce}}}{ln}{ln}}{{b{b{hc}}}f{}}000{bf}000`{{{b{{j{ce}}}}{b{{Af{ce}}}}{b{{Ah{{Ab{e}}}}}}{b{hg}}}{{Aj{{Ad{ce}}}}}{nAlAnB`}{nAnB`}Bb}{{{b{{j{ce}}}}{b{{Bd{ce}}}}{b{{Ah{{Ab{e}}}}}}{b{hg}}}{{Aj{{Ad{ce}}}}}{nAlAnB`}{nAnBfB`}Bb}{{{b{{j{ce}}}}{b{hg}}}{{Aj{{Bh{ce}}}}}{nAlAnB`}{nAnB`}Bb}{{{b{{j{ce}}}}{b{hg}}}{{Aj{{Bj{ce}}}}}{nAlAnB`}{nAnBfB`}Bb}{c{{Bl{{j{eg}}}}}Bn{C`n}{C`n}}{c{{Bl{{A`{e}}}}}Bn{C`n}}{c{{Bl{{Ab{e}}}}}Bn{C`n}}{c{{Bl{{Ad{eg}}}}}Bn{C`n}{C`n}}{{{b{{j{ce}}}}{b{{j{ce}}}}}Cb{Cdn}{Cdn}}{{{b{{A`{c}}}}{b{{A`{c}}}}}Cb{Cdn}}{{{b{{Ab{c}}}}{b{{Ab{c}}}}}Cb{Cdn}}{{b{b{c}}}Cb{}}00000{{{b{{A`{c}}}}{b{hCf}}}Ch{Cjn}}{{{b{{Ab{c}}}}{b{hCf}}}Ch{Cjn}}{{{b{{Ad{ce}}}}{b{hCf}}}Ch{Cjn}{Cjn}}{cc{}}000`{{}c{}}000{{{b{{j{ce}}}}{b{{Ah{{Cl{ce}}}}}}}{{Aj{{Cn{{Ab{e}}{Af{ce}}}}}}}{nAlAnB`}{nAnB`}}{{{b{{j{ce}}}}{b{{Ah{{D`{ce}}}}}}}{{Aj{{Cn{{Ab{e}}{Bd{ce}}}}}}}{nAlAnB`}{nAnBfB`}}{{{Db{c}}{Dd{c}}DfDh{b{he}}}{{Aj{{j{gc}}}}}{nAnB`}Bb{nAlAnB`}}`{{{b{{j{ce}}}}{Bh{ce}}{b{hg}}}{{Aj{{Cl{ce}}}}}{nAlAnB`}{nAnB`}Bb}{{{b{{j{ce}}}}{Bj{ce}}{b{hg}}}{{Aj{{D`{ce}}}}}{nAlAnB`}{nAnBfB`}Bb}``{{{b{{j{ce}}}}g}Bl{Ann}{Ann}Dj}{{{b{{A`{c}}}}e}Bl{Ann}Dj}{{{b{{Ab{c}}}}e}Bl{Ann}Dj}{{{b{{Ad{ce}}}}g}Bl{Ann}{Ann}Dj}`{{{b{{j{ce}}}}}Df{nAlAnB`}{nAnB`}}`{bc{}}000{c{{Bl{e}}}{}{}}000{{}{{Bl{c}}}{}}000{bDl}000`>>>>````{{bd}f}00{b{{b{c}}}{}}000{{{b{h}}}{{b{hc}}}{}}000{{{b{{Bh{ce}}}}}{{Bh{ce}}}{ln}{ln}}{{{b{{Cl{ce}}}}}{{Cl{ce}}}{ln}{ln}}{{{b{{Af{ce}}}}}{{Af{ce}}}{ln}{ln}}{{b{b{hc}}}f{}}00{bf}00`{c{{Bl{{Bh{eg}}}}}Bn{C`n}{C`n}}{c{{Bl{{Cl{eg}}}}}Bn{C`n}{C`n}}{c{{Bl{{Af{eg}}}}}Bn{C`n}{C`n}}`{{{b{{Bh{ce}}}}{b{{Bh{ce}}}}}Cb{Cdn}{Cdn}}{{{b{{Cl{ce}}}}{b{{Cl{ce}}}}}Cb{Cdn}{Cdn}}{{{b{{Af{ce}}}}{b{{Af{ce}}}}}Cb{Cdn}{Cdn}}{{b{b{c}}}Cb{}}00000{{{b{{Bh{ce}}}}{b{hCf}}}Ch{Cjn}{Cjn}}{{{b{{Cl{ce}}}}{b{hCf}}}Ch{Cjn}{Cjn}}{{{b{{Af{ce}}}}{b{hCf}}}Ch{Cjn}{Cjn}}{cc{}}000{{{b{{Ah{{Cl{ce}}}}}}}{{Af{ce}}}nn}{{}c{}}000{{{b{{Dn{ce}}}}}Cbnn}{{{b{{Dn{ce}}}}}E`nn}``{{{b{{Bh{ce}}}}g}Bl{Ann}{Ann}Dj}{{{b{{Cl{ce}}}}g}Bl{Ann}{Ann}Dj}{{{b{{Af{ce}}}}g}Bl{Ann}{Ann}Dj}`{bc{}}00{c{{Bl{e}}}{}{}}000{{}{{Bl{c}}}{}}000{bDl}000`9999````{{bd}f}00{b{{b{c}}}{}}000{{{b{h}}}{{b{hc}}}{}}000{{{b{{Bj{ce}}}}}{{Bj{ce}}}{ln}{ln}}{{{b{{D`{ce}}}}}{{D`{ce}}}{ln}{ln}}{{{b{{Bd{ce}}}}}{{Bd{ce}}}{ln}{ln}}{{b{b{hc}}}f{}}00{bf}00`{c{{Bl{{Bj{eg}}}}}Bn{C`n}{C`n}}{c{{Bl{{D`{eg}}}}}Bn{C`n}{C`n}}{c{{Bl{{Bd{eg}}}}}Bn{C`n}{C`n}}`{{{b{{Bj{ce}}}}{b{{Bj{ce}}}}}Cb{Cdn}{Cdn}}{{{b{{D`{ce}}}}{b{{D`{ce}}}}}Cb{Cdn}{Cdn}}{{{b{{Bd{ce}}}}{b{{Bd{ce}}}}}Cb{Cdn}{Cdn}}{{b{b{c}}}Cb{}}00000{{{b{{Bj{ce}}}}{b{hCf}}}Ch{Cjn}{Cjn}}{{{b{{D`{ce}}}}{b{hCf}}}Ch{Cjn}{Cjn}}{{{b{{Bd{ce}}}}{b{hCf}}}Ch{Cjn}{Cjn}}{cc{}}000{{{b{{Ah{{D`{ce}}}}}}}{{Bd{ce}}}nn}{{}c{}}000{{{b{{Eb{ce}}}}}Cbnn}{{{b{{Eb{ce}}}}}E`nn}``{{{b{{Bj{ce}}}}g}Bl{Ann}{Ann}Dj}{{{b{{D`{ce}}}}g}Bl{Ann}{Ann}Dj}{{{b{{Bd{ce}}}}g}Bl{Ann}{Ann}Dj}`{bc{}}00{c{{Bl{e}}}{}{}}000{{}{{Bl{c}}}{}}000{bDl}000`9999{{Df{b{{Ah{c}}}}{b{Ah}}{b{he}}}{{Aj{f}}}{nAl}Bb}{{{b{{Ah{Ed}}}}{b{{Ah{Ef}}}}{b{hc}}}{{Aj{f}}}Bb}{{{b{{Ah{{Cn{c}}}}}}{b{he}}}{{Aj{f}}}{nAl}Bb}{{{b{{Ah{Eh}}}}{b{{Ej{c}}}}{b{he}}}{{Aj{f}}}{nAl}Bb}{{{b{{Ah{{Cn{cc}}}}}}{b{he}}}{{Aj{f}}}{nAl}Bb}````{{bd}f}00{{{b{{El{c}}}}}{{b{c}}}{nAnB`}}{b{{b{c}}}{}}00{{{b{h}}}{{b{hc}}}{}}00{{{b{{Db{c}}}}}{{Db{c}}}{ln}}{{{b{{El{c}}}}}{{El{c}}}{ln}}{{{b{{En{c}}}}}{{En{c}}}{ln}}{{b{b{hc}}}f{}}00{bf}00{{{b{{Db{c}}}}{b{{F`{c}}}}{b{Dh}}{b{he}}}{{En{c}}}{nAn}Bb}{{{b{{Db{c}}}}{b{{F`{c}}}}}{{Fd{Fb}}}{nAn}}{{{b{{El{c}}}}{b{{En{c}}}}{b{Dh}}{b{{F`{c}}}}}{{Aj{{Fd{Fb}}}}}{nAnB`}}{c{{Bl{{Db{e}}}}}Bnn}{c{{Bl{{El{e}}}}}Bn{C`n}}{c{{Bl{{En{e}}}}}Bn{C`n}}{{{b{{Ah{Fb}}}}{b{c}}{b{c}}E`}{{F`{c}}}{nAnB`}}{{{b{h{Db{c}}}}}fn}{{{b{{Db{c}}}}{b{{Db{c}}}}}Cb{Cdn}}{{{b{{El{c}}}}{b{{El{c}}}}}Cb{Cdn}}{{{b{{En{c}}}}{b{{En{c}}}}}Cb{Cdn}}{{b{b{c}}}Cb{}}00000{{{b{{Db{c}}}}{b{hCf}}}Ch{Cjn}}{{{b{{El{c}}}}{b{hCf}}}Ch{Cjn}}{{{b{{En{c}}}}{b{hCf}}}Ch{Cjn}}{{}{{Db{c}}}{nAn}}{cc{}}{c{{El{c}}}n}11{{{b{{Db{c}}}}}{{El{c}}}{nAnB`}}{{}c{}}00{{{b{hc}}}{{Db{e}}}Bb{nAn}}{{{b{{Db{c}}}}e}BlnDj}{{{b{{El{c}}}}e}Bl{Ann}Dj}{{{b{{En{c}}}}e}Bl{Ann}Dj}{bc{}}00{c{{Bl{e}}}{}{}}00{{}{{Bl{c}}}{}}00{bDl}00888``{{bd}f}0{b{{b{c}}}{}}0{{{b{h}}}{{b{hc}}}{}}0{{{b{{F`{c}}}}}{{F`{c}}}{ln}}{{{b{{Ff{c}}}}}{{Ff{c}}}{ln}}{{b{b{hc}}}f{}}0{bf}0{{{b{{F`{c}}}}{b{c}}}{{Fd{Fb}}}{nAn}}{c{{Bl{{F`{e}}}}}Bn{C`n}}{c{{Bl{{Ff{e}}}}}Bn{C`n}}{{{b{{Ah{{Cn{{El{c}}{Fd{Fb}}}}}}}}{b{Dh}}{b{he}}}{{Ff{c}}}{nAn}Bb}{{{b{{F`{c}}}}}{{b{c}}}{nAn}}{{{b{{Ff{c}}}}}{{b{c}}}{nAn}}{{{b{{F`{c}}}}{b{{F`{c}}}}}Cb{Cdn}}{{{b{{Ff{c}}}}{b{{Ff{c}}}}}Cb{Cdn}}{{b{b{c}}}Cb{}}000{{{b{{F`{c}}}}{b{hCf}}}Ch{Cjn}}{{{b{{Ff{c}}}}{b{hCf}}}Ch{Cjn}}{cc{}}0{{{b{{Ff{c}}}}E`}{{Aj{{F`{c}}}}}{nAn}}{{}c{}}0{{{b{{Ff{c}}}}}Cb{nAn}}{{{b{{Ff{c}}}}}E`{nAn}}{{{b{{Ff{c}}}}}{{b{{Fh{c}}}}}{nAn}}{{{b{{F`{c}}}}e}Bl{Ann}Dj}{{{b{{Ff{c}}}}e}Bl{Ann}Dj}{bc{}}0{c{{Bl{e}}}{}{}}0{{}{{Bl{c}}}{}}0{bDl}0{{{b{{Ff{c}}}}{b{Dh}}}{{Aj{f}}}{nAn}}::`{{bd}f}{b{{b{c}}}{}}{{{b{h}}}{{b{hc}}}{}}{{{b{{Fj{c}}}}}{{Fj{c}}}{ln}}{{b{b{hc}}}f{}}{bf}{{{b{{Fj{c}}}}{b{{Db{c}}}}{b{Dh}}{b{he}}}{{En{c}}}{BfnAn}Bb}{{{b{{Fj{c}}}}{b{{Db{c}}}}{b{Dh}}E`}{{Fd{Fb}}}{BfnAn}}{{{b{{Fj{c}}}}{b{{En{c}}}}{b{Dh}}{b{Dh}}{b{{El{c}}}}E`}{{Aj{{Fd{Fb}}}}}{BfnAn}}{c{{Bl{{Fj{e}}}}}Bn{C`n}}{{{b{{Ah{{Cn{{El{c}}{Fd{Fb}}}}}}}}{b{Dh}}{b{he}}}{{Fj{c}}}{BfnAn}Bb}{{{b{{Fj{c}}}}}{{b{c}}}{BfnAn}}{{{b{{Fj{c}}}}{b{{Fj{c}}}}}Cb{Cdn}}{{b{b{c}}}Cb{}}0{{{b{{Fj{c}}}}{b{hCf}}}Ch{Cjn}}{cc{}}{{}c{}}{{{b{{Fj{c}}}}}Cb{BfnAn}}{{{b{{Fj{c}}}}}E`{BfnAn}}{{{b{{Fj{c}}}}}{{b{{Fl{c}}}}}{BfnAn}}`{{{b{{Fj{c}}}}e}Bl{Ann}Dj}{bc{}}{c{{Bl{e}}}{}{}}{{}{{Bl{c}}}{}}{bDl}{{{b{{Fj{c}}}}{b{Dh}}}{{Aj{f}}}{BfnAn}}9{{{Dd{c}}FnG`Gb}{{Ad{ec}}}{nAn}{nAn}}``{{bd}f}0{b{{b{c}}}{}}0{{{b{h}}}{{b{hc}}}{}}0{{{b{{Fl{c}}}}}{{Fl{c}}}{ln}}{{{b{{Fh{c}}}}}{{Fh{c}}}{ln}}{{b{b{hc}}}f{}}0{bf}0{{b{b{c}}{b{c}}{b{c}}{b{Dh}}{b{he}}}{{Fl{c}}}{nAn}Bb}{{b{b{c}}{b{{Ah{Fb}}}}{b{Dh}}{b{he}}}{{Fh{c}}}{nAn}Bb}{c{{Bl{{Fl{e}}}}}Bn{nC`}}{c{{Bl{{Fh{e}}}}}Bn{nC`}}{{{b{{Fl{c}}}}{b{{Fl{c}}}}}Cb{Cdn}}{{{b{{Fh{c}}}}{b{{Fh{c}}}}}Cb{Cdn}}{{b{b{c}}}Cb{}}000{{{b{{Fl{c}}}}{b{hCf}}}Ch{Cjn}}{{{b{{Fh{c}}}}{b{hCf}}}Ch{Cjn}}{cc{}}0{{}c{}}0{{{b{{Fl{c}}}}e}Bl{Ann}Dj}{{{b{{Fh{c}}}}e}Bl{Ann}Dj}{bc{}}0{c{{Bl{e}}}{}{}}0{{}{{Bl{c}}}{}}0{bDl}0{{{b{{Fl{c}}}}{b{c}}{b{c}}{b{c}}{b{Dh}}}{{Aj{f}}}{nAn}}{{{b{{Fh{c}}}}{b{c}}{b{{Ah{Fb}}}}{b{Dh}}}{{Aj{f}}}{nAn}}88```{{bd}f}0{b{{b{c}}}{}}0{{{b{h}}}{{b{hc}}}{}}0{{{b{{Gd{c}}}}}{{Gd{c}}}{ln}}{{{b{{Dd{c}}}}}{{Dd{c}}}{ln}}{{b{b{hc}}}f{}}0{bf}0{c{{Bl{{Gd{e}}}}}Bn{C`n}}{c{{Bl{{Dd{e}}}}}Bn{C`n}}{{{b{{Gd{c}}}}{b{{Gd{c}}}}}Cb{Cdn}}{{{b{{Dd{c}}}}{b{{Dd{c}}}}}Cb{Cdn}}{{b{b{c}}}Cb{}}000{{{b{{Gd{c}}}}{b{hCf}}}Ch{Cjn}}{{{b{{Dd{c}}}}{b{hCf}}}Ch{Cjn}}{cc{}}0{{{b{{Dd{c}}}}}Gf{nAn}}`{{}c{}}0{{{b{{Dd{c}}}}}{{`{{Gj{}{{Gh{{b{{Gd{c}}}}}}}}}}}{nAn}}{{{Fd{{Gd{c}}}}}{{Aj{{Dd{c}}}}}{nAn}}{{{Fd{{Gd{c}}}}DfDfDf}{{Aj{{Cn{{Dd{c}}Df}}}}}{nAn}}{{{b{{Dd{c}}}}Gb}{{Aj{{b{{Gd{c}}}}}}}{nAn}}{{{b{{Dd{c}}}}}E`{nAn}}`{{{b{{Gd{c}}}}e}Bl{Ann}Dj}{{{b{{Dd{c}}}}e}Bl{Ann}Dj}{{{b{{Dd{c}}}}{b{Gl}}}{{Aj{{b{{Gd{c}}}}}}}{nAn}}{{{b{{Dd{c}}}}}{{`{{Gj{}{{Gh{Gl}}}}}}}{nAn}}{{{b{{Dd{c}}}}Gb}{{Aj{{Fd{Gl}}}}}{nAn}}{bc{}}0{{{b{{Dd{c}}}}}Df{nAn}}{c{{Bl{e}}}{}{}}0{{}{{Bl{c}}}{}}0{bDl}0??`````{{bd}f}{{{b{h{Ej{c}}}}{b{{Ej{c}}}}}fn}{{{b{{Ej{c}}}}}{{b{{Fd{c}}}}}n}{b{{b{c}}}{}}{{{b{h}}}{{b{hc}}}{}}{{{b{{Ej{c}}}}}{{b{c}}}n}{{{b{{Ej{c}}}}}{{Ej{c}}}l}{{b{b{hc}}}f{}}{bf}{{{b{{Ej{c}}}}}{{Ej{e}}}Gn{{n{}{{H`{c}}}}}}{{{b{{Ej{c}}}}}E`{}}{c{{Bl{{Ej{e}}}}}BnC`}{{{b{{Ej{c}}}}{b{{Ej{c}}}}}CbCd}{{b{b{c}}}Cb{}}0{{{b{{Ej{c}}}}Gl}{{Eh{c}}}n}{{{b{{Ej{c}}}}{b{hCf}}}ChCj}{cc{}}{{{Fd{c}}}{{Ej{c}}}{}}`{{}c{}}{{Df{b{hc}}}{{Ej{e}}}BbGn}{{{b{{Ej{c}}}}e}BlAnDj}{bc{}}{c{{Bl{e}}}{}{}}{{}{{Bl{c}}}{}}{bDl}`{{{b{{Ej{c}}}}Glb}{{Aj{f}}}n}7{{}{{Ej{c}}}n}`{{bd}f}{b{{b{c}}}{}}{{{b{h}}}{{b{hc}}}{}}{{{b{Dh}}}Dh}{{b{b{hc}}}f{}}{bf}{c{{Bl{Dh}}}Bn}{{{b{Dh}}{b{Dh}}}Cb}{{b{b{c}}}Cb{}}0{{{b{Dh}}{b{c}}}{{Hb{Fb}}}An}{{{b{Dh}}{b{Hd}}}Dh}{{{b{Dh}}{b{hCf}}}Ch}{cc{}}{{}c{}}{{{b{Hd}}}Dh}{{{b{Dh}}c}BlDj}{bc{}}{c{{Bl{e}}}{}{}}{{}{{Bl{c}}}{}}{bDl}6```````{{Dfg}{{Aj{c}}}{}{{Hh{{Hf{c}}}}}{{Gj{}{{Gh{e}}}}l}}``{{{b{{Hj{c}}}}{b{{Ah{Fb}}}}}{{Hf{e}}}{}{}}{{g{b{{Ah{Fb}}}}}{{Fd{{Hf{i}}}}}{}{{Hh{{Hj{c}}}}}{{Gj{}{{Gh{e}}}}}{}}{{{b{{Ej{c}}}}{b{{Ah{Fb}}}}{b{{Hf{e}}}}}{{Aj{f}}}{}{}}{{{b{{Ej{c}}}}{b{{Ah{Fb}}}}i{b{hk}}}{{Aj{f}}}{}{}{{Hh{{Hf{e}}}}}{{Gj{}{{Gh{g}}}}}Bb}```{{{b{c}}{b{{Ah{Fb}}}}{b{e}}}{{Aj{f}}}{}{}}``````````{{bd}f}0{{{Hl{c}}{b{{Ah{Gl}}}}}{{Aj{{Fd{{Hn{c}}}}}}}{}}{b{{b{c}}}{}}00{{{b{h}}}{{b{hc}}}{}}00{{{b{{Hn{c}}}}}{{Hn{c}}}l}{{{b{{Hl{c}}}}}{{Hl{c}}}l}{{b{b{hc}}}f{}}0{bf}0{c{{Bl{{Hn{e}}}}}BnC`}{c{{Bl{{Hl{e}}}}}BnC`}{{{b{{Hn{c}}}}{b{{Hn{c}}}}}CbCd}{{{b{{Hl{c}}}}{b{{Hl{c}}}}}CbCd}{{b{b{c}}}Cb{}}000{{{b{{Hn{c}}}}{b{hCf}}}ChCj}{{{b{{Hl{c}}}}{b{hCf}}}ChCj}{cc{}}0{{{Fd{{Hn{c}}}}}{{Hl{c}}}{}}1``{{}c{}}00{{{b{{Hn{c}}}}e}BlAnDj}{{{b{{Hl{c}}}}e}BlAnDj}{bc{}}0{c{{Bl{e}}}{}{}}00{{}{{Bl{c}}}{}}00{bDl}00```{{{b{c}}{b{{Ah{Fb}}}}{b{e}}}{{Aj{f}}}{}{}}777","D":"AAf","p":[[1,"reference"],[5,"Private",659],[1,"unit"],[0,"mut"],[5,"Party",14],[10,"Clone",660],[10,"GroupElement",661],[5,"Complaint",14],[5,"Confirmation",14],[5,"Output",14],[5,"UsedProcessedMessages",109],[1,"slice"],[8,"FastCryptoResult",662],[10,"MultiScalarMul",661],[10,"Serialize",663],[10,"DeserializeOwned",664],[10,"AllowedRng",665],[5,"UsedProcessedMessages",187],[10,"HashToGroupElement",661],[5,"Message",109],[5,"Message",187],[6,"Result",666],[10,"Deserializer",664],[10,"Deserialize",664],[1,"bool"],[10,"PartialEq",667],[5,"Formatter",668],[8,"Result",668],[10,"Debug",668],[5,"ProcessedMessage",109],[1,"tuple"],[5,"ProcessedMessage",187],[5,"PrivateKey",270],[5,"Nodes",465],[1,"u16"],[5,"RandomOracle",554],[10,"Serializer",663],[5,"TypeId",669],[5,"VerifiedProcessedMessages",109],[1,"usize"],[5,"VerifiedProcessedMessages",187],[5,"G1Element",670],[5,"G2Element",670],[8,"Eval",519],[5,"Poly",519],[5,"PublicKey",270],[5,"RecoveryPackage",270],[5,"Encryption",341],[1,"u8"],[5,"Vec",671],[5,"MultiRecipientEncryption",341],[5,"DLNizk",421],[5,"MultiRecipientEncryption",390],[5,"DdhTupleNizk",421],[1,"u32"],[1,"u128"],[8,"PartyId",465],[5,"Node",465],[5,"Digest",672],[17,"Item"],[10,"Iterator",673],[8,"ShareIndex",595],[10,"Scalar",661],[17,"ScalarType"],[1,"array"],[1,"str"],[8,"PartialSignature",577],[10,"Borrow",674],[8,"Share",577],[5,"UnindexedValues",595],[5,"IndexedValue",595],[10,"ThresholdBls",577],[8,"UnindexedPartialSignatures",577],[5,"ThresholdBls12381MinSig",595],[8,"Share",595]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAAgCPgABAA0AEQAAABQAFwAxAA8ARQAAAE0AAABQAAYAWAAVAHIAFwCLAAsAmwAAAKAABgCoAA4AuAADAMAAFwDZAAsA6QAAAO4ABgD2AA4ABgEDAA8BAgATAScAPAEAAD8BAABDARIAWAEZAHQBAAB3AQ8AiAEFAJABBwCaAQoAqAELALYBCQDEAQkAzwECANQBFgDtAQEA9AEAAPYBAgD8AQEA/wEIAAoCAwAPAgEAEgICABcCAwAcAgAAHgIBACICBQApAgAALAIJADgCAAA8AgcARQIAAEgCAABKAgEAUAICAFUCAwBbAgAAXgIYAHkCAAB7AgEAgAITAA=="}],["fastcrypto_vdf",{"t":"CCCCFNONNNONNONNNNNCNNNNNNNNNNNNNNNNNNNNFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCCCHHRKMMFNNNNNNNNNNNNNNNNCNNNNNNNNNFNNNNNNNNNNNNNNNRRRKMCMCSFNNNNNNNNNNNSIFNNNNNNNNNNN","n":["class_group","math","rsa_group","vdf","QuadraticForm","__clone_box","a","add","","","b","borrow","borrow_mut","c","clone","clone_into","clone_to_uninit","compose","deserialize","discriminant","","double","eq","equivalent","","fmt","from","from_a_b_and_discriminant","generator","hash_to_group_with_default_parameters","into","is_in_group","neg","serialize","to_owned","try_from","try_into","type_id","vzip","zero","DISCRIMINANT_3072","Discriminant","__clone_box","bits","borrow","","borrow_mut","","clone","clone_into","clone_to_uninit","deref","deserialize","eq","equivalent","","fmt","from","","from_seed","into","","serialize","to_owned","try_from","","","try_into","","type_id","","vzip","","hash_prime","jacobi","parameterized_group","is_probable_prime","jacobi","ParameterType","ParameterizedGroupElement","is_in_group","zero","RSAGroupElement","__clone_box","add","borrow","borrow_mut","clone","clone_into","clone_to_uninit","double","eq","equivalent","","fmt","from","from_seed","into","is_in_group","modulus","new","serialize","to_owned","try_from","try_into","type_id","value","vzip","zero","RSAModulus","borrow","borrow_mut","eq","equivalent","","fmt","from","","from_str","into","serialize","try_from","try_into","type_id","vzip","InputType","OutputType","ProofType","VDF","evaluate","pietrzak","verify","wesolowski","DEFAULT_CHALLENGE_SIZE_IN_BYTES","PietrzaksVDF","borrow","borrow_mut","evaluate","from","into","new","try_from","try_into","type_id","verify","vzip","DEFAULT_CHALLENGE_SIZE_IN_BYTES","DefaultVDF","WesolowskisVDF","borrow","borrow_mut","evaluate","from","into","new","try_from","try_into","type_id","verify","vzip"],"q":[[0,"fastcrypto_vdf"],[4,"fastcrypto_vdf::class_group"],[40,"fastcrypto_vdf::class_group::discriminant"],[73,"fastcrypto_vdf::math"],[76,"fastcrypto_vdf::math::hash_prime"],[77,"fastcrypto_vdf::math::jacobi"],[78,"fastcrypto_vdf::math::parameterized_group"],[82,"fastcrypto_vdf::rsa_group"],[109,"fastcrypto_vdf::rsa_group::modulus"],[125,"fastcrypto_vdf::vdf"],[133,"fastcrypto_vdf::vdf::pietrzak"],[146,"fastcrypto_vdf::vdf::wesolowski"],[160,"dyn_clone::sealed"],[161,"core::result"],[162,"serde::de"],[163,"num_bigint::bigint"],[164,"core::fmt"],[165,"fastcrypto::error"],[166,"serde::ser"],[167,"core::any"],[168,"num_bigint::biguint"],[169,"alloc::vec"],[170,"fastcrypto::groups::multiplier"]],"i":"`````h0000000000000`00000000000000000000``Ah00Bf101110111111011011110101010`````C``00`Cd000000000000000`000000000`Ch00000000000000Db00`0`0```Df0000000000```Dj0000000000","f":"`````{{bd}f}`{{{b{h}}{b{h}}}c{}}{{hh}c{}}{{h{b{h}}}c{}}`{b{{b{c}}}{}}{{{b{j}}}{{b{jc}}}{}}`{{{b{h}}}h}{{b{b{jc}}}f{}}{bf}{{{b{h}}{b{h}}}h}{c{{l{h}}}n}`{{{b{h}}}A`}{hh}{{{b{h}}{b{h}}}Ab}{{b{b{c}}}Ab{}}0{{{b{h}}{b{jAd}}}Af}{cc{}}{{A`A`{b{Ah}}}{{Aj{h}}}}{{{b{Ah}}}h}{{{b{{An{Al}}}}{b{Ah}}}{{Aj{h}}}}{{}c{}}{{{b{h}}{b{Ah}}}Ab}{hc{}}{{{b{h}}c}lB`}{bc{}}{c{{l{e}}}{}{}}{{}{{l{c}}}{}}{bBb}7{{{b{c}}}h{}}``{{bd}f}{{{b{Ah}}}Bd}{b{{b{c}}}{}}0{{{b{j}}}{{b{jc}}}{}}0{{{b{Ah}}}Ah}{{b{b{jc}}}f{}}{bf}{{{b{Bf}}}{{b{Ah}}}}{c{{l{Ah}}}n}{{{b{Ah}}{b{Ah}}}Ab}{{b{b{c}}}Ab{}}0{{{b{Ah}}{b{jAd}}}Af}{cc{}}0{{{b{{An{Al}}}}Bh}{{Aj{Ah}}}}{{}c{}}0{{{b{Ah}}c}lB`}{bc{}}{c{{l{e}}}{}{}}{A`{{Aj{Ah}}}}1{{}{{l{c}}}{}}0{bBb}066```{{{b{Bj}}}Ab}{{{b{A`}}{b{A`}}}{{Aj{Bl}}}}``{{{b{{C`{}{{Bn{c}}}}}}{b{c}}}AbCb}{{{b{c}}}{{C`{}{{Bn{c}}}}}Cb}`{{bd}f}{{Cd{b{Cd}}}c{}}{b{{b{c}}}{}}{{{b{j}}}{{b{jc}}}{}}{{{b{Cd}}}Cd}{{b{b{jc}}}f{}}{bf}{CdCd}{{{b{Cd}}{b{Cd}}}Ab}{{b{b{c}}}Ab{}}0{{{b{Cd}}{b{jAd}}}Af}{cc{}}{{{Cf{Al}}{b{Ch}}}Cd}{{}c{}}{{{b{Cd}}{b{c}}}Ab{}}`{{Bj{b{Ch}}}Cd}{{{b{Cd}}c}lB`}{bc{}}{c{{l{e}}}{}{}}{{}{{l{c}}}{}}{bBb}{{{b{Cd}}}{{b{Bj}}}}8{{{b{c}}}Cd{}}`{b{{b{c}}}{}}{{{b{j}}}{{b{jc}}}{}}{{{b{Ch}}{b{Ch}}}Ab}{{b{b{c}}}Ab{}}0{{{b{Ch}}{b{jAd}}}Af}{BjCh}{cc{}}{{{b{Cj}}}{{l{Chc}}}{}}{{}c{}}{{{b{Ch}}c}lB`}>=<1````{{{b{{Db{}{{Cl{c}}{Cn{e}}{D`{g}}}}}}{b{c}}}{{Aj{{Dd{eg}}}}}{}{}{}}`{{{b{{Db{}{{Cl{c}}{Cn{e}}{D`{g}}}}}}{b{c}}{b{e}}{b{g}}}{{Aj{f}}}{}{}{}}```;:{{{b{{Df{c}}}}{b{c}}}{{Aj{{Dd{c{Dh{c}}}}}}}{C`Cb}}64{Bd{{Df{c}}}C`}{c{{l{e}}}{}{}}{{}{{l{c}}}{}}{bBb}{{{b{{Df{c}}}}{b{c}}{b{c}}{b{{Dh{c}}}}}{{Aj{f}}}{C`Cb}}9```{b{{b{c}}}{}}{{{b{j}}}{{b{jc}}}{}}{{{b{{Dj{ce}}}}{b{c}}}{{Aj{{Dd{cc}}}}}C`{{Dl{cBj}}}}><{Bd{{Dj{ce}}}C`{{Dl{cBj}}}}765{{{b{{Dj{ce}}}}{b{c}}{b{c}}{b{c}}}{{Aj{f}}}C`{{Dl{cBj}}}}>","D":"Fl","p":[[1,"reference"],[5,"Private",160],[1,"unit"],[5,"QuadraticForm",4],[0,"mut"],[6,"Result",161],[10,"Deserializer",162],[5,"BigInt",163],[1,"bool"],[5,"Formatter",164],[8,"Result",164],[5,"Discriminant",40],[8,"FastCryptoResult",165],[1,"u8"],[1,"slice"],[10,"Serializer",166],[5,"TypeId",167],[1,"u64"],[5,"DISCRIMINANT_3072",40],[1,"usize"],[5,"BigUint",168],[1,"i8"],[17,"ParameterType"],[10,"ParameterizedGroupElement",78],[10,"Serialize",166],[5,"RSAGroupElement",82],[1,"array"],[5,"RSAModulus",109],[1,"str"],[17,"InputType"],[17,"OutputType"],[17,"ProofType"],[10,"VDF",125],[1,"tuple"],[5,"PietrzaksVDF",133],[5,"Vec",169],[5,"WesolowskisVDF",146],[10,"ScalarMultiplier",170]],"r":[],"b":[[7,"impl-Add%3C%26QuadraticForm%3E-for-%26QuadraticForm"],[8,"impl-Add-for-QuadraticForm"],[9,"impl-Add%3C%26QuadraticForm%3E-for-QuadraticForm"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAGoAFgAAAAAAAgABAAYACwATAAAAFgAEACAACAArAAAALQAMAD8AAgBDAAYASwABAFQACwBjAAEAZgAEAGwACAB5AAQAgwAAAIUAAACIAAIAjgAEAJYAAgCcAAQA"}],["fastcrypto_zkp",{"t":"FFNNNNNNNNNNNNNNNCCNNNNNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCIIICHHFFFNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNNNNNNNNNNNCCNNNCCSHHHSSHHHFFNNNNNNNNNNHHHHHHHHNNONHNNNNNNNNFNONNNNNONNNNNNNNONNNNNNNONPPPIIKYKYFPPPPFFFFPPPGPPFPPPKPFFFNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMONNNNNNNNNNNNNNNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHNNNNNNNNNNNOONNNNOOOONNNHNNNNNNNNNNNNNNNMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNIIKYKYPPKGNNNNNNNNNNNNNMNNNNNNNNNNNMMMNNNNNHHHHNFFNOONNNNNNNNNNNNNNNNOONNNNNNNNNFFFCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNKKMMHMHFFIINNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN","n":["Fr","FrRepr","__clone_box","","add","","add_assign","","as_bits","as_byte_slice","as_mut","as_mut_bits","as_mut_byte_slice","as_mut_slice_of","as_ref","as_slice_of","base32_len","bls12381","bn254","borrow","","borrow_mut","","check_base32","clone","","clone_into","","clone_to_uninit","","cmp","conditional_select","ct_eq","","default","","double","dummy_circuits","encode_hex","encode_hex_upper","eq","","equivalent","","","","fmt","","from","","","","","from_repr","from_repr_vartime","groth16","into","","invert","is_odd","is_zero_vartime","mul","","mul_assign","","neg","partial_cmp","product","random","sqrt","sqrt_ratio","square","sub","","sub_assign","","sum","to_owned","","to_repr","try_as_bits","try_as_mut_bits","try_from","","try_into","","type_id","","vzip","","write_base32","zk_login_utils","PreparedVerifyingKey","Proof","VerifyingKey","api","prepare_pvk_bytes","verify_groth16_in_bytes","FieldElement","Proof","VerifyingKey","__clone_box","api","borrow","","","borrow_mut","","","clone","clone_into","clone_to_uninit","deserialize","","eq","equivalent","","fmt","","","","from","","","","","","from_str","into","","","poseidon","to_owned","to_string","try_from","","","try_into","","","type_id","","","utils","verifier","vzip","","","zk_login","zk_login_api","SCALAR_SIZE","prepare_pvk_bytes","verify_groth16","verify_groth16_in_bytes","FIELD_ELEMENT_SIZE_IN_BYTES","MERKLE_TREE_DEGREE","poseidon","poseidon_bytes","poseidon_merkle_tree","GetSaltResponse","TestIssuerJWTResponse","borrow","","borrow_mut","","deserialize","","fmt","","from","","gen_address_seed","get_nonce","get_oidc_url","get_proof","get_salt","get_test_issuer_jwt_token","get_token_exchange_url","get_zk_login_address","into","","jwt","serialize","split_to_two_frs","try_from","","try_into","","type_id","","vzip","","PreparedVerifyingKey","__clone_box","alpha_g1_beta_g2","borrow","borrow_mut","clone","clone_into","clone_to_uninit","delta_g2_neg_pc","deserialize","eq","equivalent","","fmt","from","","","gamma_g2_neg_pc","into","serialize","to_owned","try_from","try_into","type_id","verify","vk_gamma_abc_g1","vzip","Apple","Arden","AwsTenant","Bn254","Bn254Fr","CanonicalDeserialize","","CanonicalSerialize","","Claim","Credenza3","Facebook","FanTV","Google","JWK","JWKReader","JWTDetails","JwkId","Kakao","KarrierOne","Microsoft","OIDCProvider","Onefc","Playtron","ProviderConfig","Slack","TestIssuer","Threedos","ToConstraintField","Twitch","ZkLoginInputs","ZkLoginInputsReader","ZkLoginProof","__clone_box","","","","","","","","alg","as_arkworks","borrow","","","","","","","","","","borrow_mut","","","","","","","","","","calculate_all_inputs_hash","clone","","","","","","","","clone_into","","","","","","","","clone_to_uninit","","","","","","","","cmp","","compressed_size","default","deserialize","","","","","","","deserialize_compressed","deserialize_compressed_unchecked","deserialize_uncompressed","deserialize_uncompressed_unchecked","deserialize_with_mode","e","eq","","","","","equivalent","","","","","","","","","","fetch_jwks","fmt","","","","","","","","","","from","","","","","","","","","","from_iss","from_json","","from_reader","","from_str","get_address_seed","get_config","get_iss","get_kid","get_proof","hash","","","hash_ascii_str_to_field","init","into","","","","","","","","","","iss","","json_schema","","","","jwk_endpoint","kid","kty","n","new","","","parse_jwks","partial_cmp","","schema_name","","","","serialize","","","","","","","serialize_compressed","serialize_uncompressed","serialize_with_mode","serialized_size","to_field_elements","to_owned","","","","","","","","to_string","try_from","","","","","","","","","","try_into","","","","","","","","","","type_id","","","","","","","","","","uncompressed_size","vzip","","","","","","","","","","Bn254","Bn254Fr","CanonicalDeserialize","","CanonicalSerialize","","Prod","Test","ToConstraintField","ZkLoginEnv","__clone_box","borrow","borrow_mut","clone","clone_into","clone_to_uninit","compressed_size","default","deserialize","deserialize_compressed","deserialize_compressed_unchecked","deserialize_uncompressed","deserialize_uncompressed_unchecked","deserialize_with_mode","eq","equivalent","","fmt","from","","","into","serialize","serialize_compressed","serialize_uncompressed","serialize_with_mode","serialized_size","to_field_elements","to_owned","try_from","try_into","type_id","uncompressed_size","verify_zk_login","verify_zk_login_id","verify_zk_login_iss","verify_zk_login_proof_with_fixed_vk","vzip","DummyCircuit","Fibonacci","__clone_box","a","b","borrow","","borrow_mut","","clone","clone_into","clone_to_uninit","fmt","","from","","generate_constraints","","into","","new","num_constraints","num_variables","to_owned","try_from","","try_into","","type_id","","vzip","","PreparedVerifyingKey","Proof","VerifyingKey","api","borrow","","","borrow_mut","","","deserialize","deserialize_from_parts","fmt","","from","","","","from_arkworks_format","into","","","prepare_inputs","serialize_into_parts","try_from","","","try_into","","","type_id","","","verify","verify_with_prepared_inputs","vzip","","","FromLittleEndianByteArray","GTSerialize","from_arkworks_bytes","from_little_endian_byte_array","prepare_pvk_bytes","to_arkworks_bytes","verify_groth16_in_bytes","Bn254FqElement","Bn254FrElement","CircomG1","CircomG2","__clone_box","","borrow","","borrow_mut","","clone","","clone_into","","clone_to_uninit","","deserialize","","eq","","equivalent","","","","fmt","","","","from","","from_str","","into","","json_schema","","padded","schema_name","","serialize","","to_owned","","to_string","","try_from","","try_into","","type_id","","unpadded","vzip",""],"q":[[0,"fastcrypto_zkp"],[92,"fastcrypto_zkp::bls12381"],[96,"fastcrypto_zkp::bls12381::api"],[98,"fastcrypto_zkp::bn254"],[150,"fastcrypto_zkp::bn254::api"],[154,"fastcrypto_zkp::bn254::poseidon"],[159,"fastcrypto_zkp::bn254::utils"],[192,"fastcrypto_zkp::bn254::verifier"],[219,"fastcrypto_zkp::bn254::zk_login"],[468,"fastcrypto_zkp::bn254::zk_login_api"],[516,"fastcrypto_zkp::dummy_circuits"],[548,"fastcrypto_zkp::groth16"],[586,"fastcrypto_zkp::groth16::api"],[593,"fastcrypto_zkp::zk_login_utils"],[647,"dyn_clone::sealed"],[648,"bitvec::slice"],[649,"bitvec::order"],[650,"byte_slice_cast"],[651,"core::result"],[652,"bech32"],[653,"alloc::vec"],[654,"core::cmp"],[655,"subtle"],[656,"core::iter::traits::collect"],[657,"core::fmt"],[658,"core::option"],[659,"core::borrow"],[660,"core::iter::traits::iterator"],[661,"rand_core"],[662,"bitvec::ptr::span"],[663,"core::any"],[664,"fastcrypto::error"],[665,"ark_bn254::curves"],[666,"ark_groth16::data_structures"],[667,"alloc::string"],[668,"serde::de"],[669,"reqwest::async_impl::client"],[670,"serde::ser"],[671,"ark_serialize"],[672,"ark_serialize::error"],[673,"ark_std::io"],[674,"core::hash"],[675,"schemars::gen"],[676,"schemars::schema"],[677,"ark_ff::to_field_vec"],[678,"ark_ff::fields"],[679,"im::hash::map"],[680,"core::clone"],[681,"ark_ff::fields::prime"],[682,"ark_relations::r1cs::constraint_system"],[683,"ark_relations::r1cs::error"],[684,"fastcrypto::groups"],[685,"fastcrypto::serde_helpers"],[686,"ark_serialize_derive"]],"i":"``Adh0000111111111``101011010100010100`11101100101110000`10000000000000000000010011101010101``````````Dh`0DjDn2102221022222102211002210`22210210210``210`````````````F`Fd10101010````````1000`10101010`El0000000000000000000000000Ff00```````0000````000`00`000`0```Gd1GfGhGjGbFhG`506Hj86Gn654328197065432489765432897654328976543287Gl69817543H`00009:;987::;;998877`:3;9287654:3;9287654;6496;6;666:;9`6:3;9287654:386543:99:37`:98654:9286541111Id;<:98765<;4<:398765;4<:398765;4<:3987652;4<:398765``````Ih0``000000300222220000E`01114444211114````1``Il000Jd1011110101010011110101010````K`JjKd2101210221002102221021021022210``KhKj`1`````KlFl101010101010101100110010101010010101010101010010","f":"``{{bd}f}0{{h{b{h}}}h}{{hh}h}{{{b{jh}}h}f}{{{b{jh}}{b{h}}}f}{b{{b{{l{ce}}}}}{}n}{b{{b{{Ab{A`}}}}}}{{{b{jAd}}}{{b{j{Ab{A`}}}}}}{{{b{j}}}{{b{j{l{ce}}}}}{}n}{{{b{j}}}{{b{j{Ab{A`}}}}}}{{{b{j}}}{{Ah{{b{j{Ab{c}}}}Af}}}Aj}{{{b{Ad}}}{{b{{Ab{A`}}}}}}{b{{Ah{{b{{Ab{c}}}}Af}}}Aj}{bAl}``{b{{b{c}}}{}}0{{{b{j}}}{{b{jc}}}{}}0{{}{{Ah{{B`{An}}}}}}{{{b{Ad}}}Ad}{{{b{h}}}h}{{b{b{jc}}}f{}}0{bf}0{{{b{h}}{b{h}}}Bb}{{{b{h}}{b{h}}Bd}h}{{{b{Ad}}{b{Ad}}}Bd}{{{b{h}}{b{h}}}Bd}{{}Ad}{{}h}8`{bc{{Bh{Bf}}}}0{{{b{Ad}}{b{Ad}}}Bj}{{{b{h}}{b{h}}}Bj}{{b{b{c}}}Bj{}}000{{{b{Ad}}{b{jBl}}}Bn}{{{b{h}}{b{jBl}}}Bn}{{{b{h}}}Ad}{cc{}}{hAd}1{C`h}{Ad{{Cb{h}}}}{Ad{{Cd{h}}}}`{{}c{}}0{{{b{h}}}{{Cb{h}}}}{{{b{h}}}Bd}{{{b{h}}}Bj}{{hh}h}{{h{b{h}}}h}{{{b{jh}}h}f}{{{b{jh}}{b{h}}}f}{hh}{{{b{h}}{b{h}}}{{Cd{Bb}}}}{eh{{Cf{h}}}{{Cj{}{{Ch{c}}}}}}{chCl}:{{{b{h}}{b{h}}}{{Cn{Bdh}}}}{{{b{h}}}h}98673{bc{}}0{{{b{h}}}Ad}{b{{Ah{{b{{l{ce}}}}{D`{c}}}}}{}n}{{{b{j}}}{{Ah{{b{j{l{ce}}}}{D`{c}}}}}{}n}{c{{Ah{e}}}{}{}}0{{}{{Ah{c}}}{}}0{bDb}0{{}c{}}0{{b{b{jc}}}{{Ah{f}}}Dd}`````{{{b{{Ab{A`}}}}}{{Ah{{B`{{B`{A`}}}}Df}}}}{{{b{{Ab{A`}}}}{b{{Ab{A`}}}}{b{{Ab{A`}}}}{b{{Ab{A`}}}}{b{{Ab{A`}}}}{b{{Ab{A`}}}}}{{Ah{BjDf}}}}```{{bd}f}`{b{{b{c}}}{}}00{{{b{j}}}{{b{jc}}}{}}00{{{b{Dh}}}Dh}{{b{b{jc}}}f{}}{bf}{{{b{{Ab{A`}}}}}{{Dl{Dj}}}}{{{b{{Ab{A`}}}}}{{Dl{Dn}}}}{{{b{Dh}}{b{Dh}}}Bj}{{b{b{c}}}Bj{}}0{{{b{Dh}}{b{jBl}}}Bn}0{{{b{Dj}}{b{jBl}}}Bn}{{{b{Dn}}{b{jBl}}}Bn}{cc{}}{E`Dh}{{{Ed{Eb}}}Dj}22{{{Ef{Eb}}}Dn}{{{b{Eh}}}{{Ah{Dhc}}}{}}{{}c{}}00`{bc{}}{bEj}{c{{Ah{e}}}{}{}}00{{}{{Ah{c}}}{}}00{bDb}00``555```{{{b{{Ab{A`}}}}}{{Ah{{B`{{B`{A`}}}}Df}}}}{{{b{El}}{b{{Ab{A`}}}}{b{{Ab{A`}}}}}{{Ah{BjDf}}}}{{{b{{Ab{A`}}}}{b{{Ab{A`}}}}{b{{Ab{A`}}}}{b{{Ab{A`}}}}{b{{Ab{A`}}}}{b{{Ab{A`}}}}}{{Ah{BjDf}}}}``{{{b{{Ab{Dh}}}}}{{Ah{DhDf}}}}{{{b{{Ab{{B`{A`}}}}}}}{{Dl{{En{A`}}}}}}{{{b{{Ab{Dh}}}}}{{Dl{Dh}}}}``{b{{b{c}}}{}}0{{{b{j}}}{{b{jc}}}{}}0{c{{Ah{F`}}}Fb}{c{{Ah{Fd}}}Fb}{{{b{F`}}{b{jBl}}}Bn}{{{b{Fd}}{b{jBl}}}Bn}{cc{}}0{{{b{Eh}}{b{Eh}}{b{Eh}}{b{Eh}}}{{Ah{EjDf}}}}{{{b{{Ab{A`}}}}C`{b{Eh}}}{{Ah{EjDf}}}}{{Ff{b{{Ab{A`}}}}C`{b{Eh}}{b{Eh}}{b{Eh}}}{{Ah{EjDf}}}}{{{b{Eh}}C`{b{Eh}}{b{Eh}}{b{Eh}}{b{Eh}}}{{Ah{FhDf}}}}{{{b{Eh}}{b{Eh}}}{{Ah{EjDf}}}}{{{b{Fj}}{b{Eh}}{b{Eh}}{b{Eh}}}{{Ah{FdDf}}}}{{Ff{b{Eh}}{b{Eh}}{b{Eh}}{b{Eh}}}{{Ah{EjDf}}}}{{{b{Fl}}{b{Eh}}}{{Ah{{En{A`}}Df}}}}{{}c{}}0`{{{b{Fd}}c}AhFn}{{{b{{Ab{A`}}}}}{{Ah{{Cn{E`E`}}Df}}}}{c{{Ah{e}}}{}{}}0{{}{{Ah{c}}}{}}0{bDb}055`{{bd}f}`{b{{b{c}}}{}}{{{b{j}}}{{b{jc}}}{}}{{{b{El}}}El}{{b{b{jc}}}f{}}{bf}`{{{b{{B`{c}}}}}{{Ah{ElDf}}}{{Cf{{Ab{A`}}}}}}{{{b{El}}{b{El}}}Bj}{{b{b{c}}}Bj{}}0{{{b{El}}{b{jBl}}}Bn}{{{b{Dn}}}El}{cc{}}{{{b{{Ef{Eb}}}}}El}`{{}c{}}{{{b{El}}}{{Ah{{B`{{B`{A`}}}}Df}}}}{bc{}}{c{{Ah{e}}}{}{}}{{}{{Ah{c}}}{}}{bDb}{{{b{El}}{b{{Ab{Dh}}}}{b{Dj}}}{{Ah{BjDf}}}}`6`````````````````````````````````{{bd}f}0000000`{{{b{G`}}}{{Ah{{Ed{Eb}}Df}}}}{b{{b{c}}}{}}000000000{{{b{j}}}{{b{jc}}}{}}000000000{{{b{Gb}}{b{{Ab{A`}}}}{b{{Ab{A`}}}}C`}{{Ah{E`Df}}}}{{{b{Gd}}}Gd}{{{b{Ff}}}Ff}{{{b{Gf}}}Gf}{{{b{Gh}}}Gh}{{{b{Gj}}}Gj}{{{b{Gb}}}Gb}{{{b{Fh}}}Fh}{{{b{G`}}}G`}{{b{b{jc}}}f{}}0000000{bf}0000000{{{b{Gd}}{b{Gd}}}Bb}{{{b{Gf}}{b{Gf}}}Bb}{{{b{Gl}}}Al}{{}Gj}{c{{Ah{Gd}}}Fb}{c{{Ah{Gf}}}Fb}{c{{Ah{Gn}}}Fb}{c{{Ah{Gh}}}Fb}{c{{Ah{Gb}}}Fb}{c{{Ah{Fh}}}Fb}{c{{Ah{G`}}}Fb}{c{{Ah{H`Hb}}}Hd}000{{cHfHh}{{Ah{H`Hb}}}Hd}`{{{b{Gd}}{b{Gd}}}Bj}{{{b{Ff}}{b{Ff}}}Bj}{{{b{Gf}}{b{Gf}}}Bj}{{{b{Gh}}{b{Gh}}}Bj}{{{b{Gj}}{b{Gj}}}Bj}{{b{b{c}}}Bj{}}000000000{{{b{Ff}}{b{Fj}}}{{Ah{{B`{{Cn{GdGf}}}}Df}}}}{{{b{Gd}}{b{jBl}}}Bn}{{{b{Hj}}{b{jBl}}}Bn}{{{b{Ff}}{b{jBl}}}Bn}{{{b{Gf}}{b{jBl}}}Bn}{{{b{Gn}}{b{jBl}}}Bn}{{{b{Gh}}{b{jBl}}}Bn}{{{b{Gj}}{b{jBl}}}Bn}{{{b{Gb}}{b{jBl}}}Bn}{{{b{Fh}}{b{jBl}}}Bn}{{{b{G`}}{b{jBl}}}Bn}{cc{}}000000000{{{b{Eh}}}{{Ah{FfDf}}}}{{{b{Eh}}{b{Eh}}}{{Ah{GbDf}}}}{{{b{Eh}}}{{Ah{G`Df}}}}{Gn{{Dl{Gf}}}}{{Fh{b{Eh}}}{{Ah{GbDf}}}}{{{b{Eh}}}{{Ah{Ffc}}}{}}{{{b{Gb}}}{{b{Fl}}}}{{{b{Ff}}}Hj}{{{b{Gb}}}{{b{Eh}}}}0{{{b{Gb}}}{{b{G`}}}}{{{b{Gd}}{b{jc}}}fHl}{{{b{Ff}}{b{jc}}}fHl}{{{b{Gf}}{b{jc}}}fHl}{{{b{Eh}}A`}{{Ah{E`Df}}}}{{{b{jGb}}}{{Ah{GbDf}}}}{{}c{}}000000000``{{{b{jHn}}}I`}000````{{EjEj}Gd}{{{b{Eh}}{b{Eh}}}Hj}{{{b{Eh}}{b{Gh}}}{{Ah{GjDf}}}}{{{b{{Ab{A`}}}}{b{Ff}}}{{Ah{{B`{{Cn{GdGf}}}}Df}}}}{{{b{Gd}}{b{Gd}}}{{Cd{Bb}}}}{{{b{Gf}}{b{Gf}}}{{Cd{Bb}}}}{{}Ej}000{{{b{Gd}}c}AhFn}{{{b{Gf}}c}AhFn}{{{b{Gn}}c}AhFn}{{{b{Gh}}c}AhFn}{{{b{Gb}}c}AhFn}{{{b{Fh}}c}AhFn}{{{b{G`}}c}AhFn}{{{b{Gl}}c}{{Ah{fHb}}}Ib}0{{{b{Gl}}cHf}{{Ah{fHb}}}Ib}{{{b{Gl}}Hf}Al}{{{b{Id}}}{{Cd{{B`{c}}}}}If}{bc{}}0000000{{{b{Ff}}}Ej}{c{{Ah{e}}}{}{}}000000000{{}{{Ah{c}}}{}}000000000{bDb}000000000{{{b{Gl}}}Al}{{}c{}}000000000``````````{{bd}f}{b{{b{c}}}{}}{{{b{j}}}{{b{jc}}}{}}{{{b{Ih}}}Ih}{{b{b{jc}}}f{}}{bf}7{{}Ih}{c{{Ah{Ih}}}Fb}{c{{Ah{H`Hb}}}Hd}000{{cHfHh}{{Ah{H`Hb}}}Hd}{{{b{Ih}}{b{Ih}}}Bj}{{b{b{c}}}Bj{}}0{{{b{Ih}}{b{jBl}}}Bn}{{{b{Fl}}}E`}{DhE`}{cc{}}{{}c{}}{{{b{Ih}}c}AhFn}{{{b{Gl}}c}{{Ah{fHb}}}Ib}0{{{b{Gl}}cHf}{{Ah{fHb}}}Ib}{{{b{Gl}}Hf}Al}{{{b{Id}}}{{Cd{{B`{c}}}}}If}{bc{}}{c{{Ah{e}}}{}{}}{{}{{Ah{c}}}{}}{bDb}{{{b{Gl}}}Al}{{{b{Gb}}C`{b{{Ab{A`}}}}{b{{Ij{GdGf}}}}{b{Ih}}}{{Ah{fDf}}}}{{{b{{Ab{A`}}}}{b{Eh}}{b{Eh}}{b{Eh}}{b{Eh}}{b{Eh}}}{{Dl{f}}}}{{{b{{Ab{A`}}}}{b{Eh}}{b{Eh}}}{{Dl{f}}}}{{{b{Ih}}{b{{Ed{Eb}}}}{b{{Ab{E`}}}}}{{Ah{BjDf}}}}>``{{bd}f}``{b{{b{c}}}{}}0{{{b{j}}}{{b{jc}}}{}}0{{{b{{Il{c}}}}}{{Il{c}}}{InJ`}}{{b{b{jc}}}f{}}{bf}{{{b{{Il{c}}}}{b{jBl}}}Bn{JbJ`}}{{{b{{Jd{c}}}}{b{jBl}}}Bn{JbJ`}}{cc{}}0{{{Il{c}}{Jf{c}}}{{Ah{fJh}}}J`}{{{Jd{c}}{Jf{c}}}{{Ah{fJh}}}J`}{{}c{}}0{{Alcc}{{Jd{c}}}J`}``{bc{}}{c{{Ah{e}}}{}{}}0{{}{{Ah{c}}}{}}0{bDb}055````???>>>{c{{Ah{{Jj{e}}}}}Fb{JlJn}}{{{b{{Ab{A`}}}}{b{{Ab{A`}}}}{b{{Ab{A`}}}}{b{{Ab{A`}}}}}{{Dl{{K`{c}}}}}{KbJn}}{{{b{{Jj{c}}}}{b{jBl}}}Bn{JbJn}}{{{b{{Kd{c}}}}{b{jBl}}}Bn{JbJn}}<{{{b{{Kd{c}}}}}{{K`{c}}}Jn}=={{{b{{Ab{A`}}}}}{{Dl{{Kd{c}}}}}{KbJn}};;;{{{b{{K`{c}}}}{b{Ab}}}{{Dl{c}}}{KfJn}}{{{b{{K`{c}}}}}{{B`{{B`{A`}}}}}{KbJn}}:::999888{{{b{{K`{c}}}}{b{Ab}}{b{{Jj{c}}}}}{{Dl{f}}}{KfJn}}{{{b{{K`{c}}}}{b{c}}{b{{Jj{c}}}}}{{Dl{f}}}Jn}???``{{{b{{En{A`}}}}}{{Dl{Kh}}}}{{{b{{En{A`}}}}}{{Dl{Kj}}}}{{{b{{Ab{A`}}}}}{{Dl{{B`{{B`{A`}}}}}}}}{{{b{Kh}}}{{En{A`}}}}{{{b{{Ab{A`}}}}{b{{Ab{A`}}}}{b{{Ab{A`}}}}{b{{Ab{A`}}}}{b{{Ab{A`}}}}{b{{Ab{A`}}}}}{{Ah{BjDf}}}}````{{bd}f}0{b{{b{c}}}{}}0{{{b{j}}}{{b{jc}}}{}}0{{{b{Kl}}}Kl}{{{b{Fl}}}Fl}{{b{b{jc}}}f{}}0{bf}0{c{{Ah{Kl}}}Fb}{c{{Ah{Fl}}}Fb}{{{b{Kl}}{b{Kl}}}Bj}{{{b{Fl}}{b{Fl}}}Bj}{{b{b{c}}}Bj{}}000{{{b{Kl}}{b{jBl}}}Bn}0{{{b{Fl}}{b{jBl}}}Bn}0{cc{}}0{{{b{Eh}}}{{Ah{Klc}}}{}}{{{b{Eh}}}{{Ah{Flc}}}{}}{{}c{}}0{{{b{jHn}}}I`}0{{{b{Fl}}}{{b{{Ab{A`}}}}}}{{}Ej}0{{{b{Kl}}c}AhFn}{{{b{Fl}}c}AhFn}{bc{}}0{bEj}0{c{{Ah{e}}}{}{}}0{{}{{Ah{c}}}{}}0{bDb}08::","D":"AHn","p":[[1,"reference"],[5,"Private",647],[1,"unit"],[5,"Fr",0],[0,"mut"],[5,"BitSlice",648],[10,"BitOrder",649],[1,"u8"],[1,"slice"],[5,"FrRepr",0],[6,"Error",650],[6,"Result",651],[10,"FromByteSlice",650],[1,"usize"],[5,"u5",652],[5,"Vec",653],[6,"Ordering",654],[5,"Choice",655],[1,"char"],[10,"FromIterator",656],[1,"bool"],[5,"Formatter",657],[8,"Result",657],[1,"u64"],[5,"CtOption",655],[6,"Option",658],[10,"Borrow",659],[17,"Item"],[10,"Iterator",660],[10,"RngCore",661],[1,"tuple"],[6,"BitSpanError",662],[5,"TypeId",663],[10,"WriteBase32",652],[6,"FastCryptoError",664],[5,"FieldElement",98],[5,"Proof",98],[8,"FastCryptoResult",664],[5,"VerifyingKey",98],[8,"Bn254Fr",468],[8,"Bn254",468,665],[5,"Proof",666],[5,"VerifyingKey",666],[1,"str"],[5,"String",667],[5,"PreparedVerifyingKey",192],[1,"array"],[5,"GetSaltResponse",159],[10,"Deserializer",668],[5,"TestIssuerJWTResponse",159],[6,"OIDCProvider",219],[5,"ZkLoginInputsReader",219],[5,"Client",669],[5,"Bn254FrElement",593],[10,"Serializer",670],[5,"ZkLoginProof",219],[5,"ZkLoginInputs",219],[5,"JwkId",219],[5,"JWK",219],[5,"Claim",219],[5,"JWTDetails",219],[10,"CanonicalSerialize",468,671],[5,"JWKReader",219],[10,"CanonicalDeserialize",468,671],[6,"SerializationError",672],[10,"Read",673],[6,"Compress",671],[6,"Validate",671],[5,"ProviderConfig",219],[10,"Hasher",674],[5,"SchemaGenerator",675],[6,"Schema",676],[10,"Write",673],[10,"ToConstraintField",468,677],[10,"Field",678],[6,"ZkLoginEnv",468],[5,"HashMap",679],[5,"DummyCircuit",516],[10,"Clone",680],[10,"PrimeField",681],[10,"Debug",657],[5,"Fibonacci",516],[6,"ConstraintSystemRef",682],[6,"SynthesisError",683],[5,"Proof",548],[10,"Deserialize",668],[10,"Pairing",684],[5,"PreparedVerifyingKey",548],[10,"ToFromByteArray",685],[5,"VerifyingKey",548],[10,"MultiScalarMul",684],[10,"GTSerialize",586],[10,"FromLittleEndianByteArray",586],[5,"Bn254FqElement",593]],"r":[[222,665],[224,671],[225,686],[226,671],[227,686],[247,677],[468,665],[470,671],[471,686],[472,671],[473,686],[476,677]],"b":[[4,"impl-Add%3C%26Fr%3E-for-Fr"],[5,"impl-Add-for-Fr"],[6,"impl-AddAssign-for-Fr"],[7,"impl-AddAssign%3C%26Fr%3E-for-Fr"],[48,"impl-From%3C%26Fr%3E-for-FrRepr"],[50,"impl-From%3CFr%3E-for-FrRepr"],[61,"impl-Mul-for-Fr"],[62,"impl-Mul%3C%26Fr%3E-for-Fr"],[63,"impl-MulAssign-for-Fr"],[64,"impl-MulAssign%3C%26Fr%3E-for-Fr"],[72,"impl-Sub-for-Fr"],[73,"impl-Sub%3C%26Fr%3E-for-Fr"],[74,"impl-SubAssign%3C%26Fr%3E-for-Fr"],[75,"impl-SubAssign-for-Fr"],[117,"impl-Display-for-FieldElement"],[118,"impl-Debug-for-FieldElement"],[206,"impl-From%3C%26VerifyingKey%3E-for-PreparedVerifyingKey"],[208,"impl-From%3C%26VerifyingKey%3CBn%3CConfig%3E%3E%3E-for-PreparedVerifyingKey"],[496,"impl-From%3C%26Bn254FrElement%3E-for-Fp%3CMontBackend%3CFrConfig,+4%3E,+4%3E"],[497,"impl-From%3CFieldElement%3E-for-Fp%3CMontBackend%3CFrConfig,+4%3E,+4%3E"],[617,"impl-Debug-for-Bn254FqElement"],[618,"impl-Display-for-Bn254FqElement"],[619,"impl-Display-for-Bn254FrElement"],[620,"impl-Debug-for-Bn254FrElement"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAMABOgACAA8AFAARACcACgAzAAAANQADADsACQBGABUAZgAAAGgACABzAAYAewABAH8AAQCFAAoAkgACAKIABwC3AAAAuQAHAMIAAADEAAQAywADANEAAADVAAMA2wAAAN8AAQDiAAAA5AAAAP0ABwAHARMAHAEmAEUBDgBVAQkAbgEAAHQBAgCFAQMAkQEOAKEBNQDYAQAA2gEAAN8BDADtAQUA9QECAPkBBgAEAgAABwIAAAoCCAAVAgEAHAIIACYCDAA0AgAANwIAADwCCQBIAgIATgIAAFYCFwBwAgEAdAIBAHcCDQCGAgEA"}],["sigs_cli",{"t":"PPGPPFPPPPPGFFPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHNNNNNNNNNNNNNNNNNNNNNNNHOOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN","n":["BLS12381MinPk","BLS12381MinSig","Command","Ed25519","Keygen","KeygenArguments","Secp256k1","Secp256k1Recoverable","Secp256r1","Secp256r1Recoverable","Sign","SignatureScheme","SigningArguments","VerifiyingArguments","Verify","__clone_box","","","augment_args","","","augment_args_for_update","","","augment_subcommands","augment_subcommands_for_update","borrow","","","","","borrow_mut","","","","","clone","","","clone_into","","","clone_to_uninit","","","command","","","","command_for_update","","","","execute","from","","","","","from_arg_matches","","","","from_arg_matches_mut","","","","from_str","group_id","","","has_subcommand","into","","","","","main","msg","","public_key","scheme","","","secret_key","seed","signature","to_owned","","","try_from","","","","","try_into","","","","","type_id","","","","","update_from_arg_matches","","","","update_from_arg_matches_mut","","","","vzip","","","",""],"q":[[0,"sigs_cli"],[118,"dyn_clone::sealed"],[119,"clap::builder::command"],[120,"fastcrypto::error"],[121,"core::result"],[122,"clap::parser::matches::arg_matches"],[123,"clap"],[124,"clap::util::id"],[125,"core::option"],[126,"core::any"]],"i":"An0`0Ab`11110```0lnA`21021033432104321021021021032103210`43210321032104210343210`1002101202104321043210432103210321043210","f":"```````````````{{bd}f}00{hh}0000000{b{{b{c}}}{}}0000{{{b{j}}}{{b{jc}}}{}}0000{{{b{l}}}l}{{{b{n}}}n}{{{b{A`}}}A`}{{b{b{jc}}}f{}}00{bf}00{{}h}0000000{Ab{{Af{fAd}}}}{cc{}}0000{{{b{Ah}}}{{Af{AbAj}}}}{{{b{Ah}}}{{Af{lAj}}}}{{{b{Ah}}}{{Af{nAj}}}}{{{b{Ah}}}{{Af{A`Aj}}}}{{{b{jAh}}}{{Af{AbAj}}}}{{{b{jAh}}}{{Af{lAj}}}}{{{b{jAh}}}{{Af{nAj}}}}{{{b{jAh}}}{{Af{A`Aj}}}}{{{b{Al}}}{{Af{Anc}}}{}}{{}{{Bb{B`}}}}00{{{b{Al}}}Bd}{{}c{}}0000{{}f}`````````{bc{}}00{c{{Af{e}}}{}{}}0000{{}{{Af{c}}}{}}0000{bBf}0000{{{b{jAb}}{b{Ah}}}{{Af{fAj}}}}{{{b{jl}}{b{Ah}}}{{Af{fAj}}}}{{{b{jn}}{b{Ah}}}{{Af{fAj}}}}{{{b{jA`}}{b{Ah}}}{{Af{fAj}}}}{{{b{jAb}}{b{jAh}}}{{Af{fAj}}}}{{{b{jl}}{b{jAh}}}{{Af{fAj}}}}{{{b{jn}}{b{jAh}}}{{Af{fAj}}}}{{{b{jA`}}{b{jAh}}}{{Af{fAj}}}}=====","D":"Bl","p":[[1,"reference"],[5,"Private",118],[1,"unit"],[5,"Command",119],[0,"mut"],[5,"KeygenArguments",0],[5,"SigningArguments",0],[5,"VerifiyingArguments",0],[6,"Command",0],[6,"FastCryptoError",120],[6,"Result",121],[5,"ArgMatches",122],[8,"Error",123],[1,"str"],[6,"SignatureScheme",0],[5,"Id",124],[6,"Option",125],[1,"bool"],[5,"TypeId",126]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAGAABwAAAAQABgAEAAwAAgAQACYAPAAMAE4AAABYAB4A"}],["tlock_cli",{"t":"GPFPFFPFNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNHNHHHHNNNNNNNNNNNNNNNNNNNNNNNHOOOONONNNNNNNNNNNNNNNNNNONNNNNNNNOHNNNNNOH","n":["Command","Decrypt","DecryptArguments","Encrypt","EncryptArguments","Encryption","Verify","VerifyArguments","__clone_box","","","augment_args","","","augment_args_for_update","","","augment_subcommands","augment_subcommands_for_update","borrow","","","","","borrow_mut","","","","","ciphertext","clone","","","clone_into","","","clone_to_uninit","","","command","","","","command_for_update","","","","decrypt","deserialize","drand_pk","encode_round","encrypt","execute","fmt","from","","","","","from_arg_matches","","","","from_arg_matches_mut","","","","group_id","","","has_subcommand","into","","","","","main","plaintext","round","","round_signature","serialize","signature","to_owned","","","try_from","","","","","try_into","","","","","type_id","","","","","u","update_from_arg_matches","","","","update_from_arg_matches_mut","","","","v","verify_signature","vzip","","","","","w","xor_arrays"],"q":[[0,"tlock_cli"],[119,"dyn_clone::sealed"],[120,"clap::builder::command"],[121,"fastcrypto::groups::bls12381"],[122,"alloc::vec"],[123,"core::option"],[124,"core::result"],[125,"serde::de"],[126,"alloc::string"],[127,"std::io::error"],[128,"core::fmt"],[129,"clap::parser::matches::arg_matches"],[130,"clap"],[131,"clap::util::id"],[132,"serde::ser"],[133,"core::any"],[134,"fastcrypto::error"]],"i":"`Bh`0``0`lnA`210210333210Ab43210232132132143214321`0````04321043214321321443210`3312013214321043210432100432143210`432100`","f":"````````{{bd}f}00{hh}0000000{b{{b{c}}}{}}0000{{{b{j}}}{{b{jc}}}{}}0000`{{{b{l}}}l}{{{b{n}}}n}{{{b{A`}}}A`}{{b{b{jc}}}f{}}00{bf}00{{}h}0000000{{AbAd}{{Aj{{Ah{Af}}}}}}{c{{Al{Ab}}}An}{{}B`}{{{b{Bb}}}{{Bd{Af}}}}{{Bb{b{{Bf{Af}}}}}Ab}{Bh{{Al{BjBl}}}}{{{b{Ab}}{b{jBn}}}C`}{cc{}}0000{{{b{Cb}}}{{Al{BhCd}}}}{{{b{Cb}}}{{Al{lCd}}}}{{{b{Cb}}}{{Al{nCd}}}}{{{b{Cb}}}{{Al{A`Cd}}}}{{{b{jCb}}}{{Al{BhCd}}}}{{{b{jCb}}}{{Al{lCd}}}}{{{b{jCb}}}{{Al{nCd}}}}{{{b{jCb}}}{{Al{A`Cd}}}}{{}{{Aj{Cf}}}}00{{{b{Ch}}}Cj}{{}c{}}0000{{}f}````{{{b{Ab}}c}AlCl}`{bc{}}00{c{{Al{e}}}{}{}}0000{{}{{Al{c}}}{}}0000{bCn}0000`{{{b{jBh}}{b{Cb}}}{{Al{fCd}}}}{{{b{jl}}{b{Cb}}}{{Al{fCd}}}}{{{b{jn}}{b{Cb}}}{{Al{fCd}}}}{{{b{jA`}}{b{Cb}}}{{Al{fCd}}}}{{{b{jBh}}{b{jCb}}}{{Al{fCd}}}}{{{b{jl}}{b{jCb}}}{{Al{fCd}}}}{{{b{jn}}{b{jCb}}}{{Al{fCd}}}}{{{b{jA`}}{b{jCb}}}{{Al{fCd}}}}`{{AdBb}{{D`{f}}}}?????`{{{b{{Bf{Af}}}}{b{{Bf{Af}}}}}{{Ah{Af}}}}","D":"Bh","p":[[1,"reference"],[5,"Private",119],[1,"unit"],[5,"Command",120],[0,"mut"],[5,"EncryptArguments",0],[5,"DecryptArguments",0],[5,"VerifyArguments",0],[5,"Encryption",0],[5,"G1Element",121],[1,"u8"],[5,"Vec",122],[6,"Option",123],[6,"Result",124],[10,"Deserializer",125],[5,"G2Element",121],[1,"u64"],[1,"array"],[1,"slice"],[6,"Command",0],[5,"String",126],[5,"Error",127],[5,"Formatter",128],[8,"Result",128],[5,"ArgMatches",129],[8,"Error",130],[5,"Id",131],[1,"str"],[1,"bool"],[10,"Serializer",132],[5,"TypeId",133],[8,"FastCryptoResult",134]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAGMACQAAAAIABAAAAAcAAAAJABQAHwAXADwACwBNAAAAUgAAAFQAIwA="}],["vdf_cli",{"t":"GSPFPFPFPFNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHNNNNNNNNNNNNNNNNNNNNOONNNNNOOHOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN","n":["Command","DEFAULT_DISCRIMINANT_BIT_LENGTH","Discriminant","DiscriminantArguments","Evaluate","EvaluateArguments","Hash","HashArguments","Verify","VerifyArguments","__clone_box","","","","augment_args","","","","augment_args_for_update","","","","augment_subcommands","augment_subcommands_for_update","bit_length","borrow","","","","","borrow_mut","","","","","clone","","","","clone_into","","","","clone_to_uninit","","","","command","","","","","command_for_update","","","","","execute","from","","","","","from_arg_matches","","","","","from_arg_matches_mut","","","","","group_id","","","","has_subcommand","input","","into","","","","","iterations","","main","message","output","proof","seed","to_owned","","","","try_from","","","","","try_into","","","","","type_id","","","","","update_from_arg_matches","","","","","update_from_arg_matches_mut","","","","","vzip","","","",""],"q":[[0,"vdf_cli"],[126,"dyn_clone::sealed"],[127,"clap::builder::command"],[128,"alloc::string"],[129,"std::io::error"],[130,"core::result"],[131,"clap::parser::matches::arg_matches"],[132,"clap"],[133,"clap::util::id"],[134,"core::option"],[135,"core::any"]],"i":"``Ad`0`0`0`lnA`Ab3210321044343210432103210321032104321043210`43210432104321032104214321021`01133210432104321043210432104321043210","f":"``````````{{bd}f}000{hh}000000000`{b{{b{c}}}{}}0000{{{b{j}}}{{b{jc}}}{}}0000{{{b{l}}}l}{{{b{n}}}n}{{{b{A`}}}A`}{{{b{Ab}}}Ab}{{b{b{jc}}}f{}}000{bf}000{{}h}000000000{Ad{{Aj{AfAh}}}}{cc{}}0000{{{b{Al}}}{{Aj{AdAn}}}}{{{b{Al}}}{{Aj{lAn}}}}{{{b{Al}}}{{Aj{nAn}}}}{{{b{Al}}}{{Aj{A`An}}}}{{{b{Al}}}{{Aj{AbAn}}}}{{{b{jAl}}}{{Aj{AdAn}}}}{{{b{jAl}}}{{Aj{lAn}}}}{{{b{jAl}}}{{Aj{nAn}}}}{{{b{jAl}}}{{Aj{A`An}}}}{{{b{jAl}}}{{Aj{AbAn}}}}{{}{{Bb{B`}}}}000{{{b{Bd}}}Bf}``{{}c{}}0000``{{}f}````{bc{}}000{c{{Aj{e}}}{}{}}0000{{}{{Aj{c}}}{}}0000{bBh}0000{{{b{jAd}}{b{Al}}}{{Aj{fAn}}}}{{{b{jl}}{b{Al}}}{{Aj{fAn}}}}{{{b{jn}}{b{Al}}}{{Aj{fAn}}}}{{{b{jA`}}{b{Al}}}{{Aj{fAn}}}}{{{b{jAb}}{b{Al}}}{{Aj{fAn}}}}{{{b{jAd}}{b{jAl}}}{{Aj{fAn}}}}{{{b{jl}}{b{jAl}}}{{Aj{fAn}}}}{{{b{jn}}{b{jAl}}}{{Aj{fAn}}}}{{{b{jA`}}{b{jAl}}}{{Aj{fAn}}}}{{{b{jAb}}{b{jAl}}}{{Aj{fAn}}}}?????","D":"C`","p":[[1,"reference"],[5,"Private",126],[1,"unit"],[5,"Command",127],[0,"mut"],[5,"DiscriminantArguments",0],[5,"EvaluateArguments",0],[5,"VerifyArguments",0],[5,"HashArguments",0],[6,"Command",0],[5,"String",128],[5,"Error",129],[6,"Result",130],[5,"ArgMatches",131],[8,"Error",132],[5,"Id",133],[6,"Option",134],[1,"str"],[1,"bool"],[5,"TypeId",135]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAGYACQAAAAEABAAAAAYAAAAIAAAACgAOABoAIABAAA4AWAAAAF0AIQA="}]]')); +var searchIndex = new Map(JSON.parse('[["ecvrf_cli",{"t":"GPPFPFNNNNNNNNNNNNNNNNNNNNNNNNNNHNNNNNNNNNNNNOONNNHOOOONNNNNNNNNNNNNNNNNNNN","n":["Command","Keygen","Prove","ProveArguments","Verify","VerifyArguments","__clone_box","","augment_args","","augment_args_for_update","","augment_subcommands","augment_subcommands_for_update","borrow","","","borrow_mut","","","clone","","clone_into","","clone_to_uninit","","command","","","command_for_update","","","execute","from","","","from_arg_matches","","","from_arg_matches_mut","","","group_id","","has_subcommand","input","","into","","","main","output","proof","public_key","secret_key","to_owned","","try_from","","","try_into","","","type_id","","","update_from_arg_matches","","","update_from_arg_matches_mut","","","vzip","",""],"q":[[0,"ecvrf_cli"],[75,"dyn_clone::sealed"],[76,"clap::builder::command"],[77,"alloc::string"],[78,"std::io::error"],[79,"core::result"],[80,"clap::parser::matches::arg_matches"],[81,"clap"],[82,"clap::util::id"],[83,"core::option"],[84,"core::any"]],"i":"`A`0`0`ln101022210210101010210210`21021021010210210`000110210210210210210210","f":"``````{{bd}f}0{hh}00000{b{{b{c}}}{}}00{{{b{j}}}{{b{jc}}}{}}00{{{b{l}}}l}{{{b{n}}}n}{{b{b{jc}}}f{}}0{bf}0{{}h}00000{A`{{Af{AbAd}}}}{cc{}}00{{{b{Ah}}}{{Af{A`Aj}}}}{{{b{Ah}}}{{Af{lAj}}}}{{{b{Ah}}}{{Af{nAj}}}}{{{b{jAh}}}{{Af{A`Aj}}}}{{{b{jAh}}}{{Af{lAj}}}}{{{b{jAh}}}{{Af{nAj}}}}{{}{{An{Al}}}}0{{{b{B`}}}Bb}``{{}c{}}00{{}f}````{bc{}}0{c{{Af{e}}}{}{}}00{{}{{Af{c}}}{}}00{bBd}00{{{b{jA`}}{b{Ah}}}{{Af{fAj}}}}{{{b{jl}}{b{Ah}}}{{Af{fAj}}}}{{{b{jn}}{b{Ah}}}{{Af{fAj}}}}{{{b{jA`}}{b{jAh}}}{{Af{fAj}}}}{{{b{jl}}{b{jAh}}}{{Af{fAj}}}}{{{b{jn}}{b{jAh}}}{{Af{fAj}}}};;;","D":"An","p":[[1,"reference"],[5,"Private",75],[1,"unit"],[5,"Command",76],[0,"mut"],[5,"ProveArguments",0],[5,"VerifyArguments",0],[6,"Command",0],[5,"String",77],[5,"Error",78],[6,"Result",79],[5,"ArgMatches",80],[8,"Error",81],[5,"Id",82],[6,"Option",83],[1,"str"],[1,"bool"],[5,"TypeId",84]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAADwABgAAAAEABAAAAAYAGwAlAAgAMwAAADgAEwA="}],["encode_cli",{"t":"FPGPNNNNNNNNNNNNNNNNHNNNNNNNNNNHNNNNNNNNNNNONN","n":["Arg","Base64ToHex","Command","HexToBase64","__clone_box","augment_args","augment_args_for_update","augment_subcommands","augment_subcommands_for_update","borrow","","borrow_mut","","clone","clone_into","clone_to_uninit","command","","command_for_update","","execute","from","","from_arg_matches","","from_arg_matches_mut","","group_id","has_subcommand","into","","main","to_owned","try_from","","try_into","","type_id","","update_from_arg_matches","","update_from_arg_matches_mut","","value","vzip",""],"q":[[0,"encode_cli"],[46,"dyn_clone::sealed"],[47,"clap::builder::command"],[48,"std::io::error"],[49,"core::result"],[50,"clap::parser::matches::arg_matches"],[51,"clap"],[52,"clap::util::id"],[53,"core::option"],[54,"core::any"]],"i":"`n`0l001110100001010`1010100110`01010101010010","f":"````{{bd}f}{hh}000{b{{b{c}}}{}}0{{{b{j}}}{{b{jc}}}{}}0{{{b{l}}}l}{{b{b{jc}}}f{}}{bf}{{}h}000{n{{Ab{fA`}}}}{cc{}}0{{{b{Ad}}}{{Ab{nAf}}}}{{{b{Ad}}}{{Ab{lAf}}}}{{{b{jAd}}}{{Ab{nAf}}}}{{{b{jAd}}}{{Ab{lAf}}}}{{}{{Aj{Ah}}}}{{{b{Al}}}An}{{}c{}}0{{}f}{bc{}}{c{{Ab{e}}}{}{}}0{{}{{Ab{c}}}{}}0{bB`}0{{{b{jn}}{b{Ad}}}{{Ab{fAf}}}}{{{b{jl}}{b{Ad}}}{{Ab{fAf}}}}{{{b{jn}}{b{jAd}}}{{Ab{fAf}}}}{{{b{jl}}{b{jAd}}}{{Ab{fAf}}}}`99","D":"l","p":[[1,"reference"],[5,"Private",46],[1,"unit"],[5,"Command",47],[0,"mut"],[5,"Arg",0],[6,"Command",0],[5,"Error",48],[6,"Result",49],[5,"ArgMatches",50],[8,"Error",51],[5,"Id",52],[6,"Option",53],[1,"str"],[1,"bool"],[5,"TypeId",54]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAACgABQAAAAEAAwAAAAUAEAAYAAUAIAAOAA=="}],["fastcrypto",{"t":"CCCCCQCCCQCCCCCCQQCCCCIIIIIIIIIIIFFFIKKKFRRIKNNNNNNNNNNNNNNNNNNMNNNMNNNNNNMNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNSSSSCCFIFFFIFSNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFIFFFIFSNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNSSSSFFFFIFIFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFFKFNNNNNNNNNNNNNNNNNNNNMNNNNHNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNPGIPPPPPPPPPPPPNNNNNNNNNNNNNNNNNNNNKKKKKKRRKKRCMMMMMMNMCMMNCCMSFIFSFISFSSFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNKKMMMMCFNNNNNHNNNNNNFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFSFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNIFFKKFIKTKIIIIRRNNNNNNNNNNNNNNNNNNNNNNNMMNNONNNNNNNNNMNNNNNNNNNMNMNNNNNNNMNMNNNNNNNNNNNNNNNNNNMNMNNNNNNNNIIHHFNNNNNNNNNNNNNNNNONHNNNNNONNFNNNNNNNNNNNNNNNNNNNNNNNNNNFKFFNNNNNNNNNNNNNNNNNNMNMNMNMNMNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNIJSSSSFFFIFINNNNNNNNNNNNNNNNNNNNNNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONOCONNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNJSFFNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNISSSSSSFFFIFINNNNNNNNNNNNNNNNNNNNNNOOONNNNNNNNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONOCONNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNSFNNNNNNONNNNNNNNNNNNNNNNNNNONONNNNNNNNNTFFKNNNNNNNNNNNHNNNNNNNNNNNNNNNNNNNMNNNNNHNNNNHMNNNNNNNNNNFNNNNNNNNNNNNNNNKKKRKKKKKTTTRRRRRRRRRRKKRRRRRRKRKKKKMMMNMMMMMMMNMMMNMMNMMMMNNHRRRRRRKKKKCMNMMMNFFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNONNNNNNNNNNNNNNNNNN","n":["aes","bls12381","ed25519","encoding","error","generate_bytes_representation","groups","hash","hmac","impl_base64_display_fmt","jwt_utils","private_seed","rsa","secp256k1","secp256r1","serde_helpers","serialize_deserialize_with_to_from_byte_array","serialize_deserialize_with_to_from_bytes","signature_service","traits","utils","vrf","Aes128CbcAnsiX923","Aes128CbcIso10126","Aes128CbcPkcs7","Aes128Ctr","Aes128Gcm","Aes192Ctr","Aes256CbcAnsiX923","Aes256CbcIso10126","Aes256CbcPkcs7","Aes256Ctr","Aes256Gcm","AesCbc","AesCtr","AesGcm","AesKey","AuthenticatedCipher","Cipher","EncryptionKey","GenericByteArray","IVType","","InitializationVector","Nonce","__clone_box","as_bits","as_bytes","as_ref","base32_len","borrow","","","","borrow_mut","","","","check_base32","clone","clone_into","clone_to_uninit","decode_base64","decrypt","","","","decrypt_authenticated","","deserialize","drop","encode_base64","encode_hex","encode_hex_upper","encrypt","","","","encrypt_authenticated","","fmt","","from","","","","from_bytes","generate","into","","","","new","","","serialize","to_owned","to_string","try_as_bits","try_from","","","","try_into","","","","type_id","","","","vzip","","","","write_base32","zeroize","BLS_G1_LENGTH","BLS_G2_LENGTH","BLS_KEYPAIR_LENGTH","BLS_PRIVATE_KEY_LENGTH","min_pk","min_sig","BLS12381AggregateSignature","BLS12381AggregateSignatureAsBytes","BLS12381KeyPair","BLS12381PrivateKey","BLS12381PublicKey","BLS12381PublicKeyAsBytes","BLS12381Signature","DST_G2","__clone_box","","","add_aggregate","add_signature","aggregate","as_bits","","","","","as_ref","","","","","base32_len","","","","","batch_verify","borrow","","","","","borrow_mut","","","","","bytes","","","","check_base32","","","","","clone","","","clone_into","","","clone_to_uninit","","","cmp","copy","decode_base64","","","","","default","","deserialize","","","","","encode_base64","","","","","encode_hex","","","","","encode_hex_upper","","","","","eq","","","","","equivalent","","","","","","","","","","fmt","","","","","","","","","from","","","","","","","","from_bytes","","","","","from_str","generate","hash","","insecure_default","into","","","","","partial_cmp","private","privkey","pubkey","public","serialize","","","","","sig","","sign","","to_owned","","","to_string","","","","try_as_bits","","","","","try_from","","","","","","","try_into","","","","","type_id","","","","","validate","verify","","verify_different_msg","vzip","","","","","write_base32","","","","","BLS12381AggregateSignature","BLS12381AggregateSignatureAsBytes","BLS12381KeyPair","BLS12381PrivateKey","BLS12381PublicKey","BLS12381PublicKeyAsBytes","BLS12381Signature","DST_G1","__clone_box","","","add_aggregate","add_signature","aggregate","as_bits","","","","","as_ref","","","","","base32_len","","","","","batch_verify","borrow","","","","","borrow_mut","","","","","bytes","","","","check_base32","","","","","clone","","","clone_into","","","clone_to_uninit","","","cmp","copy","decode_base64","","","","","default","","","deserialize","","","","","encode_base64","","","","","encode_hex","","","","","encode_hex_upper","","","","","eq","","","","","equivalent","","","","","","","","","","fmt","","","","","","","","","from","","","","","","","","from_bytes","","","","","from_str","generate","hash","","insecure_default","into","","","","","partial_cmp","private","privkey","pubkey","public","serialize","","","","","sig","","sign","","to_owned","","","to_string","","","","try_as_bits","","","","","try_from","","","","","","","try_into","","","","","type_id","","","","","validate","verify","","verify_different_msg","vzip","","","","","write_base32","","","","","ED25519_KEYPAIR_LENGTH","ED25519_PRIVATE_KEY_LENGTH","ED25519_PUBLIC_KEY_LENGTH","ED25519_SIGNATURE_LENGTH","Ed25519AggregateSignature","Ed25519KeyPair","Ed25519PrivateKey","Ed25519PublicKey","Ed25519PublicKeyAsBytes","Ed25519Signature","Ed25519SignatureAsBytes","SingleSignature","__clone_box","","","as_bits","","","","","as_ref","","","","","base32_len","","","","","borrow","","","","","","borrow_mut","","","","","","bytes","","check_base32","","","","","clone","","","clone_into","","","clone_to_uninit","","","cmp","copy","decode_base64","","","","","default","","deserialize","","","","","deserialize_as","drop","encode_base64","","","","","encode_hex","","","","","encode_hex_upper","","","","","eq","","","","","equivalent","","","","","","","","","","fmt","","","","","","","","","from","","","","","","","","","from_bytes","","","","","from_str","generate","hash","insecure_default","into","","","","","","partial_cmp","private","public","serialize","","","","","serialize_as","sig","sign","sigs","to_owned","","","to_string","","","","try_as_bits","","","","","try_from","","","","","","","","try_into","","","","","","type_id","","","","","","verify","vzip","","","","","","write_base32","","","","","Base58","Base64","Bech32","Encoding","Hex","__clone_box","","","borrow","","","","borrow_mut","","","","clone","","","clone_into","","","clone_to_uninit","","","decode","","","","","decode_bytes_hex","deserialize","","","deserialize_as","","","","","","encode","","","","","encode_with_format","encoded","encoded_with_format","eq","","","equivalent","","","","fmt","","","from","","","","from_bytes","","into","","","","json_schema","","","schema_name","","","serialize","","","serialize_as","","","to_owned","","","to_vec","","try_from","","","","","","","try_into","","","","type_id","","","","vzip","","","","Err","FastCryptoError","FastCryptoResult","GeneralError","GeneralOpaqueError","IgnoredMessage","InputLengthWrong","InputTooLong","InputTooShort","InvalidInput","InvalidMessage","InvalidProof","InvalidSignature","NotEnoughInputs","Ok","__clone_box","borrow","borrow_mut","clone","clone_into","clone_to_uninit","eq","equivalent","","fmt","","from","","into","to_owned","to_string","try_from","try_into","type_id","vzip","Doubling","FiatShamirChallenge","FromTrustedByteArray","GroupElement","HashToGroupElement","MultiScalarMul","Other","Output","Pairing","Scalar","ScalarType","bls12381","double","fiat_shamir_reduction_to_group_element","from_trusted_byte_array","generator","hash_to_group_element","inverse","multi_pairing","multi_scalar_mul","multiplier","pairing","rand","repeated_doubling","ristretto255","secp256r1","zero","FP_BYTE_LENGTH","G1Element","G1ElementAsBytes","G1ElementUncompressed","G1_ELEMENT_BYTE_LENGTH","G2Element","G2ElementAsBytes","G2_ELEMENT_BYTE_LENGTH","GTElement","GT_ELEMENT_BYTE_LENGTH","SCALAR_LENGTH","Scalar","__clone_box","","","","","add","","","","","","","","","","","","","","","","add_assign","","","","","","","","borrow","","","","","borrow_mut","","","","","buffer_to_scalar_mod_r","clone","","","","","clone_into","","","","","clone_to_uninit","","","","","deserialize","","","","div","","","","eq","","","","equivalent","","","","","","","","fiat_shamir_reduction_to_group_element","fmt","","","","","from","","","","","","","from_byte_array","","","","from_trusted_byte_array","","","","","generator","","","","hash_to_group_element","","into","","","","","into_byte_array","inverse","mul","","","","","","","","","","","","","","","","mul_assign","","","","","","","","multi_pairing","multi_scalar_mul","","neg","","","","","","","","pairing","rand","serialize","","","","sub","","","","","","","","","","","","","","","","sub_assign","","","","","","","","sum","to_byte_array","","","","to_owned","","","","","try_from","","","","","","","","try_into","","","","","type_id","","","","","vzip","","","","","zero","","","","zeroize","ScalarMultiplier","ToLittleEndianBytes","mul","new","to_le_bytes","two_scalar_mul","windowed","WindowedScalarMultiplier","borrow","borrow_mut","from","into","mul","multi_scalar_mul","new","try_from","try_into","two_scalar_mul","type_id","vzip","RistrettoPoint","RistrettoScalar","__clone_box","","add","","","","","","","","add_assign","","","","borrow","","borrow_mut","","clone","","clone_into","","clone_to_uninit","","compress","decompress","default","deserialize","","div","","","double","eq","","equivalent","","","","fiat_shamir_reduction_to_group_element","fmt","","from","","","","","from_byte_array","","from_bytes_mod_order","from_bytes_mod_order_wide","from_uniform_bytes","generator","","group_order","hash_to_group_element","","into","","inverse","map_to_point","mul","","","","","","","","mul_assign","","","","multi_scalar_mul","neg","","","","rand","serialize","","sub","","","","","","","","sub_assign","","","","to_byte_array","","to_owned","","try_from","","","try_into","","type_id","","vzip","","zero","","zeroize","ProjectivePoint","SCALAR_SIZE_IN_BYTES","Scalar","__clone_box","","add","","","","","","","","add_assign","","","","borrow","","borrow_mut","","clone","","clone_into","","clone_to_uninit","","default","","deserialize","div","","double","eq","","equivalent","","","","fmt","","from","","","","","from_byte_array","generator","","into","","inverse","mul","","","","","","","","mul_assign","","","","neg","","","","rand","serialize","sub","","","","","","","","sub_assign","","","","to_byte_array","to_le_bytes","to_owned","","try_from","","try_into","","type_id","","vzip","","zero","","Blake2b256","Digest","EllipticCurveMultisetHash","Hash","HashFunction","HashFunctionWrapper","Keccak256","MultisetHash","OUTPUT_SIZE","ReverseWrapper","Sha256","Sha3_256","Sha3_512","Sha512","TypedDigest","Variant","__clone_box","","as_bits","as_ref","base32_len","borrow","","","borrow_mut","","","check_base32","clone","","clone_into","","clone_to_uninit","","cmp","default","","deserialize","","digest","","","","","digest_iterator","encode_hex","encode_hex_upper","eq","","equivalent","","","","finalize","","flush","fmt","","","from","","","hash","insert","","insert_all","","into","","","new","","partial_cmp","remove","","remove_all","","serialize","","size","to_owned","","to_string","to_vec","try_as_bits","try_from","","","try_into","","","type_id","","","union","","update","","vzip","","","write","","","write_base32","HkdfIkm","HmacKey","hkdf_sha3_256","hmac_sha3_256","JWTHeader","__clone_box","borrow","borrow_mut","clone","clone_into","clone_to_uninit","default","deserialize","eq","equivalent","","fmt","from","hash","into","json_schema","kid","new","parse_and_validate_jwt","schema_name","serialize","to_owned","try_from","try_into","typ","type_id","vzip","PrivateSeed","as_bits","as_bytes","as_ref","base32_len","borrow","borrow_mut","check_base32","decode_base64","drop","encode_base64","encode_hex","encode_hex_upper","eq","equivalent","","fmt","from","from_bytes","into","try_as_bits","try_from","try_into","type_id","vzip","write_base32","zeroize","Base64UrlUnpadded","Encoding","RSAPublicKey","RSASignature","__clone_box","","","borrow","","","borrow_mut","","","clone","","","clone_into","","","clone_to_uninit","","","decode","","decode_in_place","","decode_vec","","encode","","encode_string","","encoded_len","","eq","","equivalent","","","","fmt","from","","","from_bytes","from_der","from_raw_components","into","","","to_owned","","","try_from","","","try_into","","","type_id","","","verify","verify_prehash","vzip","","","DefaultHash","SECP256K1","SECP256K1_KEYPAIR_LENGTH","SECP256K1_PRIVATE_KEY_LENGTH","SECP256K1_PUBLIC_KEY_LENGTH","SECP256K1_SIGNATURE_LENGTH","Secp256k1KeyPair","Secp256k1PrivateKey","Secp256k1PublicKey","Secp256k1PublicKeyAsBytes","Secp256k1Signature","Secp256k1SignatureAsBytes","__clone_box","","as_bits","","","","as_ref","","","","base32_len","","","","borrow","","","","borrow_mut","","","","bytes","","","check_base32","","","","clone","","clone_into","","clone_to_uninit","","cmp","copy","decode_base64","","","","deserialize","","","","drop","encode_base64","","","","encode_hex","","","","encode_hex_upper","","","","eq","","","","equivalent","","","","","","","","fmt","","","","","","","from","","","","","","","from_bytes","","","","from_str","generate","hash","","into","","","","partial_cmp","private","privkey","pubkey","public","","recoverable","secret","serialize","","","","sig","sign","sign_recoverable_with_hash","sign_with_hash","to_owned","","to_string","","","try_as_bits","","","","try_from","","","","","","try_into","","","","type_id","","","","verify","verify_with_hash","vzip","","","","write_base32","","","","SECP256K1","SECP256K1_RECOVERABLE_SIGNATURE_SIZE","Secp256k1RecoverableSignature","Secp256k1Sig","__clone_box","","as_bits","as_c_ptr","as_mut_c_ptr","as_mut_ptr","as_ptr","as_ref","base32_len","borrow","","borrow_mut","","bytes","check_base32","clone","","clone_into","","clone_to_uninit","","cmp","cmp_fast_unstable","decode_base64","deserialize","encode_base64","encode_hex","encode_hex_upper","eq","","eq_fast_unstable","equivalent","","","","fmt","","","","from","","","from_bytes","from_compact","from_der","from_der_lax","from_str","hash","","into","","normalize_s","partial_cmp","recover_with_hash","serialize","serialize_compact","serialize_der","sig","to_owned","","to_string","","try_as_bits","try_from","","try_from_nonrecoverable","try_into","","type_id","","verify","vzip","","write_base32","DefaultHash","PRECOMPUTED_POINTS","SECP256R1_KEYPAIR_LENGTH","SECP256R1_PRIVATE_KEY_LENGTH","SECP256R1_PUBLIC_KEY_LENGTH","SECP256R1_SIGNATURE_LENTH","SLIDING_WINDOW_WIDTH","Secp256r1KeyPair","Secp256r1PrivateKey","Secp256r1PublicKey","Secp256r1PublicKeyAsBytes","Secp256r1Signature","Secp256r1SignatureAsBytes","__clone_box","","as_bits","","","","as_ref","","","","base32_len","","","","borrow","","","","borrow_mut","","","","bytes","","","check_base32","","","","clone","","clone_into","","clone_to_uninit","","cmp","conversion","copy","decode_base64","","","","deserialize","","","","encode_base64","","","","encode_hex","","","","encode_hex_upper","","","","eq","","","","equivalent","","","","","","","","fmt","","","","","","","from","","","","","","","from_bytes","","","","from_str","generate","hash","","into","","","","partial_cmp","private","privkey","pubkey","public","","recoverable","secret","serialize","","","","sig","sign","sign_recoverable_with_hash","sign_with_hash","to_owned","","to_string","","","try_as_bits","","","","try_from","","","","","","try_into","","","","type_id","","","","verify","verify_with_hash","vzip","","","","write_base32","","","","SECP256R1_RECOVERABLE_SIGNATURE_LENGTH","Secp256r1RecoverableSignature","__clone_box","as_bits","as_ref","base32_len","borrow","borrow_mut","bytes","check_base32","clone","clone_into","clone_to_uninit","decode_base64","deserialize","encode_base64","encode_hex","encode_hex_upper","eq","equivalent","","fmt","","from","from_bytes","hash","into","recover_with_hash","recovery_id","serialize","sig","to_owned","to_string","try_as_bits","try_from","try_from_nonrecoverable","try_into","type_id","vzip","write_base32","BYTE_LENGTH","BytesRepresentation","SerializationHelper","ToFromByteArray","__clone_box","borrow","","borrow_mut","","clone","clone_into","clone_to_uninit","cmp","deserialize","","deserialize_vector","eq","equivalent","","fmt","","from","","","","","","","","","","","","","","from_byte_array","hash","into","","is_referenceable","json_schema","keypair_decode_base64","partial_cmp","schema_name","serialize","","serialize_vector","to_byte_array","to_owned","to_string","try_from","","try_into","","type_id","","vzip","","SignatureService","__clone_box","borrow","borrow_mut","clone","clone_into","clone_to_uninit","from","into","new","request_signature","to_owned","try_from","try_into","type_id","vzip","AggregateAuthenticator","AllowedRng","Authenticator","DefaultHash","EncodeDecodeBase64","FromUniformBytes","Generate","InsecureDefault","KeyPair","LENGTH","","","PrivKey","","","","PubKey","","","","","","RecoverableSignature","RecoverableSigner","Sig","","","","","","Signer","","SigningKey","ToFromBytes","VerifyRecoverable","VerifyingKey","add_aggregate","add_signature","aggregate","as_bytes","batch_verify","copy","decode_base64","encode_base64","from_bytes","generate","","","insecure_default","private","public","recover","recover_with_hash","sign","sign_recoverable","sign_recoverable_with_hash","verify","","verify_different_msg","verify_recoverable","verify_recoverable_with_hash","log2_byte","PrivateKey","","Proof","PublicKey","","","VRFKeyPair","VRFPrivateKey","VRFProof","VRFPublicKey","ecvrf","generate","output","prove","to_hash","verify","verify_output","ECVRFKeyPair","ECVRFPrivateKey","ECVRFProof","ECVRFPublicKey","borrow","","","","borrow_mut","","","","deserialize","","","","drop","eq","","","","equivalent","","","","","","","","fmt","","","","from","","","","","generate","into","","","","pk","prove","serialize","","","","sk","to_hash","try_from","","","","try_into","","","","type_id","","","","verify","vzip","","",""],"q":[[0,"fastcrypto"],[22,"fastcrypto::aes"],[117,"fastcrypto::bls12381"],[123,"fastcrypto::bls12381::min_pk"],[314,"fastcrypto::bls12381::min_sig"],[506,"fastcrypto::ed25519"],[699,"fastcrypto::encoding"],[803,"fastcrypto::error"],[838,"fastcrypto::groups"],[865,"fastcrypto::groups::bls12381"],[1090,"fastcrypto::groups::multiplier"],[1097,"fastcrypto::groups::multiplier::windowed"],[1110,"fastcrypto::groups::ristretto255"],[1221,"fastcrypto::groups::secp256r1"],[1317,"fastcrypto::hash"],[1422,"fastcrypto::hmac"],[1426,"fastcrypto::jwt_utils"],[1454,"fastcrypto::private_seed"],[1481,"fastcrypto::rsa"],[1548,"fastcrypto::secp256k1"],[1705,"fastcrypto::secp256k1::recoverable"],[1783,"fastcrypto::secp256r1"],[1941,"fastcrypto::secp256r1::recoverable"],[1981,"fastcrypto::serde_helpers"],[2039,"fastcrypto::signature_service"],[2055,"fastcrypto::traits"],[2116,"fastcrypto::utils"],[2117,"fastcrypto::vrf"],[2134,"fastcrypto::vrf::ecvrf"],[2202,"dyn_clone::sealed"],[2203,"bitvec::slice"],[2204,"bitvec::order"],[2205,"generic_array"],[2206,"core::fmt"],[2207,"bech32"],[2208,"alloc::vec"],[2209,"core::result"],[2210,"core::clone"],[2211,"crypto_common"],[2212,"cipher::block"],[2213,"typenum::generated::consts"],[2214,"block_padding"],[2215,"serde::de"],[2216,"alloc::string"],[2217,"core::iter::traits::collect"],[2218,"serde::ser"],[2219,"bitvec::ptr::span"],[2220,"core::any"],[2221,"core::borrow"],[2222,"core::iter::traits::iterator"],[2223,"core::cmp"],[2224,"core::hash"],[2225,"core::option"],[2226,"core::marker"],[2227,"ed25519_consensus::signature"],[2228,"ed25519_consensus::signing_key"],[2229,"core::convert"],[2230,"schemars::gen"],[2231,"schemars::schema"],[2232,"signature::error"],[2233,"core::ops::arith"],[2234,"std::collections::hash::map"],[2235,"curve25519_dalek_ng::ristretto"],[2236,"curve25519_dalek_ng::scalar"],[2237,"ark_secp256r1::curves"],[2238,"ark_secp256r1::fields::fr"],[2239,"core::default"],[2240,"digest::digest"],[2241,"std::io::error"],[2242,"der::error"],[2243,"base64ct::alphabet::url"],[2244,"base64ct::errors"],[2245,"secp256k1_sys"],[2246,"secp256k1"],[2247,"secp256k1::ecdsa::serialized_signature"],[2248,"secp256k1::key"],[2249,"core::iter::traits::exact_size"],[2250,"base64ct::encoding"]],"i":"`````````````````````````````````````````BhDf``l0000BlD`Dd3210333333521040333335210403321033321032103333210321032103210333``````````````FhFnF`0002FjFl324103241032241032410324132410324324324324041032324103241032410324103241032441100332244110332244100322410320043441032401404103232104324132410324410322410324103244224103241032````````H`HfGn0002HbHd32410324103224103241032413241032432432432404103232Hh5214352143521435214352143552211443355221443355211433521431154552143512515214343215435243521435521433521435214355335214352143````````````HjIbId2HnI`324103241032AHj521430521434352143543543543515214343521430252143521435214352143552211443355221443305521114352143115505214351152143041354352435214305521443052143052143505214352143`````IjIlInAHl3210321321321321AHn1432`4324433220143234343244224321432431432432432432432432431443322143214321432J```Bd0000000000100000000000000000000``````L`0``Kf`JnK`Kb3KjKh6Lb`715``6````````````LfLhLjLlLn4444333322221111443322114321043210`43210432104321043214321432144332211143210432110043214321043214343210014444333322221111443322114434433221141432144443333222211114433221104321432104443321043210432104321043211``Mb0Md1``Mf0000`000000``MlMn11110000110010101010101111010011011000101100010001100101001111100001100111000101111000011001010110101010100```NdNf1111000011001010101010100101101100101100001010011110000110011000011110000110000101010101010````````A@b`````OfAI`NlNn1111O`12012212121201214A@`6236333233226113323123020231263302023233233331231231202613121113`````AA`00000000000000000`00000000`AAd0000000000000000000000000````AAfAAhAAj210210210210210AIb30303030303313311332112232132132132132122321````````````ABbABf1ABd1ABh312031203120312031231203232323031203120131203120312031203311220033112203312200312000323120301300`031202000323123120331220312031203331203120````ABlABj011110010100010101011000001011100110011001111101011001101010010010101100`````````````AChACl1ACj1ACn312031203120312031231203232323`03120312031203120312031203311220033112203312200312000323120301300`031202000323123120331220312031203331203120``AD`0000000000000000000000000000000000000ADf```GlADb101111101`1111101111111111111210111`1101`21101010101`ADj00000000000000```AFn`````AEjAElADl20ADhAEh321AG`61``5420AGb2`7````222AEn34AFb015AFdAFfAFh88<{{}c{}}0{{{b{Nf}}}{{J`{Nf}}}}{{{b{Nd}}b}c{}}{{{b{Nd}}}c{}}{{NdNf}Nd}{{Ndb}c{}}{{{b{Nf}}b}c{}}{{NfNf}c{}}{{Nfb}c{}}{{{b{Nf}}}c{}}{{{b{AhNd}}b}f}{{{b{AhNd}}}f}{{{b{AhNf}}}f}{{{b{AhNf}}b}f}:{NdNd}5{NfNf}{{{b{Ahc}}}NfEf}{{{b{Nf}}c}AnEh}{{{b{Nd}}{b{Nd}}}c{}}{{NdNd}Nd}{{Nd{b{Nd}}}c{}}{{{b{Nd}}Nd}c{}}{{{b{Nf}}{b{Nf}}}c{}}{{Nf{b{Nf}}}c{}}{{NfNf}Nf}{{{b{Nf}}Nf}c{}}{{{b{AhNd}}{b{Nd}}}f}{{{b{AhNd}}Nd}f}{{{b{AhNf}}Nf}f}{{{b{AhNf}}{b{Nf}}}f}{{{b{Nf}}}{{Jd{n}}}}{{{b{Nf}}}{{Al{n}}}}{bc{}}0{c{{An{e}}}{}{}}0{{}{{An{c}}}{}}0{bEl}0{{}c{}}0{{}Nd}{{}Nf}````````````````{{bd}f}0{b{{b{{h{ce}}}}}{}j}{{{b{Nl}}}{{b{{A`{n}}}}}}{bAf}{b{{b{c}}}{}}00{{{b{Ah}}}{{b{Ahc}}}{}}00{{}{{An{{Al{Aj}}}}}}{{{b{Nl}}}Nl}{{{b{Nn}}}Nn}{{b{b{Ahc}}}f{}}0{bf}0{{{b{Nl}}{b{Nl}}}Gb}{{}{{O`{c}}}Ob}{{}Nn}{c{{An{Nl}}}Dh}{c{{An{Nn}}}Dh}{{{b{{Of{}{{Od{c}}}}}}}c{{Oh{Nl}}OjOlOnAd}}{{{b{A@`}}}Nl}{cNl{{Jf{{A`{n}}}}}}{{{b{Nn}}}Nl}`{eNl{{Jf{{A`{n}}}}}{{G`{}{{Fd{c}}}}}}{bc{{Dn{Dl}}}}0{{{b{Nl}}{b{Nl}}}Gd}{{{b{Nn}}{b{Nn}}}Gd}{{b{b{c}}}Gd{}}000{A@bNl}{{{O`{c}}}Nl{A@dOb}}{{{b{Ah{O`{c}}}}}{{A@f{f}}}{A@dOb}}{{{b{Nl}}{b{AhE`}}}{{An{fGf}}}}0{{{b{Nn}}{b{AhE`}}}Eb}{cc{}}00{{{b{Nl}}{b{Ahc}}}fGh}{{{b{AhA@`}}c}f{{Jf{{A`{n}}}}}}{{{b{AhNn}}c}f{{Jf{{A`{n}}}}}}{{{b{AhA@`}}e}f{{Jf{{A`{n}}}}}{{Ff{}{{Fd{c}}}}}}{{{b{AhNn}}e}f{{Jf{{A`{n}}}}}{{Ff{}{{Fd{c}}}}}}{{}c{}}00{{}A@b}{{{Jd{n}}}Nl}{{{b{Nl}}{b{Nl}}}{{Gj{Gb}}}}7654{{{b{Nl}}c}AnEh}{{{b{Nn}}c}AnEh}{{{b{Nl}}}Af}{bc{}}0{bDj}{{{b{Nl}}}{{Al{n}}}}{b{{An{{b{{h{ce}}}}{Ej{c}}}}}{}j}{c{{An{e}}}{}{}}00{{}{{An{c}}}{}}00{bEl}00{{{b{AhA@`}}{b{A@`}}}f}{{{b{AhNn}}{b{Nn}}}f}{{{b{AhA@b}}c}f{{Jf{{A`{n}}}}}}{{{b{Ah{O`{c}}}}e}f{A@dOb}{{Jf{{A`{n}}}}}}{{}c{}}00{{{b{Ah{O`{c}}}}{b{{A`{n}}}}}{{A@f{Af}}}{A@dOb}}{{{b{Ah}}{b{{A`{n}}}}}{{An{fA@h}}}}{{{b{Ah}}{b{{A`{n}}}}}{{An{fA@j}}}}{{b{b{Ahc}}}{{An{f}}}En}``{{{b{A@l}}{b{{A`{n}}}}{b{{A`{n}}}}Af}{{An{{Al{n}}Bd}}}}{{{b{A@n}}{b{{A`{n}}}}}Nl}`{{bd}f}{b{{b{c}}}{}}{{{b{Ah}}}{{b{Ahc}}}{}}{{{b{AA`}}}AA`}{{b{b{Ahc}}}f{}}{bf}{{}AA`}{c{{An{AA`}}}Dh}{{{b{AA`}}{b{AA`}}}Gd}{{b{b{c}}}Gd{}}0{{{b{AA`}}{b{AhE`}}}Eb}{cc{}}{{{b{AA`}}{b{Ahc}}}fGh}{{}c{}}{{{b{AhJh}}}Jj}`{{{b{Bb}}}{{An{AA`Bd}}}}{{{b{Bb}}}{{An{{AAb{DjDjDj}}Bd}}}}{{}Dj}{{{b{AA`}}c}AnEh}{bc{}}{c{{An{e}}}{}{}}{{}{{An{c}}}{}}`{bEl}9`{b{{b{{h{ce}}}}}{}j}{{{b{AAd}}}{{b{{A`{n}}}}}}0{bAf}{b{{b{c}}}{}}{{{b{Ah}}}{{b{Ahc}}}{}}{{}{{An{{Al{Aj}}}}}}{{{b{Bb}}}{{An{cBd}}}{}}{{{b{AhAAd}}}f}{bDj}{bc{{Dn{Dl}}}}0{{{b{AAd}}{b{AAd}}}Gd}{{b{b{c}}}Gd{}}0{{{b{AAd}}{b{AhE`}}}Eb}{cc{}}{{{b{{A`{n}}}}}{{An{AAdBd}}}}{{}c{}}{b{{An{{b{{h{ce}}}}{Ej{c}}}}}{}j}{c{{An{e}}}{}{}}{{}{{An{c}}}{}}{bEl}4{{b{b{Ahc}}}{{An{f}}}En}=````{{bd}f}00{b{{b{c}}}{}}00{{{b{Ah}}}{{b{Ahc}}}{}}00{{{b{AAf}}}AAf}{{{b{AAh}}}AAh}{{{b{AAj}}}AAj}{{b{b{Ahc}}}f{}}00{bf}00{{c{b{Ah{A`{n}}}}}{{An{{b{{A`{n}}}}AAl}}}{{Jf{{A`{n}}}}}}0{{{b{Ah{A`{n}}}}}{{An{{b{{A`{n}}}}AAn}}}}0{{{b{Bb}}}{{An{{Al{n}}AAl}}}}0{{{b{{A`{n}}}}{b{Ah{A`{n}}}}}{{An{{b{Bb}}AB`}}}}0{{{b{{A`{n}}}}}Dj}0{{{b{{A`{n}}}}}Af}0{{{b{AAf}}{b{AAf}}}Gd}{{{b{AAj}}{b{AAj}}}Gd}{{b{b{c}}}Gd{}}000{{{b{AAf}}{b{AhE`}}}{{An{fGf}}}}{cc{}}00{{{b{{A`{n}}}}}{{J`{AAj}}}}{{{b{{A`{n}}}}}{{J`{AAh}}}}{{{b{{A`{n}}}}{b{{A`{n}}}}}{{J`{AAh}}}}{{}c{}}00{bc{}}00{c{{An{e}}}{}{}}00{{}{{An{c}}}{}}00{bEl}00{{{b{AAh}}{b{{A`{n}}}}{b{AAj}}}{{J`{f}}}}0555````````````{{bd}f}0{b{{b{{h{ce}}}}}{}j}000{{{b{ABb}}}{{b{{A`{n}}}}}}{{{b{ABd}}}{{b{{A`{n}}}}}}{{{b{ABf}}}{{b{{A`{n}}}}}}{{{b{ABh}}}{{b{{A`{n}}}}}}{bAf}000{b{{b{c}}}{}}000{{{b{Ah}}}{{b{Ahc}}}{}}000```{{}{{An{{Al{Aj}}}}}}000{{{b{ABb}}}ABb}{{{b{ABf}}}ABf}{{b{b{Ahc}}}f{}}0{bf}0{{{b{ABb}}{b{ABb}}}Gb}{{{b{ABh}}}ABh}{{{b{Bb}}}{{An{cBd}}}{}}000{c{{An{ABb}}}Dh}{c{{An{ABd}}}Dh}{c{{An{ABf}}}Dh}{c{{An{ABh}}}Dh}{{{b{AhABd}}}f}{bDj}000{bc{{Dn{Dl}}}}0000000{{{b{ABb}}{b{ABb}}}Gd}{{{b{ABd}}{b{ABd}}}Gd}{{{b{ABf}}{b{ABf}}}Gd}{{{b{ABh}}{b{ABh}}}Gd}{{b{b{c}}}Gd{}}0000000{{{b{ABb}}{b{AhE`}}}Eb}{{{b{ABb}}{b{AhE`}}}{{An{fGf}}}}{{{b{ABd}}{b{AhE`}}}Eb}0{{{b{ABf}}{b{AhE`}}}Eb}{{{b{ABf}}{b{AhE`}}}{{An{fGf}}}}{{{b{ABh}}{b{AhE`}}}Eb}{cc{}}{{{b{ABd}}}ABb}11{{{b{ABj}}}ABf}{ABdABh}3{{{b{{A`{n}}}}}{{An{ABbBd}}}}{{{b{{A`{n}}}}}{{An{ABdBd}}}}{{{b{{A`{n}}}}}{{An{ABfBd}}}}{{{b{{A`{n}}}}}{{An{ABhBd}}}}{{{b{Bb}}}{{An{ABhc}}}{}}{{{b{Ahc}}}ABhEf}{{{b{ABb}}{b{Ahc}}}fGh}{{{b{ABf}}{b{Ahc}}}fGh}{{}c{}}000{{{b{ABb}}{b{ABb}}}{{Gj{Gb}}}}{ABhc{}}``{{{b{ABh}}}{{b{c}}}{}}```{{{b{ABb}}c}AnEh}{{{b{ABd}}c}AnEh}{{{b{ABf}}c}AnEh}{{{b{ABh}}c}AnEh}`{{{b{ABh}}{b{{A`{n}}}}}ABf}{{{b{ABh}}{b{{A`{n}}}}}ABj}1{bc{}}0{bDj}00{b{{An{{b{{h{ce}}}}{Ej{c}}}}}{}j}000{{{b{Gl}}}{{An{ABbc}}}{}}{c{{An{e}}}{}{}}00{{{b{Gl}}}{{An{ABfc}}}{}}1{{}{{An{c}}}{}}000{bEl}000{{{b{ABb}}{b{{A`{n}}}}{b{ABf}}}{{An{fBd}}}}0{{}c{}}000{{b{b{Ahc}}}{{An{f}}}En}000````{{bd}f}0{b{{b{{h{ce}}}}}{}j}{{{b{ABl}}}}{{{b{AhABl}}}}{{{b{AhABl}}}ABn}{{{b{ABl}}}ABn}{{{b{ABj}}}{{b{{A`{n}}}}}}{bAf}{b{{b{c}}}{}}0{{{b{Ah}}}{{b{Ahc}}}{}}0`{{}{{An{{Al{Aj}}}}}}{{{b{ABl}}}ABl}{{{b{ABj}}}ABj}{{b{b{Ahc}}}f{}}0{bf}0{{{b{ABl}}{b{ABl}}}Gb}0{{{b{Bb}}}{{An{cBd}}}{}}{c{{An{ABj}}}Dh}{bDj}{bc{{Dn{Dl}}}}0{{{b{ABl}}{b{ABl}}}Gd}{{{b{ABj}}{b{ABj}}}Gd}1{{b{b{c}}}Gd{}}000{{{b{ABl}}{b{AhE`}}}{{An{fGf}}}}0{{{b{ABj}}{b{AhE`}}}Eb}{{{b{ABj}}{b{AhE`}}}{{An{fGf}}}}{cc{}}{ABnABl}1{{{b{{A`{n}}}}}{{An{ABjBd}}}}{{{b{{A`{n}}}}}{{An{ABlAC`}}}}00{{{b{Bb}}}{{An{ABlAC`}}}}{{{b{ABl}}{b{Ahc}}}fGh}{{{b{ABj}}{b{Ahc}}}fGh}{{}c{}}0{{{b{AhABl}}}f}{{{b{ABl}}{b{ABl}}}{{Gj{Gb}}}}{{{b{ABj}}{b{{A`{n}}}}}{{An{ABbBd}}}}{{{b{ABj}}c}AnEh}{{{b{ABl}}}{{Jd{n}}}}{{{b{ABl}}}ACb}`{bc{}}0{bDj}0{b{{An{{b{{h{ce}}}}{Ej{c}}}}}{}j}{c{{An{e}}}{}{}}0{{{b{ABf}}{b{ABb}}{b{{A`{n}}}}}{{An{ABjBd}}}}{{}{{An{c}}}{}}0{bEl}0{{{b{ABl}}{b{ACd}}{b{ACf}}}{{An{fAC`}}}}>>{{b{b{Ahc}}}{{An{f}}}En}`````````````{{bd}f}0{b{{b{{h{ce}}}}}{}j}000{{{b{ACh}}}{{b{{A`{n}}}}}}{{{b{ACj}}}{{b{{A`{n}}}}}}{{{b{ACl}}}{{b{{A`{n}}}}}}{{{b{ACn}}}{{b{{A`{n}}}}}}{bAf}000{b{{b{c}}}{}}000{{{b{Ah}}}{{b{Ahc}}}{}}000```{{}{{An{{Al{Aj}}}}}}000{{{b{ACh}}}ACh}{{{b{ACl}}}ACl}{{b{b{Ahc}}}f{}}0{bf}0{{{b{ACh}}{b{ACh}}}Gb}`{{{b{ACn}}}ACn}{{{b{Bb}}}{{An{cBd}}}{}}000{c{{An{ACh}}}Dh}{c{{An{ACj}}}Dh}{c{{An{ACl}}}Dh}{c{{An{ACn}}}Dh}{bDj}000{bc{{Dn{Dl}}}}0000000{{{b{ACh}}{b{ACh}}}Gd}{{{b{ACj}}{b{ACj}}}Gd}{{{b{ACl}}{b{ACl}}}Gd}{{{b{ACn}}{b{ACn}}}Gd}{{b{b{c}}}Gd{}}0000000{{{b{ACh}}{b{AhE`}}}Eb}{{{b{ACh}}{b{AhE`}}}{{An{fGf}}}}{{{b{ACj}}{b{AhE`}}}Eb}0{{{b{ACl}}{b{AhE`}}}{{An{fGf}}}}{{{b{ACl}}{b{AhE`}}}Eb}{{{b{ACn}}{b{AhE`}}}Eb}{cc{}}{{{b{ACj}}}ACh}11{{{b{AD`}}}ACl}2{ACjACn}{{{b{{A`{n}}}}}{{An{AChBd}}}}{{{b{{A`{n}}}}}{{An{ACjBd}}}}{{{b{{A`{n}}}}}{{An{AClBd}}}}{{{b{{A`{n}}}}}{{An{ACnBd}}}}{{{b{Bb}}}{{An{ACnc}}}{}}{{{b{Ahc}}}ACnEf}{{{b{ACh}}{b{Ahc}}}fGh}{{{b{ACl}}{b{Ahc}}}fGh}{{}c{}}000{{{b{ACh}}{b{ACh}}}{{Gj{Gb}}}}{ACnc{}}``{{{b{ACn}}}{{b{c}}}{}}```{{{b{ACh}}c}AnEh}{{{b{ACj}}c}AnEh}{{{b{ACl}}c}AnEh}{{{b{ACn}}c}AnEh}`{{{b{ACn}}{b{{A`{n}}}}}ACl}{{{b{ACn}}{b{{A`{n}}}}}AD`}1{bc{}}0{bDj}00{b{{An{{b{{h{ce}}}}{Ej{c}}}}}{}j}000{c{{An{e}}}{}{}}{{{b{Gl}}}{{An{AChc}}}{}}11{{{b{Gl}}}{{An{AClc}}}{}}2{{}{{An{c}}}{}}000{bEl}000{{{b{ACh}}{b{{A`{n}}}}{b{ACl}}}{{An{fBd}}}}0{{}c{}}000{{b{b{Ahc}}}{{An{f}}}En}000``{{bd}f}{b{{b{{h{ce}}}}}{}j}{{{b{AD`}}}{{b{{A`{n}}}}}}{bAf}{b{{b{c}}}{}}{{{b{Ah}}}{{b{Ahc}}}{}}`{{}{{An{{Al{Aj}}}}}}{{{b{AD`}}}AD`}{{b{b{Ahc}}}f{}}{bf}{{{b{Bb}}}{{An{cBd}}}{}}{c{{An{AD`}}}Dh}{bDj}{bc{{Dn{Dl}}}}0{{{b{AD`}}{b{AD`}}}Gd}{{b{b{c}}}Gd{}}0{{{b{AD`}}{b{AhE`}}}Eb}{{{b{AD`}}{b{AhE`}}}{{An{fGf}}}}{cc{}}{{{b{{A`{n}}}}}{{An{AD`Bd}}}}{{{b{AD`}}{b{Ahc}}}fGh}{{}c{}}{{{b{AD`}}{b{{A`{n}}}}}{{An{AChBd}}}}`{{{b{AD`}}c}AnEh}`{bc{}}<{b{{An{{b{{h{ce}}}}{Ej{c}}}}}{}j}{c{{An{e}}}{}{}}{{{b{ACl}}{b{ACh}}{b{{A`{n}}}}}{{An{AD`Bd}}}}{{}{{An{c}}}{}}{bEl}8{{b{b{Ahc}}}{{An{f}}}En}````{{bd}f}{b{{b{c}}}{}}0{{{b{Ah}}}{{b{Ahc}}}{}}0{{{b{Gl}}}Gl}{{b{b{Ahc}}}f{}}{bf}{{{b{Gl}}{b{Gl}}}Gb}{c{{An{ADb}}}Dh}{c{{An{Gl}}}Dh}{{{b{{A`{n}}}}{ADd{{b{{Jd{n}}}}}{{Kn{{J`{c}}}}}}}{{J`{{Al{c}}}}}{}}{{{b{Gl}}{b{Gl}}}Gd}{{b{b{c}}}Gd{}}0{{{b{Gl}}{b{AhE`}}}{{An{fGf}}}}{{{b{Gl}}{b{AhE`}}}Eb}{cc{}}{{{b{ACl}}}Gl}1{{{b{Hj}}}Gl}{{{b{ACh}}}Gl}{{{b{H`}}}Gl}{{{b{Lf}}}Gl}{{{b{Lh}}}Gl}{{{b{Gn}}}Gl}{{{b{ABb}}}Gl}{{{b{Fh}}}Gl}{{{b{F`}}}Gl}{{{b{ABf}}}Gl}{{{b{Ib}}}Gl}{{{b{{Jd{n}}}}}{{An{ADfBd}}}}{{{b{Gl}}{b{Ahc}}}fGh}{{}c{}}0{{}Gd}{{{b{AhJh}}}Jj}{{{b{Bb}}}{{J`{c}}}ADh}{{{b{Gl}}{b{Gl}}}{{Gj{Gb}}}}{{}Dj}{{{b{ADb}}c}AnEh}{{{b{Gl}}c}AnEh}{{{b{{A`{c}}}}{ADd{{b{c}}}{{Kn{{Jd{n}}}}}}}{{Al{n}}}{}}{{{b{ADf}}}{{Jd{n}}}}{bc{}}{bDj}{c{{An{e}}}{}{}}0{{}{{An{c}}}{}}0{bEl}0>>`{{bd}f}{b{{b{c}}}{}}{{{b{Ah}}}{{b{Ahc}}}{}}{{{b{{ADj{c}}}}}{{ADj{c}}}{B`ADl}}{{b{b{Ahc}}}f{}}{bf}{cc{}}{{}c{}}{e{{ADj{c}}}ADl{{ADn{c}}AE`}}{{{b{{ADj{c}}}}Nl}cADl}><;:2````````````````````````````````````{{{b{Ah{AEh{}{{AEb{c}}{AEd{e}}{AEf{g}}}}}}{AEh{}{{AEb{c}}{AEd{e}}{AEf{g}}}}}{{An{fBd}}}{{ADl{}{{AEd{e}}}}}{{AEj{}{{AEb{c}}}}}{{AEl{}{{AEb{c}}}}}}{{{b{Ah{AEh{}{{AEb{c}}{AEd{e}}{AEf{g}}}}}}c}{{An{fBd}}}{{ADl{}{{AEd{e}}}}}{{AEj{}{{AEb{c}}}}}{{AEl{}{{AEb{c}}}}}}{g{{An{{AEh{}{{AEb{c}}{AEd{i}}{AEf{k}}}}Bd}}}{{ADl{}{{AEd{i}}}}}{{Fb{c}}}{{Ff{}{{Fd{{b{e}}}}}}}{{AEj{}{{AEb{c}}}}}{{AEl{}{{AEb{c}}}}}}{{{b{AEn}}}{{b{{A`{n}}}}}}{{{b{{A`{{b{{AEh{}{{AEb{c}}{AEd{e}}{AEf{g}}}}}}}}}}{Al{i}}{b{{A`{{b{{A`{n}}}}}}}}}{{An{fBd}}}{{ADl{}{{AEd{e}}}}}{{AEj{}{{AEb{c}}}}}{{AEl{}{{AEb{c}}}}}{{AF`{}{{Fd{{b{e}}}}}}}}{{{b{{ADh{}{{AEd{c}}{AEf{e}}{AEb{g}}}}}}}{{ADh{}{{AEd{c}}{AEf{e}}{AEb{g}}}}}{{AEj{}{{AEf{e}}{AEb{g}}}}}{{AEl{}{{AEd{c}}{AEb{g}}}}}{{ADl{}{{AEd{c}}{AEf{e}}}}}}{{{b{Bb}}}{{J`{AFb}}}}{{{b{AFb}}}Dj}{{{b{{A`{n}}}}}{{An{AEnBd}}}}{{{b{Ahc}}}{{ADh{}{{AEd{e}}{AEf{g}}{AEb{i}}}}}Ef{{AEj{}{{AEf{g}}{AEb{i}}}}}{{AEl{}{{AEd{e}}{AEb{i}}}}}{{ADl{}{{AEd{e}}{AEf{g}}}}}}{{{b{Ahc}}}AFdEf}{{{b{Ahc}}}AFfEf}{{}AFh}{{{ADh{}{{AEd{c}}{AEf{e}}{AEb{g}}}}}e{{AEj{}{{AEf{e}}{AEb{g}}}}}{{AEl{}{{AEd{c}}{AEb{g}}}}}{{ADl{}{{AEd{c}}{AEf{e}}}}}}{{{b{{ADh{}{{AEd{c}}{AEf{e}}{AEb{g}}}}}}}{{b{c}}}{{AEj{}{{AEf{e}}{AEb{g}}}}}{{AEl{}{{AEd{c}}{AEb{g}}}}}{{ADl{}{{AEd{c}}{AEf{e}}}}}}{{{b{{AFn{}{{AEd{c}}{AFj{e}}{AFl{g}}}}}}{b{{A`{n}}}}}{{An{cBd}}}{}{{AG`{}{{AEb{}}{AEd{}}}}}A@b}0{{{b{ADn}}{b{{A`{n}}}}}c{}}{{{b{{AG`{}{{AEd{c}}{AEb{e}}}}}}{b{{A`{n}}}}}e{}{{AFn{}{{AFj{}}{AEd{}}}}}}0{{{b{{AEj{}{{AEf{c}}{AEb{e}}}}}}{b{{A`{n}}}}{b{e}}}{{An{fBd}}}{{AEl{}{{AEd{}}}}}{{ADl{}{{AEd{}}}}}}{{{b{{AEh{}{{AEb{c}}{AEd{e}}{AEf{g}}}}}}{b{A`}}{b{{A`{n}}}}}{{An{fBd}}}{{ADl{}{{AEd{e}}}}}{{AEj{}{{AEb{c}}}}}{{AEl{}{{AEb{c}}}}}}{{{b{{AEh{}{{AEb{c}}{AEd{e}}{AEf{g}}}}}}{b{A`}}{b{{A`{{b{{A`{n}}}}}}}}}{{An{fBd}}}{{ADl{}{{AEd{e}}}}}{{AEj{}{{AEb{c}}}}}{{AEl{}{{AEb{c}}}}}}{{{b{{AGb{}{{AEb{c}}}}}}{b{{A`{n}}}}{b{c}}}{{An{fBd}}}{{AFn{}{{AEd{}}}}}}0{nAf}```````````{{{b{Ahc}}}{{AGj{}{{AGd{e}}{AGf{i}}{AGh{g}}}}}Ef{{AGl{}{{AGh{g}}}}}{{AGn{}{{AGf{i}}}}}{{AH`{}{{AGh{g}}}}}}{{{b{{AGj{}{{AGd{c}}{AGf{g}}{AGh{e}}}}}}{b{{A`{n}}}}}{{AAb{{Jd{n}}c}}}{{AGl{}{{AGh{e}}}}}{{AGn{}{{AGf{g}}}}}{{AH`{}{{AGh{e}}}}}}{{{b{{AGj{}{{AGd{c}}{AGf{g}}{AGh{e}}}}}}{b{{A`{n}}}}}c{{AGl{}{{AGh{e}}}}}{{AGn{}{{AGf{g}}}}}{{AH`{}{{AGh{e}}}}}}{{{b{{AGl{}{{AGh{c}}}}}}}{{Jd{n}}}AGn}{{{b{{AGl{}{{AGh{c}}}}}}{b{{A`{n}}}}{b{c}}}{{An{fBd}}}AGn}{{{b{{AGl{}{{AGh{c}}}}}}{b{{A`{n}}}}{b{c}}{b{{Jd{n}}}}}{{An{fBd}}}AGn}````{b{{b{c}}}{}}000{{{b{Ah}}}{{b{Ahc}}}{}}000{c{{An{AHb}}}Dh}{c{{An{AHd}}}Dh}{c{{An{AHf}}}Dh}{c{{An{AHh}}}Dh}{{{b{AhAHd}}}f}{{{b{AHb}}{b{AHb}}}Gd}{{{b{AHd}}{b{AHd}}}Gd}{{{b{AHf}}{b{AHf}}}Gd}{{{b{AHh}}{b{AHh}}}Gd}{{b{b{c}}}Gd{}}0000000{{{b{AHb}}{b{AhE`}}}Eb}{{{b{AHd}}{b{AhE`}}}Eb}{{{b{AHf}}{b{AhE`}}}Eb}{{{b{AHh}}{b{AhE`}}}Eb}{cc{}}0{AHdAHf}11{{{b{Ahc}}}AHfEf}{{}c{}}000`{{{b{AHf}}{b{{A`{n}}}}}AHh}{{{b{AHb}}c}AnEh}{{{b{AHd}}c}AnEh}{{{b{AHf}}c}AnEh}{{{b{AHh}}c}AnEh}`{{{b{AHh}}}{{Jd{n}}}}{c{{An{e}}}{}{}}000{{}{{An{c}}}{}}000{bEl}000{{{b{AHh}}{b{{A`{n}}}}{b{c}}}{{An{fBd}}}{}}::::","D":"CBn","p":[[1,"reference"],[5,"Private",2202],[1,"unit"],[5,"BitSlice",2203],[10,"BitOrder",2204],[5,"GenericByteArray",22],[1,"u8"],[1,"slice"],[10,"ArrayLength",2205],[10,"Debug",2206],[1,"usize"],[0,"mut"],[5,"u5",2207],[5,"Vec",2208],[6,"Result",2209],[10,"Clone",2210],[1,"str"],[6,"FastCryptoError",803],[17,"IVType"],[10,"Cipher",22],[10,"Nonce",22],[5,"AesCtr",22],[17,"KeySize"],[10,"KeySizeUser",2211],[10,"KeyInit",2211],[10,"BlockCipher",2212],[17,"BlockSize"],[8,"U16",2213],[10,"BlockSizeUser",2211],[10,"BlockEncrypt",2212],[10,"BlockDecrypt",2212],[5,"AesCbc",22],[10,"Padding",2214],[5,"AesGcm",22],[10,"AuthenticatedCipher",22],[10,"Deserializer",2215],[5,"String",2216],[1,"char"],[10,"FromIterator",2217],[5,"Formatter",2206],[8,"Result",2206],[8,"AesKey",22],[10,"AllowedRng",2055],[10,"Serializer",2218],[6,"BitSpanError",2219],[5,"TypeId",2220],[10,"WriteBase32",2207],[5,"BLS12381AggregateSignature",123],[10,"Borrow",2221],[17,"Item"],[10,"IntoIterator",2217],[5,"BLS12381PublicKey",123],[5,"BLS12381PrivateKey",123],[5,"BLS12381KeyPair",123],[5,"BLS12381Signature",123],[10,"Iterator",2222],[6,"Ordering",2223],[1,"bool"],[5,"Error",2206],[10,"Hasher",2224],[6,"Option",2225],[5,"BytesRepresentation",1981],[5,"BLS12381AggregateSignature",314],[5,"BLS12381PublicKey",314],[5,"BLS12381PrivateKey",314],[5,"BLS12381KeyPair",314],[5,"BLS12381Signature",314],[8,"BLS12381AggregateSignatureAsBytes",314],[5,"Ed25519PublicKey",506],[10,"Sized",2226],[5,"Ed25519PrivateKey",506],[5,"Ed25519KeyPair",506],[5,"Ed25519Signature",506],[5,"Ed25519AggregateSignature",506],[5,"Signature",2227],[5,"SigningKey",2228],[5,"Base64",699],[5,"Hex",699],[5,"Base58",699],[8,"FastCryptoResult",803],[10,"TryFrom",2229],[1,"array"],[10,"AsRef",2229],[5,"SchemaGenerator",2230],[6,"Schema",2231],[5,"Error",2232],[10,"Doubling",838],[10,"FiatShamirChallenge",838],[10,"FromTrustedByteArray",838],[17,"ScalarType"],[10,"GroupElement",838],[10,"Scalar",838],[10,"HashToGroupElement",838],[17,"Other"],[17,"Output"],[10,"Pairing",838],[10,"MultiScalarMul",838],[1,"u64"],[5,"G1Element",865],[5,"G2Element",865],[5,"GTElement",865],[5,"Scalar",865],[5,"G1ElementUncompressed",865],[1,"u128"],[10,"ScalarMultiplier",1090],[10,"ToLittleEndianBytes",1090],[5,"WindowedScalarMultiplier",1097],[10,"Add",2233],[5,"HashMap",2234],[5,"RistrettoPoint",1110],[5,"RistrettoScalar",1110],[5,"RistrettoPoint",2235],[5,"Scalar",2236],[5,"ProjectivePoint",1221],[5,"Scalar",1221],[8,"Projective",2237],[8,"Fr",2238],[5,"Digest",1317],[5,"EllipticCurveMultisetHash",1317],[5,"HashFunctionWrapper",1317],[10,"Default",2239],[17,"TypedDigest"],[10,"Hash",1317],[10,"Into",2229],[10,"Eq",2223],[10,"Hash",2224],[10,"Copy",2226],[10,"MultisetHash",1317],[10,"HashFunction",1317],[10,"Digest",2240],[8,"Result",2241],[5,"Error",2242],[5,"Error",2242],[8,"HkdfIkm",1422],[8,"HmacKey",1422],[5,"JWTHeader",1426],[1,"tuple"],[5,"PrivateSeed",1454],[5,"Base64UrlUnpadded",1481,2243],[5,"RSAPublicKey",1481],[5,"RSASignature",1481],[6,"Error",2244],[5,"InvalidEncodingError",2244],[5,"InvalidLengthError",2244],[5,"Secp256k1PublicKey",1548],[5,"Secp256k1PrivateKey",1548],[5,"Secp256k1Signature",1548],[5,"Secp256k1KeyPair",1548],[5,"Secp256k1RecoverableSignature",1705],[5,"Secp256k1Sig",1705],[5,"Signature",2245],[6,"Error",2246],[5,"SerializedSignature",2247],[5,"Message",2246],[5,"PublicKey",2248],[5,"Secp256r1PublicKey",1783],[5,"Secp256r1PrivateKey",1783],[5,"Secp256r1Signature",1783],[5,"Secp256r1KeyPair",1783],[5,"Secp256r1RecoverableSignature",1941],[5,"SerializationHelper",1981],[1,"fn"],[10,"ToFromByteArray",1981],[10,"KeyPair",2055],[5,"SignatureService",2039],[10,"Authenticator",2055],[10,"Signer",2055],[10,"Send",2226],[17,"Sig"],[17,"PubKey"],[17,"PrivKey"],[10,"AggregateAuthenticator",2055],[10,"VerifyingKey",2055],[10,"SigningKey",2055],[10,"ToFromBytes",2055],[10,"ExactSizeIterator",2249],[10,"EncodeDecodeBase64",2055],[10,"Generate",2055],[10,"FromUniformBytes",2055],[10,"InsecureDefault",2055],[17,"Signer"],[17,"DefaultHash"],[10,"RecoverableSignature",2055],[10,"RecoverableSigner",2055],[10,"VerifyRecoverable",2055],[17,"Proof"],[17,"PrivateKey"],[17,"PublicKey"],[10,"VRFKeyPair",2117],[10,"VRFProof",2117],[10,"VRFPublicKey",2117],[10,"VRFPrivateKey",2117],[5,"ECVRFPublicKey",2134],[5,"ECVRFPrivateKey",2134],[5,"ECVRFKeyPair",2134],[5,"ECVRFProof",2134],[5,"SingleSignature",506],[5,"Bech32",699],[10,"Encoding",699],[10,"ReverseWrapper",1317],[10,"Encoding",1481]],"r":[[1481,2243],[1482,2250]],"b":[[80,"impl-Debug-for-GenericByteArray%3CN%3E"],[81,"impl-Display-for-GenericByteArray%3CN%3E"],[225,"impl-Debug-for-BLS12381PublicKey"],[226,"impl-Display-for-BLS12381PublicKey"],[227,"impl-Display-for-BLS12381PrivateKey"],[228,"impl-Debug-for-BLS12381PrivateKey"],[230,"impl-Display-for-BLS12381Signature"],[231,"impl-Debug-for-BLS12381Signature"],[232,"impl-Display-for-BLS12381AggregateSignature"],[233,"impl-Debug-for-BLS12381AggregateSignature"],[417,"impl-Debug-for-BLS12381PublicKey"],[418,"impl-Display-for-BLS12381PublicKey"],[419,"impl-Debug-for-BLS12381PrivateKey"],[420,"impl-Display-for-BLS12381PrivateKey"],[422,"impl-Debug-for-BLS12381Signature"],[423,"impl-Display-for-BLS12381Signature"],[424,"impl-Display-for-BLS12381AggregateSignature"],[425,"impl-Debug-for-BLS12381AggregateSignature"],[610,"impl-Display-for-Ed25519PublicKey"],[611,"impl-Debug-for-Ed25519PublicKey"],[612,"impl-Display-for-Ed25519PrivateKey"],[613,"impl-Debug-for-Ed25519PrivateKey"],[615,"impl-Display-for-Ed25519Signature"],[616,"impl-Debug-for-Ed25519Signature"],[617,"impl-Display-for-Ed25519AggregateSignature"],[618,"impl-Debug-for-Ed25519AggregateSignature"],[623,"impl-From%3CEd25519PrivateKey%3E-for-Ed25519KeyPair"],[624,"impl-From%3CSigningKey%3E-for-Ed25519KeyPair"],[733,"impl-DeserializeAs%3C\'de,+%5Bu8;+N%5D%3E-for-Base64"],[734,"impl-DeserializeAs%3C\'de,+Vec%3Cu8%3E%3E-for-Base64"],[735,"impl-DeserializeAs%3C\'de,+%5Bu8;+N%5D%3E-for-Hex"],[736,"impl-DeserializeAs%3C\'de,+Vec%3Cu8%3E%3E-for-Hex"],[737,"impl-DeserializeAs%3C\'de,+Vec%3Cu8%3E%3E-for-Base58"],[738,"impl-DeserializeAs%3C\'de,+%5Bu8;+N%5D%3E-for-Base58"],[827,"impl-Display-for-FastCryptoError"],[828,"impl-Debug-for-FastCryptoError"],[882,"impl-Add%3C%26G1Element%3E-for-%26G1Element"],[883,"impl-Add-for-G1Element"],[884,"impl-Add%3CG1Element%3E-for-%26G1Element"],[885,"impl-Add%3C%26G1Element%3E-for-G1Element"],[886,"impl-Add%3CG2Element%3E-for-%26G2Element"],[887,"impl-Add%3C%26G2Element%3E-for-%26G2Element"],[888,"impl-Add-for-G2Element"],[889,"impl-Add%3C%26G2Element%3E-for-G2Element"],[890,"impl-Add%3C%26GTElement%3E-for-%26GTElement"],[891,"impl-Add-for-GTElement"],[892,"impl-Add%3CGTElement%3E-for-%26GTElement"],[893,"impl-Add%3C%26GTElement%3E-for-GTElement"],[894,"impl-Add%3C%26Scalar%3E-for-%26Scalar"],[895,"impl-Add%3CScalar%3E-for-%26Scalar"],[896,"impl-Add%3C%26Scalar%3E-for-Scalar"],[897,"impl-Add-for-Scalar"],[898,"impl-AddAssign%3C%26G1Element%3E-for-G1Element"],[899,"impl-AddAssign-for-G1Element"],[900,"impl-AddAssign%3C%26G2Element%3E-for-G2Element"],[901,"impl-AddAssign-for-G2Element"],[902,"impl-AddAssign-for-GTElement"],[903,"impl-AddAssign%3C%26GTElement%3E-for-GTElement"],[904,"impl-AddAssign-for-Scalar"],[905,"impl-AddAssign%3C%26Scalar%3E-for-Scalar"],[987,"impl-Mul%3C%26%3CG1Element+as+GroupElement%3E::ScalarType%3E-for-G1Element"],[988,"impl-Mul%3C%3CG1Element+as+GroupElement%3E::ScalarType%3E-for-%26G1Element"],[989,"impl-Mul%3C%26%3CG1Element+as+GroupElement%3E::ScalarType%3E-for-%26G1Element"],[990,"impl-Mul%3CScalar%3E-for-G1Element"],[991,"impl-Mul%3CScalar%3E-for-G2Element"],[992,"impl-Mul%3C%26%3CG2Element+as+GroupElement%3E::ScalarType%3E-for-%26G2Element"],[993,"impl-Mul%3C%3CG2Element+as+GroupElement%3E::ScalarType%3E-for-%26G2Element"],[994,"impl-Mul%3C%26%3CG2Element+as+GroupElement%3E::ScalarType%3E-for-G2Element"],[995,"impl-Mul%3CScalar%3E-for-GTElement"],[996,"impl-Mul%3C%26%3CGTElement+as+GroupElement%3E::ScalarType%3E-for-GTElement"],[997,"impl-Mul%3C%3CGTElement+as+GroupElement%3E::ScalarType%3E-for-%26GTElement"],[998,"impl-Mul%3C%26%3CGTElement+as+GroupElement%3E::ScalarType%3E-for-%26GTElement"],[999,"impl-Mul%3C%26%3CScalar+as+GroupElement%3E::ScalarType%3E-for-%26Scalar"],[1000,"impl-Mul%3C%3CScalar+as+GroupElement%3E::ScalarType%3E-for-%26Scalar"],[1001,"impl-Mul%3C%26%3CScalar+as+GroupElement%3E::ScalarType%3E-for-Scalar"],[1002,"impl-Mul-for-Scalar"],[1003,"impl-MulAssign%3C%26%3CG1Element+as+GroupElement%3E::ScalarType%3E-for-G1Element"],[1004,"impl-MulAssign%3C%3CG1Element+as+GroupElement%3E::ScalarType%3E-for-G1Element"],[1005,"impl-MulAssign%3C%26%3CG2Element+as+GroupElement%3E::ScalarType%3E-for-G2Element"],[1006,"impl-MulAssign%3C%3CG2Element+as+GroupElement%3E::ScalarType%3E-for-G2Element"],[1007,"impl-MulAssign%3C%3CGTElement+as+GroupElement%3E::ScalarType%3E-for-GTElement"],[1008,"impl-MulAssign%3C%26%3CGTElement+as+GroupElement%3E::ScalarType%3E-for-GTElement"],[1009,"impl-MulAssign%3C%26%3CScalar+as+GroupElement%3E::ScalarType%3E-for-Scalar"],[1010,"impl-MulAssign%3C%3CScalar+as+GroupElement%3E::ScalarType%3E-for-Scalar"],[1014,"impl-Neg-for-%26G1Element"],[1015,"impl-Neg-for-G1Element"],[1016,"impl-Neg-for-%26G2Element"],[1017,"impl-Neg-for-G2Element"],[1018,"impl-Neg-for-GTElement"],[1019,"impl-Neg-for-%26GTElement"],[1020,"impl-Neg-for-Scalar"],[1021,"impl-Neg-for-%26Scalar"],[1028,"impl-Sub-for-G1Element"],[1029,"impl-Sub%3CG1Element%3E-for-%26G1Element"],[1030,"impl-Sub%3C%26G1Element%3E-for-G1Element"],[1031,"impl-Sub%3C%26G1Element%3E-for-%26G1Element"],[1032,"impl-Sub%3CG2Element%3E-for-%26G2Element"],[1033,"impl-Sub%3C%26G2Element%3E-for-%26G2Element"],[1034,"impl-Sub-for-G2Element"],[1035,"impl-Sub%3C%26G2Element%3E-for-G2Element"],[1036,"impl-Sub-for-GTElement"],[1037,"impl-Sub%3C%26GTElement%3E-for-GTElement"],[1038,"impl-Sub%3CGTElement%3E-for-%26GTElement"],[1039,"impl-Sub%3C%26GTElement%3E-for-%26GTElement"],[1040,"impl-Sub%3CScalar%3E-for-%26Scalar"],[1041,"impl-Sub-for-Scalar"],[1042,"impl-Sub%3C%26Scalar%3E-for-%26Scalar"],[1043,"impl-Sub%3C%26Scalar%3E-for-Scalar"],[1044,"impl-SubAssign-for-G1Element"],[1045,"impl-SubAssign%3C%26G1Element%3E-for-G1Element"],[1046,"impl-SubAssign-for-G2Element"],[1047,"impl-SubAssign%3C%26G2Element%3E-for-G2Element"],[1048,"impl-SubAssign%3C%26GTElement%3E-for-GTElement"],[1049,"impl-SubAssign-for-GTElement"],[1050,"impl-SubAssign-for-Scalar"],[1051,"impl-SubAssign%3C%26Scalar%3E-for-Scalar"],[1063,"impl-TryFrom%3C%26G1ElementUncompressed%3E-for-G1Element"],[1064,"impl-TryFrom%3C%26BytesRepresentation%3C%24length%3E%3E-for-G1Element"],[1114,"impl-Add-for-RistrettoPoint"],[1115,"impl-Add%3C%26RistrettoPoint%3E-for-%26RistrettoPoint"],[1116,"impl-Add%3CRistrettoPoint%3E-for-%26RistrettoPoint"],[1117,"impl-Add%3C%26RistrettoPoint%3E-for-RistrettoPoint"],[1118,"impl-Add%3C%26RistrettoScalar%3E-for-RistrettoScalar"],[1119,"impl-Add%3CRistrettoScalar%3E-for-%26RistrettoScalar"],[1120,"impl-Add%3C%26RistrettoScalar%3E-for-%26RistrettoScalar"],[1121,"impl-Add-for-RistrettoScalar"],[1122,"impl-AddAssign%3C%26RistrettoPoint%3E-for-RistrettoPoint"],[1123,"impl-AddAssign-for-RistrettoPoint"],[1124,"impl-AddAssign-for-RistrettoScalar"],[1125,"impl-AddAssign%3C%26RistrettoScalar%3E-for-RistrettoScalar"],[1142,"impl-Div%3C__RhsT%3E-for-RistrettoScalar"],[1143,"impl-Div-for-RistrettoScalar"],[1157,"impl-From%3Cu128%3E-for-RistrettoScalar"],[1158,"impl-From%3CScalar%3E-for-RistrettoScalar"],[1173,"impl-Mul%3CRistrettoScalar%3E-for-RistrettoPoint"],[1174,"impl-Mul%3C%26%3CRistrettoPoint+as+GroupElement%3E::ScalarType%3E-for-RistrettoPoint"],[1175,"impl-Mul%3C%3CRistrettoPoint+as+GroupElement%3E::ScalarType%3E-for-%26RistrettoPoint"],[1176,"impl-Mul%3C%26%3CRistrettoPoint+as+GroupElement%3E::ScalarType%3E-for-%26RistrettoPoint"],[1177,"impl-Mul-for-RistrettoScalar"],[1178,"impl-Mul%3C%26%3CRistrettoScalar+as+GroupElement%3E::ScalarType%3E-for-RistrettoScalar"],[1179,"impl-Mul%3C%3CRistrettoScalar+as+GroupElement%3E::ScalarType%3E-for-%26RistrettoScalar"],[1180,"impl-Mul%3C%26%3CRistrettoScalar+as+GroupElement%3E::ScalarType%3E-for-%26RistrettoScalar"],[1181,"impl-MulAssign%3C%3CRistrettoPoint+as+GroupElement%3E::ScalarType%3E-for-RistrettoPoint"],[1182,"impl-MulAssign%3C%26%3CRistrettoPoint+as+GroupElement%3E::ScalarType%3E-for-RistrettoPoint"],[1183,"impl-MulAssign%3C%3CRistrettoScalar+as+GroupElement%3E::ScalarType%3E-for-RistrettoScalar"],[1184,"impl-MulAssign%3C%26%3CRistrettoScalar+as+GroupElement%3E::ScalarType%3E-for-RistrettoScalar"],[1186,"impl-Neg-for-RistrettoPoint"],[1187,"impl-Neg-for-%26RistrettoPoint"],[1188,"impl-Neg-for-RistrettoScalar"],[1189,"impl-Neg-for-%26RistrettoScalar"],[1193,"impl-Sub%3CRistrettoPoint%3E-for-%26RistrettoPoint"],[1194,"impl-Sub%3C%26RistrettoPoint%3E-for-%26RistrettoPoint"],[1195,"impl-Sub%3C%26RistrettoPoint%3E-for-RistrettoPoint"],[1196,"impl-Sub-for-RistrettoPoint"],[1197,"impl-Sub-for-RistrettoScalar"],[1198,"impl-Sub%3C%26RistrettoScalar%3E-for-RistrettoScalar"],[1199,"impl-Sub%3CRistrettoScalar%3E-for-%26RistrettoScalar"],[1200,"impl-Sub%3C%26RistrettoScalar%3E-for-%26RistrettoScalar"],[1201,"impl-SubAssign-for-RistrettoPoint"],[1202,"impl-SubAssign%3C%26RistrettoPoint%3E-for-RistrettoPoint"],[1203,"impl-SubAssign-for-RistrettoScalar"],[1204,"impl-SubAssign%3C%26RistrettoScalar%3E-for-RistrettoScalar"],[1226,"impl-Add%3CProjectivePoint%3E-for-%26ProjectivePoint"],[1227,"impl-Add%3C%26ProjectivePoint%3E-for-%26ProjectivePoint"],[1228,"impl-Add-for-ProjectivePoint"],[1229,"impl-Add%3C%26ProjectivePoint%3E-for-ProjectivePoint"],[1230,"impl-Add%3CScalar%3E-for-%26Scalar"],[1231,"impl-Add%3C%26Scalar%3E-for-Scalar"],[1232,"impl-Add%3C%26Scalar%3E-for-%26Scalar"],[1233,"impl-Add-for-Scalar"],[1234,"impl-AddAssign-for-ProjectivePoint"],[1235,"impl-AddAssign%3C%26ProjectivePoint%3E-for-ProjectivePoint"],[1236,"impl-AddAssign%3C%26Scalar%3E-for-Scalar"],[1237,"impl-AddAssign-for-Scalar"],[1265,"impl-From%3CFp%3CMontBackend%3CFrConfig,+4%3E,+4%3E%3E-for-Scalar"],[1266,"impl-From%3Cu128%3E-for-Scalar"],[1273,"impl-Mul%3C%26%3CProjectivePoint+as+GroupElement%3E::ScalarType%3E-for-%26ProjectivePoint"],[1274,"impl-Mul%3C%3CProjectivePoint+as+GroupElement%3E::ScalarType%3E-for-%26ProjectivePoint"],[1275,"impl-Mul%3CScalar%3E-for-ProjectivePoint"],[1276,"impl-Mul%3C%26%3CProjectivePoint+as+GroupElement%3E::ScalarType%3E-for-ProjectivePoint"],[1277,"impl-Mul%3C%26%3CScalar+as+GroupElement%3E::ScalarType%3E-for-%26Scalar"],[1278,"impl-Mul-for-Scalar"],[1279,"impl-Mul%3C%26%3CScalar+as+GroupElement%3E::ScalarType%3E-for-Scalar"],[1280,"impl-Mul%3C%3CScalar+as+GroupElement%3E::ScalarType%3E-for-%26Scalar"],[1281,"impl-MulAssign%3C%26%3CProjectivePoint+as+GroupElement%3E::ScalarType%3E-for-ProjectivePoint"],[1282,"impl-MulAssign%3C%3CProjectivePoint+as+GroupElement%3E::ScalarType%3E-for-ProjectivePoint"],[1283,"impl-MulAssign%3C%3CScalar+as+GroupElement%3E::ScalarType%3E-for-Scalar"],[1284,"impl-MulAssign%3C%26%3CScalar+as+GroupElement%3E::ScalarType%3E-for-Scalar"],[1285,"impl-Neg-for-%26ProjectivePoint"],[1286,"impl-Neg-for-ProjectivePoint"],[1287,"impl-Neg-for-%26Scalar"],[1288,"impl-Neg-for-Scalar"],[1291,"impl-Sub%3C%26ProjectivePoint%3E-for-%26ProjectivePoint"],[1292,"impl-Sub-for-ProjectivePoint"],[1293,"impl-Sub%3C%26ProjectivePoint%3E-for-ProjectivePoint"],[1294,"impl-Sub%3CProjectivePoint%3E-for-%26ProjectivePoint"],[1295,"impl-Sub%3C%26Scalar%3E-for-%26Scalar"],[1296,"impl-Sub%3C%26Scalar%3E-for-Scalar"],[1297,"impl-Sub-for-Scalar"],[1298,"impl-Sub%3CScalar%3E-for-%26Scalar"],[1299,"impl-SubAssign%3C%26ProjectivePoint%3E-for-ProjectivePoint"],[1300,"impl-SubAssign-for-ProjectivePoint"],[1301,"impl-SubAssign-for-Scalar"],[1302,"impl-SubAssign%3C%26Scalar%3E-for-Scalar"],[1373,"impl-Debug-for-Digest%3CDIGEST_LEN%3E"],[1374,"impl-Display-for-Digest%3CDIGEST_LEN%3E"],[1630,"impl-Debug-for-Secp256k1PublicKey"],[1631,"impl-Display-for-Secp256k1PublicKey"],[1632,"impl-Display-for-Secp256k1PrivateKey"],[1633,"impl-Debug-for-Secp256k1PrivateKey"],[1634,"impl-Debug-for-Secp256k1Signature"],[1635,"impl-Display-for-Secp256k1Signature"],[1744,"impl-Display-for-Signature"],[1745,"impl-Debug-for-Signature"],[1746,"impl-Debug-for-Secp256k1RecoverableSignature"],[1747,"impl-Display-for-Secp256k1RecoverableSignature"],[1866,"impl-Debug-for-Secp256r1PublicKey"],[1867,"impl-Display-for-Secp256r1PublicKey"],[1868,"impl-Debug-for-Secp256r1PrivateKey"],[1869,"impl-Display-for-Secp256r1PrivateKey"],[1870,"impl-Display-for-Secp256r1Signature"],[1871,"impl-Debug-for-Secp256r1Signature"],[1962,"impl-Debug-for-Secp256r1RecoverableSignature"],[1963,"impl-Display-for-Secp256r1RecoverableSignature"],[2000,"impl-Display-for-BytesRepresentation%3CN%3E"],[2001,"impl-Debug-for-BytesRepresentation%3CN%3E"],[2003,"impl-From%3C%26Secp256r1Signature%3E-for-BytesRepresentation%3C%24length%3E"],[2005,"impl-From%3C%26Ed25519PublicKey%3E-for-BytesRepresentation%3C%24length%3E"],[2006,"impl-From%3C%26Secp256r1PublicKey%3E-for-BytesRepresentation%3C%24length%3E"],[2007,"impl-From%3C%26BLS12381PublicKey%3E-for-BytesRepresentation%3C%24length%3E"],[2008,"impl-From%3C%26G1Element%3E-for-BytesRepresentation%3C%24length%3E"],[2009,"impl-From%3C%26G2Element%3E-for-BytesRepresentation%3C%24length%3E"],[2010,"impl-From%3C%26BLS12381AggregateSignature%3E-for-BytesRepresentation%3C%24length%3E"],[2011,"impl-From%3C%26Secp256k1PublicKey%3E-for-BytesRepresentation%3C%24length%3E"],[2012,"impl-From%3C%26BLS12381PublicKey%3E-for-BytesRepresentation%3C%24length%3E"],[2013,"impl-From%3C%26BLS12381AggregateSignature%3E-for-BytesRepresentation%3C%24length%3E"],[2014,"impl-From%3C%26Secp256k1Signature%3E-for-BytesRepresentation%3C%24length%3E"],[2015,"impl-From%3C%26Ed25519Signature%3E-for-BytesRepresentation%3C%24length%3E"]],"c":"OjAAAAEAAAAAAAEAEAAAALMGtAY=","e":"OzAAAAEAAAMHpgAAAAAABwAAAAoAAgAQAAAAEgAEACoAAQAuABEAQQACAEUABQBMAAIAUAACAFcAAQBdABgAfQAAAIEAAACEAGcA7gAAAPIACgACATgAPAEAAEABAABDAWgArgEAALIBCgDCATgAAwIAAAUCZgBuAgAAcAIBAHUCCACEAjgAwQITANcCAADZAgAA2wIIAOYCAADoAgAA7AIJAAADDgARAxIAJgMAADMDCwBBAwUATQMCAFIDAABUAwEAWAMAAFoDAABcAwEAYgMAAGQDAABmAwAAaAMBAGsDAQBuAyYAlgMoAMMDAADFAwgAzwMFANsDQQAeBCQARAQAAEkEAABLBAEATwQAAFEEBQBZBBcAcwQPAIQEAACGBAMAjQQBAJAEAQCUBAAAlgQjALsECgDHBAAAyQQmAPIEBAD5BCwANQUYAFAFAQBTBQcAXAUEAGQFAABmBQAAaAUAAG4FAABwBQAAcgUCAHYFAgB6BQkAhQUAAIcFBwCUBQsAoQUAAKMFAQCmBQgAsAUPAMEFAADDBQYAzAUTAOEFAADjBQAA5QUAAOcFAADpBQAA6wUHAPwFCwAKBgIADgYAABYGAAAYBk0AZwYAAGoGAQBtBgcAeQYFAIAGBgCJBhcAogYIAK4GBAC1Bg4AxQYGAM0GBwDWBgAA2AYAANwGAgDiBgAA5AYAAOcGBwDwBgMA9QYCAAIHAAAEByQAKgcnAFMHAABWBwAAWAcIAGUHBQBsBwcAdQcXAI4HCACYBxQArgcBALEHBwC6BwQAwQcLAM4HBADUBwAA1gcMAOUHBgDtBwoA+QcFAAEIBgALCAAAEQgMACAIBQAnCAAAKggAACwIAQAxCAIANwgBAEYIBQBXCCAAeggAAH0IAACCCBgA"}],["fastcrypto_cli",{"t":"CSSSFNNNNOOOONNN","n":["sigs_cli_test_vectors","MSG","SEED","TEST_CASES","TestVector","borrow","borrow_mut","from","into","name","private","public","sig","try_from","try_into","type_id"],"q":[[0,"fastcrypto_cli"],[1,"fastcrypto_cli::sigs_cli_test_vectors"],[16,"core::result"],[17,"core::any"]],"i":"`````j0000000000","f":"`````{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{cc{}}{{}c{}}````{c{{f{e}}}{}{}}{{}{{f{c}}}{}}{bh}","D":"h","p":[[1,"reference"],[0,"mut"],[6,"Result",16],[5,"TypeId",17],[5,"TestVector",1]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAAwAAwABAAMABgABAAoABgA="}],["fastcrypto_derive",{"t":"YYY","n":["GroupOpsExtend","SilentDebug","SilentDisplay"],"q":[[0,"fastcrypto_derive"]],"i":"```","f":"```","D":"h","p":[],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OjAAAAAAAAA="}],["fastcrypto_tbls",{"t":"CCCCCCCCCCCCCCFFSFFNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNONNOONNNNONONNNNNNNNNNNNNNNNONNNNFFFFNNNNNNNNNNNNNNNNNNNNONNNONNNNNNNNNNNNNNNNNNNNNNNOONNNONNNNNNNNNNNNNNNONNNNFFFFNNNNNNNNNNNNNNNNNNNNONNNONNNNNNNNNNNNNNNNNNNNNNNOONNNONNNNNNNNNNNNNNNONNNNHHHHHSFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFNNNNNNNNNNNNNNNNNNNNNONNNNNNNHFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFINNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNONNNNNNNNNNNNNNNNOIFIINNNNNNNNNNNNNNNNNNNONNNNNNNONNNFNNNNNNNNNNNNNNNNNNNNNNIRRIRKINOONNNNOOOMFIIIIIIIFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNOOONNNN","n":["dkg","dkg_v0","dkg_v1","dl_verification","ecies","ecies_v0","ecies_v1","mocked_dkg","nizk","nodes","polynomial","random_oracle","tbls","types","Complaint","Confirmation","DKG_MESSAGES_MAX_SIZE","Output","Party","__clone_box","","","","borrow","","","","borrow_mut","","","","clone","","","","clone_into","","","","clone_to_uninit","","","","complaints","complete","complete_v1","create_message","create_message_v1","deserialize","","","","eq","","","equivalent","","","","","","fmt","","","from","","","","id","into","","","","merge","merge_v1","new","nodes","process_message","process_message_v1","random_oracle","sender","serialize","","","","shares","t","","to_owned","","","","try_from","","","","try_into","","","","type_id","","","","vss_pk","vzip","","","","Message","ProcessedMessage","UsedProcessedMessages","VerifiedProcessedMessages","__clone_box","","","borrow","","","","borrow_mut","","","","clone","","","clone_into","","","clone_to_uninit","","","complaint","deserialize","","","encrypted_shares","eq","","","equivalent","","","","","","fmt","","","from","","","","","into","","","","is_empty","len","message","sender","serialize","","","shares","to_owned","","","try_from","","","","try_into","","","","type_id","","","","vss_pk","vzip","","","","Message","ProcessedMessage","UsedProcessedMessages","VerifiedProcessedMessages","__clone_box","","","borrow","","","","borrow_mut","","","","clone","","","clone_into","","","clone_to_uninit","","","complaint","deserialize","","","encrypted_shares","eq","","","equivalent","","","","","","fmt","","","from","","","","","into","","","","is_empty","len","message","sender","serialize","","","shares","to_owned","","","try_from","","","","try_into","","","","type_id","","","","vss_pk","vzip","","","","verify_deg_t_poly","verify_equal_exponents","verify_pairs","verify_poly_evals","verify_triplets","AES_KEY_LENGTH","PrivateKey","PublicKey","RecoveryPackage","__clone_box","","","as_element","borrow","","","borrow_mut","","","clone","","","clone_into","","","clone_to_uninit","","","create_recovery_package","decrypt","decrypt_with_recovery_package","deserialize","","","deterministic_encrypt","drop","eq","","","equivalent","","","","","","fmt","","","from","","","","","from_private_key","into","","","new","serialize","","","to_owned","","","try_from","","","try_into","","","type_id","","","vzip","","","Encryption","MultiRecipientEncryption","__clone_box","","borrow","","borrow_mut","","clone","","clone_into","","clone_to_uninit","","decrypt_from_partial_decryption","deserialize","","encrypt","ephemeral_key","","eq","","equivalent","","","","fmt","","from","","get_encryption","into","","is_empty","len","proof","serialize","","to_owned","","try_from","","try_into","","type_id","","verify","vzip","","MultiRecipientEncryption","__clone_box","borrow","borrow_mut","clone","clone_into","clone_to_uninit","create_recovery_package","decrypt","decrypt_with_recovery_package","deserialize","encrypt","ephemeral_key","eq","equivalent","","fmt","from","into","is_empty","len","proof","","serialize","to_owned","try_from","try_into","type_id","verify","vzip","generate_mocked_output","DLNizk","DdhTupleNizk","__clone_box","","borrow","","borrow_mut","","clone","","clone_into","","clone_to_uninit","","create","","deserialize","","eq","","equivalent","","","","fmt","","from","","into","","serialize","","to_owned","","try_from","","try_into","","type_id","","verify","","vzip","","Node","Nodes","PartyId","__clone_box","","borrow","","borrow_mut","","clone","","clone_into","","clone_to_uninit","","deserialize","","eq","","equivalent","","","","fmt","","from","","hash","id","into","","iter","new","new_reduced","node_id_to_node","num_nodes","pk","serialize","","share_id_to_node","share_ids_iter","share_ids_of","to_owned","","total_weight","try_from","","try_into","","type_id","","vzip","","weight","Eval","Poly","PrivatePoly","PublicPoly","__clone_box","add_assign","as_vec","borrow","borrow_mut","c0","clone","clone_into","clone_to_uninit","commit","degree","deserialize","eq","equivalent","","eval","fmt","from","","index","into","rand","serialize","to_owned","try_from","try_into","type_id","value","verify_share","vzip","zero","RandomOracle","__clone_box","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deserialize","eq","equivalent","","evaluate","extend","fmt","from","into","new","serialize","to_owned","try_from","try_into","type_id","vzip","PartialSignature","Private","Public","Share","Signature","ThresholdBls","UnindexedPartialSignatures","aggregate","index","","partial_sign","partial_sign_batch","partial_verify","partial_verify_batch","value","","values","verify","IndexedValue","PrivateBlsKey","PublicBlsKey","PublicVssKey","RawSignature","Share","ShareIndex","Signature","ThresholdBls12381MinSig","UnindexedValues","__clone_box","","add_indexes","borrow","","","borrow_mut","","","clone","","clone_into","","clone_to_uninit","","deserialize","","eq","","equivalent","","","","fmt","","from","","","","index","","into","","","serialize","","to_owned","","try_from","","","try_into","","","type_id","","","value","","values","verify","vzip","",""],"q":[[0,"fastcrypto_tbls"],[14,"fastcrypto_tbls::dkg"],[109,"fastcrypto_tbls::dkg_v0"],[187,"fastcrypto_tbls::dkg_v1"],[265,"fastcrypto_tbls::dl_verification"],[270,"fastcrypto_tbls::ecies"],[341,"fastcrypto_tbls::ecies_v0"],[390,"fastcrypto_tbls::ecies_v1"],[420,"fastcrypto_tbls::mocked_dkg"],[421,"fastcrypto_tbls::nizk"],[465,"fastcrypto_tbls::nodes"],[519,"fastcrypto_tbls::polynomial"],[554,"fastcrypto_tbls::random_oracle"],[577,"fastcrypto_tbls::tbls"],[595,"fastcrypto_tbls::types"],[659,"dyn_clone::sealed"],[660,"core::clone"],[661,"fastcrypto::groups"],[662,"fastcrypto::error"],[663,"serde::ser"],[664,"serde::de"],[665,"fastcrypto::traits"],[666,"core::result"],[667,"core::cmp"],[668,"core::fmt"],[669,"core::any"],[670,"fastcrypto::groups::bls12381"],[671,"alloc::vec"],[672,"fastcrypto::hash"],[673,"core::iter::traits::iterator"],[674,"core::borrow"]],"i":"```````````````````jA`AbAd32103210321032103210133333210321332211210321033210333033313210033321032103210321003210````BhClAfDn3210321321321321232133213322113210321103210023321232103210321032130321````BjD`BdEb3210321321321321232133213322113210321103210023321232103210321032130321`````````DbElEn1210210210210210221210122102211002102211012102210210210210210210``F`Ff101010101011001010110010100100001010101010010`Fj0000000000000000000000000000```FlFh1010101010101010110010101010101010101010```GdDd1010101010101011001010011000000110000100101010101````Ej000000000000000000Eh11111110111`Dh000000000000000000000`I`0`0``0HjHf222210Ib3``````````HnHl0Id2102121212121212211210211If313232321321321320321132","f":"```````````````````{{bd}f}000{b{{b{c}}}{}}000{{{b{h}}}{{b{hc}}}{}}000{{{b{{j{ce}}}}}{{j{ce}}}{ln}{ln}}{{{b{{A`{c}}}}}{{A`{c}}}{ln}}{{{b{{Ab{c}}}}}{{Ab{c}}}{ln}}{{{b{{Ad{ce}}}}}{{Ad{ce}}}{ln}{ln}}{{b{b{hc}}}f{}}000{bf}000`{{{b{{j{ce}}}}{b{{Af{ce}}}}{b{{Ah{{Ab{e}}}}}}{b{hg}}}{{Aj{{Ad{ce}}}}}{nAlAnB`}{nAnB`}Bb}{{{b{{j{ce}}}}{b{{Bd{ce}}}}{b{{Ah{{Ab{e}}}}}}{b{hg}}}{{Aj{{Ad{ce}}}}}{nAlAnB`}{nAnBfB`}Bb}{{{b{{j{ce}}}}{b{hg}}}{{Aj{{Bh{ce}}}}}{nAlAnB`}{nAnB`}Bb}{{{b{{j{ce}}}}{b{hg}}}{{Aj{{Bj{ce}}}}}{nAlAnB`}{nAnBfB`}Bb}{c{{Bl{{j{eg}}}}}Bn{C`n}{C`n}}{c{{Bl{{A`{e}}}}}Bn{C`n}}{c{{Bl{{Ab{e}}}}}Bn{C`n}}{c{{Bl{{Ad{eg}}}}}Bn{C`n}{C`n}}{{{b{{j{ce}}}}{b{{j{ce}}}}}Cb{Cdn}{Cdn}}{{{b{{A`{c}}}}{b{{A`{c}}}}}Cb{Cdn}}{{{b{{Ab{c}}}}{b{{Ab{c}}}}}Cb{Cdn}}{{b{b{c}}}Cb{}}00000{{{b{{A`{c}}}}{b{hCf}}}Ch{Cjn}}{{{b{{Ab{c}}}}{b{hCf}}}Ch{Cjn}}{{{b{{Ad{ce}}}}{b{hCf}}}Ch{Cjn}{Cjn}}{cc{}}000`{{}c{}}000{{{b{{j{ce}}}}{b{{Ah{{Cl{ce}}}}}}}{{Aj{{Cn{{Ab{e}}{Af{ce}}}}}}}{nAlAnB`}{nAnB`}}{{{b{{j{ce}}}}{b{{Ah{{D`{ce}}}}}}}{{Aj{{Cn{{Ab{e}}{Bd{ce}}}}}}}{nAlAnB`}{nAnBfB`}}{{{Db{c}}{Dd{c}}DfDh{b{he}}}{{Aj{{j{gc}}}}}{nAnB`}Bb{nAlAnB`}}`{{{b{{j{ce}}}}{Bh{ce}}{b{hg}}}{{Aj{{Cl{ce}}}}}{nAlAnB`}{nAnB`}Bb}{{{b{{j{ce}}}}{Bj{ce}}{b{hg}}}{{Aj{{D`{ce}}}}}{nAlAnB`}{nAnBfB`}Bb}``{{{b{{j{ce}}}}g}Bl{Ann}{Ann}Dj}{{{b{{A`{c}}}}e}Bl{Ann}Dj}{{{b{{Ab{c}}}}e}Bl{Ann}Dj}{{{b{{Ad{ce}}}}g}Bl{Ann}{Ann}Dj}`{{{b{{j{ce}}}}}Df{nAlAnB`}{nAnB`}}`{bc{}}000{c{{Bl{e}}}{}{}}000{{}{{Bl{c}}}{}}000{bDl}000`>>>>````{{bd}f}00{b{{b{c}}}{}}000{{{b{h}}}{{b{hc}}}{}}000{{{b{{Bh{ce}}}}}{{Bh{ce}}}{ln}{ln}}{{{b{{Cl{ce}}}}}{{Cl{ce}}}{ln}{ln}}{{{b{{Af{ce}}}}}{{Af{ce}}}{ln}{ln}}{{b{b{hc}}}f{}}00{bf}00`{c{{Bl{{Bh{eg}}}}}Bn{C`n}{C`n}}{c{{Bl{{Cl{eg}}}}}Bn{C`n}{C`n}}{c{{Bl{{Af{eg}}}}}Bn{C`n}{C`n}}`{{{b{{Bh{ce}}}}{b{{Bh{ce}}}}}Cb{Cdn}{Cdn}}{{{b{{Cl{ce}}}}{b{{Cl{ce}}}}}Cb{Cdn}{Cdn}}{{{b{{Af{ce}}}}{b{{Af{ce}}}}}Cb{Cdn}{Cdn}}{{b{b{c}}}Cb{}}00000{{{b{{Bh{ce}}}}{b{hCf}}}Ch{Cjn}{Cjn}}{{{b{{Cl{ce}}}}{b{hCf}}}Ch{Cjn}{Cjn}}{{{b{{Af{ce}}}}{b{hCf}}}Ch{Cjn}{Cjn}}{cc{}}000{{{b{{Ah{{Cl{ce}}}}}}}{{Af{ce}}}nn}{{}c{}}000{{{b{{Dn{ce}}}}}Cbnn}{{{b{{Dn{ce}}}}}E`nn}``{{{b{{Bh{ce}}}}g}Bl{Ann}{Ann}Dj}{{{b{{Cl{ce}}}}g}Bl{Ann}{Ann}Dj}{{{b{{Af{ce}}}}g}Bl{Ann}{Ann}Dj}`{bc{}}00{c{{Bl{e}}}{}{}}000{{}{{Bl{c}}}{}}000{bDl}000`9999````{{bd}f}00{b{{b{c}}}{}}000{{{b{h}}}{{b{hc}}}{}}000{{{b{{Bj{ce}}}}}{{Bj{ce}}}{ln}{ln}}{{{b{{D`{ce}}}}}{{D`{ce}}}{ln}{ln}}{{{b{{Bd{ce}}}}}{{Bd{ce}}}{ln}{ln}}{{b{b{hc}}}f{}}00{bf}00`{c{{Bl{{Bj{eg}}}}}Bn{C`n}{C`n}}{c{{Bl{{D`{eg}}}}}Bn{C`n}{C`n}}{c{{Bl{{Bd{eg}}}}}Bn{C`n}{C`n}}`{{{b{{Bj{ce}}}}{b{{Bj{ce}}}}}Cb{Cdn}{Cdn}}{{{b{{D`{ce}}}}{b{{D`{ce}}}}}Cb{Cdn}{Cdn}}{{{b{{Bd{ce}}}}{b{{Bd{ce}}}}}Cb{Cdn}{Cdn}}{{b{b{c}}}Cb{}}00000{{{b{{Bj{ce}}}}{b{hCf}}}Ch{Cjn}{Cjn}}{{{b{{D`{ce}}}}{b{hCf}}}Ch{Cjn}{Cjn}}{{{b{{Bd{ce}}}}{b{hCf}}}Ch{Cjn}{Cjn}}{cc{}}000{{{b{{Ah{{D`{ce}}}}}}}{{Bd{ce}}}nn}{{}c{}}000{{{b{{Eb{ce}}}}}Cbnn}{{{b{{Eb{ce}}}}}E`nn}``{{{b{{Bj{ce}}}}g}Bl{Ann}{Ann}Dj}{{{b{{D`{ce}}}}g}Bl{Ann}{Ann}Dj}{{{b{{Bd{ce}}}}g}Bl{Ann}{Ann}Dj}`{bc{}}00{c{{Bl{e}}}{}{}}000{{}{{Bl{c}}}{}}000{bDl}000`9999{{Df{b{{Ah{c}}}}{b{Ah}}{b{he}}}{{Aj{f}}}{nAl}Bb}{{{b{{Ah{Ed}}}}{b{{Ah{Ef}}}}{b{hc}}}{{Aj{f}}}Bb}{{{b{{Ah{{Cn{c}}}}}}{b{he}}}{{Aj{f}}}{nAl}Bb}{{{b{{Ah{Eh}}}}{b{{Ej{c}}}}{b{he}}}{{Aj{f}}}{nAl}Bb}{{{b{{Ah{{Cn{cc}}}}}}{b{he}}}{{Aj{f}}}{nAl}Bb}````{{bd}f}00{{{b{{El{c}}}}}{{b{c}}}{nAnB`}}{b{{b{c}}}{}}00{{{b{h}}}{{b{hc}}}{}}00{{{b{{Db{c}}}}}{{Db{c}}}{ln}}{{{b{{El{c}}}}}{{El{c}}}{ln}}{{{b{{En{c}}}}}{{En{c}}}{ln}}{{b{b{hc}}}f{}}00{bf}00{{{b{{Db{c}}}}{b{{F`{c}}}}{b{Dh}}{b{he}}}{{En{c}}}{nAn}Bb}{{{b{{Db{c}}}}{b{{F`{c}}}}}{{Fd{Fb}}}{nAn}}{{{b{{El{c}}}}{b{{En{c}}}}{b{Dh}}{b{{F`{c}}}}}{{Aj{{Fd{Fb}}}}}{nAnB`}}{c{{Bl{{Db{e}}}}}Bnn}{c{{Bl{{El{e}}}}}Bn{C`n}}{c{{Bl{{En{e}}}}}Bn{C`n}}{{{b{{Ah{Fb}}}}{b{c}}{b{c}}E`}{{F`{c}}}{nAnB`}}{{{b{h{Db{c}}}}}fn}{{{b{{Db{c}}}}{b{{Db{c}}}}}Cb{Cdn}}{{{b{{El{c}}}}{b{{El{c}}}}}Cb{Cdn}}{{{b{{En{c}}}}{b{{En{c}}}}}Cb{Cdn}}{{b{b{c}}}Cb{}}00000{{{b{{Db{c}}}}{b{hCf}}}Ch{Cjn}}{{{b{{El{c}}}}{b{hCf}}}Ch{Cjn}}{{{b{{En{c}}}}{b{hCf}}}Ch{Cjn}}{{}{{Db{c}}}{nAn}}{cc{}}{c{{El{c}}}n}11{{{b{{Db{c}}}}}{{El{c}}}{nAnB`}}{{}c{}}00{{{b{hc}}}{{Db{e}}}Bb{nAn}}{{{b{{Db{c}}}}e}BlnDj}{{{b{{El{c}}}}e}Bl{Ann}Dj}{{{b{{En{c}}}}e}Bl{Ann}Dj}{bc{}}00{c{{Bl{e}}}{}{}}00{{}{{Bl{c}}}{}}00{bDl}00888``{{bd}f}0{b{{b{c}}}{}}0{{{b{h}}}{{b{hc}}}{}}0{{{b{{F`{c}}}}}{{F`{c}}}{ln}}{{{b{{Ff{c}}}}}{{Ff{c}}}{ln}}{{b{b{hc}}}f{}}0{bf}0{{{b{{F`{c}}}}{b{c}}}{{Fd{Fb}}}{nAn}}{c{{Bl{{F`{e}}}}}Bn{C`n}}{c{{Bl{{Ff{e}}}}}Bn{C`n}}{{{b{{Ah{{Cn{{El{c}}{Fd{Fb}}}}}}}}{b{Dh}}{b{he}}}{{Ff{c}}}{nAn}Bb}{{{b{{F`{c}}}}}{{b{c}}}{nAn}}{{{b{{Ff{c}}}}}{{b{c}}}{nAn}}{{{b{{F`{c}}}}{b{{F`{c}}}}}Cb{Cdn}}{{{b{{Ff{c}}}}{b{{Ff{c}}}}}Cb{Cdn}}{{b{b{c}}}Cb{}}000{{{b{{F`{c}}}}{b{hCf}}}Ch{Cjn}}{{{b{{Ff{c}}}}{b{hCf}}}Ch{Cjn}}{cc{}}0{{{b{{Ff{c}}}}E`}{{Aj{{F`{c}}}}}{nAn}}{{}c{}}0{{{b{{Ff{c}}}}}Cb{nAn}}{{{b{{Ff{c}}}}}E`{nAn}}{{{b{{Ff{c}}}}}{{b{{Fh{c}}}}}{nAn}}{{{b{{F`{c}}}}e}Bl{Ann}Dj}{{{b{{Ff{c}}}}e}Bl{Ann}Dj}{bc{}}0{c{{Bl{e}}}{}{}}0{{}{{Bl{c}}}{}}0{bDl}0{{{b{{Ff{c}}}}{b{Dh}}}{{Aj{f}}}{nAn}}::`{{bd}f}{b{{b{c}}}{}}{{{b{h}}}{{b{hc}}}{}}{{{b{{Fj{c}}}}}{{Fj{c}}}{ln}}{{b{b{hc}}}f{}}{bf}{{{b{{Fj{c}}}}{b{{Db{c}}}}{b{Dh}}{b{he}}}{{En{c}}}{BfnAn}Bb}{{{b{{Fj{c}}}}{b{{Db{c}}}}{b{Dh}}E`}{{Fd{Fb}}}{BfnAn}}{{{b{{Fj{c}}}}{b{{En{c}}}}{b{Dh}}{b{Dh}}{b{{El{c}}}}E`}{{Aj{{Fd{Fb}}}}}{BfnAn}}{c{{Bl{{Fj{e}}}}}Bn{C`n}}{{{b{{Ah{{Cn{{El{c}}{Fd{Fb}}}}}}}}{b{Dh}}{b{he}}}{{Fj{c}}}{BfnAn}Bb}{{{b{{Fj{c}}}}}{{b{c}}}{BfnAn}}{{{b{{Fj{c}}}}{b{{Fj{c}}}}}Cb{Cdn}}{{b{b{c}}}Cb{}}0{{{b{{Fj{c}}}}{b{hCf}}}Ch{Cjn}}{cc{}}{{}c{}}{{{b{{Fj{c}}}}}Cb{BfnAn}}{{{b{{Fj{c}}}}}E`{BfnAn}}{{{b{{Fj{c}}}}}{{b{{Fl{c}}}}}{BfnAn}}`{{{b{{Fj{c}}}}e}Bl{Ann}Dj}{bc{}}{c{{Bl{e}}}{}{}}{{}{{Bl{c}}}{}}{bDl}{{{b{{Fj{c}}}}{b{Dh}}}{{Aj{f}}}{BfnAn}}9{{{Dd{c}}FnG`Gb}{{Ad{ec}}}{nAn}{nAn}}``{{bd}f}0{b{{b{c}}}{}}0{{{b{h}}}{{b{hc}}}{}}0{{{b{{Fl{c}}}}}{{Fl{c}}}{ln}}{{{b{{Fh{c}}}}}{{Fh{c}}}{ln}}{{b{b{hc}}}f{}}0{bf}0{{b{b{c}}{b{c}}{b{c}}{b{Dh}}{b{he}}}{{Fl{c}}}{nAn}Bb}{{b{b{c}}{b{{Ah{Fb}}}}{b{Dh}}{b{he}}}{{Fh{c}}}{nAn}Bb}{c{{Bl{{Fl{e}}}}}Bn{nC`}}{c{{Bl{{Fh{e}}}}}Bn{nC`}}{{{b{{Fl{c}}}}{b{{Fl{c}}}}}Cb{Cdn}}{{{b{{Fh{c}}}}{b{{Fh{c}}}}}Cb{Cdn}}{{b{b{c}}}Cb{}}000{{{b{{Fl{c}}}}{b{hCf}}}Ch{Cjn}}{{{b{{Fh{c}}}}{b{hCf}}}Ch{Cjn}}{cc{}}0{{}c{}}0{{{b{{Fl{c}}}}e}Bl{Ann}Dj}{{{b{{Fh{c}}}}e}Bl{Ann}Dj}{bc{}}0{c{{Bl{e}}}{}{}}0{{}{{Bl{c}}}{}}0{bDl}0{{{b{{Fl{c}}}}{b{c}}{b{c}}{b{c}}{b{Dh}}}{{Aj{f}}}{nAn}}{{{b{{Fh{c}}}}{b{c}}{b{{Ah{Fb}}}}{b{Dh}}}{{Aj{f}}}{nAn}}88```{{bd}f}0{b{{b{c}}}{}}0{{{b{h}}}{{b{hc}}}{}}0{{{b{{Gd{c}}}}}{{Gd{c}}}{ln}}{{{b{{Dd{c}}}}}{{Dd{c}}}{ln}}{{b{b{hc}}}f{}}0{bf}0{c{{Bl{{Gd{e}}}}}Bn{C`n}}{c{{Bl{{Dd{e}}}}}Bn{C`n}}{{{b{{Gd{c}}}}{b{{Gd{c}}}}}Cb{Cdn}}{{{b{{Dd{c}}}}{b{{Dd{c}}}}}Cb{Cdn}}{{b{b{c}}}Cb{}}000{{{b{{Gd{c}}}}{b{hCf}}}Ch{Cjn}}{{{b{{Dd{c}}}}{b{hCf}}}Ch{Cjn}}{cc{}}0{{{b{{Dd{c}}}}}Gf{nAn}}`{{}c{}}0{{{b{{Dd{c}}}}}{{`{{Gj{}{{Gh{{b{{Gd{c}}}}}}}}}}}{nAn}}{{{Fd{{Gd{c}}}}}{{Aj{{Dd{c}}}}}{nAn}}{{{Fd{{Gd{c}}}}DfDfDf}{{Aj{{Cn{{Dd{c}}Df}}}}}{nAn}}{{{b{{Dd{c}}}}Gb}{{Aj{{b{{Gd{c}}}}}}}{nAn}}{{{b{{Dd{c}}}}}E`{nAn}}`{{{b{{Gd{c}}}}e}Bl{Ann}Dj}{{{b{{Dd{c}}}}e}Bl{Ann}Dj}{{{b{{Dd{c}}}}{b{Gl}}}{{Aj{{b{{Gd{c}}}}}}}{nAn}}{{{b{{Dd{c}}}}}{{`{{Gj{}{{Gh{Gl}}}}}}}{nAn}}{{{b{{Dd{c}}}}Gb}{{Aj{{Fd{Gl}}}}}{nAn}}{bc{}}0{{{b{{Dd{c}}}}}Df{nAn}}{c{{Bl{e}}}{}{}}0{{}{{Bl{c}}}{}}0{bDl}0??`````{{bd}f}{{{b{h{Ej{c}}}}{b{{Ej{c}}}}}fn}{{{b{{Ej{c}}}}}{{b{{Fd{c}}}}}n}{b{{b{c}}}{}}{{{b{h}}}{{b{hc}}}{}}{{{b{{Ej{c}}}}}{{b{c}}}n}{{{b{{Ej{c}}}}}{{Ej{c}}}l}{{b{b{hc}}}f{}}{bf}{{{b{{Ej{c}}}}}{{Ej{e}}}Gn{{n{}{{H`{c}}}}}}{{{b{{Ej{c}}}}}E`{}}{c{{Bl{{Ej{e}}}}}BnC`}{{{b{{Ej{c}}}}{b{{Ej{c}}}}}CbCd}{{b{b{c}}}Cb{}}0{{{b{{Ej{c}}}}Gl}{{Eh{c}}}n}{{{b{{Ej{c}}}}{b{hCf}}}ChCj}{cc{}}{{{Fd{c}}}{{Ej{c}}}{}}`{{}c{}}{{Df{b{hc}}}{{Ej{e}}}BbGn}{{{b{{Ej{c}}}}e}BlAnDj}{bc{}}{c{{Bl{e}}}{}{}}{{}{{Bl{c}}}{}}{bDl}`{{{b{{Ej{c}}}}Glb}{{Aj{f}}}n}7{{}{{Ej{c}}}n}`{{bd}f}{b{{b{c}}}{}}{{{b{h}}}{{b{hc}}}{}}{{{b{Dh}}}Dh}{{b{b{hc}}}f{}}{bf}{c{{Bl{Dh}}}Bn}{{{b{Dh}}{b{Dh}}}Cb}{{b{b{c}}}Cb{}}0{{{b{Dh}}{b{c}}}{{Hb{Fb}}}An}{{{b{Dh}}{b{Hd}}}Dh}{{{b{Dh}}{b{hCf}}}Ch}{cc{}}{{}c{}}{{{b{Hd}}}Dh}{{{b{Dh}}c}BlDj}{bc{}}{c{{Bl{e}}}{}{}}{{}{{Bl{c}}}{}}{bDl}6```````{{Dfg}{{Aj{c}}}{}{{Hh{{Hf{c}}}}}{{Gj{}{{Gh{e}}}}l}}``{{{b{{Hj{c}}}}{b{{Ah{Fb}}}}}{{Hf{e}}}{}{}}{{g{b{{Ah{Fb}}}}}{{Fd{{Hf{i}}}}}{}{{Hh{{Hj{c}}}}}{{Gj{}{{Gh{e}}}}}{}}{{{b{{Ej{c}}}}{b{{Ah{Fb}}}}{b{{Hf{e}}}}}{{Aj{f}}}{}{}}{{{b{{Ej{c}}}}{b{{Ah{Fb}}}}i{b{hk}}}{{Aj{f}}}{}{}{{Hh{{Hf{e}}}}}{{Gj{}{{Gh{g}}}}}Bb}```{{{b{c}}{b{{Ah{Fb}}}}{b{e}}}{{Aj{f}}}{}{}}``````````{{bd}f}0{{{Hl{c}}{b{{Ah{Gl}}}}}{{Aj{{Fd{{Hn{c}}}}}}}{}}{b{{b{c}}}{}}00{{{b{h}}}{{b{hc}}}{}}00{{{b{{Hn{c}}}}}{{Hn{c}}}l}{{{b{{Hl{c}}}}}{{Hl{c}}}l}{{b{b{hc}}}f{}}0{bf}0{c{{Bl{{Hn{e}}}}}BnC`}{c{{Bl{{Hl{e}}}}}BnC`}{{{b{{Hn{c}}}}{b{{Hn{c}}}}}CbCd}{{{b{{Hl{c}}}}{b{{Hl{c}}}}}CbCd}{{b{b{c}}}Cb{}}000{{{b{{Hn{c}}}}{b{hCf}}}ChCj}{{{b{{Hl{c}}}}{b{hCf}}}ChCj}{cc{}}0{{{Fd{{Hn{c}}}}}{{Hl{c}}}{}}1``{{}c{}}00{{{b{{Hn{c}}}}e}BlAnDj}{{{b{{Hl{c}}}}e}BlAnDj}{bc{}}0{c{{Bl{e}}}{}{}}00{{}{{Bl{c}}}{}}00{bDl}00```{{{b{c}}{b{{Ah{Fb}}}}{b{e}}}{{Aj{f}}}{}{}}777","D":"AAf","p":[[1,"reference"],[5,"Private",659],[1,"unit"],[0,"mut"],[5,"Party",14],[10,"Clone",660],[10,"GroupElement",661],[5,"Complaint",14],[5,"Confirmation",14],[5,"Output",14],[5,"UsedProcessedMessages",109],[1,"slice"],[8,"FastCryptoResult",662],[10,"MultiScalarMul",661],[10,"Serialize",663],[10,"DeserializeOwned",664],[10,"AllowedRng",665],[5,"UsedProcessedMessages",187],[10,"HashToGroupElement",661],[5,"Message",109],[5,"Message",187],[6,"Result",666],[10,"Deserializer",664],[10,"Deserialize",664],[1,"bool"],[10,"PartialEq",667],[5,"Formatter",668],[8,"Result",668],[10,"Debug",668],[5,"ProcessedMessage",109],[1,"tuple"],[5,"ProcessedMessage",187],[5,"PrivateKey",270],[5,"Nodes",465],[1,"u16"],[5,"RandomOracle",554],[10,"Serializer",663],[5,"TypeId",669],[5,"VerifiedProcessedMessages",109],[1,"usize"],[5,"VerifiedProcessedMessages",187],[5,"G1Element",670],[5,"G2Element",670],[8,"Eval",519],[5,"Poly",519],[5,"PublicKey",270],[5,"RecoveryPackage",270],[5,"Encryption",341],[1,"u8"],[5,"Vec",671],[5,"MultiRecipientEncryption",341],[5,"DLNizk",421],[5,"MultiRecipientEncryption",390],[5,"DdhTupleNizk",421],[1,"u32"],[1,"u128"],[8,"PartyId",465],[5,"Node",465],[5,"Digest",672],[17,"Item"],[10,"Iterator",673],[8,"ShareIndex",595],[10,"Scalar",661],[17,"ScalarType"],[1,"array"],[1,"str"],[8,"PartialSignature",577],[10,"Borrow",674],[8,"Share",577],[5,"UnindexedValues",595],[5,"IndexedValue",595],[10,"ThresholdBls",577],[8,"UnindexedPartialSignatures",577],[5,"ThresholdBls12381MinSig",595],[8,"Share",595]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAAgCPgABAA0AEQAAABQAFwAxAA8ARQAAAE0AAABQAAYAWAAVAHIAFwCLAAsAmwAAAKAABgCoAA4AuAADAMAAFwDZAAsA6QAAAO4ABgD2AA4ABgEDAA8BAgATAScAPAEAAD8BAABDARIAWAEZAHQBAAB3AQ8AiAEFAJABBwCaAQoAqAELALYBCQDEAQkAzwECANQBFgDtAQEA9AEAAPYBAgD8AQEA/wEIAAoCAwAPAgEAEgICABcCAwAcAgAAHgIBACICBQApAgAALAIJADgCAAA8AgcARQIAAEgCAABKAgEAUAICAFUCAwBbAgAAXgIYAHkCAAB7AgEAgAITAA=="}],["fastcrypto_vdf",{"t":"CCCCFNONNNONNONNNNNCNNNNNNNNNNNNNNNNNNNNFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCCCHHRKMNMFNNNNNNNNNNNNNNNNCNNNNNNNNNNFNNNNNNNNNNNNNNNRRRKMCMCSFNNNNNNNNNNNSIFNNNNNNNNNNN","n":["class_group","math","rsa_group","vdf","QuadraticForm","__clone_box","a","add","","","b","borrow","borrow_mut","c","clone","clone_into","clone_to_uninit","compose","deserialize","discriminant","","double","eq","equivalent","","fmt","from","from_a_b_and_discriminant","generator","hash_to_group_with_default_parameters","into","is_in_group","neg","serialize","to_owned","try_from","try_into","type_id","vzip","zero","DISCRIMINANT_3072","Discriminant","__clone_box","bits","borrow","","borrow_mut","","clone","clone_into","clone_to_uninit","deref","deserialize","eq","equivalent","","fmt","from","","from_seed","into","","serialize","to_owned","try_from","","","try_into","","type_id","","vzip","","hash_prime","jacobi","parameterized_group","is_probable_prime","jacobi","ParameterType","ParameterizedGroupElement","is_in_group","multiply","zero","RSAGroupElement","__clone_box","add","borrow","borrow_mut","clone","clone_into","clone_to_uninit","double","eq","equivalent","","fmt","from","from_seed","into","is_in_group","modulus","multiply","new","serialize","to_owned","try_from","try_into","type_id","value","vzip","zero","RSAModulus","borrow","borrow_mut","eq","equivalent","","fmt","from","","from_str","into","serialize","try_from","try_into","type_id","vzip","InputType","OutputType","ProofType","VDF","evaluate","pietrzak","verify","wesolowski","DEFAULT_CHALLENGE_SIZE_IN_BYTES","PietrzaksVDF","borrow","borrow_mut","evaluate","from","into","new","try_from","try_into","type_id","verify","vzip","DEFAULT_CHALLENGE_SIZE_IN_BYTES","DefaultVDF","WesolowskisVDF","borrow","borrow_mut","evaluate","from","into","new","try_from","try_into","type_id","verify","vzip"],"q":[[0,"fastcrypto_vdf"],[4,"fastcrypto_vdf::class_group"],[40,"fastcrypto_vdf::class_group::discriminant"],[73,"fastcrypto_vdf::math"],[76,"fastcrypto_vdf::math::hash_prime"],[77,"fastcrypto_vdf::math::jacobi"],[78,"fastcrypto_vdf::math::parameterized_group"],[83,"fastcrypto_vdf::rsa_group"],[111,"fastcrypto_vdf::rsa_group::modulus"],[127,"fastcrypto_vdf::vdf"],[135,"fastcrypto_vdf::vdf::pietrzak"],[148,"fastcrypto_vdf::vdf::wesolowski"],[162,"dyn_clone::sealed"],[163,"core::result"],[164,"serde::de"],[165,"num_bigint::bigint"],[166,"core::fmt"],[167,"fastcrypto::error"],[168,"serde::ser"],[169,"core::any"],[170,"num_bigint::biguint"],[171,"alloc::vec"],[172,"fastcrypto::groups::multiplier"]],"i":"`````h0000000000000`00000000000000000000``Ah00Bf101110111111011011110101010`````C``000`Cd000000000000000`0000000000`Ch00000000000000Db00`0`0```Df0000000000```Dj0000000000","f":"`````{{bd}f}`{{hh}c{}}{{{b{h}}{b{h}}}c{}}{{h{b{h}}}c{}}`{b{{b{c}}}{}}{{{b{j}}}{{b{jc}}}{}}`{{{b{h}}}h}{{b{b{jc}}}f{}}{bf}{{{b{h}}{b{h}}}h}{c{{l{h}}}n}`{{{b{h}}}A`}{hh}{{{b{h}}{b{h}}}Ab}{{b{b{c}}}Ab{}}0{{{b{h}}{b{jAd}}}Af}{cc{}}{{A`A`{b{Ah}}}{{Aj{h}}}}{{{b{Ah}}}h}{{{b{{An{Al}}}}{b{Ah}}}{{Aj{h}}}}{{}c{}}{{{b{h}}{b{Ah}}}Ab}{hc{}}{{{b{h}}c}lB`}{bc{}}{c{{l{e}}}{}{}}{{}{{l{c}}}{}}{bBb}7{{{b{c}}}h{}}``{{bd}f}{{{b{Ah}}}Bd}{b{{b{c}}}{}}0{{{b{j}}}{{b{jc}}}{}}0{{{b{Ah}}}Ah}{{b{b{jc}}}f{}}{bf}{{{b{Bf}}}{{b{Ah}}}}{c{{l{Ah}}}n}{{{b{Ah}}{b{Ah}}}Ab}{{b{b{c}}}Ab{}}0{{{b{Ah}}{b{jAd}}}Af}{cc{}}0{{{b{{An{Al}}}}Bh}{{Aj{Ah}}}}{{}c{}}0{{{b{Ah}}c}lB`}{bc{}}{A`{{Aj{Ah}}}}{c{{l{e}}}{}{}}0{{}{{l{c}}}{}}0{bBb}066```{{{b{Bj}}}Ab}{{{b{A`}}{b{A`}}}{{Aj{Bl}}}}``{{{b{{C`{}{{Bn{c}}}}}}{b{c}}}AbCb}{{{b{{C`{}{{Bn{c}}}}}}{b{Bj}}{b{c}}}{{C`{}{{Bn{c}}}}}Cb}{{{b{c}}}{{C`{}{{Bn{c}}}}}Cb}`{{bd}f}{{Cd{b{Cd}}}c{}}{b{{b{c}}}{}}{{{b{j}}}{{b{jc}}}{}}{{{b{Cd}}}Cd}{{b{b{jc}}}f{}}{bf}{CdCd}{{{b{Cd}}{b{Cd}}}Ab}{{b{b{c}}}Ab{}}0{{{b{Cd}}{b{jAd}}}Af}{cc{}}{{{Cf{Al}}{b{Ch}}}Cd}{{}c{}}{{{b{Cd}}{b{c}}}Ab{}}`{{{b{Cd}}{b{Bj}}{b{c}}}Cd{}}{{Bj{b{Ch}}}Cd}{{{b{Cd}}c}lB`}{bc{}}{c{{l{e}}}{}{}}{{}{{l{c}}}{}}{bBb}{{{b{Cd}}}{{b{Bj}}}}9{{{b{c}}}Cd{}}`{b{{b{c}}}{}}{{{b{j}}}{{b{jc}}}{}}{{{b{Ch}}{b{Ch}}}Ab}{{b{b{c}}}Ab{}}0{{{b{Ch}}{b{jAd}}}Af}{BjCh}{cc{}}{{{b{Cj}}}{{l{Chc}}}{}}{{}c{}}{{{b{Ch}}c}lB`}>=<1````{{{b{{Db{}{{Cl{c}}{Cn{e}}{D`{g}}}}}}{b{c}}}{{Aj{{Dd{eg}}}}}{}{}{}}`{{{b{{Db{}{{Cl{c}}{Cn{e}}{D`{g}}}}}}{b{c}}{b{e}}{b{g}}}{{Aj{f}}}{}{}{}}```;:{{{b{{Df{c}}}}{b{c}}}{{Aj{{Dd{c{Dh{c}}}}}}}{C`Cb}}64{Bd{{Df{c}}}C`}{c{{l{e}}}{}{}}{{}{{l{c}}}{}}{bBb}{{{b{{Df{c}}}}{b{c}}{b{c}}{b{{Dh{c}}}}}{{Aj{f}}}{C`Cb}}9```{b{{b{c}}}{}}{{{b{j}}}{{b{jc}}}{}}{{{b{{Dj{ce}}}}{b{c}}}{{Aj{{Dd{cc}}}}}C`{{Dl{cBj}}}}><{Bd{{Dj{ce}}}C`{{Dl{cBj}}}}765{{{b{{Dj{ce}}}}{b{c}}{b{c}}{b{c}}}{{Aj{f}}}C`{{Dl{cBj}}}}>","D":"Fn","p":[[1,"reference"],[5,"Private",162],[1,"unit"],[5,"QuadraticForm",4],[0,"mut"],[6,"Result",163],[10,"Deserializer",164],[5,"BigInt",165],[1,"bool"],[5,"Formatter",166],[8,"Result",166],[5,"Discriminant",40],[8,"FastCryptoResult",167],[1,"u8"],[1,"slice"],[10,"Serializer",168],[5,"TypeId",169],[1,"u64"],[5,"DISCRIMINANT_3072",40],[1,"usize"],[5,"BigUint",170],[1,"i8"],[17,"ParameterType"],[10,"ParameterizedGroupElement",78],[10,"Serialize",168],[5,"RSAGroupElement",83],[1,"array"],[5,"RSAModulus",111],[1,"str"],[17,"InputType"],[17,"OutputType"],[17,"ProofType"],[10,"VDF",127],[1,"tuple"],[5,"PietrzaksVDF",135],[5,"Vec",171],[5,"WesolowskisVDF",148],[10,"ScalarMultiplier",172]],"r":[],"b":[[7,"impl-Add-for-QuadraticForm"],[8,"impl-Add%3C%26QuadraticForm%3E-for-%26QuadraticForm"],[9,"impl-Add%3C%26QuadraticForm%3E-for-QuadraticForm"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAGsAFgAAAAAAAgABAAYACwATAAAAFgAEACAACAArAAAALQAMAD8AAQBCAAcASwABAFUACwBkAAIAaAAEAG4ACAB7AAQAhQAAAIcAAACKAAIAkAAEAJgAAgCeAAQA"}],["fastcrypto_zkp",{"t":"FFNNNNNNNNNNNNNNNCCNNNNNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCIIICHHFFFNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNNNNNNNNNNNCCNNNCCSHHHSSHHHFFNNNNNNNNNNHHHHHHHHNNONHNNNNNNNNFNONNNNNONNNNNNNNONNNNNNNONPPPIIKYKYFPPPPFFFFPPPGPPFPPPKPFFFNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMONNNNNNNNNNNNNNNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHNNNNNNNNNNNOONNNNOOOONNNHNNNNNNNNNNNNNNNMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNIIKYKYPPKGNNNNNNNNNNNNNMNNNNNNNNNNNMMMNNNNNHHHHNFFNOONNNNNNNNNNNNNNNNOONNNNNNNNNFFFCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNKKMMHMHFFIINNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN","n":["Fr","FrRepr","__clone_box","","add","","add_assign","","as_bits","as_byte_slice","as_mut","as_mut_bits","as_mut_byte_slice","as_mut_slice_of","as_ref","as_slice_of","base32_len","bls12381","bn254","borrow","","borrow_mut","","check_base32","clone","","clone_into","","clone_to_uninit","","cmp","conditional_select","ct_eq","","default","","double","dummy_circuits","encode_hex","encode_hex_upper","eq","","equivalent","","","","fmt","","from","","","","","from_repr","from_repr_vartime","groth16","into","","invert","is_odd","is_zero_vartime","mul","","mul_assign","","neg","partial_cmp","product","random","sqrt","sqrt_ratio","square","sub","","sub_assign","","sum","to_owned","","to_repr","try_as_bits","try_as_mut_bits","try_from","","try_into","","type_id","","vzip","","write_base32","zk_login_utils","PreparedVerifyingKey","Proof","VerifyingKey","api","prepare_pvk_bytes","verify_groth16_in_bytes","FieldElement","Proof","VerifyingKey","__clone_box","api","borrow","","","borrow_mut","","","clone","clone_into","clone_to_uninit","deserialize","","eq","equivalent","","fmt","","","","from","","","","","","from_str","into","","","poseidon","to_owned","to_string","try_from","","","try_into","","","type_id","","","utils","verifier","vzip","","","zk_login","zk_login_api","SCALAR_SIZE","prepare_pvk_bytes","verify_groth16","verify_groth16_in_bytes","FIELD_ELEMENT_SIZE_IN_BYTES","MERKLE_TREE_DEGREE","poseidon","poseidon_bytes","poseidon_merkle_tree","GetSaltResponse","TestIssuerJWTResponse","borrow","","borrow_mut","","deserialize","","fmt","","from","","gen_address_seed","get_nonce","get_oidc_url","get_proof","get_salt","get_test_issuer_jwt_token","get_token_exchange_url","get_zk_login_address","into","","jwt","serialize","split_to_two_frs","try_from","","try_into","","type_id","","vzip","","PreparedVerifyingKey","__clone_box","alpha_g1_beta_g2","borrow","borrow_mut","clone","clone_into","clone_to_uninit","delta_g2_neg_pc","deserialize","eq","equivalent","","fmt","from","","","gamma_g2_neg_pc","into","serialize","to_owned","try_from","try_into","type_id","verify","vk_gamma_abc_g1","vzip","Apple","Arden","AwsTenant","Bn254","Bn254Fr","CanonicalDeserialize","","CanonicalSerialize","","Claim","Credenza3","Facebook","FanTV","Google","JWK","JWKReader","JWTDetails","JwkId","Kakao","KarrierOne","Microsoft","OIDCProvider","Onefc","Playtron","ProviderConfig","Slack","TestIssuer","Threedos","ToConstraintField","Twitch","ZkLoginInputs","ZkLoginInputsReader","ZkLoginProof","__clone_box","","","","","","","","alg","as_arkworks","borrow","","","","","","","","","","borrow_mut","","","","","","","","","","calculate_all_inputs_hash","clone","","","","","","","","clone_into","","","","","","","","clone_to_uninit","","","","","","","","cmp","","compressed_size","default","deserialize","","","","","","","deserialize_compressed","deserialize_compressed_unchecked","deserialize_uncompressed","deserialize_uncompressed_unchecked","deserialize_with_mode","e","eq","","","","","equivalent","","","","","","","","","","fetch_jwks","fmt","","","","","","","","","","from","","","","","","","","","","from_iss","from_json","","from_reader","","from_str","get_address_seed","get_config","get_iss","get_kid","get_proof","hash","","","hash_ascii_str_to_field","init","into","","","","","","","","","","iss","","json_schema","","","","jwk_endpoint","kid","kty","n","new","","","parse_jwks","partial_cmp","","schema_name","","","","serialize","","","","","","","serialize_compressed","serialize_uncompressed","serialize_with_mode","serialized_size","to_field_elements","to_owned","","","","","","","","to_string","try_from","","","","","","","","","","try_into","","","","","","","","","","type_id","","","","","","","","","","uncompressed_size","vzip","","","","","","","","","","Bn254","Bn254Fr","CanonicalDeserialize","","CanonicalSerialize","","Prod","Test","ToConstraintField","ZkLoginEnv","__clone_box","borrow","borrow_mut","clone","clone_into","clone_to_uninit","compressed_size","default","deserialize","deserialize_compressed","deserialize_compressed_unchecked","deserialize_uncompressed","deserialize_uncompressed_unchecked","deserialize_with_mode","eq","equivalent","","fmt","from","","","into","serialize","serialize_compressed","serialize_uncompressed","serialize_with_mode","serialized_size","to_field_elements","to_owned","try_from","try_into","type_id","uncompressed_size","verify_zk_login","verify_zk_login_id","verify_zk_login_iss","verify_zk_login_proof_with_fixed_vk","vzip","DummyCircuit","Fibonacci","__clone_box","a","b","borrow","","borrow_mut","","clone","clone_into","clone_to_uninit","fmt","","from","","generate_constraints","","into","","new","num_constraints","num_variables","to_owned","try_from","","try_into","","type_id","","vzip","","PreparedVerifyingKey","Proof","VerifyingKey","api","borrow","","","borrow_mut","","","deserialize","deserialize_from_parts","fmt","","from","","","","from_arkworks_format","into","","","prepare_inputs","serialize_into_parts","try_from","","","try_into","","","type_id","","","verify","verify_with_prepared_inputs","vzip","","","FromLittleEndianByteArray","GTSerialize","from_arkworks_bytes","from_little_endian_byte_array","prepare_pvk_bytes","to_arkworks_bytes","verify_groth16_in_bytes","Bn254FqElement","Bn254FrElement","CircomG1","CircomG2","__clone_box","","borrow","","borrow_mut","","clone","","clone_into","","clone_to_uninit","","deserialize","","eq","","equivalent","","","","fmt","","","","from","","from_str","","into","","json_schema","","padded","schema_name","","serialize","","to_owned","","to_string","","try_from","","try_into","","type_id","","unpadded","vzip",""],"q":[[0,"fastcrypto_zkp"],[92,"fastcrypto_zkp::bls12381"],[96,"fastcrypto_zkp::bls12381::api"],[98,"fastcrypto_zkp::bn254"],[150,"fastcrypto_zkp::bn254::api"],[154,"fastcrypto_zkp::bn254::poseidon"],[159,"fastcrypto_zkp::bn254::utils"],[192,"fastcrypto_zkp::bn254::verifier"],[219,"fastcrypto_zkp::bn254::zk_login"],[468,"fastcrypto_zkp::bn254::zk_login_api"],[516,"fastcrypto_zkp::dummy_circuits"],[548,"fastcrypto_zkp::groth16"],[586,"fastcrypto_zkp::groth16::api"],[593,"fastcrypto_zkp::zk_login_utils"],[647,"dyn_clone::sealed"],[648,"bitvec::slice"],[649,"bitvec::order"],[650,"byte_slice_cast"],[651,"core::result"],[652,"bech32"],[653,"alloc::vec"],[654,"core::cmp"],[655,"subtle"],[656,"core::iter::traits::collect"],[657,"core::fmt"],[658,"core::option"],[659,"core::borrow"],[660,"core::iter::traits::iterator"],[661,"rand_core"],[662,"bitvec::ptr::span"],[663,"core::any"],[664,"fastcrypto::error"],[665,"ark_bn254::curves"],[666,"ark_groth16::data_structures"],[667,"alloc::string"],[668,"serde::de"],[669,"reqwest::async_impl::client"],[670,"serde::ser"],[671,"ark_serialize"],[672,"ark_serialize::error"],[673,"ark_std::io"],[674,"core::hash"],[675,"schemars::gen"],[676,"schemars::schema"],[677,"ark_ff::to_field_vec"],[678,"ark_ff::fields"],[679,"im::hash::map"],[680,"core::clone"],[681,"ark_ff::fields::prime"],[682,"ark_relations::r1cs::constraint_system"],[683,"ark_relations::r1cs::error"],[684,"fastcrypto::groups"],[685,"fastcrypto::serde_helpers"],[686,"ark_serialize_derive"]],"i":"``Adh0000111111111``101011010100010100`11101100101110000`10000000000000000000010011101010101``````````Dh`0DjDn2102221022222102211002210`22210210210``210`````````````F`Fd10101010````````1000`10101010`El0000000000000000000000000Ff00```````0000````000`00`000`0```Gd1GfGhGjGbFhG`506Hj86Gn654328197065432489765432897654328976543287Gl69817543H`00009:;987::;;998877`:3;9287654:3;9287654;6496;6;666:;9`6:3;9287654:386543:99:37`:98654:9286541111Id;<:98765<;4<:398765;4<:398765;4<:3987652;4<:398765``````Ih0``000000300222220000E`01114444211114````1``Il000Jd1011110101010011110101010````K`JjKd2101210221002102221021021022210``KhKj`1`````KlFl101010101010101100110010101010010101010101010010","f":"``{{bd}f}0{{h{b{h}}}h}{{hh}h}{{{b{jh}}h}f}{{{b{jh}}{b{h}}}f}{b{{b{{l{ce}}}}}{}n}{b{{b{{Ab{A`}}}}}}{{{b{jAd}}}{{b{j{Ab{A`}}}}}}{{{b{j}}}{{b{j{l{ce}}}}}{}n}{{{b{j}}}{{b{j{Ab{A`}}}}}}{{{b{j}}}{{Ah{{b{j{Ab{c}}}}Af}}}Aj}{{{b{Ad}}}{{b{{Ab{A`}}}}}}{b{{Ah{{b{{Ab{c}}}}Af}}}Aj}{bAl}``{b{{b{c}}}{}}0{{{b{j}}}{{b{jc}}}{}}0{{}{{Ah{{B`{An}}}}}}{{{b{Ad}}}Ad}{{{b{h}}}h}{{b{b{jc}}}f{}}0{bf}0{{{b{h}}{b{h}}}Bb}{{{b{h}}{b{h}}Bd}h}{{{b{Ad}}{b{Ad}}}Bd}{{{b{h}}{b{h}}}Bd}{{}Ad}{{}h}8`{bc{{Bh{Bf}}}}0{{{b{Ad}}{b{Ad}}}Bj}{{{b{h}}{b{h}}}Bj}{{b{b{c}}}Bj{}}000{{{b{Ad}}{b{jBl}}}Bn}{{{b{h}}{b{jBl}}}Bn}{{{b{h}}}Ad}{cc{}}{hAd}1{C`h}{Ad{{Cb{h}}}}{Ad{{Cd{h}}}}`{{}c{}}0{{{b{h}}}{{Cb{h}}}}{{{b{h}}}Bd}{{{b{h}}}Bj}{{hh}h}{{h{b{h}}}h}{{{b{jh}}h}f}{{{b{jh}}{b{h}}}f}{hh}{{{b{h}}{b{h}}}{{Cd{Bb}}}}{eh{{Cf{h}}}{{Cj{}{{Ch{c}}}}}}{chCl}:{{{b{h}}{b{h}}}{{Cn{Bdh}}}}{{{b{h}}}h}98673{bc{}}0{{{b{h}}}Ad}{b{{Ah{{b{{l{ce}}}}{D`{c}}}}}{}n}{{{b{j}}}{{Ah{{b{j{l{ce}}}}{D`{c}}}}}{}n}{c{{Ah{e}}}{}{}}0{{}{{Ah{c}}}{}}0{bDb}0{{}c{}}0{{b{b{jc}}}{{Ah{f}}}Dd}`````{{{b{{Ab{A`}}}}}{{Ah{{B`{{B`{A`}}}}Df}}}}{{{b{{Ab{A`}}}}{b{{Ab{A`}}}}{b{{Ab{A`}}}}{b{{Ab{A`}}}}{b{{Ab{A`}}}}{b{{Ab{A`}}}}}{{Ah{BjDf}}}}```{{bd}f}`{b{{b{c}}}{}}00{{{b{j}}}{{b{jc}}}{}}00{{{b{Dh}}}Dh}{{b{b{jc}}}f{}}{bf}{{{b{{Ab{A`}}}}}{{Dl{Dj}}}}{{{b{{Ab{A`}}}}}{{Dl{Dn}}}}{{{b{Dh}}{b{Dh}}}Bj}{{b{b{c}}}Bj{}}0{{{b{Dh}}{b{jBl}}}Bn}0{{{b{Dj}}{b{jBl}}}Bn}{{{b{Dn}}{b{jBl}}}Bn}{cc{}}{E`Dh}{{{Ed{Eb}}}Dj}22{{{Ef{Eb}}}Dn}{{{b{Eh}}}{{Ah{Dhc}}}{}}{{}c{}}00`{bc{}}{bEj}{c{{Ah{e}}}{}{}}00{{}{{Ah{c}}}{}}00{bDb}00``555```{{{b{{Ab{A`}}}}}{{Ah{{B`{{B`{A`}}}}Df}}}}{{{b{El}}{b{{Ab{A`}}}}{b{{Ab{A`}}}}}{{Ah{BjDf}}}}{{{b{{Ab{A`}}}}{b{{Ab{A`}}}}{b{{Ab{A`}}}}{b{{Ab{A`}}}}{b{{Ab{A`}}}}{b{{Ab{A`}}}}}{{Ah{BjDf}}}}``{{{b{{Ab{Dh}}}}}{{Ah{DhDf}}}}{{{b{{Ab{{B`{A`}}}}}}}{{Dl{{En{A`}}}}}}{{{b{{Ab{Dh}}}}}{{Dl{Dh}}}}``{b{{b{c}}}{}}0{{{b{j}}}{{b{jc}}}{}}0{c{{Ah{F`}}}Fb}{c{{Ah{Fd}}}Fb}{{{b{F`}}{b{jBl}}}Bn}{{{b{Fd}}{b{jBl}}}Bn}{cc{}}0{{{b{Eh}}{b{Eh}}{b{Eh}}{b{Eh}}}{{Ah{EjDf}}}}{{{b{{Ab{A`}}}}C`{b{Eh}}}{{Ah{EjDf}}}}{{Ff{b{{Ab{A`}}}}C`{b{Eh}}{b{Eh}}{b{Eh}}}{{Ah{EjDf}}}}{{{b{Eh}}C`{b{Eh}}{b{Eh}}{b{Eh}}{b{Eh}}}{{Ah{FhDf}}}}{{{b{Eh}}{b{Eh}}}{{Ah{EjDf}}}}{{{b{Fj}}{b{Eh}}{b{Eh}}{b{Eh}}}{{Ah{FdDf}}}}{{Ff{b{Eh}}{b{Eh}}{b{Eh}}{b{Eh}}}{{Ah{EjDf}}}}{{{b{Fl}}{b{Eh}}}{{Ah{{En{A`}}Df}}}}{{}c{}}0`{{{b{Fd}}c}AhFn}{{{b{{Ab{A`}}}}}{{Ah{{Cn{E`E`}}Df}}}}{c{{Ah{e}}}{}{}}0{{}{{Ah{c}}}{}}0{bDb}055`{{bd}f}`{b{{b{c}}}{}}{{{b{j}}}{{b{jc}}}{}}{{{b{El}}}El}{{b{b{jc}}}f{}}{bf}`{{{b{{B`{c}}}}}{{Ah{ElDf}}}{{Cf{{Ab{A`}}}}}}{{{b{El}}{b{El}}}Bj}{{b{b{c}}}Bj{}}0{{{b{El}}{b{jBl}}}Bn}{{{b{Dn}}}El}{cc{}}{{{b{{Ef{Eb}}}}}El}`{{}c{}}{{{b{El}}}{{Ah{{B`{{B`{A`}}}}Df}}}}{bc{}}{c{{Ah{e}}}{}{}}{{}{{Ah{c}}}{}}{bDb}{{{b{El}}{b{{Ab{Dh}}}}{b{Dj}}}{{Ah{BjDf}}}}`6`````````````````````````````````{{bd}f}0000000`{{{b{G`}}}{{Ah{{Ed{Eb}}Df}}}}{b{{b{c}}}{}}000000000{{{b{j}}}{{b{jc}}}{}}000000000{{{b{Gb}}{b{{Ab{A`}}}}{b{{Ab{A`}}}}C`}{{Ah{E`Df}}}}{{{b{Gd}}}Gd}{{{b{Ff}}}Ff}{{{b{Gf}}}Gf}{{{b{Gh}}}Gh}{{{b{Gj}}}Gj}{{{b{Gb}}}Gb}{{{b{Fh}}}Fh}{{{b{G`}}}G`}{{b{b{jc}}}f{}}0000000{bf}0000000{{{b{Gd}}{b{Gd}}}Bb}{{{b{Gf}}{b{Gf}}}Bb}{{{b{Gl}}}Al}{{}Gj}{c{{Ah{Gd}}}Fb}{c{{Ah{Gf}}}Fb}{c{{Ah{Gn}}}Fb}{c{{Ah{Gh}}}Fb}{c{{Ah{Gb}}}Fb}{c{{Ah{Fh}}}Fb}{c{{Ah{G`}}}Fb}{c{{Ah{H`Hb}}}Hd}000{{cHfHh}{{Ah{H`Hb}}}Hd}`{{{b{Gd}}{b{Gd}}}Bj}{{{b{Ff}}{b{Ff}}}Bj}{{{b{Gf}}{b{Gf}}}Bj}{{{b{Gh}}{b{Gh}}}Bj}{{{b{Gj}}{b{Gj}}}Bj}{{b{b{c}}}Bj{}}000000000{{{b{Ff}}{b{Fj}}}{{Ah{{B`{{Cn{GdGf}}}}Df}}}}{{{b{Gd}}{b{jBl}}}Bn}{{{b{Hj}}{b{jBl}}}Bn}{{{b{Ff}}{b{jBl}}}Bn}{{{b{Gf}}{b{jBl}}}Bn}{{{b{Gn}}{b{jBl}}}Bn}{{{b{Gh}}{b{jBl}}}Bn}{{{b{Gj}}{b{jBl}}}Bn}{{{b{Gb}}{b{jBl}}}Bn}{{{b{Fh}}{b{jBl}}}Bn}{{{b{G`}}{b{jBl}}}Bn}{cc{}}000000000{{{b{Eh}}}{{Ah{FfDf}}}}{{{b{Eh}}{b{Eh}}}{{Ah{GbDf}}}}{{{b{Eh}}}{{Ah{G`Df}}}}{Gn{{Dl{Gf}}}}{{Fh{b{Eh}}}{{Ah{GbDf}}}}{{{b{Eh}}}{{Ah{Ffc}}}{}}{{{b{Gb}}}{{b{Fl}}}}{{{b{Ff}}}Hj}{{{b{Gb}}}{{b{Eh}}}}0{{{b{Gb}}}{{b{G`}}}}{{{b{Gd}}{b{jc}}}fHl}{{{b{Ff}}{b{jc}}}fHl}{{{b{Gf}}{b{jc}}}fHl}{{{b{Eh}}A`}{{Ah{E`Df}}}}{{{b{jGb}}}{{Ah{GbDf}}}}{{}c{}}000000000``{{{b{jHn}}}I`}000````{{EjEj}Gd}{{{b{Eh}}{b{Eh}}}Hj}{{{b{Eh}}{b{Gh}}}{{Ah{GjDf}}}}{{{b{{Ab{A`}}}}{b{Ff}}}{{Ah{{B`{{Cn{GdGf}}}}Df}}}}{{{b{Gd}}{b{Gd}}}{{Cd{Bb}}}}{{{b{Gf}}{b{Gf}}}{{Cd{Bb}}}}{{}Ej}000{{{b{Gd}}c}AhFn}{{{b{Gf}}c}AhFn}{{{b{Gn}}c}AhFn}{{{b{Gh}}c}AhFn}{{{b{Gb}}c}AhFn}{{{b{Fh}}c}AhFn}{{{b{G`}}c}AhFn}{{{b{Gl}}c}{{Ah{fHb}}}Ib}0{{{b{Gl}}cHf}{{Ah{fHb}}}Ib}{{{b{Gl}}Hf}Al}{{{b{Id}}}{{Cd{{B`{c}}}}}If}{bc{}}0000000{{{b{Ff}}}Ej}{c{{Ah{e}}}{}{}}000000000{{}{{Ah{c}}}{}}000000000{bDb}000000000{{{b{Gl}}}Al}{{}c{}}000000000``````````{{bd}f}{b{{b{c}}}{}}{{{b{j}}}{{b{jc}}}{}}{{{b{Ih}}}Ih}{{b{b{jc}}}f{}}{bf}7{{}Ih}{c{{Ah{Ih}}}Fb}{c{{Ah{H`Hb}}}Hd}000{{cHfHh}{{Ah{H`Hb}}}Hd}{{{b{Ih}}{b{Ih}}}Bj}{{b{b{c}}}Bj{}}0{{{b{Ih}}{b{jBl}}}Bn}{{{b{Fl}}}E`}{DhE`}{cc{}}{{}c{}}{{{b{Ih}}c}AhFn}{{{b{Gl}}c}{{Ah{fHb}}}Ib}0{{{b{Gl}}cHf}{{Ah{fHb}}}Ib}{{{b{Gl}}Hf}Al}{{{b{Id}}}{{Cd{{B`{c}}}}}If}{bc{}}{c{{Ah{e}}}{}{}}{{}{{Ah{c}}}{}}{bDb}{{{b{Gl}}}Al}{{{b{Gb}}C`{b{{Ab{A`}}}}{b{{Ij{GdGf}}}}{b{Ih}}}{{Ah{fDf}}}}{{{b{{Ab{A`}}}}{b{Eh}}{b{Eh}}{b{Eh}}{b{Eh}}{b{Eh}}}{{Dl{f}}}}{{{b{{Ab{A`}}}}{b{Eh}}{b{Eh}}}{{Dl{f}}}}{{{b{Ih}}{b{{Ed{Eb}}}}{b{{Ab{E`}}}}}{{Ah{BjDf}}}}>``{{bd}f}``{b{{b{c}}}{}}0{{{b{j}}}{{b{jc}}}{}}0{{{b{{Il{c}}}}}{{Il{c}}}{InJ`}}{{b{b{jc}}}f{}}{bf}{{{b{{Il{c}}}}{b{jBl}}}Bn{JbJ`}}{{{b{{Jd{c}}}}{b{jBl}}}Bn{JbJ`}}{cc{}}0{{{Il{c}}{Jf{c}}}{{Ah{fJh}}}J`}{{{Jd{c}}{Jf{c}}}{{Ah{fJh}}}J`}{{}c{}}0{{Alcc}{{Jd{c}}}J`}``{bc{}}{c{{Ah{e}}}{}{}}0{{}{{Ah{c}}}{}}0{bDb}055````???>>>{c{{Ah{{Jj{e}}}}}Fb{JlJn}}{{{b{{Ab{A`}}}}{b{{Ab{A`}}}}{b{{Ab{A`}}}}{b{{Ab{A`}}}}}{{Dl{{K`{c}}}}}{KbJn}}{{{b{{Jj{c}}}}{b{jBl}}}Bn{JbJn}}{{{b{{Kd{c}}}}{b{jBl}}}Bn{JbJn}}<{{{b{{Kd{c}}}}}{{K`{c}}}Jn}=={{{b{{Ab{A`}}}}}{{Dl{{Kd{c}}}}}{KbJn}};;;{{{b{{K`{c}}}}{b{Ab}}}{{Dl{c}}}{KfJn}}{{{b{{K`{c}}}}}{{B`{{B`{A`}}}}}{KbJn}}:::999888{{{b{{K`{c}}}}{b{Ab}}{b{{Jj{c}}}}}{{Dl{f}}}{KfJn}}{{{b{{K`{c}}}}{b{c}}{b{{Jj{c}}}}}{{Dl{f}}}Jn}???``{{{b{{En{A`}}}}}{{Dl{Kh}}}}{{{b{{En{A`}}}}}{{Dl{Kj}}}}{{{b{{Ab{A`}}}}}{{Dl{{B`{{B`{A`}}}}}}}}{{{b{Kh}}}{{En{A`}}}}{{{b{{Ab{A`}}}}{b{{Ab{A`}}}}{b{{Ab{A`}}}}{b{{Ab{A`}}}}{b{{Ab{A`}}}}{b{{Ab{A`}}}}}{{Ah{BjDf}}}}````{{bd}f}0{b{{b{c}}}{}}0{{{b{j}}}{{b{jc}}}{}}0{{{b{Kl}}}Kl}{{{b{Fl}}}Fl}{{b{b{jc}}}f{}}0{bf}0{c{{Ah{Kl}}}Fb}{c{{Ah{Fl}}}Fb}{{{b{Kl}}{b{Kl}}}Bj}{{{b{Fl}}{b{Fl}}}Bj}{{b{b{c}}}Bj{}}000{{{b{Kl}}{b{jBl}}}Bn}0{{{b{Fl}}{b{jBl}}}Bn}0{cc{}}0{{{b{Eh}}}{{Ah{Klc}}}{}}{{{b{Eh}}}{{Ah{Flc}}}{}}{{}c{}}0{{{b{jHn}}}I`}0{{{b{Fl}}}{{b{{Ab{A`}}}}}}{{}Ej}0{{{b{Kl}}c}AhFn}{{{b{Fl}}c}AhFn}{bc{}}0{bEj}0{c{{Ah{e}}}{}{}}0{{}{{Ah{c}}}{}}0{bDb}08::","D":"AHn","p":[[1,"reference"],[5,"Private",647],[1,"unit"],[5,"Fr",0],[0,"mut"],[5,"BitSlice",648],[10,"BitOrder",649],[1,"u8"],[1,"slice"],[5,"FrRepr",0],[6,"Error",650],[6,"Result",651],[10,"FromByteSlice",650],[1,"usize"],[5,"u5",652],[5,"Vec",653],[6,"Ordering",654],[5,"Choice",655],[1,"char"],[10,"FromIterator",656],[1,"bool"],[5,"Formatter",657],[8,"Result",657],[1,"u64"],[5,"CtOption",655],[6,"Option",658],[10,"Borrow",659],[17,"Item"],[10,"Iterator",660],[10,"RngCore",661],[1,"tuple"],[6,"BitSpanError",662],[5,"TypeId",663],[10,"WriteBase32",652],[6,"FastCryptoError",664],[5,"FieldElement",98],[5,"Proof",98],[8,"FastCryptoResult",664],[5,"VerifyingKey",98],[8,"Bn254Fr",468],[8,"Bn254",468,665],[5,"Proof",666],[5,"VerifyingKey",666],[1,"str"],[5,"String",667],[5,"PreparedVerifyingKey",192],[1,"array"],[5,"GetSaltResponse",159],[10,"Deserializer",668],[5,"TestIssuerJWTResponse",159],[6,"OIDCProvider",219],[5,"ZkLoginInputsReader",219],[5,"Client",669],[5,"Bn254FrElement",593],[10,"Serializer",670],[5,"ZkLoginProof",219],[5,"ZkLoginInputs",219],[5,"JwkId",219],[5,"JWK",219],[5,"Claim",219],[5,"JWTDetails",219],[10,"CanonicalSerialize",468,671],[5,"JWKReader",219],[10,"CanonicalDeserialize",468,671],[6,"SerializationError",672],[10,"Read",673],[6,"Compress",671],[6,"Validate",671],[5,"ProviderConfig",219],[10,"Hasher",674],[5,"SchemaGenerator",675],[6,"Schema",676],[10,"Write",673],[10,"ToConstraintField",468,677],[10,"Field",678],[6,"ZkLoginEnv",468],[5,"HashMap",679],[5,"DummyCircuit",516],[10,"Clone",680],[10,"PrimeField",681],[10,"Debug",657],[5,"Fibonacci",516],[6,"ConstraintSystemRef",682],[6,"SynthesisError",683],[5,"Proof",548],[10,"Deserialize",668],[10,"Pairing",684],[5,"PreparedVerifyingKey",548],[10,"ToFromByteArray",685],[5,"VerifyingKey",548],[10,"MultiScalarMul",684],[10,"GTSerialize",586],[10,"FromLittleEndianByteArray",586],[5,"Bn254FqElement",593]],"r":[[222,665],[224,671],[225,686],[226,671],[227,686],[247,677],[468,665],[470,671],[471,686],[472,671],[473,686],[476,677]],"b":[[4,"impl-Add%3C%26Fr%3E-for-Fr"],[5,"impl-Add-for-Fr"],[6,"impl-AddAssign-for-Fr"],[7,"impl-AddAssign%3C%26Fr%3E-for-Fr"],[48,"impl-From%3C%26Fr%3E-for-FrRepr"],[50,"impl-From%3CFr%3E-for-FrRepr"],[61,"impl-Mul-for-Fr"],[62,"impl-Mul%3C%26Fr%3E-for-Fr"],[63,"impl-MulAssign-for-Fr"],[64,"impl-MulAssign%3C%26Fr%3E-for-Fr"],[72,"impl-Sub-for-Fr"],[73,"impl-Sub%3C%26Fr%3E-for-Fr"],[74,"impl-SubAssign%3C%26Fr%3E-for-Fr"],[75,"impl-SubAssign-for-Fr"],[117,"impl-Display-for-FieldElement"],[118,"impl-Debug-for-FieldElement"],[206,"impl-From%3C%26VerifyingKey%3E-for-PreparedVerifyingKey"],[208,"impl-From%3C%26VerifyingKey%3CBn%3CConfig%3E%3E%3E-for-PreparedVerifyingKey"],[496,"impl-From%3C%26Bn254FrElement%3E-for-Fp%3CMontBackend%3CFrConfig,+4%3E,+4%3E"],[497,"impl-From%3CFieldElement%3E-for-Fp%3CMontBackend%3CFrConfig,+4%3E,+4%3E"],[617,"impl-Debug-for-Bn254FqElement"],[618,"impl-Display-for-Bn254FqElement"],[619,"impl-Display-for-Bn254FrElement"],[620,"impl-Debug-for-Bn254FrElement"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAMABOgACAA8AFAARACcACgAzAAAANQADADsACQBGABUAZgAAAGgACABzAAYAewABAH8AAQCFAAoAkgACAKIABwC3AAAAuQAHAMIAAADEAAQAywADANEAAADVAAMA2wAAAN8AAQDiAAAA5AAAAP0ABwAHARMAHAEmAEUBDgBVAQkAbgEAAHQBAgCFAQMAkQEOAKEBNQDYAQAA2gEAAN8BDADtAQUA9QECAPkBBgAEAgAABwIAAAoCCAAVAgEAHAIIACYCDAA0AgAANwIAADwCCQBIAgIATgIAAFYCFwBwAgEAdAIBAHcCDQCGAgEA"}],["sigs_cli",{"t":"PPGPPFPPPPPGFFPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHNNNNNNNNNNNNNNNNNNNNNNNHOOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN","n":["BLS12381MinPk","BLS12381MinSig","Command","Ed25519","Keygen","KeygenArguments","Secp256k1","Secp256k1Recoverable","Secp256r1","Secp256r1Recoverable","Sign","SignatureScheme","SigningArguments","VerifiyingArguments","Verify","__clone_box","","","augment_args","","","augment_args_for_update","","","augment_subcommands","augment_subcommands_for_update","borrow","","","","","borrow_mut","","","","","clone","","","clone_into","","","clone_to_uninit","","","command","","","","command_for_update","","","","execute","from","","","","","from_arg_matches","","","","from_arg_matches_mut","","","","from_str","group_id","","","has_subcommand","into","","","","","main","msg","","public_key","scheme","","","secret_key","seed","signature","to_owned","","","try_from","","","","","try_into","","","","","type_id","","","","","update_from_arg_matches","","","","update_from_arg_matches_mut","","","","vzip","","","",""],"q":[[0,"sigs_cli"],[118,"dyn_clone::sealed"],[119,"clap::builder::command"],[120,"fastcrypto::error"],[121,"core::result"],[122,"clap::parser::matches::arg_matches"],[123,"clap"],[124,"clap::util::id"],[125,"core::option"],[126,"core::any"]],"i":"An0`0Ab`11110```0lnA`21021033432104321021021021032103210`43210321032104210343210`1002101202104321043210432103210321043210","f":"```````````````{{bd}f}00{hh}0000000{b{{b{c}}}{}}0000{{{b{j}}}{{b{jc}}}{}}0000{{{b{l}}}l}{{{b{n}}}n}{{{b{A`}}}A`}{{b{b{jc}}}f{}}00{bf}00{{}h}0000000{Ab{{Af{fAd}}}}{cc{}}0000{{{b{Ah}}}{{Af{AbAj}}}}{{{b{Ah}}}{{Af{lAj}}}}{{{b{Ah}}}{{Af{nAj}}}}{{{b{Ah}}}{{Af{A`Aj}}}}{{{b{jAh}}}{{Af{AbAj}}}}{{{b{jAh}}}{{Af{lAj}}}}{{{b{jAh}}}{{Af{nAj}}}}{{{b{jAh}}}{{Af{A`Aj}}}}{{{b{Al}}}{{Af{Anc}}}{}}{{}{{Bb{B`}}}}00{{{b{Al}}}Bd}{{}c{}}0000{{}f}`````````{bc{}}00{c{{Af{e}}}{}{}}0000{{}{{Af{c}}}{}}0000{bBf}0000{{{b{jAb}}{b{Ah}}}{{Af{fAj}}}}{{{b{jl}}{b{Ah}}}{{Af{fAj}}}}{{{b{jn}}{b{Ah}}}{{Af{fAj}}}}{{{b{jA`}}{b{Ah}}}{{Af{fAj}}}}{{{b{jAb}}{b{jAh}}}{{Af{fAj}}}}{{{b{jl}}{b{jAh}}}{{Af{fAj}}}}{{{b{jn}}{b{jAh}}}{{Af{fAj}}}}{{{b{jA`}}{b{jAh}}}{{Af{fAj}}}}=====","D":"Bl","p":[[1,"reference"],[5,"Private",118],[1,"unit"],[5,"Command",119],[0,"mut"],[5,"KeygenArguments",0],[5,"SigningArguments",0],[5,"VerifiyingArguments",0],[6,"Command",0],[6,"FastCryptoError",120],[6,"Result",121],[5,"ArgMatches",122],[8,"Error",123],[1,"str"],[6,"SignatureScheme",0],[5,"Id",124],[6,"Option",125],[1,"bool"],[5,"TypeId",126]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAGAABwAAAAQABgAEAAwAAgAQACYAPAAMAE4AAABYAB4A"}],["tlock_cli",{"t":"GPFPFFPFNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNHNHHHHNNNNNNNNNNNNNNNNNNNNNNNHOOOONONNNNNNNNNNNNNNNNNNONNNNNNNNOHNNNNNOH","n":["Command","Decrypt","DecryptArguments","Encrypt","EncryptArguments","Encryption","Verify","VerifyArguments","__clone_box","","","augment_args","","","augment_args_for_update","","","augment_subcommands","augment_subcommands_for_update","borrow","","","","","borrow_mut","","","","","ciphertext","clone","","","clone_into","","","clone_to_uninit","","","command","","","","command_for_update","","","","decrypt","deserialize","drand_pk","encode_round","encrypt","execute","fmt","from","","","","","from_arg_matches","","","","from_arg_matches_mut","","","","group_id","","","has_subcommand","into","","","","","main","plaintext","round","","round_signature","serialize","signature","to_owned","","","try_from","","","","","try_into","","","","","type_id","","","","","u","update_from_arg_matches","","","","update_from_arg_matches_mut","","","","v","verify_signature","vzip","","","","","w","xor_arrays"],"q":[[0,"tlock_cli"],[119,"dyn_clone::sealed"],[120,"clap::builder::command"],[121,"fastcrypto::groups::bls12381"],[122,"alloc::vec"],[123,"core::option"],[124,"core::result"],[125,"serde::de"],[126,"alloc::string"],[127,"std::io::error"],[128,"core::fmt"],[129,"clap::parser::matches::arg_matches"],[130,"clap"],[131,"clap::util::id"],[132,"serde::ser"],[133,"core::any"],[134,"fastcrypto::error"]],"i":"`Bh`0``0`lnA`210210333210Ab43210232132132143214321`0````04321043214321321443210`3312013214321043210432100432143210`432100`","f":"````````{{bd}f}00{hh}0000000{b{{b{c}}}{}}0000{{{b{j}}}{{b{jc}}}{}}0000`{{{b{l}}}l}{{{b{n}}}n}{{{b{A`}}}A`}{{b{b{jc}}}f{}}00{bf}00{{}h}0000000{{AbAd}{{Aj{{Ah{Af}}}}}}{c{{Al{Ab}}}An}{{}B`}{{{b{Bb}}}{{Bd{Af}}}}{{Bb{b{{Bf{Af}}}}}Ab}{Bh{{Al{BjBl}}}}{{{b{Ab}}{b{jBn}}}C`}{cc{}}0000{{{b{Cb}}}{{Al{BhCd}}}}{{{b{Cb}}}{{Al{lCd}}}}{{{b{Cb}}}{{Al{nCd}}}}{{{b{Cb}}}{{Al{A`Cd}}}}{{{b{jCb}}}{{Al{BhCd}}}}{{{b{jCb}}}{{Al{lCd}}}}{{{b{jCb}}}{{Al{nCd}}}}{{{b{jCb}}}{{Al{A`Cd}}}}{{}{{Aj{Cf}}}}00{{{b{Ch}}}Cj}{{}c{}}0000{{}f}````{{{b{Ab}}c}AlCl}`{bc{}}00{c{{Al{e}}}{}{}}0000{{}{{Al{c}}}{}}0000{bCn}0000`{{{b{jBh}}{b{Cb}}}{{Al{fCd}}}}{{{b{jl}}{b{Cb}}}{{Al{fCd}}}}{{{b{jn}}{b{Cb}}}{{Al{fCd}}}}{{{b{jA`}}{b{Cb}}}{{Al{fCd}}}}{{{b{jBh}}{b{jCb}}}{{Al{fCd}}}}{{{b{jl}}{b{jCb}}}{{Al{fCd}}}}{{{b{jn}}{b{jCb}}}{{Al{fCd}}}}{{{b{jA`}}{b{jCb}}}{{Al{fCd}}}}`{{AdBb}{{D`{f}}}}?????`{{{b{{Bf{Af}}}}{b{{Bf{Af}}}}}{{Ah{Af}}}}","D":"Bh","p":[[1,"reference"],[5,"Private",119],[1,"unit"],[5,"Command",120],[0,"mut"],[5,"EncryptArguments",0],[5,"DecryptArguments",0],[5,"VerifyArguments",0],[5,"Encryption",0],[5,"G1Element",121],[1,"u8"],[5,"Vec",122],[6,"Option",123],[6,"Result",124],[10,"Deserializer",125],[5,"G2Element",121],[1,"u64"],[1,"array"],[1,"slice"],[6,"Command",0],[5,"String",126],[5,"Error",127],[5,"Formatter",128],[8,"Result",128],[5,"ArgMatches",129],[8,"Error",130],[5,"Id",131],[1,"str"],[1,"bool"],[10,"Serializer",132],[5,"TypeId",133],[8,"FastCryptoResult",134]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAGMACQAAAAIABAAAAAcAAAAJABQAHwAXADwACwBNAAAAUgAAAFQAIwA="}],["vdf_cli",{"t":"GSPFPFPFPFNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHNNNNNNNNNNNNNNNNNNNNOONNNNNOOHOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN","n":["Command","DEFAULT_DISCRIMINANT_BIT_LENGTH","Discriminant","DiscriminantArguments","Evaluate","EvaluateArguments","Hash","HashArguments","Verify","VerifyArguments","__clone_box","","","","augment_args","","","","augment_args_for_update","","","","augment_subcommands","augment_subcommands_for_update","bit_length","borrow","","","","","borrow_mut","","","","","clone","","","","clone_into","","","","clone_to_uninit","","","","command","","","","","command_for_update","","","","","execute","from","","","","","from_arg_matches","","","","","from_arg_matches_mut","","","","","group_id","","","","has_subcommand","input","","into","","","","","iterations","","main","message","output","proof","seed","to_owned","","","","try_from","","","","","try_into","","","","","type_id","","","","","update_from_arg_matches","","","","","update_from_arg_matches_mut","","","","","vzip","","","",""],"q":[[0,"vdf_cli"],[126,"dyn_clone::sealed"],[127,"clap::builder::command"],[128,"alloc::string"],[129,"std::io::error"],[130,"core::result"],[131,"clap::parser::matches::arg_matches"],[132,"clap"],[133,"clap::util::id"],[134,"core::option"],[135,"core::any"]],"i":"``Ad`0`0`0`lnA`Ab3210321044343210432103210321032104321043210`43210432104321032104214321021`01133210432104321043210432104321043210","f":"``````````{{bd}f}000{hh}000000000`{b{{b{c}}}{}}0000{{{b{j}}}{{b{jc}}}{}}0000{{{b{l}}}l}{{{b{n}}}n}{{{b{A`}}}A`}{{{b{Ab}}}Ab}{{b{b{jc}}}f{}}000{bf}000{{}h}000000000{Ad{{Aj{AfAh}}}}{cc{}}0000{{{b{Al}}}{{Aj{AdAn}}}}{{{b{Al}}}{{Aj{lAn}}}}{{{b{Al}}}{{Aj{nAn}}}}{{{b{Al}}}{{Aj{A`An}}}}{{{b{Al}}}{{Aj{AbAn}}}}{{{b{jAl}}}{{Aj{AdAn}}}}{{{b{jAl}}}{{Aj{lAn}}}}{{{b{jAl}}}{{Aj{nAn}}}}{{{b{jAl}}}{{Aj{A`An}}}}{{{b{jAl}}}{{Aj{AbAn}}}}{{}{{Bb{B`}}}}000{{{b{Bd}}}Bf}``{{}c{}}0000``{{}f}````{bc{}}000{c{{Aj{e}}}{}{}}0000{{}{{Aj{c}}}{}}0000{bBh}0000{{{b{jAd}}{b{Al}}}{{Aj{fAn}}}}{{{b{jl}}{b{Al}}}{{Aj{fAn}}}}{{{b{jn}}{b{Al}}}{{Aj{fAn}}}}{{{b{jA`}}{b{Al}}}{{Aj{fAn}}}}{{{b{jAb}}{b{Al}}}{{Aj{fAn}}}}{{{b{jAd}}{b{jAl}}}{{Aj{fAn}}}}{{{b{jl}}{b{jAl}}}{{Aj{fAn}}}}{{{b{jn}}{b{jAl}}}{{Aj{fAn}}}}{{{b{jA`}}{b{jAl}}}{{Aj{fAn}}}}{{{b{jAb}}{b{jAl}}}{{Aj{fAn}}}}?????","D":"C`","p":[[1,"reference"],[5,"Private",126],[1,"unit"],[5,"Command",127],[0,"mut"],[5,"DiscriminantArguments",0],[5,"EvaluateArguments",0],[5,"VerifyArguments",0],[5,"HashArguments",0],[6,"Command",0],[5,"String",128],[5,"Error",129],[6,"Result",130],[5,"ArgMatches",131],[8,"Error",132],[5,"Id",133],[6,"Option",134],[1,"str"],[1,"bool"],[5,"TypeId",135]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAGYACQAAAAEABAAAAAYAAAAIAAAACgAOABoAIABAAA4AWAAAAF0AIQA="}]]')); if (typeof exports !== 'undefined') exports.searchIndex = searchIndex; else if (window.initSearch) window.initSearch(searchIndex); -//{"start":39,"fragment_lengths":[2026,1609,66966,603,204,18242,5493,18387,2616,3136,2746]} \ No newline at end of file +//{"start":39,"fragment_lengths":[2026,1609,66966,603,204,18242,5603,18387,2616,3136,2746]} \ No newline at end of file diff --git a/docs/search.desc/fastcrypto_vdf/fastcrypto_vdf-desc-0-.js b/docs/search.desc/fastcrypto_vdf/fastcrypto_vdf-desc-0-.js index 7cd4cf75b..f92506367 100644 --- a/docs/search.desc/fastcrypto_vdf/fastcrypto_vdf-desc-0-.js +++ b/docs/search.desc/fastcrypto_vdf/fastcrypto_vdf-desc-0-.js @@ -1 +1 @@ -searchState.loadedDescShard("fastcrypto_vdf", 0, "This module contains implementation of imaginary class …\nThis module contains a implementation of a verifiable …\nA binary quadratic form, (a, b, c) for arbitrary integers …\nCompute the composition of this quadratic form with …\nDiscriminants of quadratic forms are negative primes which …\nCompute the discriminant of this quadratic form, eg. b^2 - …\nReturns the argument unchanged.\nCreate a new quadratic form given only the a and b …\nReturn a generator (or, more precisely, an element with a …\nGenerate a random quadratic form from a seed with the …\nCalls U::from(self).\nFixed 3072 bit discriminant. Generated from the seed …\nA discriminant for an imaginary class group. The …\nReturn the number of bits needed to represent this …\nReturns the argument unchanged.\nReturns the argument unchanged.\nCompute a valid discriminant (aka a negative prime equal …\nCalls U::from(self).\nCalls U::from(self).\nA valid discriminant should be a negative prime congruent …\nThis module contains an implementation of a hash-to-prime …\nCheck if the input is a probable prime.\nCompute the Jacobi symbol (a/m) for odd m. If m is prime, …\nThe type of the parameter which uniquely defines this …\nTrait implemented by elements of an additive group where …\nReturns true if this is an element of the group defined by …\nReturn an instance of the identity element in this group.\nThis represents an element of the subgroup of an RSA group …\nReturns the argument unchanged.\nGenerate a random element of the subgroup ZN* / <±1> …\nCalls U::from(self).\nCreate a new RSA group element with the given value and …\nReturn the canonical representation of this group element.\nCreate an RSA modulus from a BigUint. The modulus is not …\nReturns the argument unchanged.\nParse an RSA modulus from a decimal string. The modulus is …\nCalls U::from(self).\nThe type of the input to the VDF.\nThe type of the output from the VDF.\nThe type of the proof of correctness for this VDF.\nThis represents a Verifiable Delay Function (VDF) …\nEvaluate this VDF and return the output and a proof of …\nVerify the output and proof from a VDF.\nDefault size in bytes of the Fiat-Shamir challenge used in …\nThis implements Pietrzak’s VDF construction from …\nReturns the argument unchanged.\nCalls U::from(self).\nCreate a new VDF using the group defined by the given …\nDefault size in bytes of the Fiat-Shamir challenge used in …\nImplementation of Wesolowski’s VDF construction over an …\nAn implementation of Wesolowski’s VDF construction …\nReturns the argument unchanged.\nCalls U::from(self).\nCreate a new VDF using the group defined by the given …") \ No newline at end of file +searchState.loadedDescShard("fastcrypto_vdf", 0, "This module contains implementation of imaginary class …\nThis module contains a implementation of a verifiable …\nA binary quadratic form, (a, b, c) for arbitrary integers …\nCompute the composition of this quadratic form with …\nDiscriminants of quadratic forms are negative primes which …\nCompute the discriminant of this quadratic form, eg. b^2 - …\nReturns the argument unchanged.\nCreate a new quadratic form given only the a and b …\nReturn a generator (or, more precisely, an element with a …\nGenerate a random quadratic form from a seed with the …\nCalls U::from(self).\nFixed 3072 bit discriminant. Generated from the seed …\nA discriminant for an imaginary class group. The …\nReturn the number of bits needed to represent this …\nReturns the argument unchanged.\nReturns the argument unchanged.\nCompute a valid discriminant (aka a negative prime equal …\nCalls U::from(self).\nCalls U::from(self).\nA valid discriminant should be a negative prime congruent …\nThis module contains an implementation of a hash-to-prime …\nCheck if the input is a probable prime.\nCompute the Jacobi symbol (a/m) for odd m. If m is prime, …\nThe type of the parameter which uniquely defines this …\nTrait implemented by elements of an additive group where …\nReturns true if this is an element of the group defined by …\nCompute self * scalar.\nReturn an instance of the identity element in this group.\nThis represents an element of the subgroup of an RSA group …\nReturns the argument unchanged.\nGenerate a random element of the subgroup ZN* / <±1> …\nCalls U::from(self).\nCreate a new RSA group element with the given value and …\nReturn the canonical representation of this group element.\nCreate an RSA modulus from a BigUint. The modulus is not …\nReturns the argument unchanged.\nParse an RSA modulus from a decimal string. The modulus is …\nCalls U::from(self).\nThe type of the input to the VDF.\nThe type of the output from the VDF.\nThe type of the proof of correctness for this VDF.\nThis represents a Verifiable Delay Function (VDF) …\nEvaluate this VDF and return the output and a proof of …\nVerify the output and proof from a VDF.\nDefault size in bytes of the Fiat-Shamir challenge used in …\nThis implements Pietrzak’s VDF construction from …\nReturns the argument unchanged.\nCalls U::from(self).\nCreate a new VDF using the group defined by the given …\nDefault size in bytes of the Fiat-Shamir challenge used in …\nImplementation of Wesolowski’s VDF construction over an …\nAn implementation of Wesolowski’s VDF construction …\nReturns the argument unchanged.\nCalls U::from(self).\nCreate a new VDF using the group defined by the given …") \ No newline at end of file diff --git a/docs/src/fastcrypto_vdf/math/parameterized_group.rs.html b/docs/src/fastcrypto_vdf/math/parameterized_group.rs.html index 94585291a..ca5470268 100644 --- a/docs/src/fastcrypto_vdf/math/parameterized_group.rs.html +++ b/docs/src/fastcrypto_vdf/math/parameterized_group.rs.html @@ -64,12 +64,6 @@ 64 65 66 -67 -68 -69 -70 -71 -72
// Copyright (c) 2022, Mysten Labs, Inc.
 // SPDX-License-Identifier: Apache-2.0
 
@@ -91,31 +85,25 @@
 
     /// Returns true if this is an element of the group defined by `parameter`.
     fn is_in_group(&self, parameter: &Self::ParameterType) -> bool;
-}
 
-/// Compute self * scalar using a "Double-and-Add" algorithm for a positive scalar.
-pub(crate) fn multiply<G: ParameterizedGroupElement>(
-    input: &G,
-    scalar: &BigUint,
-    parameter: &G::ParameterType,
-) -> G {
-    (0..scalar.bits())
-        .rev()
-        .map(|i| scalar.bit(i))
-        .fold(G::zero(parameter), |acc, bit| {
-            let mut res = acc.double();
-            if bit {
-                res = res + input;
-            }
-            res
-        })
+    /// Compute self * scalar.
+    fn multiply(&self, scalar: &BigUint, parameter: &Self::ParameterType) -> Self {
+        // Generic double-and-add algorithm.
+        (0..scalar.bits())
+            .rev()
+            .map(|i| scalar.bit(i))
+            .fold(Self::zero(parameter), |acc, bit| match bit {
+                true => acc.double() + self,
+                false => acc.double(),
+            })
+    }
 }
 
 #[cfg(test)]
 mod tests {
     use crate::class_group::discriminant::Discriminant;
     use crate::class_group::QuadraticForm;
-    use crate::math::parameterized_group::{multiply, ParameterizedGroupElement};
+    use crate::math::parameterized_group::ParameterizedGroupElement;
     use num_bigint::BigUint;
     use num_traits::{One, Zero};
 
@@ -127,12 +115,12 @@
         // Edge cases
         assert_eq!(
             QuadraticForm::zero(&discriminant),
-            multiply(&input, &BigUint::zero(), &discriminant)
+            input.multiply(&BigUint::zero(), &discriminant)
         );
-        assert_eq!(input, multiply(&input, &BigUint::one(), &discriminant));
+        assert_eq!(input, input.multiply(&BigUint::one(), &discriminant));
 
         let exponent = 12345u64;
-        let output = multiply(&input, &BigUint::from(exponent), &discriminant);
+        let output = input.multiply(&BigUint::from(exponent), &discriminant);
 
         // Check alignment with repeated addition.
         let mut expected_output = input.clone();
diff --git a/docs/src/fastcrypto_vdf/rsa_group/mod.rs.html b/docs/src/fastcrypto_vdf/rsa_group/mod.rs.html
index 4491dd11c..e93362c96 100644
--- a/docs/src/fastcrypto_vdf/rsa_group/mod.rs.html
+++ b/docs/src/fastcrypto_vdf/rsa_group/mod.rs.html
@@ -154,6 +154,13 @@
 154
 155
 156
+157
+158
+159
+160
+161
+162
+163
 
// Copyright (c) 2022, Mysten Labs, Inc.
 // SPDX-License-Identifier: Apache-2.0
 
@@ -221,12 +228,19 @@
 impl<'a> ParameterizedGroupElement for RSAGroupElement<'a> {
     type ParameterType = &'a RSAModulus;
 
-    fn zero(parameter: &Self::ParameterType) -> Self {
-        Self::new(BigUint::one(), parameter)
+    fn zero(modulus: &Self::ParameterType) -> Self {
+        Self::new(BigUint::one(), modulus)
     }
 
-    fn is_in_group(&self, parameter: &Self::ParameterType) -> bool {
-        &self.modulus == parameter
+    fn is_in_group(&self, modulus: &Self::ParameterType) -> bool {
+        &self.modulus == modulus
+    }
+
+    fn multiply(&self, scalar: &BigUint, modulus: &Self::ParameterType) -> Self {
+        let value = self
+            .modulus
+            .ensure_in_subgroup(self.value.modpow(scalar, &modulus.value));
+        Self { value, modulus }
     }
 }
 
diff --git a/docs/src/fastcrypto_vdf/rsa_group/modulus.rs.html b/docs/src/fastcrypto_vdf/rsa_group/modulus.rs.html
index 67e58eb7c..5c090d140 100644
--- a/docs/src/fastcrypto_vdf/rsa_group/modulus.rs.html
+++ b/docs/src/fastcrypto_vdf/rsa_group/modulus.rs.html
@@ -68,6 +68,11 @@
 68
 69
 70
+71
+72
+73
+74
+75
 
// Copyright (c) 2022, Mysten Labs, Inc.
 // SPDX-License-Identifier: Apache-2.0
 
@@ -113,7 +118,12 @@
     /// modulus, the result is negated. This is to ensure that the result is in the subgroup
     /// <i>Z<sub>N</sub><sup>*</sup> / <±1></i>.
     pub(super) fn reduce(&self, value: BigUint) -> BigUint {
-        let value = value.mod_floor(&self.value);
+        self.ensure_in_subgroup(value.mod_floor(&self.value))
+    }
+
+    /// Assuming that `value < N`, this ensures that the given value is in the subgroup <i>Z<sub>N</sub><sup>*</sup> / <±1></i>.
+    /// Panics if `value` is greater than or equal to `N`.
+    pub(super) fn ensure_in_subgroup(&self, value: BigUint) -> BigUint {
         if value < self.half {
             value
         } else {
diff --git a/docs/src/fastcrypto_vdf/vdf/pietrzak.rs.html b/docs/src/fastcrypto_vdf/vdf/pietrzak.rs.html
index 041e49dcb..963ceb54b 100644
--- a/docs/src/fastcrypto_vdf/vdf/pietrzak.rs.html
+++ b/docs/src/fastcrypto_vdf/vdf/pietrzak.rs.html
@@ -211,10 +211,33 @@
 211
 212
 213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
 
// Copyright (c) 2022, Mysten Labs, Inc.
 // SPDX-License-Identifier: Apache-2.0
 
-use crate::math::parameterized_group::{multiply, ParameterizedGroupElement};
+use crate::math::parameterized_group::ParameterizedGroupElement;
 use crate::vdf::VDF;
 use fastcrypto::error::FastCryptoError::{InvalidInput, InvalidProof};
 use fastcrypto::error::FastCryptoResult;
@@ -252,6 +275,14 @@
             iterations,
         }
     }
+
+    /// Compute the Fiat-Shamir challenge used in Pietrzak's VDF construction.
+    fn compute_challenge(&self, input: &G, output: &G, mu: &G) -> BigUint {
+        let seed = bcs::to_bytes(&(input, output, mu, self.iterations, &self.group_parameter))
+            .expect("Failed to serialize Fiat-Shamir input.");
+        let hash = Keccak256::digest(seed);
+        BigUint::from_bytes_be(&hash.digest[..DEFAULT_CHALLENGE_SIZE_IN_BYTES])
+    }
 }
 
 impl<G: ParameterizedGroupElement + Serialize> VDF for PietrzaksVDF<G>
@@ -288,9 +319,9 @@
             // TODO: Precompute some of the mu's to speed up the proof generation.
             let mu = x.clone().repeated_doubling(t);
 
-            let r = compute_challenge(self, &x, &y, &mu);
-            x = multiply(&x, &r, &self.group_parameter) + &mu;
-            y = multiply(&mu, &r, &self.group_parameter) + &y;
+            let r = self.compute_challenge(&x, &y, &mu);
+            x = x.multiply(&r, &self.group_parameter) + &mu;
+            y = mu.multiply(&r, &self.group_parameter) + &y;
 
             proof.push(mu);
         }
@@ -316,9 +347,9 @@
                 y = y.double();
             }
 
-            let r = compute_challenge(self, &x, &y, mu);
-            x = multiply(&x, &r, &self.group_parameter) + mu;
-            y = multiply(mu, &r, &self.group_parameter) + &y;
+            let r = self.compute_challenge(&x, &y, mu);
+            x = x.multiply(&r, &self.group_parameter) + mu;
+            y = mu.multiply(&r, &self.group_parameter) + &y;
         }
 
         // In case the proof is shorter than the full proof, we need to compute the remaining powers.
@@ -330,22 +361,6 @@
     }
 }
 
-/// Compute the Fiat-Shamir challenge used in Pietrzak's VDF construction.
-fn compute_challenge<G: ParameterizedGroupElement + Serialize>(
-    vdf: &PietrzaksVDF<G>,
-    input: &G,
-    output: &G,
-    mu: &G,
-) -> BigUint
-where
-    G::ParameterType: Serialize,
-{
-    let seed = bcs::to_bytes(&(input, output, mu, vdf.iterations, &vdf.group_parameter))
-        .expect("Failed to serialize Fiat-Shamir input.");
-    let hash = Keccak256::digest(seed);
-    BigUint::from_bytes_be(&hash.digest[..DEFAULT_CHALLENGE_SIZE_IN_BYTES])
-}
-
 /// Replace t with (t+1) >> 1 and return true iff the input was odd.
 #[inline]
 fn check_parity_and_iterate(t: &mut u64) -> bool {
@@ -423,5 +438,36 @@
         let other_input = input.clone() + &input;
         assert!(vdf.verify(&other_input, &output, &proof).is_err())
     }
+
+    #[test]
+    fn test_verification() {
+        let iterations = 100000u64;
+        let input = RSAGroupElement::new(7u32.into(), &AMAZON_MODULUS_2048_REF);
+
+        let vdf = PietrzaksVDF::<RSAGroupElement>::new(&AMAZON_MODULUS_2048_REF, iterations);
+
+        let output = RSAGroupElement::new(BigUint::from_str("3672355472927810456151679905868758794616388736583581652860721896616180315835575064423750778001349052163223791724800901623993790866712822248888484109754966734883928871058715188132045817948670396453684148159917970871906760229102881786328076485709065174288114937597861379962478300572943579355762549162779462210911294105646062939394772010450396339819711345421231813212879300843731930189807951083800491228370195479515271316034750609611188992819886615677507435486955879522713591072027715880883277172276263534234336298488388979051136904224916555055212735687426081668066225539132052845808964107807201586990131791093492371778").unwrap(), &AMAZON_MODULUS_2048_REF);
+
+        let proof = [
+            "8719512874474216460687150647680854955292132854750703068763484269093165999505251186898178062066004619862656663698343691868497980570426526019975578885850544581914946790597872355640934341428693413899572424721269873153938666911042969304059487718891954826837874698630809943131078862483827048179876513916989352726065292297373409109550091793480245914861995645289031849847427508439025383190674698027602276320860090412338328667933755723078371787557008469872399255533817861369300159517919410447709106340745759633527098227506660977309887993315579818822200330785614717258672305343338813672124794370455365197734851856001184976030",
+            "3524225440490227716581914005817764728689326138271987326546913156143949550779591139824077984832090908071998951770389914336769029333480915517009260387548811330930648406468414527213930607990485031826572327430297154420012068864491234371049362834108095572222288210563942740991735388228265830602511240768621994740770804049029617345757918078538264560135467586163671018157956690861770799025782115742787596459481739552535516586086172662006852110953782305125365361525831420213691071299126328246388152487905764478231871643596200406647908089848722382856021765764700103197413553278821980238755080812642569566460155874926864973989",
+            "3386256193912258600563321427374151160437651417107230398140990906215918611413870201888792916418033967177817103485384285178003637404550898822951512439384277984377627754055120144092077652950815810643804322665300251229793337536560764764926079235179412052806380151642397223785653772910005773851385366606281262555049596002588808028004178177665489626495310464581979168814142288652114023204247090962814602454684901841935354676441552550033218538383127851117213323460171046993929640395141844677358751651632616897741890084456824284415415554894221269513288351780048483154293635621337002324127284236944745716110705339322771478131",
+            "7408862030172429723032582356161847253198188005112855906630189356951227804097029509883935224836192563731148726408119632983128842196882987765881545177086653651757096748219643205448581241037817385331996915432821304066168098773880393211961153863820790217510052941214079784321117971743731404301810060365970610316645229069960509651124240339464525485721413226027035555493674864907371842778371294951677138477875018003840619969373647380251579931187688167577599725809029577381715849590344663076500835477018110706747067929066540698745588647653032284281207590297280558283161226254697184936417182114406611858688290199092351638794",
+            "9528369401155898421336374761623167878924922005826918572675787143246237849874471257635361123764028975937343311664804485861820128360684057779979271237362810683850151327885936654765160960323604793157027745850425197516858623567687919335408856735970509721863383148065881142539924459849066413081803234738981126021705399792445956657733940194160711501942192074012722676182134009812129315502787932498635715069416080651060699212375799959775531304461678248368699251392095272154244316553547920213132393799101764442827812390852292543047588306534171173257087058146331742057376971999785759427057334778797976189560957105013350467045",
+            "10294651820160651728456829898879555551196961487064613372692384294265418044982827373843041565455655933992371447144565864904575509809947198474416922744319637148661233405028052214366165153902932698351161834805653679280884257744536629934561559541496076130305993849014886971786115597309448966484871145453391677209950550556478590364500734905015127553627540473598051645020805146472132102067032709164655196448902087849028550166457630712049225557448992309930729811971031335828818305551184854572895352878770266426086789864481188000057417074198845278355152274308525042623428164257444044541498663412953148100768983136146188235997",
+            "4749045743059502299076848945196073558631005868948441651589845799068150488425734086270947139878995514214119726260212551705844889280663704807069073071616386852792450852711805042766312070760756053408646662762397826414400752299162726413950336169847086249885638830927861421398231965683427732018263765712940081366775804116587569845878336332182016655558080273929449303602571070901792076802687535487545915059452072480809069254144639332974988342423715575563084819806637919328178725980692796438546565820486572953340526856360623620668058599315200343597721637054937740264892162125653205249722406415399818735024248737314552063747",
+            "5272521386133313093121504847176339485318640410159988398538154570040609938127193342269575965623490130675739152927549782661334170941321238880903335951305493326431599940919086128527082527057864468821840814550477028653687293814925163394101119890565259089917449040659282833402394902253943586909550853333057424633788010291693428637999909856531013688038817805974292565379653351375127609695388247301423539646327950220115990830645404216008980887159586046198784837543462911777611082256896302074042733126733093536925128289699426032159423325697676408264099787619827716147575504711932293307925317181532838376975174334760490178044",
+            "4865631439244694792682051927120887855014714782764996443468316201280149186411764462638919743896836216210355086464033599674608823616620181993224084354774021985050767398675323086421509833372146310317782744044433481505781466337868841734616907727794600499486966898550073615373789361818554381065300597950458611369588509114065985025852518182253888929859936361242940138578344904177539257408094849163580060796966127477986366148739231408126796157723280304456556233704922267395211269025280937735721607598808102862937894271692476411316343801775630519501390182293503303960113390510808164020764496445889549138522442194944316766219",
+            "1716098664111733751302684239386687925838384836544658006905034083331006633019856429890234964042806996064770725585636147008586818637936193658888381443567507219576974926569248997425135873112782252084087049174247625853371226689113885574956468036468201035128573779522685641470930864834546438686526548212910642194495508777532033343509629089340426924730626446347003141889733967730229296355986139573616824252745173021579889146711264881818395175840508044230472692250294317790079274412733463156608459907600873015033659104883567469349509785038318299646299550636867596927464451110109337227918075217459535287195599185046432272198",
+            "10721991997697793738717595864735689654814408802179139713299139161130174918125420293856907422920539738936394204606043102026032040519309913895955997218242869889330722353056722164513913325053855254230359609203831468726499782865513152890774696492202216752929686242664105376380907060826609793521588890690791106895587503800467949772773581224066322672834898563688334924748703360423621150393100717027630221055080843102194314393166621862146840652586817200363151726362689280490364249590829799246039599450021900326960690007908969307676046114319938297872389335199854504572884094360772400490069773329668111595259339308363041063871",
+            "24993235836866849416196592570323660996972817499564456104037943507194360405061754866850348770077420997103335102890585709469767629001870643341451985396909081660774052156782419424390497656420915820543525425352103071684707145165891840374067169328373245883329511678687043434601293171271199312025423435502927076645446502230342559583292008660994947133886690268696014405994231692380704451596507223379197197420921324939035607218784585824666269355224282438899491842717180848598449014025167402088262687787425520237057062755968280168112911893559397514451243586114205429244216713755580836976353622394774491637290756440823473904",
+            "8002840044191636897394105768503100351367843810943426955203265943939407779211249672257698205017741561535958104095665612435684465282015904737730202451805337613184916942787797112106584192538882516595181912717026458237097485563704041509438199717078206419533982984474171725446518666727110378813664918107052405840880667070832701817128246672829292017261411874510037160227026367399797925223118665562035040322045995481973053566119964317652423365276712206105413327459764222767039305354559649984488929528403367306919207004930556248185192286629700484211799294085032088235292426962942458433119325773711776898892739174573133259798",
+            "9808298167953463044183224853747590991821290083082693475897746710109152766350649057730805604162385834890955802232144653208502844156265486182999277061377895494700822405534823371717810993077165144659899399251399946686003871122626066126316460159851320953097822716750103981636398570978788394229208496720512000415568014823831712088816947453635369935021640264506413372998966855334669695718142871353958255047552753123177745051748277174077245602488815883354127415057464229321675973890199622571893243720584859039940876060951672389949282570769956932017208645843036419518163184395801601473092002267026597399366492737904207164145",
+            "3419924672544574100524058325383025198496207713265005632195290353279586550544804988055757778145112066368161851153318915869887514873926726636081263451040999914232751332583833616365834650019287835558155301861869825336660948178770848366160254240651864317486675126510537151881923158433631746791994990810114742904187471698817430077934405459479950737131082312281050974043218768012562886561272629075590257984018309718254526858184923594606358659772686305061082946653881595244349982087597745499473392706220050012667178661314295322165215791098424265370584312926915581831293094295870670813932186950843650836176864709988630778898",
+            "3876660104277748734969970799207654963546831221524157837790450138448447235917188249028042741771865887141807354675325586321042930971396579383599429668029844089074571818157381649964860225310811444870630848131459324585689921588479979399255647304741995870412178808125039448834571923055165839896461006202917186695764779234307600813983399230786701019298692652551177614160338386117023117927173943068934500519930664358506164490744248358331236180729050425334573543140408803841919596166155205764351816894658586553341628917380296648889364729838239067182538618852656851850409265336348330079350182770839095482851902292535994651519"
+        ].into_iter().map(|s| RSAGroupElement::new(BigUint::from_str(s).unwrap(), &AMAZON_MODULUS_2048_REF)).collect::<Vec<_>>();
+
+        assert!(vdf.verify(&input, &output, &proof).is_ok());
+    }
 }
 
\ No newline at end of file diff --git a/docs/src/fastcrypto_vdf/vdf/wesolowski.rs.html b/docs/src/fastcrypto_vdf/vdf/wesolowski.rs.html index 84980836f..113ad3e7e 100644 --- a/docs/src/fastcrypto_vdf/vdf/wesolowski.rs.html +++ b/docs/src/fastcrypto_vdf/vdf/wesolowski.rs.html @@ -342,7 +342,7 @@ // Algorithm from page 3 on https://crypto.stanford.edu/~dabo/pubs/papers/VDFsurvey.pdf let challenge = (self.challenge)(self, input, &output); let mut quotient_remainder = (BigUint::from(0u8), BigUint::from(2u8)); - let mut proof = multiplier.mul(&quotient_remainder.0); + let mut proof = G::zero(&self.group_parameter); for _ in 1..self.iterations { quotient_remainder.1.shl_assign(1); quotient_remainder = quotient_remainder.1.div_mod_floor(&challenge);