diff --git a/hotshot_query_service/availability/trait.UpdateAvailabilityData.html b/hotshot_query_service/availability/trait.UpdateAvailabilityData.html index 2b977f4a8..0f0a40da4 100644 --- a/hotshot_query_service/availability/trait.UpdateAvailabilityData.html +++ b/hotshot_query_service/availability/trait.UpdateAvailabilityData.html @@ -27,7 +27,7 @@ 'life0: 'async_trait,

Implementors§

source§

impl<D, U, Types> UpdateAvailabilityData<Types> for ExtensibleDataSource<D, U>where D: UpdateAvailabilityData<Types> + Send + Sync, U: Send + Sync, - Types: NodeType,

§

type Error = <D as UpdateAvailabilityData<Types>>::Error

source§

impl<Types> UpdateAvailabilityData<Types> for SqlStoragewhere + Types: NodeType,

§

type Error = <D as UpdateAvailabilityData<Types>>::Error

source§

impl<Types> UpdateAvailabilityData<Types> for SqlStoragewhere Types: NodeType, Payload<Types>: QueryablePayload,

source§

impl<Types, S, P> UpdateAvailabilityData<Types> for FetchingDataSource<Types, S, P>where Types: NodeType, diff --git a/hotshot_query_service/data_source/sql/macro.include_migrations.html b/hotshot_query_service/data_source/sql/macro.include_migrations.html index 3145d0bb2..ab14a0121 100644 --- a/hotshot_query_service/data_source/sql/macro.include_migrations.html +++ b/hotshot_query_service/data_source/sql/macro.include_migrations.html @@ -1,4 +1,4 @@ -include_migrations in hotshot_query_service::data_source::sql - Rust
macro_rules! include_migrations {
+include_migrations in hotshot_query_service::data_source::sql - Rust
macro_rules! include_migrations {
     ($dir:tt) => { ... };
 }
Expand description

Embed migrations from the given directory into the current binary.

The macro invocation include_migrations!(path) evaluates to an expression of type impl Iterator<Item = Migration>. Each migration must be a text file which is an immediate child of diff --git a/hotshot_query_service/data_source/sql/type.SqlDataSource.html b/hotshot_query_service/data_source/sql/type.SqlDataSource.html index d05839a58..830ef331b 100644 --- a/hotshot_query_service/data_source/sql/type.SqlDataSource.html +++ b/hotshot_query_service/data_source/sql/type.SqlDataSource.html @@ -191,7 +191,7 @@

Composition

&'life0 self ) -> Pin<Box<dyn Future<Output = Cow<'_, Arc<Client>>> + Send + 'async_trait>>where Self: 'async_trait, - 'life0: 'async_trait,

source§

fn query<'life0, 'life1, 'async_trait, T, P>( + 'life0: 'async_trait,

source§

fn query<'life0, 'life1, 'async_trait, T, P>( &'life0 self, query: &'life1 T, params: P @@ -202,14 +202,14 @@

Composition

P::Item: BorrowToSql, Self: Sync + 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,
source§

fn query_static<'life0, 'life1, 'async_trait, T>( + 'life1: 'async_trait,

source§

fn query_static<'life0, 'life1, 'async_trait, T>( &'life0 self, query: &'life1 T ) -> Pin<Box<dyn Future<Output = QueryResult<BoxStream<'static, QueryResult<Row>>>> + Send + 'async_trait>>where T: ?Sized + ToStatement + Sync + 'async_trait, Self: Sync + 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,

Query the underlying SQL database with no parameters.
source§

fn query_one<'life0, 'life1, 'async_trait, T, P>( + 'life1: 'async_trait,

Query the underlying SQL database with no parameters.
source§

fn query_one<'life0, 'life1, 'async_trait, T, P>( &'life0 self, query: &'life1 T, params: P @@ -220,7 +220,7 @@

Composition

P::Item: BorrowToSql, Self: Sync + 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,
Query the underlying SQL database, returning exactly one result or failing.
source§

fn query_one_static<'life0, 'life1, 'async_trait, T>( + 'life1: 'async_trait,

Query the underlying SQL database, returning exactly one result or failing.
source§

fn query_one_static<'life0, 'life1, 'async_trait, T>( &'life0 self, query: &'life1 T ) -> Pin<Box<dyn Future<Output = QueryResult<Row>> + Send + 'async_trait>>where @@ -228,7 +228,7 @@

Composition

Self: Sync + 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Query the underlying SQL database with no parameters, returning exactly one result or -failing.
source§

fn query_opt<'life0, 'life1, 'async_trait, T, P>( +failing.

source§

fn query_opt<'life0, 'life1, 'async_trait, T, P>( &'life0 self, query: &'life1 T, params: P @@ -239,7 +239,7 @@

Composition

P::Item: BorrowToSql, Self: Sync + 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,
Query the underlying SQL database, returning zero or one results.
source§

fn query_opt_static<'life0, 'life1, 'async_trait, T>( + 'life1: 'async_trait,

Query the underlying SQL database, returning zero or one results.
source§

fn query_opt_static<'life0, 'life1, 'async_trait, T>( &'life0 self, query: &'life1 T ) -> Pin<Box<dyn Future<Output = QueryResult<Option<Row>>> + Send + 'async_trait>>where diff --git a/hotshot_query_service/data_source/storage/sql/fn.default_migrations.html b/hotshot_query_service/data_source/storage/sql/fn.default_migrations.html index ff036658d..f5b8ff278 100644 --- a/hotshot_query_service/data_source/storage/sql/fn.default_migrations.html +++ b/hotshot_query_service/data_source/storage/sql/fn.default_migrations.html @@ -1,2 +1,2 @@ -default_migrations in hotshot_query_service::data_source::storage::sql - Rust
pub fn default_migrations() -> Vec<Migration>
Expand description

The migrations requied to build the default schema for this version of SqlStorage.

+default_migrations in hotshot_query_service::data_source::storage::sql - Rust
pub fn default_migrations() -> Vec<Migration>
Expand description

The migrations requied to build the default schema for this version of SqlStorage.

\ No newline at end of file diff --git a/hotshot_query_service/data_source/storage/sql/index.html b/hotshot_query_service/data_source/storage/sql/index.html index 41bb91bc2..73b0f3dda 100644 --- a/hotshot_query_service/data_source/storage/sql/index.html +++ b/hotshot_query_service/data_source/storage/sql/index.html @@ -1,3 +1,3 @@ -hotshot_query_service::data_source::storage::sql - Rust

Re-exports

  • pub use tokio_postgres as postgres;

Macros

Structs

source§

impl<Types> UpdateAvailabilityData<Types> for SqlStoragewhere Types: NodeType, - Payload<Types>: QueryablePayload,

§

type Error = QueryError

source§

fn insert_leaf<'life0, 'async_trait>( + Payload<Types>: QueryablePayload,

§

type Error = QueryError

source§

fn insert_leaf<'life0, 'async_trait>( &'life0 mut self, leaf: LeafQueryData<Types> ) -> Pin<Box<dyn Future<Output = Result<(), Self::Error>> + Send + 'async_trait>>where Self: 'async_trait, - 'life0: 'async_trait,

source§

fn insert_block<'life0, 'async_trait>( + 'life0: 'async_trait,

source§

fn insert_block<'life0, 'async_trait>( &'life0 mut self, block: BlockQueryData<Types> ) -> Pin<Box<dyn Future<Output = Result<(), Self::Error>> + Send + 'async_trait>>where Self: 'async_trait, - 'life0: 'async_trait,

source§

impl<Types> UpdateNodeData<Types> for SqlStoragewhere - Types: NodeType,

§

type Error = QueryError

source§

fn insert_leaf<'life0, 'async_trait>( + 'life0: 'async_trait,

source§

impl<Types> UpdateNodeData<Types> for SqlStoragewhere + Types: NodeType,

§

type Error = QueryError

source§

fn insert_leaf<'life0, 'async_trait>( &'life0 mut self, _leaf: LeafQueryData<Types> ) -> Pin<Box<dyn Future<Output = Result<(), Self::Error>> + Send + 'async_trait>>where Self: 'async_trait, - 'life0: 'async_trait,

source§

impl VersionedDataSource for SqlStorage

§

type Error = Error

source§

fn commit<'life0, 'async_trait>( + 'life0: 'async_trait,

source§

impl VersionedDataSource for SqlStorage

§

type Error = Error

source§

fn commit<'life0, 'async_trait>( &'life0 mut self ) -> Pin<Box<dyn Future<Output = Result<(), Self::Error>> + Send + 'async_trait>>where Self: 'async_trait, - 'life0: 'async_trait,

Atomically commit to all outstanding modifications to the data. Read more
source§

fn revert<'life0, 'async_trait>( + 'life0: 'async_trait,

Atomically commit to all outstanding modifications to the data. Read more
source§

fn revert<'life0, 'async_trait>( &'life0 mut self ) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where Self: 'async_trait, diff --git a/hotshot_query_service/data_source/storage/sql/struct.Transaction.html b/hotshot_query_service/data_source/storage/sql/struct.Transaction.html index a8195a16e..d1df04908 100644 --- a/hotshot_query_service/data_source/storage/sql/struct.Transaction.html +++ b/hotshot_query_service/data_source/storage/sql/struct.Transaction.html @@ -1,9 +1,9 @@ -Transaction in hotshot_query_service::data_source::storage::sql - Rust
pub struct Transaction<'a> { /* private fields */ }
Expand description

An atomic SQL transaction.

-

Implementations§

source§

impl<'a> Transaction<'a>

source

pub async fn execute<T, P>( +Transaction in hotshot_query_service::data_source::storage::sql - Rust
pub struct Transaction<'a> { /* private fields */ }
Expand description

An atomic SQL transaction.

+

Implementations§

source§

impl<'a> Transaction<'a>

source

pub async fn execute<T, P>( &mut self, statement: &T, params: P -) -> QueryResult<()>where +) -> QueryResult<u64>where T: ?Sized + ToStatement, P: IntoIterator, P::IntoIter: ExactSizeIterator, @@ -11,19 +11,54 @@

The results of the statement will be reflected immediately in future statements made within this transaction, but will not be reflected in the underlying database until the transaction is committed with commit.

-

source

pub async fn execute_many<S, T, P>(&mut self, statements: S) -> QueryResult<()>where - S: IntoIterator<Item = (T, P)>, - T: ToStatement, +

source

pub async fn execute_one<T, P>( + &mut self, + statement: &T, + params: P +) -> QueryResult<()>where + T: ?Sized + ToStatement, P: IntoIterator, P::IntoIter: ExactSizeIterator, - P::Item: BorrowToSql,

Trait Implementations§

source§

impl<'a> Query for Transaction<'a>

Query the underlying SQL database.

+ P::Item: BorrowToSql,

Execute a statement that is expected to modify exactly one row.

+

Returns an error if the database is not modified.

+
source

pub async fn execute_one_with_retries<T, P>( + &mut self, + statement: &T, + params: P +) -> QueryResult<()>where + T: ?Sized + ToStatement, + P: IntoIterator + Clone, + P::IntoIter: ExactSizeIterator, + P::Item: BorrowToSql,

Execute a statement that is expected to modify exactly one row.

+

Returns an error if the database is not modified. Retries several times before failing.

+
source

pub async fn execute_many<T, P>( + &mut self, + statement: &T, + params: P +) -> QueryResult<u64>where + T: ?Sized + ToStatement, + P: IntoIterator, + P::IntoIter: ExactSizeIterator, + P::Item: BorrowToSql,

Execute a statement that is expected to modify at least one row.

+

Returns an error if the database is not modified.

+
source

pub async fn execute_many_with_retries<T, P>( + &mut self, + statement: &T, + params: P +) -> QueryResult<u64>where + T: ?Sized + ToStatement, + P: IntoIterator + Clone, + P::IntoIter: ExactSizeIterator, + P::Item: BorrowToSql,

Execute a statement that is expected to modify at least one row.

+

Returns an error if the database is not modified. Retries several times before failing.

+

Trait Implementations§

source§

impl<'a> Query for Transaction<'a>

Query the underlying SQL database.

The results will reflect the state after the statements thus far added to this transaction have been applied, even though those effects have not been committed to the database yet.

-
source§

fn client<'life0, 'async_trait>( +

source§

fn client<'life0, 'async_trait>( &'life0 self ) -> Pin<Box<dyn Future<Output = Cow<'_, Arc<Client>>> + Send + 'async_trait>>where Self: 'async_trait, - 'life0: 'async_trait,

source§

fn query<'life0, 'life1, 'async_trait, T, P>( + 'life0: 'async_trait,

source§

fn query<'life0, 'life1, 'async_trait, T, P>( &'life0 self, query: &'life1 T, params: P @@ -34,14 +69,14 @@ P::Item: BorrowToSql, Self: Sync + 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,

source§

fn query_static<'life0, 'life1, 'async_trait, T>( + 'life1: 'async_trait,

source§

fn query_static<'life0, 'life1, 'async_trait, T>( &'life0 self, query: &'life1 T ) -> Pin<Box<dyn Future<Output = QueryResult<BoxStream<'static, QueryResult<Row>>>> + Send + 'async_trait>>where T: ?Sized + ToStatement + Sync + 'async_trait, Self: Sync + 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,

Query the underlying SQL database with no parameters.
source§

fn query_one<'life0, 'life1, 'async_trait, T, P>( + 'life1: 'async_trait,

Query the underlying SQL database with no parameters.
source§

fn query_one<'life0, 'life1, 'async_trait, T, P>( &'life0 self, query: &'life1 T, params: P @@ -52,7 +87,7 @@ P::Item: BorrowToSql, Self: Sync + 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,

Query the underlying SQL database, returning exactly one result or failing.
source§

fn query_one_static<'life0, 'life1, 'async_trait, T>( + 'life1: 'async_trait,

Query the underlying SQL database, returning exactly one result or failing.
source§

fn query_one_static<'life0, 'life1, 'async_trait, T>( &'life0 self, query: &'life1 T ) -> Pin<Box<dyn Future<Output = QueryResult<Row>> + Send + 'async_trait>>where @@ -60,7 +95,7 @@ Self: Sync + 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Query the underlying SQL database with no parameters, returning exactly one result or -failing.
source§

fn query_opt<'life0, 'life1, 'async_trait, T, P>( +failing.

source§

fn query_opt<'life0, 'life1, 'async_trait, T, P>( &'life0 self, query: &'life1 T, params: P @@ -71,7 +106,7 @@ P::Item: BorrowToSql, Self: Sync + 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,

Query the underlying SQL database, returning zero or one results.
source§

fn query_opt_static<'life0, 'life1, 'async_trait, T>( + 'life1: 'async_trait,

Query the underlying SQL database, returning zero or one results.
source§

fn query_opt_static<'life0, 'life1, 'async_trait, T>( &'life0 self, query: &'life1 T ) -> Pin<Box<dyn Future<Output = QueryResult<Option<Row>>> + Send + 'async_trait>>where diff --git a/hotshot_query_service/data_source/storage/sql/trait.Query.html b/hotshot_query_service/data_source/storage/sql/trait.Query.html index cf00e9978..6af224c03 100644 --- a/hotshot_query_service/data_source/storage/sql/trait.Query.html +++ b/hotshot_query_service/data_source/storage/sql/trait.Query.html @@ -1,4 +1,4 @@ -Query in hotshot_query_service::data_source::storage::sql - Rust
pub trait Query {
+Query in hotshot_query_service::data_source::storage::sql - Rust
pub trait Query {
     // Required method
     fn client<'life0, 'async_trait>(
         &'life0 self
@@ -67,11 +67,11 @@
              Self: Sync + 'async_trait,
              'life0: 'async_trait,
              'life1: 'async_trait { ... }
-}

Required Methods§

source

fn client<'life0, 'async_trait>( +}

Required Methods§

source

fn client<'life0, 'async_trait>( &'life0 self ) -> Pin<Box<dyn Future<Output = Cow<'_, Arc<Client>>> + Send + 'async_trait>>where Self: 'async_trait, - 'life0: 'async_trait,

Provided Methods§

source

fn query<'life0, 'life1, 'async_trait, T, P>( + 'life0: 'async_trait,

Provided Methods§

source

fn query<'life0, 'life1, 'async_trait, T, P>( &'life0 self, query: &'life1 T, params: P @@ -82,7 +82,7 @@ P::Item: BorrowToSql, Self: Sync + 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,

source

fn query_static<'life0, 'life1, 'async_trait, T>( + 'life1: 'async_trait,

source

fn query_static<'life0, 'life1, 'async_trait, T>( &'life0 self, query: &'life1 T ) -> Pin<Box<dyn Future<Output = QueryResult<BoxStream<'static, QueryResult<Row>>>> + Send + 'async_trait>>where @@ -90,7 +90,7 @@ Self: Sync + 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Query the underlying SQL database with no parameters.

-
source

fn query_one<'life0, 'life1, 'async_trait, T, P>( +

source

fn query_one<'life0, 'life1, 'async_trait, T, P>( &'life0 self, query: &'life1 T, params: P @@ -102,7 +102,7 @@ Self: Sync + 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Query the underlying SQL database, returning exactly one result or failing.

-
source

fn query_one_static<'life0, 'life1, 'async_trait, T>( +

source

fn query_one_static<'life0, 'life1, 'async_trait, T>( &'life0 self, query: &'life1 T ) -> Pin<Box<dyn Future<Output = QueryResult<Row>> + Send + 'async_trait>>where @@ -111,7 +111,7 @@ 'life0: 'async_trait, 'life1: 'async_trait,

Query the underlying SQL database with no parameters, returning exactly one result or failing.

-
source

fn query_opt<'life0, 'life1, 'async_trait, T, P>( +

source

fn query_opt<'life0, 'life1, 'async_trait, T, P>( &'life0 self, query: &'life1 T, params: P @@ -123,7 +123,7 @@ Self: Sync + 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Query the underlying SQL database, returning zero or one results.

-
source

fn query_opt_static<'life0, 'life1, 'async_trait, T>( +

source

fn query_opt_static<'life0, 'life1, 'async_trait, T>( &'life0 self, query: &'life1 T ) -> Pin<Box<dyn Future<Output = QueryResult<Option<Row>>> + Send + 'async_trait>>where @@ -131,7 +131,7 @@ Self: Sync + 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Query the underlying SQL database with no parameters, returning zero or one results.

-

Object Safety§

This trait is not object safe.

Implementors§

source§

impl Query for SqlStorage

source§

impl<'a> Query for Transaction<'a>

Query the underlying SQL database.

+

Object Safety§

This trait is not object safe.

Implementors§

source§

impl Query for SqlStorage

source§

impl<'a> Query for Transaction<'a>

Query the underlying SQL database.

The results will reflect the state after the statements thus far added to this transaction have been applied, even though those effects have not been committed to the database yet.

source§

impl<Types> Query for SqlDataSource<Types>where diff --git a/hotshot_query_service/data_source/storage/trait.AvailabilityStorage.html b/hotshot_query_service/data_source/storage/trait.AvailabilityStorage.html index 670f67b8a..7e448bc6e 100644 --- a/hotshot_query_service/data_source/storage/trait.AvailabilityStorage.html +++ b/hotshot_query_service/data_source/storage/trait.AvailabilityStorage.html @@ -73,7 +73,7 @@ hash: TransactionHash<Types> ) -> Pin<Box<dyn Future<Output = QueryResult<(BlockQueryData<Types>, TransactionIndex<Types>)>> + Send + 'async_trait>>where Self: 'async_trait, - 'life0: 'async_trait,

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<Types> AvailabilityStorage<Types> for SqlStoragewhere + 'life0: 'async_trait,

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<Types> AvailabilityStorage<Types> for SqlStoragewhere Types: NodeType, Payload<Types>: QueryablePayload,

source§

impl<Types: NodeType> AvailabilityStorage<Types> for FileSystemStorage<Types>where Payload<Types>: QueryablePayload,

\ No newline at end of file diff --git a/hotshot_query_service/data_source/trait.VersionedDataSource.html b/hotshot_query_service/data_source/trait.VersionedDataSource.html index 52febf3d7..162ebef6c 100644 --- a/hotshot_query_service/data_source/trait.VersionedDataSource.html +++ b/hotshot_query_service/data_source/trait.VersionedDataSource.html @@ -37,7 +37,7 @@ 'life0: 'async_trait,

Erase all oustanding modifications to the data.

This function must not return if it has failed to revert changes. Inability to revert changes to the database is considered a fatal error, and this function may panic.

-

Implementors§

source§

impl VersionedDataSource for SqlStorage

§

type Error = Error

source§

impl<D, U> VersionedDataSource for ExtensibleDataSource<D, U>where +

Implementors§

source§

impl VersionedDataSource for SqlStorage

§

type Error = Error

source§

impl<D, U> VersionedDataSource for ExtensibleDataSource<D, U>where D: VersionedDataSource + Send, U: Send,

source§

impl<Types, S, P> VersionedDataSource for FetchingDataSource<Types, S, P>where Types: NodeType, diff --git a/hotshot_query_service/macro.include_migrations.html b/hotshot_query_service/macro.include_migrations.html index 602012f31..625aeef16 100644 --- a/hotshot_query_service/macro.include_migrations.html +++ b/hotshot_query_service/macro.include_migrations.html @@ -1,4 +1,4 @@ -include_migrations in hotshot_query_service - Rust
macro_rules! include_migrations {
+include_migrations in hotshot_query_service - Rust
macro_rules! include_migrations {
     ($dir:tt) => { ... };
 }
Expand description

Embed migrations from the given directory into the current binary.

The macro invocation include_migrations!(path) evaluates to an expression of type impl Iterator<Item = Migration>. Each migration must be a text file which is an immediate child of diff --git a/hotshot_query_service/node/trait.NodeDataSource.html b/hotshot_query_service/node/trait.NodeDataSource.html index 83c5e4978..4ebe9150e 100644 --- a/hotshot_query_service/node/trait.NodeDataSource.html +++ b/hotshot_query_service/node/trait.NodeDataSource.html @@ -40,7 +40,7 @@ 'life1: 'async_trait,

Implementors§

source§

impl<D, U, Types> NodeDataSource<Types> for ExtensibleDataSource<D, U>where D: NodeDataSource<Types> + Send + Sync, U: Send + Sync, - Types: NodeType,

source§

impl<Types> NodeDataSource<Types> for SqlStoragewhere + Types: NodeType,

source§

impl<Types> NodeDataSource<Types> for SqlStoragewhere Types: NodeType,

source§

impl<Types, S, P> NodeDataSource<Types> for FetchingDataSource<Types, S, P>where Types: NodeType, S: NodeDataSource<Types> + Send + Sync, diff --git a/hotshot_query_service/node/trait.UpdateNodeData.html b/hotshot_query_service/node/trait.UpdateNodeData.html index b2f5bc285..1848a2ef1 100644 --- a/hotshot_query_service/node/trait.UpdateNodeData.html +++ b/hotshot_query_service/node/trait.UpdateNodeData.html @@ -16,7 +16,7 @@ 'life0: 'async_trait,

Implementors§

source§

impl<D, U, Types> UpdateNodeData<Types> for ExtensibleDataSource<D, U>where D: UpdateNodeData<Types> + Send + Sync, U: Send + Sync, - Types: NodeType,

§

type Error = <D as UpdateNodeData<Types>>::Error

source§

impl<Types> UpdateNodeData<Types> for SqlStoragewhere + Types: NodeType,

§

type Error = <D as UpdateNodeData<Types>>::Error

source§

impl<Types> UpdateNodeData<Types> for SqlStoragewhere Types: NodeType,

source§

impl<Types, S, P> UpdateNodeData<Types> for FetchingDataSource<Types, S, P>where Types: NodeType, S: UpdateNodeData<Types> + Send + Sync, diff --git a/search-index.js b/search-index.js index 7832cb616..62381319b 100644 --- a/search-index.js +++ b/search-index.js @@ -1,5 +1,5 @@ var searchIndex = JSON.parse('{\ -"hotshot_query_service":{"doc":"The HotShot Query Service is a minimal, generic query …","t":"NNNENGGNDNNDNDGEGIGDNGLLLLLLLLLLLLLLLLLLLLLLLLLLAMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKALLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLOLLLLLLOLLLLLLLLLLLLLLLLLLLLLLLLLLLLMAAMMFLLLLALLMLLLLLLLLLLLLLLLLLLLKLLLLLLLLLLLLLLMMMMMMIGGDQNDEQENDNDNDNNNQDNDQGGDQNNNDNINNDEGGGGQDILLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKKLKKLLLLLLLLLLLLMLLMLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKLMKLLMLLLLLLLLLLLLLLLMLMMMLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMQDDGDCIILLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLLLAALLLLLLLLLLLLLLLLLKLLLLLCDDCGCLLOCLICCAKKKKKADLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLDDDIDDLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLLLLLLLLFLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLOOLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLCLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLDDDDENNNDLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMNDEQNDCIDNNDDNDILLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKLFLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLKLLLLLLLLLLKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMENDDNIILLLLMLLLLLLLLLLKLLLLLLLLLLLLLLLLLFLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLKLKLLLLLLLLLMLLLLLLLLLLLLLLMM","n":["Availability","Custom","Err","Error","Error","Header","Metadata","Missing","MissingSnafu","Node","NotFound","NotFoundSnafu","Ok","Options","Payload","QueryError","QueryResult","Resolvable","SignatureKey","Snafu","Status","Transaction","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","as_any","as_any","as_any","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_error_source","as_error_source","augment_args","augment_args_for_update","availability","availability","backtrace","backtrace","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build","build","build","catch_all","cause","cause","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","commitment","data_source","default","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","description","description","deserialize","deserialize","drop","drop","drop","drop","drop","drop","fail","fail","fail","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from_arg_matches","from_arg_matches_mut","group_id","header","header","in_current_span","in_current_span","include_migrations","init","init","init","init","init","init","instantiate_data_source_tests","internal","into","into","into","into","into","into","into_any","into_any","into_any","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_error","into_error","into_error","message","metrics","node","node","port","run_standalone_service","serialize","serialize","source","source","status","status","status","status","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_resolve","type_id","type_id","type_id","type_id","type_id","type_id","update_from_arg_matches","update_from_arg_matches_mut","vzip","vzip","vzip","vzip","vzip","vzip","message","source","source","source","status","message","AvailabilityDataSource","BlockHash","BlockId","BlockQueryData","BlockRange","Custom","CustomSnafu","Error","Error","Fetch","FetchBlock","FetchBlockSnafu","FetchLeaf","FetchLeafSnafu","FetchTransaction","FetchTransactionSnafu","Hash","Hash","Hash","InclusionProof","InconsistentLeafError","InvalidTransactionIndex","InvalidTransactionIndexSnafu","Iter","LeafHash","LeafId","LeafQueryData","LeafRange","Number","Number","Number","Options","Pending","QueryablePayload","Ready","Request","RequestSnafu","ResourceId","Timestamp","TransactionHash","TransactionInclusionProof","TransactionIndex","TransactionIndex","TransactionQueryData","UpdateAvailabilityData","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","api_path","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_error_source","as_error_source","augment_args","augment_args_for_update","backtrace","backtrace","block_hash","block_hash","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build","build","build","build","build","by_hash","by_hash","cause","cause","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","compare","context","default","define_api","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","description","description","deserialize","deserialize","deserialize","deserialize","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","enumerate","enumerate","enumerate","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","extensions","fail","fail","fail","fail","fail","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_arg_matches","from_arg_matches_mut","genesis","genesis","get_block","get_block_range","get_block_with_transaction","get_hash","get_leaf","get_leaf_range","group_id","hash","hash","hash","hash","header","header","header","header","height","height","height","height","in_current_span","in_current_span","index","init","init","init","init","init","init","init","init","init","init","init","init","init","init","insert_block","insert_leaf","internal","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_error","into_error","into_error","into_error","into_error","into_error","into_future","is_empty","is_empty","is_empty","iter","leaf","leaf","len","len","map","message","metadata","new","new","nth","nth","nth_transaction","nth_transaction","nth_transaction_with_proof","nth_transaction_with_proof","partial_cmp","payload","proof","proof","proposer","qc","qc_leaf","resolve","resource","resource","resource","serialize","serialize","serialize","serialize","size","source","source","status","status","subscribe_blocks","subscribe_blocks","subscribe_leaves","subscribe_leaves","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","to_string","transaction","transaction","transaction","transaction","transaction_by_hash","transaction_by_hash","transaction_by_hash","transaction_by_hash_with_proof","transaction_by_hash_with_proof","transaction_with_proof","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_resolve","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","update_from_arg_matches","update_from_arg_matches_mut","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","with_context","height","index","message","resource","resource","resource","source","status","Error","ExtensibleDataSource","FetchingDataSource","FileSystemDataSource","MetricsDataSource","SqlDataSource","UpdateDataSource","VersionedDataSource","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","as_bits","as_mut","as_mut_bits","as_ref","block_height","block_height","block_height","block_height","block_height","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","commit","commit","commit","connect","count_proposals","count_proposals","create","create","create_with_store","create_with_store","default","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","encode_hex","encode_hex_upper","fmt","fmt","fmt","from","from","from","get_block","get_block","get_block_range","get_block_range","get_block_with_transaction","get_block_with_transaction","get_leaf","get_leaf","get_leaf_range","get_leaf_range","get_proposals","get_proposals","init","init","init","inner","inner_mut","insert_block","insert_block","insert_leaf","insert_leaf","insert_leaf","insert_leaf","into","into","into","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","metrics","metrics","metrics","new","new","open","open","open_with_store","open_with_store","populate_metrics","populate_metrics","populate_metrics","revert","revert","revert","skip_version","skip_version","sql","storage","storage","storage_mut","to_owned","to_owned","to_owned","transaction","try_as_bits","try_as_mut_bits","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","update","update","update","vzip","vzip","vzip","Config","Error","Migration","Query","SqlDataSource","Transaction","client","connect","include_migrations","postgres","transaction","AvailabilityStorage","FileSystemStorage","SqlStorage","fs","get_block","get_block_range","get_block_with_transaction","get_leaf","get_leaf_range","sql","FileSystemStorage","as_any","as_any_mut","block_height","borrow","borrow_mut","commit","count_proposals","create","create_with_store","deref","deref_mut","drop","fmt","from","get_block","get_block_range","get_block_with_transaction","get_leaf","get_leaf_range","get_proposals","init","insert_block","insert_leaf","insert_leaf","into","into_any","into_any_arc","into_any_rc","open","open_with_store","revert","skip_version","try_from","try_into","type_id","vzip","Config","Error","Migration","Query","SqlStorage","Transaction","__clone_box","__clone_box","__clone_box","__clone_box","applied_on","as_any","as_any","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_ref","as_ref","backtrace","block_height","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","chain","checksum","client","client","client","clone","clone","clone_into","clone_into","cmp","commit","compare","connect","connect","context","count_proposals","database","default","default_migrations","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","downcast","downcast_mut","downcast_ref","drop","drop","drop","drop","drop","drop","drop","eq","equivalent","equivalent","equivalent","equivalent","execute","execute_many","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from_str","get_block","get_block_range","get_block_with_transaction","get_leaf","get_leaf_range","get_proposals","header","header","host","include_dir","include_migrations","init","init","init","init","init","insert_block","insert_leaf","insert_leaf","into","into","into","into","into","into_any","into_any","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","is","migrations","msg","name","new","no_migrations","partial_cmp","password","port","postgres","prefix","query","query_one","query_one_static","query_opt","query_opt_static","query_static","reset_schema","revert","root_cause","schema","sql","tls","to_owned","to_owned","to_string","to_string","transaction","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","unapplied","user","version","vzip","vzip","vzip","vzip","vzip","Counter","Gauge","Histogram","Label","MetricsError","NoSuchMetric","NoSuchSubgroup","Prometheus","PrometheusMetrics","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","add","add_point","as_any","as_any","as_any","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_error_source","backtrace","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cause","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","create_counter","create_gauge","create_histogram","create_label","default","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","description","drop","drop","drop","drop","drop","drop","export","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","get","get","get","get_counter","get_gauge","get_histogram","get_label","get_subgroup","header","in_current_span","init","init","init","init","init","init","into","into","into","into","into","into","into_any","into_any","into_any","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","mean","sample_count","set","set","source","subgroup","sum","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","update","vzip","vzip","vzip","vzip","vzip","vzip","label","namespace","path","source","Custom","CustomSnafu","Error","Error","InvalidSignatureKey","InvalidSignatureKeySnafu","LeafQueryData","NodeDataSource","Options","Query","QueryProposals","QueryProposalsSnafu","QuerySnafu","Request","RequestSnafu","UpdateNodeData","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","api_path","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_error_source","augment_args","augment_args_for_update","backtrace","block_height","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build","build","cause","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","count_proposals","default","define_api","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","description","deserialize","drop","drop","drop","drop","drop","drop","drop","extensions","fail","fail","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from_arg_matches","from_arg_matches_mut","get_proposals","group_id","header","in_current_span","init","init","init","init","init","init","init","insert_leaf","internal","into","into","into","into","into","into","into","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_error","into_error","into_error","into_error","into_error","message","proposer","serialize","source","status","status","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","update_from_arg_matches","update_from_arg_matches_mut","vzip","vzip","vzip","vzip","vzip","vzip","vzip","message","proposer","source","source","source","status","Error","Internal","MempoolQueryData","Options","Request","StatusDataSource","UpdateStatusData","__clone_box","__clone_box","__clone_box","__clone_box","api_path","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","as_error_source","augment_args","augment_args_for_update","backtrace","block_height","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","cause","clone","clone","clone_into","clone_into","cmp","compare","consensus_metrics","consensus_metrics","default","default","define_api","deref","deref","deref","deref_mut","deref_mut","deref_mut","description","deserialize","deserialize","drop","drop","drop","eq","equivalent","equivalent","equivalent","equivalent","extensions","fmt","fmt","fmt","from","from","from","from","from","from_arg_matches","from_arg_matches_mut","get_hash","group_id","hash","header","in_current_span","init","init","init","into","into","into","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","memory_footprint","mempool_info","mempool_info","metrics","partial_cmp","populate_metrics","serialize","serialize","source","status","success_rate","success_rate","to_owned","to_owned","to_string","transaction_count","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","update_from_arg_matches","update_from_arg_matches_mut","vzip","vzip","vzip","reason","source"],"q":[[0,"hotshot_query_service"],[216,"hotshot_query_service::Error"],[221,"hotshot_query_service::QueryError"],[222,"hotshot_query_service::availability"],[737,"hotshot_query_service::availability::Error"],[745,"hotshot_query_service::data_source"],[891,"hotshot_query_service::data_source::sql"],[902,"hotshot_query_service::data_source::storage"],[912,"hotshot_query_service::data_source::storage::fs"],[949,"hotshot_query_service::data_source::storage::sql"],[1137,"hotshot_query_service::metrics"],[1312,"hotshot_query_service::metrics::MetricsError"],[1316,"hotshot_query_service::node"],[1529,"hotshot_query_service::node::Error"],[1535,"hotshot_query_service::status"],[1654,"hotshot_query_service::status::Error"],[1656,"dyn_clone::sealed"],[1657,"dyn_clone::sealed"],[1658,"core::error"],[1659,"clap_builder::builder::command"],[1660,"snafu::backtrace_shim"],[1661,"core::option"],[1662,"alloc::string"],[1663,"core::convert"],[1664,"tide_disco::status"],[1665,"core::clone"],[1666,"commit"],[1667,"core::result"],[1668,"serde::de"],[1669,"core::fmt"],[1670,"core::fmt"],[1671,"clap_builder"],[1672,"clap_builder::util::id"],[1673,"color_eyre::section"],[1674,"core::fmt"],[1675,"core::marker"],[1676,"alloc::sync"],[1677,"alloc::rc"],[1678,"hotshot::types::handle"],[1679,"hotshot_types::traits::node_implementation"],[1680,"hotshot_types::traits::node_implementation"],[1681,"core::any"],[1682,"snafu"],[1683,"snafu"],[1684,"tide_disco::api"],[1685,"core::iter::traits::iterator"],[1686,"core::cmp"],[1687,"core::future::future"],[1688,"core::pin"],[1689,"core::ops::range"],[1690,"core::hash"],[1691,"core::marker"],[1692,"core::ops::function"],[1693,"hotshot_types::simple_certificate"],[1694,"bitvec::slice"],[1695,"bitvec::order"],[1696,"std::path"],[1697,"anyhow"],[1698,"atomic_store::atomic_store"],[1699,"core::iter::traits::collect"],[1700,"hotshot_types::traits::metrics"],[1701,"bitvec::ptr::span"],[1702,"hotshot_types::event"],[1703,"atomic_store::error"],[1704,"time::offset_date_time"],[1705,"std::backtrace"],[1706,"anyhow"],[1707,"tokio_postgres::to_statement"],[1708,"core::iter::traits::collect"],[1709,"refinery_core::runner"],[1710,"refinery_core::error"],[1711,"hotshot_types::traits::metrics"],[1712,"hotshot_types::traits::signature_key"]],"d":["","","Contains the error value","","There was an error while trying to fetch the requested …","","","The requested resource exists but is not currently …","SNAFU context selector for the QueryError::Missing variant","","The requested resource does not exist or is not known to …","SNAFU context selector for the QueryError::NotFound variant","Contains the success value","","","","","A reference to a T which can be resolved into a whole T.","","SNAFU context selector for the QueryError::Error variant","","Item within a Payload.","","","","","","","","","","","","","","","","","","","","","","","","","","","Queries for HotShot chain state.","","","","","","","","","","","","","","","","Consume the selector and return the associated error","Consume the selector and return the associated error","Consume the selector and return the associated error","","","","","","","","","","","","","","Get a commitment to the underlying object.","Persistent storage and sources of data consumed by APIs.","","","","","","","","","","","","","","","","","","","","","","","","Consume the selector and return a Result with the …","Consume the selector and return a Result with the …","Consume the selector and return a Result with the …","","","","","","","","","","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","Embed migrations from the given directory into the current …","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","A node’s view of a HotShot chain","","","Run an instance of the HotShot Query service with no …","","","","","Queries for node-specific state and uncommitted data.","","","","","","","","","","","","","","","","","","","","","","","Get the underlying object if it is available without …","","","","","","","","","","","","","","","","","","","","","An interface for querying a HotShot blockchain.","A block hash is the hash of the block header.","","","","","SNAFU context selector for the Error::Custom variant","","","An in-progress request to fetch some data.","","SNAFU context selector for the Error::FetchBlock variant","","SNAFU context selector for the Error::FetchLeaf variant","","SNAFU context selector for the Error::FetchTransaction …","","","","A proof that a certain transaction exists in the block.","","","SNAFU context selector for the …","Enumerate the transactions in this block.","","","","","","","","","","A block payload whose contents (e.g. individual …","","","SNAFU context selector for the Error::Request variant","","","","","","An index which can be used to efficiently retrieve a …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Consume the selector and return the associated error","Consume the selector and return the associated error","Consume the selector and return the associated error","Consume the selector and return the associated error","Consume the selector and return the associated error","Get the index of the transaction with a given hash, if it …","Get the index of the transaction with a given hash, if it …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Convert this Fetch to a Result with the provided error …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Enumerate the transactions in the block with their indices.","Enumerate the transactions in the block with their indices.","","","","","","","","","","","","","","","","","","","","","","Additional API specification files to merge with …","Consume the selector and return a Result with the …","Consume the selector and return a Result with the …","Consume the selector and return a Result with the …","Consume the selector and return a Result with the …","Consume the selector and return a Result with the …","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","","","","","","","Returns the block containing a transaction with the given …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Whether this block is empty of transactions.","Whether this block is empty of transactions.","","List the transaction indices in the block.","","","The number of transactions in the block.","","Transform the result of this fetch.","","","Collect information about a Leaf.","Collect information about a block.","Get the index of the nth transaction.","Get the index of the nth transaction.","Get the nth transaction.","Get the nth transaction.","Get the nth transaction, along with an inclusion proof.","Get the nth transaction, along with an inclusion proof.","","","Get an inclusion proof for a transaction with a given …","Get an inclusion proof for a transaction with a given …","","","","Wait for the data to become available, if it is not …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Get a transaction by its block-specific index.","Get a transaction by its block-specific index.","","","Get the transaction with a given hash, if it is in the …","Get the transaction with a given hash, if it is in the …","","Get the transaction with a given hash, if it is in the …","Get the transaction with a given hash, if it is in the …","Get a transaction by its block-specific index, along with …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Get the requested data if it is available immediately.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Convert this Fetch to a Result with the provided error …","","","","","","","","","","Wrapper to add extensibility to an existing data source.","The most basic kind of data source.","A data source for the APIs provided in this crate, backed …","A minimal data source for the status API provided in this …","","An extension trait for types which implement the update …","A data source with an atomic transaction-based …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Atomically commit to all outstanding modifications to the …","","","Connect to a remote database.","","","Create a new FileSystemDataSource with storage at path.","Create a new FileSystemDataSource with storage at path.","Create a new FileSystemDataSource using a persistent …","Create a new FileSystemDataSource using a persistent …","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","","","","","","Access the underlying data source.","Mutably access the underlying data source.","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","Create a data source with local storage and a remote data …","Open an existing FileSystemDataSource from storage at path.","Open an existing FileSystemDataSource from storage at path.","Open an existing FileSystemDataSource using a persistent …","Open an existing FileSystemDataSource using a persistent …","","","","Erase all oustanding modifications to the data.","","","Advance the version of the persistent store without …","Advance the version of the persistent store without …","","Persistent storage for data sources.","Obtain direct, read-only access to the underlying local …","Obtain direct, mutable access the underlying local storage.","","","","Access the transaction which is accumulating all …","","","","","","","","","","","","Update query state based on a new consensus event.","","","","","","","The Error type, a wrapper around a dynamic error type.","Represents a schema migration to be run on the database, …","","A data source for the APIs provided in this crate, backed …","","","Connect to a remote database.","Embed migrations from the given directory into the current …","","Access the transaction which is accumulating all …","Persistent storage for a HotShot blockchain.","","","","","","","","","","Storage for the APIs provided in this crate, backed by a …","","","","","","","","Create a new FileSystemStorage with storage at path.","Create a new FileSystemStorage using a persistent storage …","","","","","Returns the argument unchanged.","","","","","","","","","","","Calls U::from(self).","","","","Open an existing FileSystemStorage from storage at path.","Open an existing FileSystemStorage using a persistent …","","Advance the version of the persistent store without …","","","","","Postgres client config.","The Error type, a wrapper around a dynamic error type.","Represents a schema migration to be run on the database, …","","Storage for the APIs provided in this crate, backed by a …","An atomic SQL transaction.","","","","","Get the timestamp from when the Migration was applied. None…","","","","","","","","","","","","","Get the backtrace for this Error.","","","","","","","","","","","","An iterator of the chain of source errors contained by …","Get the Migration checksum. Checksum is formed from the …","","","","","","","","","","","Connect to the database with this config.","Connect to a remote database.","Wrap the error value with additional context.","","Set the name of the database to connect to.","","The migrations requied to build the default schema for …","","","","","","","","","","","","","Attempt to downcast the error object to a concrete type.","Downcast this error object by mutable reference.","Downcast this error object by reference.","","","","","","","","","","","","","Execute a statement against the underlying database.","","","","","","","","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","","","","","","","","","Set the hostname of the database server.","Embed the contents of a directory in your crate.","Embed migrations from the given directory into the current …","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","Returns true if E is the type held by this error object.","Add custom migrations to run when connecting to the …","Create a new error object from a printable error message.","Get the Migration Name","Create a new error object from any error type.","Skip all migrations when connecting to the database.","","Set a password for connecting to the database.","Set the port on which to connect to the database.","","Get the Prefix","","Query the underlying SQL database, returning exactly one …","Query the underlying SQL database with no parameters, …","Query the underlying SQL database, returning zero or one …","Query the underlying SQL database with no parameters, …","Query the underlying SQL database with no parameters.","Reset the schema on connection.","","The lowest level cause of this error — this error’s …","Set the name of the schema to use for queries.","","Use TLS for an encrypted connection to the database.","","","","","Access the transaction which is accumulating all …","","","","","","","","","","","","","","","","Create an unapplied migration, name and version are parsed …","Set the DB user to connect as.","Get the Migration version","","","","","","A Counter metric.","A Gauge metric.","A Histogram metric.","A Label metric.","","","","","A Prometheus-based implementation of a Metrics registry.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","Get a counter in this sub-group by name.","Get a gauge in this sub-group by name.","Get a histogram in this sub-group by name.","Get a label in this sub-group by name.","Get a (possibly nested) subgroup of this group by its path.","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","SNAFU context selector for the Error::Custom variant","","","","SNAFU context selector for the Error::InvalidSignatureKey …","","","","","","SNAFU context selector for the Error::QueryProposals …","SNAFU context selector for the Error::Query variant","","SNAFU context selector for the Error::Request variant","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Consume the selector and return the associated error","Consume the selector and return the associated error","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Additional API specification files to merge with …","Consume the selector and return a Result with the …","Consume the selector and return a Result with the …","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Additional API specification files to merge with …","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"i":[7,7,117,0,10,0,0,10,0,7,10,0,117,0,0,0,0,0,0,0,7,0,7,7,11,11,12,12,13,13,10,10,7,11,12,13,10,19,7,11,12,13,10,19,7,10,19,19,0,19,7,10,7,11,12,13,10,19,7,11,12,13,10,19,11,12,13,7,7,10,7,11,12,13,10,7,11,12,13,10,157,0,19,7,11,12,13,10,19,7,11,12,13,10,19,7,10,7,10,7,11,12,13,10,19,11,12,13,7,7,11,12,13,10,10,7,7,7,7,7,11,12,13,10,19,19,19,19,7,10,7,10,0,7,11,12,13,10,19,0,7,7,11,12,13,10,19,7,11,12,13,10,19,7,11,12,13,10,19,7,11,12,13,10,19,11,12,13,13,0,0,19,19,0,7,10,7,10,0,7,10,19,7,11,12,13,10,7,10,7,11,12,13,10,19,7,11,12,13,10,19,157,7,11,12,13,10,19,19,19,7,11,12,13,10,19,158,159,160,161,158,162,0,0,0,0,42,27,0,0,112,0,27,0,27,0,27,0,78,84,60,163,0,27,0,163,0,0,0,42,78,84,60,0,65,0,65,27,0,0,0,0,0,0,163,0,0,60,60,51,51,50,50,62,62,53,53,63,63,54,54,55,55,56,56,57,57,59,59,27,27,68,65,60,51,50,62,53,68,63,54,55,56,57,59,27,65,60,51,50,62,53,68,63,54,55,56,57,59,27,50,27,68,68,50,27,51,53,65,60,51,50,62,53,68,63,54,55,56,57,59,27,65,60,51,50,62,53,68,63,54,55,56,57,59,27,54,55,56,57,59,163,163,50,27,60,51,50,62,53,63,54,55,56,57,59,27,60,51,50,62,53,63,54,55,56,57,59,27,60,60,65,68,0,65,60,51,50,62,53,68,63,54,55,56,57,59,27,65,60,51,50,62,53,68,63,54,55,56,57,59,27,50,27,51,62,53,27,65,60,51,50,62,53,68,63,54,55,56,57,59,27,163,163,62,60,51,62,53,60,60,60,60,51,51,51,51,62,62,62,62,53,53,53,53,68,54,55,56,57,59,60,60,51,50,50,62,53,63,54,55,56,57,59,27,27,65,60,60,60,51,50,62,53,68,63,54,55,56,57,59,27,27,27,68,68,51,62,42,42,42,60,42,42,68,60,51,62,53,60,50,62,27,51,62,53,57,50,27,57,65,60,51,50,62,53,68,63,54,55,56,57,59,27,112,112,27,65,60,51,50,62,53,68,63,54,55,56,57,59,27,65,60,51,50,62,53,68,63,54,55,56,57,59,27,60,51,50,62,53,68,63,54,55,56,57,59,27,65,60,51,50,62,53,68,63,54,55,56,57,59,27,63,54,55,56,57,59,65,163,163,62,163,51,50,163,62,65,59,62,51,62,163,163,163,163,163,163,60,62,163,163,51,51,50,65,54,55,56,51,62,53,27,62,50,27,27,59,42,42,42,42,60,51,50,62,53,63,54,55,56,57,59,27,60,50,27,163,163,62,53,163,163,62,163,163,163,65,60,51,50,62,53,68,63,54,55,56,57,59,27,65,60,51,50,62,53,68,63,54,55,56,57,59,27,65,65,60,51,50,62,53,68,63,54,55,56,57,59,27,68,68,65,60,51,50,62,53,68,63,54,55,56,57,59,27,65,164,164,165,166,167,168,169,165,46,0,0,0,0,0,0,0,98,98,99,99,100,100,98,99,100,98,99,100,98,98,98,98,98,98,99,99,100,98,99,100,98,99,100,98,99,100,98,99,100,46,98,99,99,98,99,105,99,105,99,100,98,99,100,98,99,100,98,99,100,98,98,98,99,100,98,99,100,98,99,98,99,98,99,98,99,98,99,98,99,98,99,100,98,98,98,99,98,98,99,99,98,99,100,98,99,100,98,99,100,98,99,100,98,99,100,98,99,105,99,105,99,98,99,100,46,98,99,105,99,0,0,99,99,98,99,100,99,98,98,98,99,100,98,99,100,98,99,100,45,98,99,98,99,100,0,0,0,0,0,0,120,120,0,0,120,0,0,0,0,111,111,111,111,111,0,0,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,0,0,0,0,0,0,122,122,101,101,122,103,122,116,101,102,103,122,116,101,102,103,103,103,102,103,122,116,101,102,103,122,116,101,102,103,122,170,116,102,122,101,122,101,122,102,122,101,102,103,102,101,101,0,103,103,122,116,101,102,103,103,122,116,101,102,103,103,103,103,103,122,116,101,102,102,122,122,122,122,122,116,116,103,103,122,122,101,102,103,103,103,122,116,101,101,102,101,102,102,102,102,102,102,103,122,101,0,0,103,122,116,101,102,102,102,102,103,122,116,101,102,103,122,116,101,102,103,122,116,101,102,103,122,116,101,102,103,101,103,122,103,101,122,101,101,0,122,170,170,170,170,170,170,101,102,103,101,122,101,122,101,103,122,102,103,122,116,101,102,103,122,116,101,102,103,122,116,101,102,122,101,122,103,122,116,101,102,0,0,0,0,0,139,139,139,0,114,114,136,136,140,140,137,137,141,141,136,137,139,114,136,140,137,141,139,114,136,140,137,141,139,139,139,114,136,140,137,141,139,114,136,140,137,141,139,114,136,140,137,141,114,136,140,137,141,114,114,114,114,114,139,114,136,140,137,141,139,114,136,140,137,141,139,139,114,136,140,137,141,114,139,139,114,136,140,137,141,139,139,114,136,140,137,141,136,140,141,114,114,114,114,114,139,139,139,114,136,140,137,141,139,114,136,140,137,141,139,114,136,140,137,141,139,114,136,140,137,141,139,114,136,140,137,141,137,137,140,141,139,114,137,114,136,140,137,141,139,139,114,136,140,137,141,139,114,136,140,137,141,139,114,136,140,137,141,140,139,114,136,140,137,141,171,171,172,173,29,0,0,113,29,0,0,0,0,29,29,0,0,29,0,0,150,150,151,151,152,152,148,148,149,149,29,29,153,153,150,151,152,148,149,29,153,150,151,152,148,149,29,29,153,153,29,43,153,150,151,152,148,149,29,153,150,151,152,148,149,29,148,149,29,150,151,152,148,149,29,150,151,152,148,149,29,43,153,0,153,150,151,152,148,149,29,153,150,151,152,148,149,29,29,29,153,150,151,152,148,149,29,153,148,149,150,151,152,148,149,29,29,153,150,151,152,148,149,29,29,29,153,153,43,153,29,29,153,150,151,152,148,149,29,113,29,153,150,151,152,148,149,29,153,150,151,152,148,149,29,153,150,151,152,148,149,29,153,150,151,152,148,149,29,150,151,152,148,149,149,152,29,29,29,149,150,151,152,148,149,29,29,153,150,151,152,148,149,29,153,150,151,152,148,149,29,153,150,151,152,148,149,29,153,153,153,150,151,152,148,149,29,174,175,176,177,175,174,0,28,0,0,28,0,0,155,155,28,28,156,155,156,28,155,156,28,28,156,156,28,44,155,156,28,155,156,28,28,155,28,155,28,155,155,44,44,155,156,0,155,156,28,155,156,28,28,155,28,155,156,28,155,155,155,155,155,156,155,28,28,155,156,28,28,28,156,156,155,156,155,28,28,155,156,28,155,156,28,155,156,28,155,156,28,155,156,28,155,44,44,44,155,178,155,28,28,28,44,44,155,28,28,155,155,156,28,155,156,28,155,156,28,156,156,155,156,28,179,180],"f":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[-1,1],2,[]],[[-1,3],2,[]],[[-1,3],2,[]],[[-1,1],2,[]],[[-1,3],2,[]],[[-1,1],2,[]],[[-1,3],2,[]],[[-1,1],2,[]],[[-1,1],2,[]],[[-1,3],2,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,5,[]],[-1,5,[]],[6,6],[6,6],0,0,[7,[[9,[8]]]],[10,[[9,[8]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[11,10],[12,10],[[[13,[-1]]],10,[[15,[14]]]],[[16,14],7],[7,[[9,[5]]]],[10,[[9,[5]]]],[7,7],[11,11],[12,12],[[[13,[-1]]],[[13,[-1]]],17],[10,10],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[-1,[[18,[-2]]],[],[]],0,[[],19],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[7,21],[10,21],[-1,[[22,[7]]],23],[-1,[[22,[10]]],23],[20,2],[20,2],[20,2],[20,2],[20,2],[20,2],[11,[[22,[-1,10]]],[]],[12,[[22,[-1,10]]],[]],[[[13,[-1]]],[[22,[-2,10]]],[[15,[14]]],[]],[[7,24],25],[[7,24],25],[[11,24],25],[[12,24],25],[[[13,[-1]],24],25,26],[[10,24],25],[[10,24],25],[27,7],[28,7],[-1,-1,[]],[[[2,[14,16]]],7],[29,7],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[30,[[22,[19,31]]]],[30,[[22,[19,31]]]],[[],[[9,[32]]]],[[-1,-2],[[33,[-2,-3]]],[],[34,35,36],[]],[[-1,-2],[[33,[-2,-3]]],[],[34,35,36],[]],[-1,[],[]],[-1,[],[]],0,[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],0,[-1,7,34],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[38,[-1]]],[[38,[4]]],[]],[[[38,[-1]]],[[38,[4]]],[]],[[[38,[-1]]],[[38,[4]]],[]],[[[38,[-1]]],[[38,[4]]],[]],[[[38,[-1]]],[[38,[4]]],[]],[[[38,[-1]]],[[38,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],[11,10],[12,10],[[[13,[-1]]],10,[[15,[14]]]],0,0,0,0,0,[[19,-2,[40,[-1,-3]]],[[22,[2,7]]],41,[[42,[-1]],[43,[-1]],44,[45,[-1]],46,35,36],[[47,[-1]]]],[[7,-1],22,48],[[10,-1],22,48],[7,[[9,[5]]]],[10,[[9,[5]]]],0,[7,16],[10,16],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,14,[]],[-1,14,[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2,-1]]],[],[]],[-1,49,[]],[-1,49,[]],[-1,49,[]],[-1,49,[]],[-1,49,[]],[-1,49,[]],[[19,30],[[22,[2,31]]]],[[19,30],[[22,[2,31]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[-1,1],2,[]],[[-1,3],2,[]],[[-1,3],2,[]],[[-1,1],2,[]],[[-1,3],2,[]],[[-1,1],2,[]],[[-1,3],2,[]],[[-1,1],2,[]],[[-1,3],2,[]],[[-1,1],2,[]],[[-1,3],2,[]],[[-1,1],2,[]],[[-1,3],2,[]],[[-1,1],2,[]],[[-1,1],2,[]],[[-1,3],2,[]],[[-1,3],2,[]],[[-1,1],2,[]],[[-1,1],2,[]],[[-1,3],2,[]],[[-1,3],2,[]],[[-1,1],2,[]],[[-1,1],2,[]],[[-1,3],2,[]],0,[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,5,[]],[-1,5,[]],[6,6],[6,6],[[[50,[-1]]],[[9,[8]]],41],[27,[[9,[8]]]],[[[51,[-1]]],[[52,[-1]]],41],[[[53,[-1]]],[[52,[-1]]],41],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[54,[-1]]],27,[[15,[14]]]],[[[55,[-1]]],27,[[15,[14]]]],[[[56,[-1]]],27,[[15,[14]]]],[[[57,[-1,-2]]],27,[[15,[58]]],[[15,[58]]]],[[[59,[-1,-2]]],27,[[15,[14]]],[[15,[16]]]],[[-1,18],9,[]],[[-1,18],9,[]],[[[50,[-1]]],[[9,[5]]],41],[27,[[9,[5]]]],[[[60,[-1]]],[[60,[-1]]],61],[[[51,[-1]]],[[51,[-1]]],[17,41]],[[[50,[-1]]],[[50,[-1]]],[17,41]],[[[62,[-1]]],[[62,[-1]]],[17,41]],[[[53,[-1]]],[[53,[-1]]],[17,41]],[63,63],[[[54,[-1]]],[[54,[-1]]],17],[[[55,[-1]]],[[55,[-1]]],17],[[[56,[-1]]],[[56,[-1]]],17],[[[57,[-1,-2]]],[[57,[-1,-2]]],17,17],[[[59,[-1,-2]]],[[59,[-1,-2]]],17,17],[27,27],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[[60,[-1]],[60,[-1]]],64,61],[[-1,-2],64,[],[]],[[[65,[-1]],-3],[[22,[-1,-2]]],[],[5,66],[[67,[-2]]]],[[],68],[68,[[22,[[69,[-1,27]],70]]],[35,36,71]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[[[50,[-1]]],21,41],[27,21],[-1,[[22,[[51,[-2]]]]],23,41],[-1,[[22,[[62,[-2]]]]],23,41],[-1,[[22,[[53,[-2]]]]],23,41],[-1,[[22,[27]]],23],[20,2],[20,2],[20,2],[20,2],[20,2],[20,2],[20,2],[20,2],[20,2],[20,2],[20,2],[20,2],[20,2],[20,2],[-1,[[37,[72]]],[]],[-1,[[37,[72]]],[]],[[[62,[-1]]],[[0,[72]]],41],[[[60,[-1]],[60,[-1]]],73,61],[[[51,[-1]],[51,[-1]]],73,[74,41]],[[[62,[-1]],[62,[-1]]],73,[74,41]],[[[53,[-1]],[53,[-1]]],73,[74,41]],[[-1,-2],73,[],[]],[[-1,-2],73,[],[]],[[-1,-2],73,[],[]],[[-1,-2],73,[],[]],[[-1,-2],73,[],[]],[[-1,-2],73,[],[]],[[-1,-2],73,[],[]],[[-1,-2],73,[],[]],[[-1,-2],73,[],[]],[[-1,-2],73,[],[]],[[-1,-2],73,[],[]],[[-1,-2],73,[],[]],[[-1,-2],73,[],[]],[[-1,-2],73,[],[]],[[-1,-2],73,[],[]],[[-1,-2],73,[],[]],0,[[[54,[-1]]],[[22,[-2,27]]],[[15,[14]]],[]],[[[55,[-1]]],[[22,[-2,27]]],[[15,[14]]],[]],[[[56,[-1]]],[[22,[-2,27]]],[[15,[14]]],[]],[[[57,[-1,-2]]],[[22,[-3,27]]],[[15,[58]]],[[15,[58]]],[]],[[[59,[-1,-2]]],[[22,[-3,27]]],[[15,[14]]],[[15,[16]]],[]],[[[60,[-1]],24],25,61],[[[60,[-1]],24],25,61],[[[51,[-1]],24],25,[26,41]],[[[50,[-1]],24],25,41],[[[50,[-1]],24],25,[26,41]],[[[62,[-1]],24],25,[26,41]],[[[53,[-1]],24],25,[26,41]],[[63,24],25],[[[54,[-1]],24],25,26],[[[55,[-1]],24],25,26],[[[56,[-1]],24],25,26],[[[57,[-1,-2]],24],25,26,26],[[[59,[-1,-2]],24],25,26,26],[[27,24],25],[[27,24],25],[-1,-1,[]],[20,[[60,[-1]]],61],[-1,-1,[]],[[[18,[-1]]],[[60,[-1]]],61],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[[[2,[14,16]]],27],[-1,-1,[]],[75,27],[30,[[22,[68,31]]]],[30,[[22,[68,31]]]],[[],[[51,[-1]]],41],[[],[[62,[-1]]],41],[[-1,-3],[[77,[[37,[76]]]]],[],[],[[15,[[78,[-2]]]],35,36]],[[-1,-2],[[77,[[37,[76]]]]],[],[[79,[20]],35]],[[-1,[80,[-2]]],[[77,[[37,[76]]]]],[],[]],[[-1,-2],58,[81,82],83],[[-1,-3],[[77,[[37,[76]]]]],[],[],[[15,[[84,[-2]]]],35,36]],[[-1,-2],[[77,[[37,[76]]]]],[],[[79,[20]],35]],[[],[[9,[32]]]],[[[60,[-1]],-2],2,61,85],[[[51,[-1]]],[[86,[-1]]],41],[[[62,[-1]]],[[52,[-1]]],41],[[[53,[-1]]],[[80,[-1]]],41],[[-1,-2],[[33,[-2,-3]]],[],[34,35,36],[]],[[-1,-2],[[33,[-2,-3]]],[],[34,35,36],[]],[[[62,[-1]]],[[87,[-1]]],41],[[-1,-2],[[33,[-2,-3]]],[],[34,35,36],[]],[[[51,[-1]]],58,41],[[[62,[-1]]],58,41],[[[53,[-1]]],58,41],0,[-1,[],[]],[-1,[],[]],0,[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],[[-1,[62,[-2]]],[[77,[[37,[76]]]]],[],[]],[[-1,[51,[-2]]],[[77,[[37,[76]]]]],[],[]],[-1,27,34],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[38,[-1]]],[[38,[4]]],[]],[[[38,[-1]]],[[38,[4]]],[]],[[[38,[-1]]],[[38,[4]]],[]],[[[38,[-1]]],[[38,[4]]],[]],[[[38,[-1]]],[[38,[4]]],[]],[[[38,[-1]]],[[38,[4]]],[]],[[[38,[-1]]],[[38,[4]]],[]],[[[38,[-1]]],[[38,[4]]],[]],[[[38,[-1]]],[[38,[4]]],[]],[[[38,[-1]]],[[38,[4]]],[]],[[[38,[-1]]],[[38,[4]]],[]],[[[38,[-1]]],[[38,[4]]],[]],[[[38,[-1]]],[[38,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],[63,27],[[[54,[-1]]],27,[[15,[14]]]],[[[55,[-1]]],27,[[15,[14]]]],[[[56,[-1]]],27,[[15,[14]]]],[[[57,[-1,-2]]],27,[[15,[58]]],[[15,[58]]]],[[[59,[-1,-2]]],27,[[15,[14]]],[[15,[16]]]],[[[65,[-1]]],[],35],[-1,73,[]],[-1,73,[]],[[[62,[-1]]],73,41],[-1,[],[]],[[[51,[-1]]],[[88,[-1]]],41],0,[-1,20,[]],[[[62,[-1]]],20,41],[[[65,[-1]],-2],[[65,[-3]]],[],[35,89],[]],0,[[[62,[-1]]],[[90,[-1]]],41],[[[88,[-1]],[91,[-1]]],[[22,[[51,[-1]],[50,[-1]]]]],41],[[[88,[-1]],[91,[-1]],[92,[-1]]],[[22,[[62,[-1]],[50,[-1]]]]],41],[[-1,20],9,[]],[[-1,20],9,[]],[[-1,20],9,[]],[[-1,20],9,[]],[[-1,20],[[9,[2]]],[]],[[-1,20],[[9,[2]]],[]],[[[60,[-1]],[60,[-1]]],[[9,[64]]],61],[[[62,[-1]]],[[92,[-1]]],41],[-1,9,[]],[-1,9,[]],[[[51,[-1]]],[[93,[-1]]],41],[[[51,[-1]]],[[91,[-1]]],41],0,[[[65,[-1]]],-1,35],0,0,0,[[[51,[-1]],-2],22,41,48],[[[62,[-1]],-2],22,41,48],[[[53,[-1]],-2],22,41,48],[[27,-1],22,48],[[[62,[-1]]],58,41],[[[50,[-1]]],[[9,[5]]],41],[27,[[9,[5]]]],[27,16],0,[[-1,20],[[77,[[37,[76]]]]],36],[[-1,20],[[77,[[37,[76]]]]],36],[[-1,20],[[77,[[37,[76]]]]],36],[[-1,20],[[77,[[37,[76]]]]],36],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,14,[]],[-1,14,[]],[-1,14,[]],[-1,9,[]],[-1,9,[]],[[[62,[-1]],[94,[-1]]],[[9,[[53,[-1]]]]],41],[[[53,[-1]]],[[95,[-1]]],41],[[-1,18],9,[]],[[-1,18],9,[]],[[[62,[-1]],[18,[[95,[-1]]]]],[[9,[[94,[-1]]]]],41],[[-1,18],[[9,[2]]],[]],[[-1,18],[[9,[2]]],[]],[-1,[[9,[2]]],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[[[65,[-1]]],[[22,[-1,[65,[-1]]]]],[]],[-1,49,[]],[-1,49,[]],[-1,49,[]],[-1,49,[]],[-1,49,[]],[-1,49,[]],[-1,49,[]],[-1,49,[]],[-1,49,[]],[-1,49,[]],[-1,49,[]],[-1,49,[]],[-1,49,[]],[-1,49,[]],[[68,30],[[22,[2,31]]]],[[68,30],[[22,[2,31]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[65,[-1]],-2],[[22,[-1,-3]]],[],89,[5,66]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[-1,3],2,[]],[[-1,1],2,[]],[[-1,3],2,[]],[[-1,1],2,[]],[[-1,1],2,[]],[[-1,3],2,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,[[96,[-2,-3]]],[],[],97],[[[98,[-1,-2]]],-2,[],[]],[-1,[[96,[-2,-3]]],[],[],97],[[[98,[-1,-2]]],-2,[],[]],[[[98,[-1,-2]]],[[77,[[37,[76]]]]],[44,35,36],[35,36]],[[[98,[-2,-3]]],[[77,[[37,[76]]]]],41,[[43,[-1]],35,36],[35,36]],[[[99,[-1,-2,-3]]],[[77,[[37,[76]]]]],41,[[43,[-1]],35,36],[35,36]],[[[99,[-1,-2,-3]]],[[77,[[37,[76]]]]],41,[[43,[-1]],35,36],[35,36]],[100,[[77,[[37,[76]]]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[98,[-1,-2]]],[[98,[-1,-2]]],17,17],[[[99,[-1,-2,-3]]],[[99,[-1,-2,-3]]],41,[],[]],[100,100],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[-1,[[77,[[37,[76]]]]],[]],[[[98,[-1,-2]]],[[77,[[37,[76]]]]],[46,35],35],[[[99,[-1,-2,-3]]],[[77,[[37,[76]]]]],41,[46,35,36],[35,36]],[101,[[22,[[99,[-1,102,2]],103]]],41],[[[98,[-2,-3]],[93,[-1]]],[[77,[[37,[76]]]]],41,[[43,[-1]],35,36],[35,36]],[[[99,[-1,-2,-3]],[93,[-1]]],[[77,[[37,[76]]]]],41,[[43,[-1]],35,36],[35,36]],[104,[[106,[[105,[-1]]]]],41],[104,[[106,[[99,[-1,[107,[-1]],2]]]]],41],[108,[[106,[[105,[-1]]]]],41],[108,[[106,[[99,[-1,[107,[-1]],2]]]]],41],[[],100],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,2],[20,2],[20,2],[-1,-2,[],[[110,[109]]]],[-1,-2,[],[[110,[109]]]],[[[98,[-1,-2]],24],25,26,26],[[[99,[-1,-2,-3]],24],25,41,26,26],[[100,24],25],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[[[98,[-2,-3]],-4],[[77,[[37,[76]]]]],41,[[42,[-1]],35,36],[35,36],[[15,[[78,[-1]]]],35,36]],[[[99,[-1,-2,-3]],-4],[[77,[[37,[76]]]]],41,[[111,[-1]]],[35,36],[[15,[[78,[-1]]]],35,36]],[[[98,[-2,-3]],-4],[[77,[[37,[76]]]]],41,[[42,[-1]],35,36],[35,36],[[79,[20]],35]],[[[99,[-1,-2,-3]],-4],[[77,[[37,[76]]]]],41,[[111,[-1]]],[35,36],[[79,[20]],35]],[[[98,[-2,-3]],[80,[-1]]],[[77,[[37,[76]]]]],41,[[42,[-1]],35,36],[35,36]],[[[99,[-1,-2,-3]],[80,[-1]]],[[77,[[37,[76]]]]],41,[[111,[-1]]],[35,36]],[[[98,[-2,-3]],-4],[[77,[[37,[76]]]]],41,[[42,[-1]],35,36],[35,36],[[15,[[84,[-1]]]],35,36]],[[[99,[-1,-2,-3]],-4],[[77,[[37,[76]]]]],41,[[111,[-1]]],[35,36],[[15,[[84,[-1]]]],35,36]],[[[98,[-2,-3]],-4],[[77,[[37,[76]]]]],41,[[42,[-1]],35,36],[35,36],[[79,[20]],35]],[[[99,[-1,-2,-3]],-4],[[77,[[37,[76]]]]],41,[[111,[-1]]],[35,36],[[79,[20]],35]],[[[98,[-2,-3]],[93,[-1]],[9,[20]]],[[77,[[37,[76]]]]],41,[[43,[-1]],35,36],[35,36]],[[[99,[-1,-2,-3]],[93,[-1]],[9,[20]]],[[77,[[37,[76]]]]],41,[[43,[-1]],35,36],[35,36]],[[],20],[[],20],[[],20],[[[98,[-1,-2]]],-1,[],[]],[[[98,[-1,-2]]],-1,[],[]],[[[98,[-2,-3]],[62,[-1]]],[[77,[[37,[76]]]]],41,[[112,[-1]],35,36],[35,36]],[[[99,[-1,-2,-3]],[62,[-1]]],[[77,[[37,[76]]]]],41,[[112,[-1]],35,36],[35,36]],[[[98,[-2,-3]],[51,[-1]]],[[77,[[37,[76]]]]],41,[[113,[-1]],35,36],[35,36]],[[[98,[-2,-3]],[51,[-1]]],[[77,[[37,[76]]]]],41,[[112,[-1]],35,36],[35,36]],[[[99,[-1,-2,-3]],[51,[-1]]],[[77,[[37,[76]]]]],41,[[113,[-1]],35,36],[35,36]],[[[99,[-1,-2,-3]],[51,[-1]]],[[77,[[37,[76]]]]],41,[[112,[-1]],35,36],[35,36]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[38,[-1]]],[[38,[4]]],[]],[[[38,[-1]]],[[38,[4]]],[]],[[[38,[-1]]],[[38,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],[[[98,[-1,-2]]],114,[44,35,36],[35,36]],[[[99,[-1,-2,-3]]],114,41,[[43,[-1]],35,36],[35,36]],[100,114],[[-1,-2],[[98,[-1,-2]]],[],[]],[[-2,-3],[[106,[[99,[-1,-2,-3]]]]],41,[[43,[-1]],[113,[-1]],[111,[-1]],46],[35,36]],[104,[[106,[[105,[-1]]]]],41],[104,[[106,[[99,[-1,[107,[-1]],2]]]]],41],[108,[[106,[[105,[-1]]]]],41],[108,[[106,[[99,[-1,[107,[-1]],2]]]]],41],[-1,[[37,[115]]],[]],[-1,[[37,[115]]],[]],[-1,[[37,[115]]],[]],[-1,[[77,[[37,[76]]]]],[]],[[[98,[-1,-2]]],[[77,[[37,[76]]]]],[46,35],35],[[[99,[-1,-2,-3]]],[[77,[[37,[76]]]]],41,[46,35,36],[35,36]],[[[105,[-1]]],[[106,[2]]],41],[[[99,[-1,[107,[-1]],2]]],[[106,[2]]],41],0,0,[[[99,[-1,-2,-3]]],[[0,[-1,-2]]],41,[],[]],[[[99,[-1,-2,-3]]],[[0,[-1,-2]]],41,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[99,[-1,102,2]]],[[117,[116]]],41],[-1,[[22,[[96,[-2,-3]],[118,[-2]]]]],[],[],97],[-1,[[22,[[96,[-2,-3]],[118,[-2]]]]],[],[],97],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,49,[]],[-1,49,[]],[-1,49,[]],[[-1,[119,[-2]]],[[77,[[37,[76]]]]],[],[]],[[-1,[119,[-2]]],[[77,[[37,[76]]]]],[],[]],[[-1,[119,[-2]]],[[77,[[37,[76]]]]],[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,[[[120,[-1]]],[[77,[[37,[76]]]]],41],[101,[[22,[[120,[-1]],103]]],41],0,0,[[[120,[-1]]],[[117,[116]]],41],0,0,0,0,[[-1,[78,[-2]]],[[77,[[37,[76]]]]],[],[]],[[-1,-2],[[77,[[37,[76]]]]],[],[[79,[20]],35]],[[-1,[80,[-2]]],[[77,[[37,[76]]]]],[],[]],[[-1,[84,[-2]]],[[77,[[37,[76]]]]],[],[]],[[-1,-2],[[77,[[37,[76]]]]],[],[[79,[20]],35]],0,0,[-1,4,[]],[-1,4,[]],[[[107,[-1]]],[[77,[[37,[76]]]]],41],[-1,-2,[],[]],[-1,-2,[],[]],[[[107,[-1]]],[[77,[[37,[76]]]]],41],[[[107,[-1]],[93,[-1]]],[[77,[[37,[76]]]]],41],[104,[[22,[[107,[-1]],121]]],41],[108,[[22,[[107,[-1]],121]]],41],[20,-1,[]],[20,-1,[]],[20,2],[[[107,[-1]],24],25,41],[-1,-1,[]],[[[107,[-1]],[78,[-1]]],[[77,[[37,[76]]]]],41],[[[107,[-1]],-2],[[77,[[37,[76]]]]],41,[[79,[20]],35]],[[[107,[-1]],[80,[-1]]],[[77,[[37,[76]]]]],41],[[[107,[-1]],[84,[-1]]],[[77,[[37,[76]]]]],41],[[[107,[-1]],-2],[[77,[[37,[76]]]]],41,[[79,[20]],35]],[[[107,[-1]],[93,[-1]],[9,[20]]],[[77,[[37,[76]]]]],41],[[],20],[[[107,[-1]],[62,[-1]]],[[77,[[37,[76]]]]],41],[[[107,[-1]],[51,[-1]]],[[77,[[37,[76]]]]],41],[[[107,[-1]],[51,[-1]]],[[77,[[37,[76]]]]],41],[-1,-2,[],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[38,[-1]]],[[38,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],[104,[[22,[[107,[-1]],121]]],41],[108,[[22,[[107,[-1]],121]]],41],[[[107,[-1]]],[[77,[[37,[76]]]]],41],[[[107,[-1]]],[[22,[2,121]]],41],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,49,[]],[-1,-2,[],[]],0,0,0,0,0,0,[[-1,3],2,[]],[[-1,1],2,[]],[[-1,3],2,[]],[[-1,1],2,[]],[122,[[9,[123]]]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[103,5],[103,5],[103,124],[102,[[77,[[37,[76]]]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[103,125],[122,58],[-1,[[77,[[37,[76]]]]],[]],[116,[[77,[[37,[76]]]]]],[102,[[77,[[37,[76]]]]]],[122,122],[101,101],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[122,122],64],[102,[[77,[[37,[76]]]]]],[[-1,-2],64,[],[]],[101,[[22,[[120,[-1]],103]]],41],[101,[[22,[102,103]]]],[[103,-1],103,[34,35,36]],[[102,[93,[-1]]],[[77,[[37,[76]]]]],41],[[101,21],101],[[],101],[[],[[126,[122]]]],[103],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[103],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[103,[[22,[-1,103]]],[34,26,35,36]],[103,[[9,[-1]]],[34,26,35,36]],[103,[[9,[-1]]],[34,26,35,36]],[103,2],[20,2],[20,2],[20,2],[20,2],[20,2],[102,2],[[122,122],73],[[-1,-2],73,[],[]],[[-1,-2],73,[],[]],[[-1,-2],73,[],[]],[[-1,-2],73,[],[]],[[116,-1,-2],[[117,[2]]],[82,127],128],[[116,-1],[[117,[2]]],128],[[103,24],[[22,[2,129]]]],[[103,24],[[22,[2,129]]]],[[122,24],[[22,[2,129]]]],[[122,24],[[22,[2,129]]]],[[101,24],25],[[102,24],25],[-1,-1,[]],[130,-1,[]],[-1,103,[5,35,36]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[131,101],[-1,-1,[]],[21,[[22,[101]]]],[[102,[78,[-1]]],[[77,[[37,[76]]]]],41],[[102,-1],[[77,[[37,[76]]]]],[[79,[20]],35]],[[102,[80,[-1]]],[[77,[[37,[76]]]]],41],[[102,[84,[-1]]],[[77,[[37,[76]]]]],41],[[102,-1],[[77,[[37,[76]]]]],[[79,[20]],35]],[[102,[93,[-1]],[9,[20]]],[[77,[[37,[76]]]]],41],[[-1,-2],[[33,[-2,-3]]],[],[34,35,36],[]],[[-1,-2],[[33,[-2,-3]]],[],[34,35,36],[]],[[101,-1],101,[[15,[14]]]],0,0,[[],20],[[],20],[[],20],[[],20],[[],20],[[102,[62,[-1]]],[[77,[[37,[76]]]]],41],[[102,[51,[-1]]],[[77,[[37,[76]]]]],41],[[102,[51,[-1]]],[[77,[[37,[76]]]]],41],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[38,[-1]]],[[38,[4]]],[]],[[[38,[-1]]],[[38,[4]]],[]],[[[38,[-1]]],[[38,[4]]],[]],[[[38,[-1]]],[[38,[4]]],[]],[[[38,[-1]]],[[38,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],[103,73],[[101,-1],101,128],[-1,103,[34,26,35,36]],[122,21],[-1,103,[5,35,36]],[101,101],[[122,122],[[9,[64]]]],[[101,21],101],[[101,132],101],0,[122,133],[[-1,-2,-3],[[77,[[37,[76]]]]],36,[82,127,36],[128,35]],[[-1,-2,-3],[[77,[[37,[76]]]]],36,[82,127,36],[128,35]],[[-1,-2],[[77,[[37,[76]]]]],36,[82,127,36]],[[-1,-2,-3],[[77,[[37,[76]]]]],36,[82,127,36],[128,35]],[[-1,-2],[[77,[[37,[76]]]]],36,[82,127,36]],[[-1,-2],[[77,[[37,[76]]]]],36,[82,127,36]],[101,101],[102,[[77,[[37,[76]]]]]],[103,5],[[101,-1],101,[[15,[14]]]],[122,[[9,[21]]]],[101,101],[-1,-2,[],[]],[-1,-2,[],[]],[-1,14,[]],[-1,14,[]],[102,[[117,[116]]]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,49,[]],[-1,49,[]],[-1,49,[]],[-1,49,[]],[-1,49,[]],[[21,21],[[22,[122,134]]]],[[101,21],101],[122,135],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,[[-1,3],2,[]],[[-1,1],2,[]],[[-1,1],2,[]],[[-1,3],2,[]],[[-1,1],2,[]],[[-1,3],2,[]],[[-1,3],2,[]],[[-1,1],2,[]],[[-1,3],2,[]],[[-1,1],2,[]],[[136,20],2],[[137,138],2],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,5,[]],[139,[[9,[8]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[139,[[9,[5]]]],[114,114],[136,136],[140,140],[137,137],[141,141],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[114,14,[9,[14]]],[[37,[142]]]],[[114,14,[9,[14]]],[[37,[143]]]],[[114,14,[9,[14]]],[[37,[144]]]],[[114,14],[[37,[145]]]],[[],114],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[139,21],[20,2],[20,2],[20,2],[20,2],[20,2],[20,2],[114,[[22,[14]]]],[[139,24],25],[[139,24],25],[[114,24],25],[[136,24],25],[[140,24],25],[[137,24],25],[[141,24],25],[-1,-1,[]],[146,139],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[136,20],[140,20],[141,14],[[114,21],[[22,[136,139]]]],[[114,21],[[22,[140,139]]]],[[114,21],[[22,[137,139]]]],[[114,21],[[22,[141,139]]]],[[114,-1],[[22,[114,139]]],128],[[-1,-2],[[33,[-2,-3]]],[],[34,35,36],[]],[-1,[],[]],[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[38,[-1]]],[[38,[4]]],[]],[[[38,[-1]]],[[38,[4]]],[]],[[[38,[-1]]],[[38,[4]]],[]],[[[38,[-1]]],[[38,[4]]],[]],[[[38,[-1]]],[[38,[4]]],[]],[[[38,[-1]]],[[38,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],[137,138],[137,20],[[140,20],2],[[141,14],2],[139,[[9,[5]]]],[[114,14],[[37,[115]]]],[137,138],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,14,[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,49,[]],[-1,49,[]],[-1,49,[]],[-1,49,[]],[-1,49,[]],[-1,49,[]],[[140,147],2],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[-1,3],2,[]],[[-1,1],2,[]],[[-1,1],2,[]],[[-1,3],2,[]],[[-1,1],2,[]],[[-1,3],2,[]],[[-1,3],2,[]],[[-1,1],2,[]],[[-1,1],2,[]],[[-1,3],2,[]],[[-1,3],2,[]],[[-1,1],2,[]],0,[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,5,[]],[6,6],[6,6],[29,[[9,[8]]]],[-1,[[77,[[37,[76]]]]],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[148,29],[[[149,[-1,-2]]],29,[[15,[14]]],[[15,[16]]]],[29,[[9,[5]]]],[150,150],[151,151],[[[152,[-1]]],[[152,[-1]]],17],[148,148],[[[149,[-1,-2]]],[[149,[-1,-2]]],17,17],[29,29],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[-1,[93,[-2]]],[[77,[[37,[76]]]]],[],[]],[[],153],[153,[[22,[[69,[-1,29]],70]]],[35,36,71]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[29,21],[-1,[[22,[29]]],23],[20,2],[20,2],[20,2],[20,2],[20,2],[20,2],[20,2],0,[148,[[22,[-1,29]]],[]],[[[149,[-1,-2]]],[[22,[-3,29]]],[[15,[14]]],[[15,[16]]],[]],[[150,24],25],[[151,24],25],[[[152,[-1]],24],25,26],[[148,24],25],[[[149,[-1,-2]],24],25,26,26],[[29,24],25],[[29,24],25],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[[[2,[14,16]]],29],[75,29],[-1,-1,[]],[30,[[22,[153,31]]]],[30,[[22,[153,31]]]],[[-1,[93,[-2]],[9,[20]]],[[77,[[37,[76]]]]],[],[]],[[],[[9,[32]]]],[[-1,-2],[[33,[-2,-3]]],[],[34,35,36],[]],[-1,[],[]],[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],[[-1,[51,[-2]]],[[77,[[37,[76]]]]],[],[]],[-1,29,34],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[38,[-1]]],[[38,[4]]],[]],[[[38,[-1]]],[[38,[4]]],[]],[[[38,[-1]]],[[38,[4]]],[]],[[[38,[-1]]],[[38,[4]]],[]],[[[38,[-1]]],[[38,[4]]],[]],[[[38,[-1]]],[[38,[4]]],[]],[[[38,[-1]]],[[38,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],[150,29],[151,29],[[[152,[-1]]],29,[[15,[154]]]],[148,29],[[[149,[-1,-2]]],29,[[15,[14]]],[[15,[16]]]],0,0,[[29,-1],22,48],[29,[[9,[5]]]],[29,16],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,14,[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,49,[]],[-1,49,[]],[-1,49,[]],[-1,49,[]],[-1,49,[]],[-1,49,[]],[-1,49,[]],[[153,30],[[22,[2,31]]]],[[153,30],[[22,[2,31]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,[[-1,1],2,[]],[[-1,3],2,[]],[[-1,1],2,[]],[[-1,3],2,[]],0,[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,5,[]],[6,6],[6,6],[28,[[9,[8]]]],[-1,[[77,[[37,[76]]]]],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[28,[[9,[5]]]],[155,155],[28,28],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[155,155],64],[[-1,-2],64,[],[]],[-1,[[117,[114]]],[]],[-1,[[117,[114]]],[]],[[],155],[[],156],[156,[[22,[[69,[-1,28]],70]]],[35,36,71]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[28,21],[-1,[[22,[155]]],23],[-1,[[22,[28]]],23],[20,2],[20,2],[20,2],[[155,155],73],[[-1,-2],73,[],[]],[[-1,-2],73,[],[]],[[-1,-2],73,[],[]],[[-1,-2],73,[],[]],0,[[155,24],25],[[28,24],25],[[28,24],25],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[75,28],[14,28],[30,[[22,[156,31]]]],[30,[[22,[156,31]]]],[[-1,-2],58,[81,82],83],[[],[[9,[32]]]],[[155,-1],2,85],[[-1,-2],[[33,[-2,-3]]],[],[34,35,36],[]],[-1,[],[]],[[],20],[[],20],[[],20],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[38,[-1]]],[[38,[4]]],[]],[[[38,[-1]]],[[38,[4]]],[]],[[[38,[-1]]],[[38,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],0,[-1,[[77,[[37,[76]]]]],36],[-1,[[77,[[37,[76]]]]],36],[-1,114,[]],[[155,155],[[9,[64]]]],[-1,[[37,[115]]],[]],[[155,-1],22,48],[[28,-1],22,48],[28,[[9,[5]]]],[28,16],[-1,[[77,[[37,[76]]]]],36],[-1,[[77,[[37,[76]]]]],36],[-1,-2,[],[]],[-1,-2,[],[]],[-1,14,[]],0,[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,49,[]],[-1,49,[]],[-1,49,[]],[[156,30],[[22,[2,31]]]],[[156,30],[[22,[2,31]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0],"c":[],"p":[[3,"Private",1656],[15,"tuple"],[3,"Private",1656],[8,"Any",1657],[8,"Error",1658],[3,"Command",1659],[4,"Error",0],[3,"Backtrace",1660],[4,"Option",1661],[4,"QueryError",0],[3,"NotFoundSnafu",0],[3,"MissingSnafu",0],[3,"Snafu",0],[3,"String",1662],[8,"Into",1663],[4,"StatusCode",1664],[8,"Clone",1665],[3,"Commitment",1666],[3,"Options",0],[15,"usize"],[15,"str"],[4,"Result",1667],[8,"Deserializer",1668],[3,"Formatter",1669],[6,"Result",1669],[8,"Debug",1669],[4,"Error",222],[4,"Error",1535],[4,"Error",1316],[3,"ArgMatches",1670],[6,"Error",1671],[3,"Id",1672],[3,"IndentedSection",1673],[8,"Display",1669],[8,"Send",1674],[8,"Sync",1674],[3,"Box",1675],[3,"Arc",1676],[3,"Rc",1677],[3,"SystemContextHandle",1678],[8,"NodeType",1679],[8,"AvailabilityDataSource",222],[8,"NodeDataSource",1316],[8,"StatusDataSource",1535],[8,"UpdateDataSource",745],[8,"VersionedDataSource",745],[8,"NodeImplementation",1679],[8,"Serializer",1680],[3,"TypeId",1657],[3,"InconsistentLeafError",222],[3,"LeafQueryData",222],[6,"BlockHash",222],[3,"TransactionQueryData",222],[3,"FetchLeafSnafu",222],[3,"FetchBlockSnafu",222],[3,"FetchTransactionSnafu",222],[3,"InvalidTransactionIndexSnafu",222],[15,"u64"],[3,"CustomSnafu",222],[4,"ResourceId",222],[8,"Committable",1666],[3,"BlockQueryData",222],[3,"RequestSnafu",222],[4,"Ordering",1681],[4,"Fetch",222],[8,"ErrorCompat",1682],[8,"IntoError",1682],[3,"Options",222],[3,"Api",1683],[4,"ApiError",1683],[8,"ReadState",1684],[8,"Iterator",1685],[15,"bool"],[8,"PartialEq",1681],[4,"RequestError",1686],[8,"Future",1687],[3,"Pin",1688],[6,"BlockId",222],[8,"RangeBounds",1689],[6,"TransactionHash",222],[8,"Hash",1690],[8,"Sized",1674],[8,"BuildHasher",1690],[6,"LeafId",222],[8,"Hasher",1690],[6,"LeafHash",222],[6,"Header",0],[3,"Leaf",1691],[8,"FnOnce",1692],[6,"Metadata",0],[6,"QuorumCertificate",1693],[6,"Payload",0],[6,"SignatureKey",0],[6,"TransactionIndex",222],[6,"Transaction",0],[3,"BitSlice",1694],[8,"BitOrder",1695],[3,"ExtensibleDataSource",745],[3,"FetchingDataSource",745],[3,"MetricsDataSource",745],[3,"Config",949],[3,"SqlStorage",949],[3,"Error",949],[3,"Path",1696],[6,"FileSystemDataSource",745],[6,"Result",1697],[3,"FileSystemStorage",912],[3,"AtomicStoreLoader",1698],[15,"char"],[8,"FromIterator",1699],[8,"AvailabilityStorage",902],[8,"UpdateAvailabilityData",222],[8,"UpdateNodeData",1316],[3,"PrometheusMetrics",1137],[8,"Metrics",1700],[3,"Transaction",949],[6,"QueryResult",0],[4,"BitSpanError",1701],[3,"Event",1702],[6,"SqlDataSource",891],[4,"PersistenceError",1703],[3,"Migration",949],[3,"OffsetDateTime",1704],[3,"Backtrace",1705],[3,"Chain",1697],[3,"Vec",1706],[8,"ToStatement",1707],[8,"IntoIterator",1699],[3,"Error",1669],[15,"never"],[3,"Config",1708],[15,"u16"],[4,"Type",1709],[3,"Error",1710],[15,"u32"],[3,"Counter",1137],[3,"Histogram",1137],[15,"f64"],[4,"MetricsError",1137],[3,"Gauge",1137],[3,"Label",1137],[8,"Counter",1700],[8,"Gauge",1700],[8,"Histogram",1700],[8,"Label",1700],[4,"Error",1711],[15,"i64"],[3,"InvalidSignatureKeySnafu",1316],[3,"CustomSnafu",1316],[3,"RequestSnafu",1316],[3,"QuerySnafu",1316],[3,"QueryProposalsSnafu",1316],[3,"Options",1316],[3,"EncodedPublicKey",1712],[3,"MempoolQueryData",1535],[3,"Options",1535],[8,"Resolvable",0],[13,"Custom",216],[13,"Availability",216],[13,"Node",216],[13,"Status",216],[13,"Error",221],[8,"QueryablePayload",222],[13,"InvalidTransactionIndex",737],[13,"Custom",737],[13,"FetchLeaf",737],[13,"FetchBlock",737],[13,"FetchTransaction",737],[13,"Request",737],[8,"Query",949],[13,"NoSuchMetric",1312],[13,"NoSuchSubgroup",1312],[13,"Prometheus",1312],[13,"Custom",1529],[13,"QueryProposals",1529],[13,"Request",1529],[13,"Query",1529],[8,"UpdateStatusData",1535],[13,"Internal",1654],[13,"Request",1654]],"b":[[108,"impl-Display-for-Error"],[109,"impl-Debug-for-Error"],[113,"impl-Debug-for-QueryError"],[114,"impl-Display-for-QueryError"],[115,"impl-From%3CError%3E-for-Error"],[116,"impl-From%3CError%3E-for-Error"],[118,"impl-From%3C(String,+StatusCode)%3E-for-Error"],[119,"impl-From%3CError%3E-for-Error"],[471,"impl-Display-for-ResourceId%3CT%3E"],[472,"impl-Debug-for-ResourceId%3CT%3E"],[474,"impl-Display-for-InconsistentLeafError%3CTypes%3E"],[475,"impl-Debug-for-InconsistentLeafError%3CTypes%3E"],[484,"impl-Display-for-Error"],[485,"impl-Debug-for-Error"],[487,"impl-From%3Cusize%3E-for-ResourceId%3CT%3E"],[489,"impl-From%3CCommitment%3CT%3E%3E-for-ResourceId%3CT%3E"],[501,"impl-From%3C(String,+StatusCode)%3E-for-Error"],[503,"impl-From%3CRequestError%3E-for-Error"],[769,"impl-StatusDataSource-for-ExtensibleDataSource%3CD,+U%3E"],[770,"impl-NodeDataSource%3CTypes%3E-for-ExtensibleDataSource%3CD,+U%3E"],[771,"impl-StatusDataSource-for-FetchingDataSource%3CTypes,+S,+P%3E"],[772,"impl-NodeDataSource%3CTypes%3E-for-FetchingDataSource%3CTypes,+S,+P%3E"],[833,"impl-UpdateNodeData%3CTypes%3E-for-ExtensibleDataSource%3CD,+U%3E"],[834,"impl-UpdateAvailabilityData%3CTypes%3E-for-ExtensibleDataSource%3CD,+U%3E"],[835,"impl-UpdateNodeData%3CTypes%3E-for-FetchingDataSource%3CTypes,+S,+P%3E"],[836,"impl-UpdateAvailabilityData%3CTypes%3E-for-FetchingDataSource%3CTypes,+S,+P%3E"],[935,"impl-UpdateAvailabilityData%3CTypes%3E-for-FileSystemStorage%3CTypes%3E"],[936,"impl-UpdateNodeData%3CTypes%3E-for-FileSystemStorage%3CTypes%3E"],[970,"impl-AsRef%3Cdyn+Error%3E-for-Error"],[971,"impl-AsRef%3Cdyn+Error+%2B+Send+%2B+Sync%3E-for-Error"],[1032,"impl-Debug-for-Error"],[1033,"impl-Display-for-Error"],[1034,"impl-Display-for-Migration"],[1035,"impl-Debug-for-Migration"],[1064,"impl-UpdateNodeData%3CTypes%3E-for-SqlStorage"],[1065,"impl-UpdateAvailabilityData%3CTypes%3E-for-SqlStorage"],[1220,"impl-Debug-for-MetricsError"],[1221,"impl-Display-for-MetricsError"],[1427,"impl-Display-for-Error"],[1428,"impl-Debug-for-Error"],[1435,"impl-From%3C(String,+StatusCode)%3E-for-Error"],[1436,"impl-From%3CRequestError%3E-for-Error"],[1595,"impl-Debug-for-Error"],[1596,"impl-Display-for-Error"],[1600,"impl-From%3CRequestError%3E-for-Error"],[1601,"impl-From%3CString%3E-for-Error"]]}\ +"hotshot_query_service":{"doc":"The HotShot Query Service is a minimal, generic query …","t":"NNNENGGNDNNDNDGEGIGDNGLLLLLLLLLLLLLLLLLLLLLLLLLLAMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKALLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLOLLLLLLOLLLLLLLLLLLLLLLLLLLLLLLLLLLLMAAMMFLLLLALLMLLLLLLLLLLLLLLLLLLLKLLLLLLLLLLLLLLMMMMMMIGGDQNDEQENDNDNDNNNQDNDQGGDQNNNDNINNDEGGGGQDILLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKKLKKLLLLLLLLLLLLMLLMLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKLMKLLMLLLLLLLLLLLLLLLMLMMMLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMQDDGDCIILLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLLLAALLLLLLLLLLLLLLLLLKLLLLLCDDCGCLLOCLICCAKKKKKADLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLDDDIDDLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLLLLLLLLFLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLOOLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLCLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLDDDDENNNDLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMNDEQNDCIDNNDDNDILLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKLFLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLKLLLLLLLLLLKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMENDDNIILLLLMLLLLLLLLLLKLLLLLLLLLLLLLLLLLFLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLKLKLLLLLLLLLMLLLLLLLLLLLLLLMM","n":["Availability","Custom","Err","Error","Error","Header","Metadata","Missing","MissingSnafu","Node","NotFound","NotFoundSnafu","Ok","Options","Payload","QueryError","QueryResult","Resolvable","SignatureKey","Snafu","Status","Transaction","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","as_any","as_any","as_any","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_error_source","as_error_source","augment_args","augment_args_for_update","availability","availability","backtrace","backtrace","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build","build","build","catch_all","cause","cause","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","commitment","data_source","default","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","description","description","deserialize","deserialize","drop","drop","drop","drop","drop","drop","fail","fail","fail","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from_arg_matches","from_arg_matches_mut","group_id","header","header","in_current_span","in_current_span","include_migrations","init","init","init","init","init","init","instantiate_data_source_tests","internal","into","into","into","into","into","into","into_any","into_any","into_any","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_error","into_error","into_error","message","metrics","node","node","port","run_standalone_service","serialize","serialize","source","source","status","status","status","status","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_resolve","type_id","type_id","type_id","type_id","type_id","type_id","update_from_arg_matches","update_from_arg_matches_mut","vzip","vzip","vzip","vzip","vzip","vzip","message","source","source","source","status","message","AvailabilityDataSource","BlockHash","BlockId","BlockQueryData","BlockRange","Custom","CustomSnafu","Error","Error","Fetch","FetchBlock","FetchBlockSnafu","FetchLeaf","FetchLeafSnafu","FetchTransaction","FetchTransactionSnafu","Hash","Hash","Hash","InclusionProof","InconsistentLeafError","InvalidTransactionIndex","InvalidTransactionIndexSnafu","Iter","LeafHash","LeafId","LeafQueryData","LeafRange","Number","Number","Number","Options","Pending","QueryablePayload","Ready","Request","RequestSnafu","ResourceId","Timestamp","TransactionHash","TransactionInclusionProof","TransactionIndex","TransactionIndex","TransactionQueryData","UpdateAvailabilityData","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","api_path","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_error_source","as_error_source","augment_args","augment_args_for_update","backtrace","backtrace","block_hash","block_hash","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build","build","build","build","build","by_hash","by_hash","cause","cause","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","compare","context","default","define_api","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","description","description","deserialize","deserialize","deserialize","deserialize","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","enumerate","enumerate","enumerate","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","extensions","fail","fail","fail","fail","fail","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_arg_matches","from_arg_matches_mut","genesis","genesis","get_block","get_block_range","get_block_with_transaction","get_hash","get_leaf","get_leaf_range","group_id","hash","hash","hash","hash","header","header","header","header","height","height","height","height","in_current_span","in_current_span","index","init","init","init","init","init","init","init","init","init","init","init","init","init","init","insert_block","insert_leaf","internal","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_error","into_error","into_error","into_error","into_error","into_error","into_future","is_empty","is_empty","is_empty","iter","leaf","leaf","len","len","map","message","metadata","new","new","nth","nth","nth_transaction","nth_transaction","nth_transaction_with_proof","nth_transaction_with_proof","partial_cmp","payload","proof","proof","proposer","qc","qc_leaf","resolve","resource","resource","resource","serialize","serialize","serialize","serialize","size","source","source","status","status","subscribe_blocks","subscribe_blocks","subscribe_leaves","subscribe_leaves","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","to_string","transaction","transaction","transaction","transaction","transaction_by_hash","transaction_by_hash","transaction_by_hash","transaction_by_hash_with_proof","transaction_by_hash_with_proof","transaction_with_proof","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_resolve","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","update_from_arg_matches","update_from_arg_matches_mut","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","with_context","height","index","message","resource","resource","resource","source","status","Error","ExtensibleDataSource","FetchingDataSource","FileSystemDataSource","MetricsDataSource","SqlDataSource","UpdateDataSource","VersionedDataSource","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","as_bits","as_mut","as_mut_bits","as_ref","block_height","block_height","block_height","block_height","block_height","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","commit","commit","commit","connect","count_proposals","count_proposals","create","create","create_with_store","create_with_store","default","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","encode_hex","encode_hex_upper","fmt","fmt","fmt","from","from","from","get_block","get_block","get_block_range","get_block_range","get_block_with_transaction","get_block_with_transaction","get_leaf","get_leaf","get_leaf_range","get_leaf_range","get_proposals","get_proposals","init","init","init","inner","inner_mut","insert_block","insert_block","insert_leaf","insert_leaf","insert_leaf","insert_leaf","into","into","into","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","metrics","metrics","metrics","new","new","open","open","open_with_store","open_with_store","populate_metrics","populate_metrics","populate_metrics","revert","revert","revert","skip_version","skip_version","sql","storage","storage","storage_mut","to_owned","to_owned","to_owned","transaction","try_as_bits","try_as_mut_bits","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","update","update","update","vzip","vzip","vzip","Config","Error","Migration","Query","SqlDataSource","Transaction","client","connect","include_migrations","postgres","transaction","AvailabilityStorage","FileSystemStorage","SqlStorage","fs","get_block","get_block_range","get_block_with_transaction","get_leaf","get_leaf_range","sql","FileSystemStorage","as_any","as_any_mut","block_height","borrow","borrow_mut","commit","count_proposals","create","create_with_store","deref","deref_mut","drop","fmt","from","get_block","get_block_range","get_block_with_transaction","get_leaf","get_leaf_range","get_proposals","init","insert_block","insert_leaf","insert_leaf","into","into_any","into_any_arc","into_any_rc","open","open_with_store","revert","skip_version","try_from","try_into","type_id","vzip","Config","Error","Migration","Query","SqlStorage","Transaction","__clone_box","__clone_box","__clone_box","__clone_box","applied_on","as_any","as_any","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_ref","as_ref","backtrace","block_height","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","chain","checksum","client","client","client","clone","clone","clone_into","clone_into","cmp","commit","compare","connect","connect","context","count_proposals","database","default","default_migrations","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","downcast","downcast_mut","downcast_ref","drop","drop","drop","drop","drop","drop","drop","eq","equivalent","equivalent","equivalent","equivalent","execute","execute_many","execute_many_with_retries","execute_one","execute_one_with_retries","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from_str","get_block","get_block_range","get_block_with_transaction","get_leaf","get_leaf_range","get_proposals","header","header","host","include_dir","include_migrations","init","init","init","init","init","insert_block","insert_leaf","insert_leaf","into","into","into","into","into","into_any","into_any","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","is","migrations","msg","name","new","no_migrations","partial_cmp","password","port","postgres","prefix","query","query_one","query_one_static","query_opt","query_opt_static","query_static","reset_schema","revert","root_cause","schema","sql","tls","to_owned","to_owned","to_string","to_string","transaction","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","unapplied","user","version","vzip","vzip","vzip","vzip","vzip","Counter","Gauge","Histogram","Label","MetricsError","NoSuchMetric","NoSuchSubgroup","Prometheus","PrometheusMetrics","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","add","add_point","as_any","as_any","as_any","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_error_source","backtrace","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cause","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","create_counter","create_gauge","create_histogram","create_label","default","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","description","drop","drop","drop","drop","drop","drop","export","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","get","get","get","get_counter","get_gauge","get_histogram","get_label","get_subgroup","header","in_current_span","init","init","init","init","init","init","into","into","into","into","into","into","into_any","into_any","into_any","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","mean","sample_count","set","set","source","subgroup","sum","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","update","vzip","vzip","vzip","vzip","vzip","vzip","label","namespace","path","source","Custom","CustomSnafu","Error","Error","InvalidSignatureKey","InvalidSignatureKeySnafu","LeafQueryData","NodeDataSource","Options","Query","QueryProposals","QueryProposalsSnafu","QuerySnafu","Request","RequestSnafu","UpdateNodeData","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","api_path","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_error_source","augment_args","augment_args_for_update","backtrace","block_height","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build","build","cause","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","count_proposals","default","define_api","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","description","deserialize","drop","drop","drop","drop","drop","drop","drop","extensions","fail","fail","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from_arg_matches","from_arg_matches_mut","get_proposals","group_id","header","in_current_span","init","init","init","init","init","init","init","insert_leaf","internal","into","into","into","into","into","into","into","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_error","into_error","into_error","into_error","into_error","message","proposer","serialize","source","status","status","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","update_from_arg_matches","update_from_arg_matches_mut","vzip","vzip","vzip","vzip","vzip","vzip","vzip","message","proposer","source","source","source","status","Error","Internal","MempoolQueryData","Options","Request","StatusDataSource","UpdateStatusData","__clone_box","__clone_box","__clone_box","__clone_box","api_path","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","as_error_source","augment_args","augment_args_for_update","backtrace","block_height","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","cause","clone","clone","clone_into","clone_into","cmp","compare","consensus_metrics","consensus_metrics","default","default","define_api","deref","deref","deref","deref_mut","deref_mut","deref_mut","description","deserialize","deserialize","drop","drop","drop","eq","equivalent","equivalent","equivalent","equivalent","extensions","fmt","fmt","fmt","from","from","from","from","from","from_arg_matches","from_arg_matches_mut","get_hash","group_id","hash","header","in_current_span","init","init","init","into","into","into","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","memory_footprint","mempool_info","mempool_info","metrics","partial_cmp","populate_metrics","serialize","serialize","source","status","success_rate","success_rate","to_owned","to_owned","to_string","transaction_count","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","update_from_arg_matches","update_from_arg_matches_mut","vzip","vzip","vzip","reason","source"],"q":[[0,"hotshot_query_service"],[216,"hotshot_query_service::Error"],[221,"hotshot_query_service::QueryError"],[222,"hotshot_query_service::availability"],[737,"hotshot_query_service::availability::Error"],[745,"hotshot_query_service::data_source"],[891,"hotshot_query_service::data_source::sql"],[902,"hotshot_query_service::data_source::storage"],[912,"hotshot_query_service::data_source::storage::fs"],[949,"hotshot_query_service::data_source::storage::sql"],[1140,"hotshot_query_service::metrics"],[1315,"hotshot_query_service::metrics::MetricsError"],[1319,"hotshot_query_service::node"],[1532,"hotshot_query_service::node::Error"],[1538,"hotshot_query_service::status"],[1657,"hotshot_query_service::status::Error"],[1659,"dyn_clone::sealed"],[1660,"dyn_clone::sealed"],[1661,"core::error"],[1662,"clap_builder::builder::command"],[1663,"snafu::backtrace_shim"],[1664,"core::option"],[1665,"alloc::string"],[1666,"core::convert"],[1667,"tide_disco::status"],[1668,"core::clone"],[1669,"commit"],[1670,"core::result"],[1671,"serde::de"],[1672,"core::fmt"],[1673,"core::fmt"],[1674,"clap_builder"],[1675,"clap_builder::util::id"],[1676,"color_eyre::section"],[1677,"core::fmt"],[1678,"core::marker"],[1679,"alloc::sync"],[1680,"alloc::rc"],[1681,"hotshot::types::handle"],[1682,"hotshot_types::traits::node_implementation"],[1683,"hotshot_types::traits::node_implementation"],[1684,"core::any"],[1685,"snafu"],[1686,"snafu"],[1687,"tide_disco::api"],[1688,"core::iter::traits::iterator"],[1689,"core::cmp"],[1690,"core::future::future"],[1691,"core::pin"],[1692,"core::ops::range"],[1693,"core::hash"],[1694,"core::marker"],[1695,"core::ops::function"],[1696,"hotshot_types::simple_certificate"],[1697,"bitvec::slice"],[1698,"bitvec::order"],[1699,"std::path"],[1700,"anyhow"],[1701,"atomic_store::atomic_store"],[1702,"core::iter::traits::collect"],[1703,"hotshot_types::traits::metrics"],[1704,"bitvec::ptr::span"],[1705,"hotshot_types::event"],[1706,"atomic_store::error"],[1707,"time::offset_date_time"],[1708,"std::backtrace"],[1709,"anyhow"],[1710,"tokio_postgres::to_statement"],[1711,"core::iter::traits::collect"],[1712,"refinery_core::runner"],[1713,"refinery_core::error"],[1714,"hotshot_types::traits::metrics"],[1715,"hotshot_types::traits::signature_key"]],"d":["","","Contains the error value","","There was an error while trying to fetch the requested …","","","The requested resource exists but is not currently …","SNAFU context selector for the QueryError::Missing variant","","The requested resource does not exist or is not known to …","SNAFU context selector for the QueryError::NotFound variant","Contains the success value","","","","","A reference to a T which can be resolved into a whole T.","","SNAFU context selector for the QueryError::Error variant","","Item within a Payload.","","","","","","","","","","","","","","","","","","","","","","","","","","","Queries for HotShot chain state.","","","","","","","","","","","","","","","","Consume the selector and return the associated error","Consume the selector and return the associated error","Consume the selector and return the associated error","","","","","","","","","","","","","","Get a commitment to the underlying object.","Persistent storage and sources of data consumed by APIs.","","","","","","","","","","","","","","","","","","","","","","","","Consume the selector and return a Result with the …","Consume the selector and return a Result with the …","Consume the selector and return a Result with the …","","","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","Embed migrations from the given directory into the current …","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","A node’s view of a HotShot chain","","","Run an instance of the HotShot Query service with no …","","","","","Queries for node-specific state and uncommitted data.","","","","","","","","","","","","","","","","","","","","","","","Get the underlying object if it is available without …","","","","","","","","","","","","","","","","","","","","","An interface for querying a HotShot blockchain.","A block hash is the hash of the block header.","","","","","SNAFU context selector for the Error::Custom variant","","","An in-progress request to fetch some data.","","SNAFU context selector for the Error::FetchBlock variant","","SNAFU context selector for the Error::FetchLeaf variant","","SNAFU context selector for the Error::FetchTransaction …","","","","A proof that a certain transaction exists in the block.","","","SNAFU context selector for the …","Enumerate the transactions in this block.","","","","","","","","","","A block payload whose contents (e.g. individual …","","","SNAFU context selector for the Error::Request variant","","","","","","An index which can be used to efficiently retrieve a …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Consume the selector and return the associated error","Consume the selector and return the associated error","Consume the selector and return the associated error","Consume the selector and return the associated error","Consume the selector and return the associated error","Get the index of the transaction with a given hash, if it …","Get the index of the transaction with a given hash, if it …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Convert this Fetch to a Result with the provided error …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Enumerate the transactions in the block with their indices.","Enumerate the transactions in the block with their indices.","","","","","","","","","","","","","","","","","","","","","","Additional API specification files to merge with …","Consume the selector and return a Result with the …","Consume the selector and return a Result with the …","Consume the selector and return a Result with the …","Consume the selector and return a Result with the …","Consume the selector and return a Result with the …","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","Returns the block containing a transaction with the given …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Whether this block is empty of transactions.","Whether this block is empty of transactions.","","List the transaction indices in the block.","","","The number of transactions in the block.","","Transform the result of this fetch.","","","Collect information about a Leaf.","Collect information about a block.","Get the index of the nth transaction.","Get the index of the nth transaction.","Get the nth transaction.","Get the nth transaction.","Get the nth transaction, along with an inclusion proof.","Get the nth transaction, along with an inclusion proof.","","","Get an inclusion proof for a transaction with a given …","Get an inclusion proof for a transaction with a given …","","","","Wait for the data to become available, if it is not …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Get a transaction by its block-specific index.","Get a transaction by its block-specific index.","","","Get the transaction with a given hash, if it is in the …","Get the transaction with a given hash, if it is in the …","","Get the transaction with a given hash, if it is in the …","Get the transaction with a given hash, if it is in the …","Get a transaction by its block-specific index, along with …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Get the requested data if it is available immediately.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Convert this Fetch to a Result with the provided error …","","","","","","","","","","Wrapper to add extensibility to an existing data source.","The most basic kind of data source.","A data source for the APIs provided in this crate, backed …","A minimal data source for the status API provided in this …","","An extension trait for types which implement the update …","A data source with an atomic transaction-based …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Atomically commit to all outstanding modifications to the …","","","Connect to a remote database.","","","Create a new FileSystemDataSource with storage at path.","Create a new FileSystemDataSource with storage at path.","Create a new FileSystemDataSource using a persistent …","Create a new FileSystemDataSource using a persistent …","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","","","","","","Access the underlying data source.","Mutably access the underlying data source.","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","Create a data source with local storage and a remote data …","Open an existing FileSystemDataSource from storage at path.","Open an existing FileSystemDataSource from storage at path.","Open an existing FileSystemDataSource using a persistent …","Open an existing FileSystemDataSource using a persistent …","","","","Erase all oustanding modifications to the data.","","","Advance the version of the persistent store without …","Advance the version of the persistent store without …","","Persistent storage for data sources.","Obtain direct, read-only access to the underlying local …","Obtain direct, mutable access the underlying local storage.","","","","Access the transaction which is accumulating all …","","","","","","","","","","","","Update query state based on a new consensus event.","","","","","","","The Error type, a wrapper around a dynamic error type.","Represents a schema migration to be run on the database, …","","A data source for the APIs provided in this crate, backed …","","","Connect to a remote database.","Embed migrations from the given directory into the current …","","Access the transaction which is accumulating all …","Persistent storage for a HotShot blockchain.","","","","","","","","","","Storage for the APIs provided in this crate, backed by a …","","","","","","","","Create a new FileSystemStorage with storage at path.","Create a new FileSystemStorage using a persistent storage …","","","","","Returns the argument unchanged.","","","","","","","","","","","Calls U::from(self).","","","","Open an existing FileSystemStorage from storage at path.","Open an existing FileSystemStorage using a persistent …","","Advance the version of the persistent store without …","","","","","Postgres client config.","The Error type, a wrapper around a dynamic error type.","Represents a schema migration to be run on the database, …","","Storage for the APIs provided in this crate, backed by a …","An atomic SQL transaction.","","","","","Get the timestamp from when the Migration was applied. None…","","","","","","","","","","","","","Get the backtrace for this Error.","","","","","","","","","","","","An iterator of the chain of source errors contained by …","Get the Migration checksum. Checksum is formed from the …","","","","","","","","","","","Connect to the database with this config.","Connect to a remote database.","Wrap the error value with additional context.","","Set the name of the database to connect to.","","The migrations requied to build the default schema for …","","","","","","","","","","","","","Attempt to downcast the error object to a concrete type.","Downcast this error object by mutable reference.","Downcast this error object by reference.","","","","","","","","","","","","","Execute a statement against the underlying database.","Execute a statement that is expected to modify at least …","Execute a statement that is expected to modify at least …","Execute a statement that is expected to modify exactly one …","Execute a statement that is expected to modify exactly one …","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","","","","","","","","","Set the hostname of the database server.","Embed the contents of a directory in your crate.","Embed migrations from the given directory into the current …","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","Returns true if E is the type held by this error object.","Add custom migrations to run when connecting to the …","Create a new error object from a printable error message.","Get the Migration Name","Create a new error object from any error type.","Skip all migrations when connecting to the database.","","Set a password for connecting to the database.","Set the port on which to connect to the database.","","Get the Prefix","","Query the underlying SQL database, returning exactly one …","Query the underlying SQL database with no parameters, …","Query the underlying SQL database, returning zero or one …","Query the underlying SQL database with no parameters, …","Query the underlying SQL database with no parameters.","Reset the schema on connection.","","The lowest level cause of this error — this error’s …","Set the name of the schema to use for queries.","","Use TLS for an encrypted connection to the database.","","","","","Access the transaction which is accumulating all …","","","","","","","","","","","","","","","","Create an unapplied migration, name and version are parsed …","Set the DB user to connect as.","Get the Migration version","","","","","","A Counter metric.","A Gauge metric.","A Histogram metric.","A Label metric.","","","","","A Prometheus-based implementation of a Metrics registry.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","Get a counter in this sub-group by name.","Get a gauge in this sub-group by name.","Get a histogram in this sub-group by name.","Get a label in this sub-group by name.","Get a (possibly nested) subgroup of this group by its path.","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","SNAFU context selector for the Error::Custom variant","","","","SNAFU context selector for the Error::InvalidSignatureKey …","","","","","","SNAFU context selector for the Error::QueryProposals …","SNAFU context selector for the Error::Query variant","","SNAFU context selector for the Error::Request variant","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Consume the selector and return the associated error","Consume the selector and return the associated error","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Additional API specification files to merge with …","Consume the selector and return a Result with the …","Consume the selector and return a Result with the …","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Additional API specification files to merge with …","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"i":[7,7,117,0,10,0,0,10,0,7,10,0,117,0,0,0,0,0,0,0,7,0,7,7,11,11,12,12,13,13,10,10,7,11,12,13,10,19,7,11,12,13,10,19,7,10,19,19,0,19,7,10,7,11,12,13,10,19,7,11,12,13,10,19,11,12,13,7,7,10,7,11,12,13,10,7,11,12,13,10,157,0,19,7,11,12,13,10,19,7,11,12,13,10,19,7,10,7,10,7,11,12,13,10,19,11,12,13,7,7,11,12,13,10,10,7,7,7,7,7,11,12,13,10,19,19,19,19,7,10,7,10,0,7,11,12,13,10,19,0,7,7,11,12,13,10,19,7,11,12,13,10,19,7,11,12,13,10,19,7,11,12,13,10,19,11,12,13,13,0,0,19,19,0,7,10,7,10,0,7,10,19,7,11,12,13,10,7,10,7,11,12,13,10,19,7,11,12,13,10,19,157,7,11,12,13,10,19,19,19,7,11,12,13,10,19,158,159,160,161,158,162,0,0,0,0,42,29,0,0,112,0,29,0,29,0,29,0,78,84,60,163,0,29,0,163,0,0,0,42,78,84,60,0,65,0,65,29,0,0,0,0,0,0,163,0,0,60,60,51,51,50,50,62,62,53,53,63,63,54,54,55,55,56,56,57,57,59,59,29,29,68,65,60,51,50,62,53,68,63,54,55,56,57,59,29,65,60,51,50,62,53,68,63,54,55,56,57,59,29,50,29,68,68,50,29,51,53,65,60,51,50,62,53,68,63,54,55,56,57,59,29,65,60,51,50,62,53,68,63,54,55,56,57,59,29,54,55,56,57,59,163,163,50,29,60,51,50,62,53,63,54,55,56,57,59,29,60,51,50,62,53,63,54,55,56,57,59,29,60,60,65,68,0,65,60,51,50,62,53,68,63,54,55,56,57,59,29,65,60,51,50,62,53,68,63,54,55,56,57,59,29,50,29,51,62,53,29,65,60,51,50,62,53,68,63,54,55,56,57,59,29,163,163,62,60,51,62,53,60,60,60,60,51,51,51,51,62,62,62,62,53,53,53,53,68,54,55,56,57,59,60,60,51,50,50,62,53,63,54,55,56,57,59,29,29,65,60,60,60,51,50,62,53,68,63,54,55,56,57,59,29,29,29,68,68,51,62,42,42,42,60,42,42,68,60,51,62,53,60,50,62,29,51,62,53,57,50,29,57,65,60,51,50,62,53,68,63,54,55,56,57,59,29,112,112,29,65,60,51,50,62,53,68,63,54,55,56,57,59,29,65,60,51,50,62,53,68,63,54,55,56,57,59,29,60,51,50,62,53,68,63,54,55,56,57,59,29,65,60,51,50,62,53,68,63,54,55,56,57,59,29,63,54,55,56,57,59,65,163,163,62,163,51,50,163,62,65,59,62,51,62,163,163,163,163,163,163,60,62,163,163,51,51,50,65,54,55,56,51,62,53,29,62,50,29,29,59,42,42,42,42,60,51,50,62,53,63,54,55,56,57,59,29,60,50,29,163,163,62,53,163,163,62,163,163,163,65,60,51,50,62,53,68,63,54,55,56,57,59,29,65,60,51,50,62,53,68,63,54,55,56,57,59,29,65,65,60,51,50,62,53,68,63,54,55,56,57,59,29,68,68,65,60,51,50,62,53,68,63,54,55,56,57,59,29,65,164,164,165,166,167,168,169,165,46,0,0,0,0,0,0,0,98,98,99,99,100,100,98,99,100,98,99,100,98,98,98,98,98,98,99,99,100,98,99,100,98,99,100,98,99,100,98,99,100,46,98,99,99,98,99,105,99,105,99,100,98,99,100,98,99,100,98,99,100,98,98,98,99,100,98,99,100,98,99,98,99,98,99,98,99,98,99,98,99,98,99,100,98,98,98,99,98,98,99,99,98,99,100,98,99,100,98,99,100,98,99,100,98,99,100,98,99,105,99,105,99,98,99,100,46,98,99,105,99,0,0,99,99,98,99,100,99,98,98,98,99,100,98,99,100,98,99,100,45,98,99,98,99,100,0,0,0,0,0,0,120,120,0,0,120,0,0,0,0,111,111,111,111,111,0,0,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,0,0,0,0,0,0,122,122,101,101,122,103,122,116,101,102,103,122,116,101,102,103,103,103,102,103,122,116,101,102,103,122,116,101,102,103,122,170,116,102,122,101,122,101,122,102,122,101,102,103,102,101,101,0,103,103,122,116,101,102,103,103,122,116,101,102,103,103,103,103,103,122,116,101,102,102,122,122,122,122,122,116,116,116,116,116,103,103,122,122,101,102,103,103,103,122,116,101,101,102,101,102,102,102,102,102,102,103,122,101,0,0,103,122,116,101,102,102,102,102,103,122,116,101,102,103,122,116,101,102,103,122,116,101,102,103,122,116,101,102,103,101,103,122,103,101,122,101,101,0,122,170,170,170,170,170,170,101,102,103,101,122,101,122,101,103,122,102,103,122,116,101,102,103,122,116,101,102,103,122,116,101,102,122,101,122,103,122,116,101,102,0,0,0,0,0,139,139,139,0,114,114,136,136,140,140,137,137,141,141,136,137,139,114,136,140,137,141,139,114,136,140,137,141,139,139,139,114,136,140,137,141,139,114,136,140,137,141,139,114,136,140,137,141,114,136,140,137,141,114,114,114,114,114,139,114,136,140,137,141,139,114,136,140,137,141,139,139,114,136,140,137,141,114,139,139,114,136,140,137,141,139,139,114,136,140,137,141,136,140,141,114,114,114,114,114,139,139,139,114,136,140,137,141,139,114,136,140,137,141,139,114,136,140,137,141,139,114,136,140,137,141,139,114,136,140,137,141,137,137,140,141,139,114,137,114,136,140,137,141,139,139,114,136,140,137,141,139,114,136,140,137,141,139,114,136,140,137,141,140,139,114,136,140,137,141,171,171,172,173,27,0,0,113,27,0,0,0,0,27,27,0,0,27,0,0,150,150,151,151,152,152,148,148,149,149,27,27,153,153,150,151,152,148,149,27,153,150,151,152,148,149,27,27,153,153,27,43,153,150,151,152,148,149,27,153,150,151,152,148,149,27,148,149,27,150,151,152,148,149,27,150,151,152,148,149,27,43,153,0,153,150,151,152,148,149,27,153,150,151,152,148,149,27,27,27,153,150,151,152,148,149,27,153,148,149,150,151,152,148,149,27,27,153,150,151,152,148,149,27,27,27,153,153,43,153,27,27,153,150,151,152,148,149,27,113,27,153,150,151,152,148,149,27,153,150,151,152,148,149,27,153,150,151,152,148,149,27,153,150,151,152,148,149,27,150,151,152,148,149,149,152,27,27,27,149,150,151,152,148,149,27,27,153,150,151,152,148,149,27,153,150,151,152,148,149,27,153,150,151,152,148,149,27,153,153,153,150,151,152,148,149,27,174,175,176,177,175,174,0,28,0,0,28,0,0,155,155,28,28,156,155,156,28,155,156,28,28,156,156,28,44,155,156,28,155,156,28,28,155,28,155,28,155,155,44,44,155,156,0,155,156,28,155,156,28,28,155,28,155,156,28,155,155,155,155,155,156,155,28,28,155,156,28,28,28,156,156,155,156,155,28,28,155,156,28,155,156,28,155,156,28,155,156,28,155,156,28,155,44,44,44,155,178,155,28,28,28,44,44,155,28,28,155,155,156,28,155,156,28,155,156,28,156,156,155,156,28,179,180],"f":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[-1,1],2,[]],[[-1,3],2,[]],[[-1,3],2,[]],[[-1,1],2,[]],[[-1,1],2,[]],[[-1,3],2,[]],[[-1,1],2,[]],[[-1,3],2,[]],[[-1,1],2,[]],[[-1,3],2,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,5,[]],[-1,5,[]],[6,6],[6,6],0,0,[7,[[9,[8]]]],[10,[[9,[8]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[11,10],[12,10],[[[13,[-1]]],10,[[15,[14]]]],[[16,14],7],[7,[[9,[5]]]],[10,[[9,[5]]]],[7,7],[11,11],[12,12],[[[13,[-1]]],[[13,[-1]]],17],[10,10],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[-1,[[18,[-2]]],[],[]],0,[[],19],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[7,21],[10,21],[-1,[[22,[7]]],23],[-1,[[22,[10]]],23],[20,2],[20,2],[20,2],[20,2],[20,2],[20,2],[11,[[22,[-1,10]]],[]],[12,[[22,[-1,10]]],[]],[[[13,[-1]]],[[22,[-2,10]]],[[15,[14]]],[]],[[7,24],25],[[7,24],25],[[11,24],25],[[12,24],25],[[[13,[-1]],24],25,26],[[10,24],25],[[10,24],25],[27,7],[28,7],[[[2,[14,16]]],7],[-1,-1,[]],[29,7],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[30,[[22,[19,31]]]],[30,[[22,[19,31]]]],[[],[[9,[32]]]],[[-1,-2],[[33,[-2,-3]]],[],[34,35,36],[]],[[-1,-2],[[33,[-2,-3]]],[],[34,35,36],[]],[-1,[],[]],[-1,[],[]],0,[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],0,[-1,7,34],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[38,[-1]]],[[38,[4]]],[]],[[[38,[-1]]],[[38,[4]]],[]],[[[38,[-1]]],[[38,[4]]],[]],[[[38,[-1]]],[[38,[4]]],[]],[[[38,[-1]]],[[38,[4]]],[]],[[[38,[-1]]],[[38,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],[11,10],[12,10],[[[13,[-1]]],10,[[15,[14]]]],0,0,0,0,0,[[19,-2,[40,[-1,-3]]],[[22,[2,7]]],41,[[42,[-1]],[43,[-1]],44,[45,[-1]],46,35,36],[[47,[-1]]]],[[7,-1],22,48],[[10,-1],22,48],[7,[[9,[5]]]],[10,[[9,[5]]]],0,[7,16],[10,16],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,14,[]],[-1,14,[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2,-1]]],[],[]],[-1,49,[]],[-1,49,[]],[-1,49,[]],[-1,49,[]],[-1,49,[]],[-1,49,[]],[[19,30],[[22,[2,31]]]],[[19,30],[[22,[2,31]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[-1,3],2,[]],[[-1,1],2,[]],[[-1,3],2,[]],[[-1,1],2,[]],[[-1,1],2,[]],[[-1,3],2,[]],[[-1,1],2,[]],[[-1,3],2,[]],[[-1,1],2,[]],[[-1,3],2,[]],[[-1,1],2,[]],[[-1,3],2,[]],[[-1,3],2,[]],[[-1,1],2,[]],[[-1,3],2,[]],[[-1,1],2,[]],[[-1,3],2,[]],[[-1,1],2,[]],[[-1,1],2,[]],[[-1,3],2,[]],[[-1,3],2,[]],[[-1,1],2,[]],[[-1,1],2,[]],[[-1,3],2,[]],0,[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,5,[]],[-1,5,[]],[6,6],[6,6],[[[50,[-1]]],[[9,[8]]],41],[29,[[9,[8]]]],[[[51,[-1]]],[[52,[-1]]],41],[[[53,[-1]]],[[52,[-1]]],41],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[54,[-1]]],29,[[15,[14]]]],[[[55,[-1]]],29,[[15,[14]]]],[[[56,[-1]]],29,[[15,[14]]]],[[[57,[-1,-2]]],29,[[15,[58]]],[[15,[58]]]],[[[59,[-1,-2]]],29,[[15,[14]]],[[15,[16]]]],[[-1,18],9,[]],[[-1,18],9,[]],[[[50,[-1]]],[[9,[5]]],41],[29,[[9,[5]]]],[[[60,[-1]]],[[60,[-1]]],61],[[[51,[-1]]],[[51,[-1]]],[17,41]],[[[50,[-1]]],[[50,[-1]]],[17,41]],[[[62,[-1]]],[[62,[-1]]],[17,41]],[[[53,[-1]]],[[53,[-1]]],[17,41]],[63,63],[[[54,[-1]]],[[54,[-1]]],17],[[[55,[-1]]],[[55,[-1]]],17],[[[56,[-1]]],[[56,[-1]]],17],[[[57,[-1,-2]]],[[57,[-1,-2]]],17,17],[[[59,[-1,-2]]],[[59,[-1,-2]]],17,17],[29,29],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[[60,[-1]],[60,[-1]]],64,61],[[-1,-2],64,[],[]],[[[65,[-1]],-3],[[22,[-1,-2]]],[],[5,66],[[67,[-2]]]],[[],68],[68,[[22,[[69,[-1,29]],70]]],[35,36,71]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[[[50,[-1]]],21,41],[29,21],[-1,[[22,[[51,[-2]]]]],23,41],[-1,[[22,[[62,[-2]]]]],23,41],[-1,[[22,[[53,[-2]]]]],23,41],[-1,[[22,[29]]],23],[20,2],[20,2],[20,2],[20,2],[20,2],[20,2],[20,2],[20,2],[20,2],[20,2],[20,2],[20,2],[20,2],[20,2],[-1,[[37,[72]]],[]],[-1,[[37,[72]]],[]],[[[62,[-1]]],[[0,[72]]],41],[[[60,[-1]],[60,[-1]]],73,61],[[[51,[-1]],[51,[-1]]],73,[74,41]],[[[62,[-1]],[62,[-1]]],73,[74,41]],[[[53,[-1]],[53,[-1]]],73,[74,41]],[[-1,-2],73,[],[]],[[-1,-2],73,[],[]],[[-1,-2],73,[],[]],[[-1,-2],73,[],[]],[[-1,-2],73,[],[]],[[-1,-2],73,[],[]],[[-1,-2],73,[],[]],[[-1,-2],73,[],[]],[[-1,-2],73,[],[]],[[-1,-2],73,[],[]],[[-1,-2],73,[],[]],[[-1,-2],73,[],[]],[[-1,-2],73,[],[]],[[-1,-2],73,[],[]],[[-1,-2],73,[],[]],[[-1,-2],73,[],[]],0,[[[54,[-1]]],[[22,[-2,29]]],[[15,[14]]],[]],[[[55,[-1]]],[[22,[-2,29]]],[[15,[14]]],[]],[[[56,[-1]]],[[22,[-2,29]]],[[15,[14]]],[]],[[[57,[-1,-2]]],[[22,[-3,29]]],[[15,[58]]],[[15,[58]]],[]],[[[59,[-1,-2]]],[[22,[-3,29]]],[[15,[14]]],[[15,[16]]],[]],[[[60,[-1]],24],25,61],[[[60,[-1]],24],25,61],[[[51,[-1]],24],25,[26,41]],[[[50,[-1]],24],25,41],[[[50,[-1]],24],25,[26,41]],[[[62,[-1]],24],25,[26,41]],[[[53,[-1]],24],25,[26,41]],[[63,24],25],[[[54,[-1]],24],25,26],[[[55,[-1]],24],25,26],[[[56,[-1]],24],25,26],[[[57,[-1,-2]],24],25,26,26],[[[59,[-1,-2]],24],25,26,26],[[29,24],25],[[29,24],25],[-1,-1,[]],[-1,-1,[]],[20,[[60,[-1]]],61],[[[18,[-1]]],[[60,[-1]]],61],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[[[2,[14,16]]],29],[75,29],[30,[[22,[68,31]]]],[30,[[22,[68,31]]]],[[],[[51,[-1]]],41],[[],[[62,[-1]]],41],[[-1,-3],[[77,[[37,[76]]]]],[],[],[[15,[[78,[-2]]]],35,36]],[[-1,-2],[[77,[[37,[76]]]]],[],[[79,[20]],35]],[[-1,[80,[-2]]],[[77,[[37,[76]]]]],[],[]],[[-1,-2],58,[81,82],83],[[-1,-3],[[77,[[37,[76]]]]],[],[],[[15,[[84,[-2]]]],35,36]],[[-1,-2],[[77,[[37,[76]]]]],[],[[79,[20]],35]],[[],[[9,[32]]]],[[[60,[-1]],-2],2,61,85],[[[51,[-1]]],[[86,[-1]]],41],[[[62,[-1]]],[[52,[-1]]],41],[[[53,[-1]]],[[80,[-1]]],41],[[-1,-2],[[33,[-2,-3]]],[],[34,35,36],[]],[[-1,-2],[[33,[-2,-3]]],[],[34,35,36],[]],[[[62,[-1]]],[[87,[-1]]],41],[[-1,-2],[[33,[-2,-3]]],[],[34,35,36],[]],[[[51,[-1]]],58,41],[[[62,[-1]]],58,41],[[[53,[-1]]],58,41],0,[-1,[],[]],[-1,[],[]],0,[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],[[-1,[62,[-2]]],[[77,[[37,[76]]]]],[],[]],[[-1,[51,[-2]]],[[77,[[37,[76]]]]],[],[]],[-1,29,34],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[38,[-1]]],[[38,[4]]],[]],[[[38,[-1]]],[[38,[4]]],[]],[[[38,[-1]]],[[38,[4]]],[]],[[[38,[-1]]],[[38,[4]]],[]],[[[38,[-1]]],[[38,[4]]],[]],[[[38,[-1]]],[[38,[4]]],[]],[[[38,[-1]]],[[38,[4]]],[]],[[[38,[-1]]],[[38,[4]]],[]],[[[38,[-1]]],[[38,[4]]],[]],[[[38,[-1]]],[[38,[4]]],[]],[[[38,[-1]]],[[38,[4]]],[]],[[[38,[-1]]],[[38,[4]]],[]],[[[38,[-1]]],[[38,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],[63,29],[[[54,[-1]]],29,[[15,[14]]]],[[[55,[-1]]],29,[[15,[14]]]],[[[56,[-1]]],29,[[15,[14]]]],[[[57,[-1,-2]]],29,[[15,[58]]],[[15,[58]]]],[[[59,[-1,-2]]],29,[[15,[14]]],[[15,[16]]]],[[[65,[-1]]],[],35],[-1,73,[]],[-1,73,[]],[[[62,[-1]]],73,41],[-1,[],[]],[[[51,[-1]]],[[88,[-1]]],41],0,[-1,20,[]],[[[62,[-1]]],20,41],[[[65,[-1]],-2],[[65,[-3]]],[],[35,89],[]],0,[[[62,[-1]]],[[90,[-1]]],41],[[[88,[-1]],[91,[-1]]],[[22,[[51,[-1]],[50,[-1]]]]],41],[[[88,[-1]],[91,[-1]],[92,[-1]]],[[22,[[62,[-1]],[50,[-1]]]]],41],[[-1,20],9,[]],[[-1,20],9,[]],[[-1,20],9,[]],[[-1,20],9,[]],[[-1,20],[[9,[2]]],[]],[[-1,20],[[9,[2]]],[]],[[[60,[-1]],[60,[-1]]],[[9,[64]]],61],[[[62,[-1]]],[[92,[-1]]],41],[-1,9,[]],[-1,9,[]],[[[51,[-1]]],[[93,[-1]]],41],[[[51,[-1]]],[[91,[-1]]],41],0,[[[65,[-1]]],-1,35],0,0,0,[[[51,[-1]],-2],22,41,48],[[[62,[-1]],-2],22,41,48],[[[53,[-1]],-2],22,41,48],[[29,-1],22,48],[[[62,[-1]]],58,41],[[[50,[-1]]],[[9,[5]]],41],[29,[[9,[5]]]],[29,16],0,[[-1,20],[[77,[[37,[76]]]]],36],[[-1,20],[[77,[[37,[76]]]]],36],[[-1,20],[[77,[[37,[76]]]]],36],[[-1,20],[[77,[[37,[76]]]]],36],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,14,[]],[-1,14,[]],[-1,14,[]],[-1,9,[]],[-1,9,[]],[[[62,[-1]],[94,[-1]]],[[9,[[53,[-1]]]]],41],[[[53,[-1]]],[[95,[-1]]],41],[[-1,18],9,[]],[[-1,18],9,[]],[[[62,[-1]],[18,[[95,[-1]]]]],[[9,[[94,[-1]]]]],41],[[-1,18],[[9,[2]]],[]],[[-1,18],[[9,[2]]],[]],[-1,[[9,[2]]],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[[[65,[-1]]],[[22,[-1,[65,[-1]]]]],[]],[-1,49,[]],[-1,49,[]],[-1,49,[]],[-1,49,[]],[-1,49,[]],[-1,49,[]],[-1,49,[]],[-1,49,[]],[-1,49,[]],[-1,49,[]],[-1,49,[]],[-1,49,[]],[-1,49,[]],[-1,49,[]],[[68,30],[[22,[2,31]]]],[[68,30],[[22,[2,31]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[65,[-1]],-2],[[22,[-1,-3]]],[],89,[5,66]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[-1,3],2,[]],[[-1,1],2,[]],[[-1,3],2,[]],[[-1,1],2,[]],[[-1,3],2,[]],[[-1,1],2,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,[[96,[-2,-3]]],[],[],97],[[[98,[-1,-2]]],-2,[],[]],[-1,[[96,[-2,-3]]],[],[],97],[[[98,[-1,-2]]],-2,[],[]],[[[98,[-2,-3]]],[[77,[[37,[76]]]]],41,[[43,[-1]],35,36],[35,36]],[[[98,[-1,-2]]],[[77,[[37,[76]]]]],[44,35,36],[35,36]],[[[99,[-1,-2,-3]]],[[77,[[37,[76]]]]],41,[[43,[-1]],35,36],[35,36]],[[[99,[-1,-2,-3]]],[[77,[[37,[76]]]]],41,[[43,[-1]],35,36],[35,36]],[100,[[77,[[37,[76]]]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[98,[-1,-2]]],[[98,[-1,-2]]],17,17],[[[99,[-1,-2,-3]]],[[99,[-1,-2,-3]]],41,[],[]],[100,100],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[-1,[[77,[[37,[76]]]]],[]],[[[98,[-1,-2]]],[[77,[[37,[76]]]]],[46,35],35],[[[99,[-1,-2,-3]]],[[77,[[37,[76]]]]],41,[46,35,36],[35,36]],[101,[[22,[[99,[-1,102,2]],103]]],41],[[[98,[-2,-3]],[93,[-1]]],[[77,[[37,[76]]]]],41,[[43,[-1]],35,36],[35,36]],[[[99,[-1,-2,-3]],[93,[-1]]],[[77,[[37,[76]]]]],41,[[43,[-1]],35,36],[35,36]],[104,[[106,[[105,[-1]]]]],41],[104,[[106,[[99,[-1,[107,[-1]],2]]]]],41],[108,[[106,[[105,[-1]]]]],41],[108,[[106,[[99,[-1,[107,[-1]],2]]]]],41],[[],100],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,2],[20,2],[20,2],[-1,-2,[],[[110,[109]]]],[-1,-2,[],[[110,[109]]]],[[[98,[-1,-2]],24],25,26,26],[[[99,[-1,-2,-3]],24],25,41,26,26],[[100,24],25],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[[[98,[-2,-3]],-4],[[77,[[37,[76]]]]],41,[[42,[-1]],35,36],[35,36],[[15,[[78,[-1]]]],35,36]],[[[99,[-1,-2,-3]],-4],[[77,[[37,[76]]]]],41,[[111,[-1]]],[35,36],[[15,[[78,[-1]]]],35,36]],[[[98,[-2,-3]],-4],[[77,[[37,[76]]]]],41,[[42,[-1]],35,36],[35,36],[[79,[20]],35]],[[[99,[-1,-2,-3]],-4],[[77,[[37,[76]]]]],41,[[111,[-1]]],[35,36],[[79,[20]],35]],[[[98,[-2,-3]],[80,[-1]]],[[77,[[37,[76]]]]],41,[[42,[-1]],35,36],[35,36]],[[[99,[-1,-2,-3]],[80,[-1]]],[[77,[[37,[76]]]]],41,[[111,[-1]]],[35,36]],[[[98,[-2,-3]],-4],[[77,[[37,[76]]]]],41,[[42,[-1]],35,36],[35,36],[[15,[[84,[-1]]]],35,36]],[[[99,[-1,-2,-3]],-4],[[77,[[37,[76]]]]],41,[[111,[-1]]],[35,36],[[15,[[84,[-1]]]],35,36]],[[[98,[-2,-3]],-4],[[77,[[37,[76]]]]],41,[[42,[-1]],35,36],[35,36],[[79,[20]],35]],[[[99,[-1,-2,-3]],-4],[[77,[[37,[76]]]]],41,[[111,[-1]]],[35,36],[[79,[20]],35]],[[[98,[-2,-3]],[93,[-1]],[9,[20]]],[[77,[[37,[76]]]]],41,[[43,[-1]],35,36],[35,36]],[[[99,[-1,-2,-3]],[93,[-1]],[9,[20]]],[[77,[[37,[76]]]]],41,[[43,[-1]],35,36],[35,36]],[[],20],[[],20],[[],20],[[[98,[-1,-2]]],-1,[],[]],[[[98,[-1,-2]]],-1,[],[]],[[[98,[-2,-3]],[62,[-1]]],[[77,[[37,[76]]]]],41,[[112,[-1]],35,36],[35,36]],[[[99,[-1,-2,-3]],[62,[-1]]],[[77,[[37,[76]]]]],41,[[112,[-1]],35,36],[35,36]],[[[98,[-2,-3]],[51,[-1]]],[[77,[[37,[76]]]]],41,[[113,[-1]],35,36],[35,36]],[[[98,[-2,-3]],[51,[-1]]],[[77,[[37,[76]]]]],41,[[112,[-1]],35,36],[35,36]],[[[99,[-1,-2,-3]],[51,[-1]]],[[77,[[37,[76]]]]],41,[[113,[-1]],35,36],[35,36]],[[[99,[-1,-2,-3]],[51,[-1]]],[[77,[[37,[76]]]]],41,[[112,[-1]],35,36],[35,36]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[38,[-1]]],[[38,[4]]],[]],[[[38,[-1]]],[[38,[4]]],[]],[[[38,[-1]]],[[38,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],[[[98,[-1,-2]]],114,[44,35,36],[35,36]],[[[99,[-1,-2,-3]]],114,41,[[43,[-1]],35,36],[35,36]],[100,114],[[-1,-2],[[98,[-1,-2]]],[],[]],[[-2,-3],[[106,[[99,[-1,-2,-3]]]]],41,[[43,[-1]],[113,[-1]],[111,[-1]],46],[35,36]],[104,[[106,[[105,[-1]]]]],41],[104,[[106,[[99,[-1,[107,[-1]],2]]]]],41],[108,[[106,[[105,[-1]]]]],41],[108,[[106,[[99,[-1,[107,[-1]],2]]]]],41],[-1,[[37,[115]]],[]],[-1,[[37,[115]]],[]],[-1,[[37,[115]]],[]],[-1,[[77,[[37,[76]]]]],[]],[[[98,[-1,-2]]],[[77,[[37,[76]]]]],[46,35],35],[[[99,[-1,-2,-3]]],[[77,[[37,[76]]]]],41,[46,35,36],[35,36]],[[[105,[-1]]],[[106,[2]]],41],[[[99,[-1,[107,[-1]],2]]],[[106,[2]]],41],0,0,[[[99,[-1,-2,-3]]],[[0,[-1,-2]]],41,[],[]],[[[99,[-1,-2,-3]]],[[0,[-1,-2]]],41,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[99,[-1,102,2]]],[[117,[116]]],41],[-1,[[22,[[96,[-2,-3]],[118,[-2]]]]],[],[],97],[-1,[[22,[[96,[-2,-3]],[118,[-2]]]]],[],[],97],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,49,[]],[-1,49,[]],[-1,49,[]],[[-1,[119,[-2]]],[[77,[[37,[76]]]]],[],[]],[[-1,[119,[-2]]],[[77,[[37,[76]]]]],[],[]],[[-1,[119,[-2]]],[[77,[[37,[76]]]]],[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,[[[120,[-1]]],[[77,[[37,[76]]]]],41],[101,[[22,[[120,[-1]],103]]],41],0,0,[[[120,[-1]]],[[117,[116]]],41],0,0,0,0,[[-1,[78,[-2]]],[[77,[[37,[76]]]]],[],[]],[[-1,-2],[[77,[[37,[76]]]]],[],[[79,[20]],35]],[[-1,[80,[-2]]],[[77,[[37,[76]]]]],[],[]],[[-1,[84,[-2]]],[[77,[[37,[76]]]]],[],[]],[[-1,-2],[[77,[[37,[76]]]]],[],[[79,[20]],35]],0,0,[-1,4,[]],[-1,4,[]],[[[107,[-1]]],[[77,[[37,[76]]]]],41],[-1,-2,[],[]],[-1,-2,[],[]],[[[107,[-1]]],[[77,[[37,[76]]]]],41],[[[107,[-1]],[93,[-1]]],[[77,[[37,[76]]]]],41],[104,[[22,[[107,[-1]],121]]],41],[108,[[22,[[107,[-1]],121]]],41],[20,-1,[]],[20,-1,[]],[20,2],[[[107,[-1]],24],25,41],[-1,-1,[]],[[[107,[-1]],[78,[-1]]],[[77,[[37,[76]]]]],41],[[[107,[-1]],-2],[[77,[[37,[76]]]]],41,[[79,[20]],35]],[[[107,[-1]],[80,[-1]]],[[77,[[37,[76]]]]],41],[[[107,[-1]],[84,[-1]]],[[77,[[37,[76]]]]],41],[[[107,[-1]],-2],[[77,[[37,[76]]]]],41,[[79,[20]],35]],[[[107,[-1]],[93,[-1]],[9,[20]]],[[77,[[37,[76]]]]],41],[[],20],[[[107,[-1]],[62,[-1]]],[[77,[[37,[76]]]]],41],[[[107,[-1]],[51,[-1]]],[[77,[[37,[76]]]]],41],[[[107,[-1]],[51,[-1]]],[[77,[[37,[76]]]]],41],[-1,-2,[],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[38,[-1]]],[[38,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],[104,[[22,[[107,[-1]],121]]],41],[108,[[22,[[107,[-1]],121]]],41],[[[107,[-1]]],[[77,[[37,[76]]]]],41],[[[107,[-1]]],[[22,[2,121]]],41],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,49,[]],[-1,-2,[],[]],0,0,0,0,0,0,[[-1,3],2,[]],[[-1,1],2,[]],[[-1,1],2,[]],[[-1,3],2,[]],[122,[[9,[123]]]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[103,5],[103,5],[103,124],[102,[[77,[[37,[76]]]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[103,125],[122,58],[-1,[[77,[[37,[76]]]]],[]],[116,[[77,[[37,[76]]]]]],[102,[[77,[[37,[76]]]]]],[122,122],[101,101],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[122,122],64],[102,[[77,[[37,[76]]]]]],[[-1,-2],64,[],[]],[101,[[22,[[120,[-1]],103]]],41],[101,[[22,[102,103]]]],[[103,-1],103,[34,35,36]],[[102,[93,[-1]]],[[77,[[37,[76]]]]],41],[[101,21],101],[[],101],[[],[[126,[122]]]],[103],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[103],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[103,[[22,[-1,103]]],[34,26,35,36]],[103,[[9,[-1]]],[34,26,35,36]],[103,[[9,[-1]]],[34,26,35,36]],[20,2],[103,2],[20,2],[20,2],[20,2],[20,2],[102,2],[[122,122],73],[[-1,-2],73,[],[]],[[-1,-2],73,[],[]],[[-1,-2],73,[],[]],[[-1,-2],73,[],[]],[[116,-1,-2],[[117,[58]]],[82,127],128],[[116,-1,-2],[[117,[58]]],[82,127],128],[[116,-1,-2],[[117,[58]]],[82,127],[128,17]],[[116,-1,-2],[[117,[2]]],[82,127],128],[[116,-1,-2],[[117,[2]]],[82,127],[128,17]],[[103,24],[[22,[2,129]]]],[[103,24],[[22,[2,129]]]],[[122,24],[[22,[2,129]]]],[[122,24],[[22,[2,129]]]],[[101,24],25],[[102,24],25],[130,-1,[]],[-1,-1,[]],[-1,103,[5,35,36]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[131,101],[-1,-1,[]],[21,[[22,[101]]]],[[102,[78,[-1]]],[[77,[[37,[76]]]]],41],[[102,-1],[[77,[[37,[76]]]]],[[79,[20]],35]],[[102,[80,[-1]]],[[77,[[37,[76]]]]],41],[[102,[84,[-1]]],[[77,[[37,[76]]]]],41],[[102,-1],[[77,[[37,[76]]]]],[[79,[20]],35]],[[102,[93,[-1]],[9,[20]]],[[77,[[37,[76]]]]],41],[[-1,-2],[[33,[-2,-3]]],[],[34,35,36],[]],[[-1,-2],[[33,[-2,-3]]],[],[34,35,36],[]],[[101,-1],101,[[15,[14]]]],0,0,[[],20],[[],20],[[],20],[[],20],[[],20],[[102,[62,[-1]]],[[77,[[37,[76]]]]],41],[[102,[51,[-1]]],[[77,[[37,[76]]]]],41],[[102,[51,[-1]]],[[77,[[37,[76]]]]],41],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[38,[-1]]],[[38,[4]]],[]],[[[38,[-1]]],[[38,[4]]],[]],[[[38,[-1]]],[[38,[4]]],[]],[[[38,[-1]]],[[38,[4]]],[]],[[[38,[-1]]],[[38,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],[103,73],[[101,-1],101,128],[-1,103,[34,26,35,36]],[122,21],[-1,103,[5,35,36]],[101,101],[[122,122],[[9,[64]]]],[[101,21],101],[[101,132],101],0,[122,133],[[-1,-2,-3],[[77,[[37,[76]]]]],36,[82,127,36],[128,35]],[[-1,-2,-3],[[77,[[37,[76]]]]],36,[82,127,36],[128,35]],[[-1,-2],[[77,[[37,[76]]]]],36,[82,127,36]],[[-1,-2,-3],[[77,[[37,[76]]]]],36,[82,127,36],[128,35]],[[-1,-2],[[77,[[37,[76]]]]],36,[82,127,36]],[[-1,-2],[[77,[[37,[76]]]]],36,[82,127,36]],[101,101],[102,[[77,[[37,[76]]]]]],[103,5],[[101,-1],101,[[15,[14]]]],[122,[[9,[21]]]],[101,101],[-1,-2,[],[]],[-1,-2,[],[]],[-1,14,[]],[-1,14,[]],[102,[[117,[116]]]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,49,[]],[-1,49,[]],[-1,49,[]],[-1,49,[]],[-1,49,[]],[[21,21],[[22,[122,134]]]],[[101,21],101],[122,135],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,[[-1,1],2,[]],[[-1,3],2,[]],[[-1,1],2,[]],[[-1,3],2,[]],[[-1,3],2,[]],[[-1,1],2,[]],[[-1,3],2,[]],[[-1,1],2,[]],[[-1,3],2,[]],[[-1,1],2,[]],[[136,20],2],[[137,138],2],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,5,[]],[139,[[9,[8]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[139,[[9,[5]]]],[114,114],[136,136],[140,140],[137,137],[141,141],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[114,14,[9,[14]]],[[37,[142]]]],[[114,14,[9,[14]]],[[37,[143]]]],[[114,14,[9,[14]]],[[37,[144]]]],[[114,14],[[37,[145]]]],[[],114],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[139,21],[20,2],[20,2],[20,2],[20,2],[20,2],[20,2],[114,[[22,[14]]]],[[139,24],25],[[139,24],25],[[114,24],25],[[136,24],25],[[140,24],25],[[137,24],25],[[141,24],25],[-1,-1,[]],[146,139],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[136,20],[140,20],[141,14],[[114,21],[[22,[136,139]]]],[[114,21],[[22,[140,139]]]],[[114,21],[[22,[137,139]]]],[[114,21],[[22,[141,139]]]],[[114,-1],[[22,[114,139]]],128],[[-1,-2],[[33,[-2,-3]]],[],[34,35,36],[]],[-1,[],[]],[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[38,[-1]]],[[38,[4]]],[]],[[[38,[-1]]],[[38,[4]]],[]],[[[38,[-1]]],[[38,[4]]],[]],[[[38,[-1]]],[[38,[4]]],[]],[[[38,[-1]]],[[38,[4]]],[]],[[[38,[-1]]],[[38,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],[137,138],[137,20],[[140,20],2],[[141,14],2],[139,[[9,[5]]]],[[114,14],[[37,[115]]]],[137,138],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,14,[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,49,[]],[-1,49,[]],[-1,49,[]],[-1,49,[]],[-1,49,[]],[-1,49,[]],[[140,147],2],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[-1,3],2,[]],[[-1,1],2,[]],[[-1,3],2,[]],[[-1,1],2,[]],[[-1,3],2,[]],[[-1,1],2,[]],[[-1,3],2,[]],[[-1,1],2,[]],[[-1,3],2,[]],[[-1,1],2,[]],[[-1,3],2,[]],[[-1,1],2,[]],0,[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,5,[]],[6,6],[6,6],[27,[[9,[8]]]],[-1,[[77,[[37,[76]]]]],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[148,27],[[[149,[-1,-2]]],27,[[15,[14]]],[[15,[16]]]],[27,[[9,[5]]]],[150,150],[151,151],[[[152,[-1]]],[[152,[-1]]],17],[148,148],[[[149,[-1,-2]]],[[149,[-1,-2]]],17,17],[27,27],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[-1,[93,[-2]]],[[77,[[37,[76]]]]],[],[]],[[],153],[153,[[22,[[69,[-1,27]],70]]],[35,36,71]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[27,21],[-1,[[22,[27]]],23],[20,2],[20,2],[20,2],[20,2],[20,2],[20,2],[20,2],0,[148,[[22,[-1,27]]],[]],[[[149,[-1,-2]]],[[22,[-3,27]]],[[15,[14]]],[[15,[16]]],[]],[[150,24],25],[[151,24],25],[[[152,[-1]],24],25,26],[[148,24],25],[[[149,[-1,-2]],24],25,26,26],[[27,24],25],[[27,24],25],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[75,27],[[[2,[14,16]]],27],[-1,-1,[]],[30,[[22,[153,31]]]],[30,[[22,[153,31]]]],[[-1,[93,[-2]],[9,[20]]],[[77,[[37,[76]]]]],[],[]],[[],[[9,[32]]]],[[-1,-2],[[33,[-2,-3]]],[],[34,35,36],[]],[-1,[],[]],[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],[[-1,[51,[-2]]],[[77,[[37,[76]]]]],[],[]],[-1,27,34],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[38,[-1]]],[[38,[4]]],[]],[[[38,[-1]]],[[38,[4]]],[]],[[[38,[-1]]],[[38,[4]]],[]],[[[38,[-1]]],[[38,[4]]],[]],[[[38,[-1]]],[[38,[4]]],[]],[[[38,[-1]]],[[38,[4]]],[]],[[[38,[-1]]],[[38,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],[150,27],[151,27],[[[152,[-1]]],27,[[15,[154]]]],[148,27],[[[149,[-1,-2]]],27,[[15,[14]]],[[15,[16]]]],0,0,[[27,-1],22,48],[27,[[9,[5]]]],[27,16],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,14,[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,49,[]],[-1,49,[]],[-1,49,[]],[-1,49,[]],[-1,49,[]],[-1,49,[]],[-1,49,[]],[[153,30],[[22,[2,31]]]],[[153,30],[[22,[2,31]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,[[-1,1],2,[]],[[-1,3],2,[]],[[-1,1],2,[]],[[-1,3],2,[]],0,[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,4,[]],[-1,5,[]],[6,6],[6,6],[28,[[9,[8]]]],[-1,[[77,[[37,[76]]]]],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[28,[[9,[5]]]],[155,155],[28,28],[[-1,-2],2,[],[]],[[-1,-2],2,[],[]],[[155,155],64],[[-1,-2],64,[],[]],[-1,[[117,[114]]],[]],[-1,[[117,[114]]],[]],[[],155],[[],156],[156,[[22,[[69,[-1,28]],70]]],[35,36,71]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[20,-1,[]],[28,21],[-1,[[22,[155]]],23],[-1,[[22,[28]]],23],[20,2],[20,2],[20,2],[[155,155],73],[[-1,-2],73,[],[]],[[-1,-2],73,[],[]],[[-1,-2],73,[],[]],[[-1,-2],73,[],[]],0,[[155,24],25],[[28,24],25],[[28,24],25],[-1,-1,[]],[-1,-1,[]],[75,28],[14,28],[-1,-1,[]],[30,[[22,[156,31]]]],[30,[[22,[156,31]]]],[[-1,-2],58,[81,82],83],[[],[[9,[32]]]],[[155,-1],2,85],[[-1,-2],[[33,[-2,-3]]],[],[34,35,36],[]],[-1,[],[]],[[],20],[[],20],[[],20],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[37,[-1]]],[[37,[4]]],[]],[[[38,[-1]]],[[38,[4]]],[]],[[[38,[-1]]],[[38,[4]]],[]],[[[38,[-1]]],[[38,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],[[[39,[-1]]],[[39,[4]]],[]],0,[-1,[[77,[[37,[76]]]]],36],[-1,[[77,[[37,[76]]]]],36],[-1,114,[]],[[155,155],[[9,[64]]]],[-1,[[37,[115]]],[]],[[155,-1],22,48],[[28,-1],22,48],[28,[[9,[5]]]],[28,16],[-1,[[77,[[37,[76]]]]],36],[-1,[[77,[[37,[76]]]]],36],[-1,-2,[],[]],[-1,-2,[],[]],[-1,14,[]],0,[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,[[22,[-2]]],[],[]],[-1,49,[]],[-1,49,[]],[-1,49,[]],[[156,30],[[22,[2,31]]]],[[156,30],[[22,[2,31]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0],"c":[],"p":[[3,"Private",1659],[15,"tuple"],[3,"Private",1659],[8,"Any",1660],[8,"Error",1661],[3,"Command",1662],[4,"Error",0],[3,"Backtrace",1663],[4,"Option",1664],[4,"QueryError",0],[3,"NotFoundSnafu",0],[3,"MissingSnafu",0],[3,"Snafu",0],[3,"String",1665],[8,"Into",1666],[4,"StatusCode",1667],[8,"Clone",1668],[3,"Commitment",1669],[3,"Options",0],[15,"usize"],[15,"str"],[4,"Result",1670],[8,"Deserializer",1671],[3,"Formatter",1672],[6,"Result",1672],[8,"Debug",1672],[4,"Error",1319],[4,"Error",1538],[4,"Error",222],[3,"ArgMatches",1673],[6,"Error",1674],[3,"Id",1675],[3,"IndentedSection",1676],[8,"Display",1672],[8,"Send",1677],[8,"Sync",1677],[3,"Box",1678],[3,"Arc",1679],[3,"Rc",1680],[3,"SystemContextHandle",1681],[8,"NodeType",1682],[8,"AvailabilityDataSource",222],[8,"NodeDataSource",1319],[8,"StatusDataSource",1538],[8,"UpdateDataSource",745],[8,"VersionedDataSource",745],[8,"NodeImplementation",1682],[8,"Serializer",1683],[3,"TypeId",1660],[3,"InconsistentLeafError",222],[3,"LeafQueryData",222],[6,"BlockHash",222],[3,"TransactionQueryData",222],[3,"FetchLeafSnafu",222],[3,"FetchBlockSnafu",222],[3,"FetchTransactionSnafu",222],[3,"InvalidTransactionIndexSnafu",222],[15,"u64"],[3,"CustomSnafu",222],[4,"ResourceId",222],[8,"Committable",1669],[3,"BlockQueryData",222],[3,"RequestSnafu",222],[4,"Ordering",1684],[4,"Fetch",222],[8,"ErrorCompat",1685],[8,"IntoError",1685],[3,"Options",222],[3,"Api",1686],[4,"ApiError",1686],[8,"ReadState",1687],[8,"Iterator",1688],[15,"bool"],[8,"PartialEq",1684],[4,"RequestError",1689],[8,"Future",1690],[3,"Pin",1691],[6,"BlockId",222],[8,"RangeBounds",1692],[6,"TransactionHash",222],[8,"Hash",1693],[8,"Sized",1677],[8,"BuildHasher",1693],[6,"LeafId",222],[8,"Hasher",1693],[6,"LeafHash",222],[6,"Header",0],[3,"Leaf",1694],[8,"FnOnce",1695],[6,"Metadata",0],[6,"QuorumCertificate",1696],[6,"Payload",0],[6,"SignatureKey",0],[6,"TransactionIndex",222],[6,"Transaction",0],[3,"BitSlice",1697],[8,"BitOrder",1698],[3,"ExtensibleDataSource",745],[3,"FetchingDataSource",745],[3,"MetricsDataSource",745],[3,"Config",949],[3,"SqlStorage",949],[3,"Error",949],[3,"Path",1699],[6,"FileSystemDataSource",745],[6,"Result",1700],[3,"FileSystemStorage",912],[3,"AtomicStoreLoader",1701],[15,"char"],[8,"FromIterator",1702],[8,"AvailabilityStorage",902],[8,"UpdateAvailabilityData",222],[8,"UpdateNodeData",1319],[3,"PrometheusMetrics",1140],[8,"Metrics",1703],[3,"Transaction",949],[6,"QueryResult",0],[4,"BitSpanError",1704],[3,"Event",1705],[6,"SqlDataSource",891],[4,"PersistenceError",1706],[3,"Migration",949],[3,"OffsetDateTime",1707],[3,"Backtrace",1708],[3,"Chain",1700],[3,"Vec",1709],[8,"ToStatement",1710],[8,"IntoIterator",1702],[3,"Error",1672],[15,"never"],[3,"Config",1711],[15,"u16"],[4,"Type",1712],[3,"Error",1713],[15,"u32"],[3,"Counter",1140],[3,"Histogram",1140],[15,"f64"],[4,"MetricsError",1140],[3,"Gauge",1140],[3,"Label",1140],[8,"Counter",1703],[8,"Gauge",1703],[8,"Histogram",1703],[8,"Label",1703],[4,"Error",1714],[15,"i64"],[3,"InvalidSignatureKeySnafu",1319],[3,"CustomSnafu",1319],[3,"RequestSnafu",1319],[3,"QuerySnafu",1319],[3,"QueryProposalsSnafu",1319],[3,"Options",1319],[3,"EncodedPublicKey",1715],[3,"MempoolQueryData",1538],[3,"Options",1538],[8,"Resolvable",0],[13,"Custom",216],[13,"Availability",216],[13,"Node",216],[13,"Status",216],[13,"Error",221],[8,"QueryablePayload",222],[13,"InvalidTransactionIndex",737],[13,"Custom",737],[13,"FetchLeaf",737],[13,"FetchBlock",737],[13,"FetchTransaction",737],[13,"Request",737],[8,"Query",949],[13,"NoSuchMetric",1315],[13,"NoSuchSubgroup",1315],[13,"Prometheus",1315],[13,"Custom",1532],[13,"QueryProposals",1532],[13,"Request",1532],[13,"Query",1532],[8,"UpdateStatusData",1538],[13,"Internal",1657],[13,"Request",1657]],"b":[[108,"impl-Display-for-Error"],[109,"impl-Debug-for-Error"],[113,"impl-Display-for-QueryError"],[114,"impl-Debug-for-QueryError"],[115,"impl-From%3CError%3E-for-Error"],[116,"impl-From%3CError%3E-for-Error"],[117,"impl-From%3C(String,+StatusCode)%3E-for-Error"],[119,"impl-From%3CError%3E-for-Error"],[471,"impl-Display-for-ResourceId%3CT%3E"],[472,"impl-Debug-for-ResourceId%3CT%3E"],[474,"impl-Display-for-InconsistentLeafError%3CTypes%3E"],[475,"impl-Debug-for-InconsistentLeafError%3CTypes%3E"],[484,"impl-Debug-for-Error"],[485,"impl-Display-for-Error"],[488,"impl-From%3Cusize%3E-for-ResourceId%3CT%3E"],[489,"impl-From%3CCommitment%3CT%3E%3E-for-ResourceId%3CT%3E"],[502,"impl-From%3C(String,+StatusCode)%3E-for-Error"],[503,"impl-From%3CRequestError%3E-for-Error"],[769,"impl-NodeDataSource%3CTypes%3E-for-ExtensibleDataSource%3CD,+U%3E"],[770,"impl-StatusDataSource-for-ExtensibleDataSource%3CD,+U%3E"],[771,"impl-NodeDataSource%3CTypes%3E-for-FetchingDataSource%3CTypes,+S,+P%3E"],[772,"impl-StatusDataSource-for-FetchingDataSource%3CTypes,+S,+P%3E"],[833,"impl-UpdateNodeData%3CTypes%3E-for-ExtensibleDataSource%3CD,+U%3E"],[834,"impl-UpdateAvailabilityData%3CTypes%3E-for-ExtensibleDataSource%3CD,+U%3E"],[835,"impl-UpdateNodeData%3CTypes%3E-for-FetchingDataSource%3CTypes,+S,+P%3E"],[836,"impl-UpdateAvailabilityData%3CTypes%3E-for-FetchingDataSource%3CTypes,+S,+P%3E"],[935,"impl-UpdateAvailabilityData%3CTypes%3E-for-FileSystemStorage%3CTypes%3E"],[936,"impl-UpdateNodeData%3CTypes%3E-for-FileSystemStorage%3CTypes%3E"],[970,"impl-AsRef%3Cdyn+Error%3E-for-Error"],[971,"impl-AsRef%3Cdyn+Error+%2B+Send+%2B+Sync%3E-for-Error"],[1035,"impl-Debug-for-Error"],[1036,"impl-Display-for-Error"],[1037,"impl-Display-for-Migration"],[1038,"impl-Debug-for-Migration"],[1067,"impl-UpdateNodeData%3CTypes%3E-for-SqlStorage"],[1068,"impl-UpdateAvailabilityData%3CTypes%3E-for-SqlStorage"],[1223,"impl-Debug-for-MetricsError"],[1224,"impl-Display-for-MetricsError"],[1430,"impl-Debug-for-Error"],[1431,"impl-Display-for-Error"],[1438,"impl-From%3CRequestError%3E-for-Error"],[1439,"impl-From%3C(String,+StatusCode)%3E-for-Error"],[1598,"impl-Debug-for-Error"],[1599,"impl-Display-for-Error"],[1602,"impl-From%3CRequestError%3E-for-Error"],[1603,"impl-From%3CString%3E-for-Error"]]}\ }'); if (typeof window !== 'undefined' && window.initSearch) {window.initSearch(searchIndex)}; if (typeof exports !== 'undefined') {exports.searchIndex = searchIndex}; diff --git a/src/hotshot_query_service/data_source/storage/sql.rs.html b/src/hotshot_query_service/data_source/storage/sql.rs.html index e2bf891ff..f7f334f1d 100644 --- a/src/hotshot_query_service/data_source/storage/sql.rs.html +++ b/src/hotshot_query_service/data_source/storage/sql.rs.html @@ -1293,6 +1293,113 @@ 1293 1294 1295 +1296 +1297 +1298 +1299 +1300 +1301 +1302 +1303 +1304 +1305 +1306 +1307 +1308 +1309 +1310 +1311 +1312 +1313 +1314 +1315 +1316 +1317 +1318 +1319 +1320 +1321 +1322 +1323 +1324 +1325 +1326 +1327 +1328 +1329 +1330 +1331 +1332 +1333 +1334 +1335 +1336 +1337 +1338 +1339 +1340 +1341 +1342 +1343 +1344 +1345 +1346 +1347 +1348 +1349 +1350 +1351 +1352 +1353 +1354 +1355 +1356 +1357 +1358 +1359 +1360 +1361 +1362 +1363 +1364 +1365 +1366 +1367 +1368 +1369 +1370 +1371 +1372 +1373 +1374 +1375 +1376 +1377 +1378 +1379 +1380 +1381 +1382 +1383 +1384 +1385 +1386 +1387 +1388 +1389 +1390 +1391 +1392 +1393 +1394 +1395 +1396 +1397 +1398 +1399 +1400 +1401 +1402

// Copyright (c) 2022 Espresso Systems (espressosys.com)
 // This file is part of the HotShot Query Service library.
 //
@@ -1317,7 +1424,11 @@
     node::{NodeDataSource, UpdateNodeData},
     Header, Leaf, MissingSnafu, NotFoundSnafu, Payload, QueryError, QueryResult, SignatureKey,
 };
-use async_std::{net::ToSocketAddrs, sync::Arc, task::spawn};
+use async_std::{
+    net::ToSocketAddrs,
+    sync::Arc,
+    task::{sleep, spawn},
+};
 use async_trait::async_trait;
 use commit::Committable;
 use futures::{
@@ -1334,7 +1445,7 @@
         node_implementation::NodeType,
     },
 };
-use itertools::Itertools;
+use itertools::{izip, Itertools};
 use postgres_native_tls::TlsConnector;
 use snafu::OptionExt;
 use std::{
@@ -1342,6 +1453,7 @@
     ops::{Bound, RangeBounds},
     pin::Pin,
     str::FromStr,
+    time::Duration,
 };
 use tokio_postgres::{
     config::Host,
@@ -1847,7 +1959,7 @@
     type Error = QueryError;
 
     async fn insert_leaf(&mut self, leaf: LeafQueryData<Types>) -> Result<(), Self::Error> {
-        let mut stmts: Vec<(String, Vec<Box<dyn ToSql + Send + Sync>>)> = vec![];
+        let mut tx = self.transaction().await?;
 
         // While we don't necessarily have the full block for this leaf yet, we can initialize the
         // header table with block metadata taken from the leaf.
@@ -1855,22 +1967,24 @@
             serde_json::to_value(&leaf.leaf().block_header).map_err(|err| QueryError::Error {
                 message: format!("failed to serialize header: {err}"),
             })?;
-        stmts.push((
-            "INSERT INTO header (height, hash, data) VALUES ($1, $2, $3)".into(),
-            vec![
-                Box::new(leaf.height() as i64),
-                Box::new(leaf.block_hash().to_string()),
-                Box::new(header_json),
+        tx.execute_one_with_retries(
+            "INSERT INTO header (height, hash, data) VALUES ($1, $2, $3)",
+            [
+                sql_param(&(leaf.height() as i64)),
+                sql_param(&(leaf.block_hash().to_string())),
+                sql_param(&header_json),
             ],
-        ));
+        )
+        .await?;
 
         // Similarly, we can initialize the payload table with a null payload, which can help us
         // distinguish between blocks that haven't been produced yet and blocks we haven't received
         // yet when answering queries.
-        stmts.push((
-            "INSERT INTO payload (height) VALUES ($1)".into(),
-            vec![Box::new(leaf.height() as i64)],
-        ));
+        tx.execute_one_with_retries(
+            "INSERT INTO payload (height) VALUES ($1)",
+            [leaf.height() as i64],
+        )
+        .await?;
 
         // Finally, we insert the leaf itself, which references the header row we created.
         // Serialize the full leaf and QC to JSON for easy storage.
@@ -1884,29 +1998,25 @@
             serde_json::to_value(&leaf.proposer()).map_err(|err| QueryError::Error {
                 message: format!("failed to serialize proposer ID: {err}"),
             })?;
-        stmts.push((
+        tx.execute_one_with_retries(
             "INSERT INTO leaf (height, hash, proposer, block_hash, leaf, qc)
-             VALUES ($1, $2, $3, $4, $5, $6)"
-                .into(),
-            vec![
-                Box::new(leaf.height() as i64),
-                Box::new(leaf.hash().to_string()),
-                Box::new(proposer_json),
-                Box::new(leaf.block_hash().to_string()),
-                Box::new(leaf_json),
-                Box::new(qc_json),
+             VALUES ($1, $2, $3, $4, $5, $6)",
+            [
+                sql_param(&(leaf.height() as i64)),
+                sql_param(&leaf.hash().to_string()),
+                sql_param(&proposer_json),
+                sql_param(&leaf.block_hash().to_string()),
+                sql_param(&leaf_json),
+                sql_param(&qc_json),
             ],
-        ));
-
-        // Grab a transaction and execute all the statements.
-        let mut tx = self.transaction().await?;
-        tx.execute_many(stmts).await?;
+        )
+        .await?;
 
         Ok(())
     }
 
     async fn insert_block(&mut self, block: BlockQueryData<Types>) -> Result<(), Self::Error> {
-        let mut stmts: Vec<(String, Vec<Box<dyn ToSql + Send + Sync>>)> = vec![];
+        let mut tx = self.transaction().await?;
 
         // The header and payload tables should already have been initialized when we inserted the
         // corresponding leaf. All we have to do is add the payload itself and its size.
@@ -1917,45 +2027,56 @@
                 message: format!("failed to serialize block: {err}"),
             })?
             .collect::<Vec<_>>();
-        stmts.push((
-            "UPDATE payload SET (data, size) = ($1, $2) WHERE height = $3".into(),
-            vec![
-                Box::new(payload),
-                Box::new(block.size() as i32),
-                Box::new(block.height() as i64),
+        tx.execute_one_with_retries(
+            "UPDATE payload SET (data, size) = ($1, $2) WHERE height = $3",
+            [
+                sql_param(&payload),
+                sql_param(&(block.size() as i32)),
+                sql_param(&(block.height() as i64)),
             ],
-        ));
+        )
+        .await?;
 
         // Index the transactions in the block.
         let mut values = vec![];
-        let mut params: Vec<Box<dyn ToSql + Send + Sync>> = vec![];
-        for (txn_ix, txn) in block.enumerate() {
+        // For each transaction, collect, separately, its hash, height, and index. These items all
+        // have different types, so we collect them into different vecs.
+        let mut tx_hashes = vec![];
+        let mut tx_block_heights = vec![];
+        let mut tx_indexes = vec![];
+        for (i, (txn_ix, txn)) in block.enumerate().enumerate() {
             let txn_ix = serde_json::to_value(&txn_ix).map_err(|err| QueryError::Error {
                 message: format!("failed to serialize transaction index: {err}"),
             })?;
-            values.push(format!(
-                "(${},${},${})",
-                params.len() + 1,
-                params.len() + 2,
-                params.len() + 3
-            ));
-            params.push(Box::new(txn.commit().to_string()));
-            params.push(Box::new(block.height() as i64));
-            params.push(Box::new(txn_ix));
+            values.push(format!("(${},${},${})", 3 * i + 1, 3 * i + 2, 3 * i + 3));
+            tx_hashes.push(txn.commit().to_string());
+            tx_block_heights.push(block.height() as i64);
+            tx_indexes.push(txn_ix);
         }
         if !values.is_empty() {
-            stmts.push((
-                format!(
+            tx.execute_many_with_retries(
+                &format!(
                     "INSERT INTO transaction (hash, block_height, index) VALUES {}",
                     values.join(",")
                 ),
-                params,
-            ));
+                // Now that we have the transaction hashes, block heights, and indexes collected in
+                // memory, we can combine them all into a single vec using type erasure: all the
+                // values get converted to `&dyn ToSql`. The references all borrow from one of
+                // `tx_hashes`, `tx_block_heights`, or `tx_indexes`, which all outlive this function
+                // call, so the lifetimes work out.
+                izip!(
+                    tx_hashes.iter().map(sql_param),
+                    tx_block_heights.iter().map(sql_param),
+                    tx_indexes.iter().map(sql_param),
+                )
+                // Interleave the three parameters for each transaction, so we have a list of
+                // (hash, height, index) triples, repeated for each transaction.
+                .flat_map(|(hash, height, index)| [hash, height, index])
+                .collect::<Vec<_>>(),
+            )
+            .await?;
         }
 
-        let mut tx = self.transaction().await?;
-        tx.execute_many(stmts).await?;
-
         Ok(())
     }
 }
@@ -2078,7 +2199,7 @@
     /// The results of the statement will be reflected immediately in future statements made within
     /// this transaction, but will not be reflected in the underlying database until the transaction
     /// is committed with [`commit`](VersionedDataSource::commit).
-    pub async fn execute<T, P>(&mut self, statement: &T, params: P) -> QueryResult<()>
+    pub async fn execute<T, P>(&mut self, statement: &T, params: P) -> QueryResult<u64>
     where
         T: ?Sized + ToStatement,
         P: IntoIterator,
@@ -2090,23 +2211,112 @@
             .await
             .map_err(|err| QueryError::Error {
                 message: err.to_string(),
-            })?;
-        Ok(())
+            })
     }
 
-    pub async fn execute_many<S, T, P>(&mut self, statements: S) -> QueryResult<()>
+    /// Execute a statement that is expected to modify exactly one row.
+    ///
+    /// Returns an error if the database is not modified.
+    pub async fn execute_one<T, P>(&mut self, statement: &T, params: P) -> QueryResult<()>
     where
-        S: IntoIterator<Item = (T, P)>,
-        T: ToStatement,
+        T: ?Sized + ToStatement,
         P: IntoIterator,
         P::IntoIter: ExactSizeIterator,
         P::Item: BorrowToSql,
     {
-        for (stmt, params) in statements {
-            self.execute(&stmt, params).await?;
+        let nrows = self.execute_many(statement, params).await?;
+        if nrows > 1 {
+            // If more than one row is affected, we don't return an error, because clearly
+            // _something_ happened and modified the database. So we don't necessarily want the
+            // caller to retry. But we do log an error, because it seems the query did something
+            // different than the caller intended.
+            tracing::error!("statement modified more rows ({nrows}) than expected (1)");
         }
         Ok(())
     }
+
+    /// Execute a statement that is expected to modify exactly one row.
+    ///
+    /// Returns an error if the database is not modified. Retries several times before failing.
+    pub async fn execute_one_with_retries<T, P>(
+        &mut self,
+        statement: &T,
+        params: P,
+    ) -> QueryResult<()>
+    where
+        T: ?Sized + ToStatement,
+        P: IntoIterator + Clone,
+        P::IntoIter: ExactSizeIterator,
+        P::Item: BorrowToSql,
+    {
+        let interval = Duration::from_secs(1);
+        let mut retries = 5;
+
+        while let Err(err) = self.execute_one(statement, params.clone()).await {
+            tracing::error!("error in statement execution ({retries} tries remaining): {err}");
+            if retries == 0 {
+                return Err(err);
+            }
+            retries -= 1;
+            sleep(interval).await;
+        }
+
+        Ok(())
+    }
+
+    /// Execute a statement that is expected to modify at least one row.
+    ///
+    /// Returns an error if the database is not modified.
+    pub async fn execute_many<T, P>(&mut self, statement: &T, params: P) -> QueryResult<u64>
+    where
+        T: ?Sized + ToStatement,
+        P: IntoIterator,
+        P::IntoIter: ExactSizeIterator,
+        P::Item: BorrowToSql,
+    {
+        let nrows = self.execute(statement, params).await?;
+        if nrows == 0 {
+            return Err(QueryError::Error {
+                message: "statement failed: should have affected one row, but affected 0".into(),
+            });
+        }
+
+        Ok(nrows)
+    }
+
+    /// Execute a statement that is expected to modify at least one row.
+    ///
+    /// Returns an error if the database is not modified. Retries several times before failing.
+    pub async fn execute_many_with_retries<T, P>(
+        &mut self,
+        statement: &T,
+        params: P,
+    ) -> QueryResult<u64>
+    where
+        T: ?Sized + ToStatement,
+        P: IntoIterator + Clone,
+        P::IntoIter: ExactSizeIterator,
+        P::Item: BorrowToSql,
+    {
+        let interval = Duration::from_secs(1);
+        let mut retries = 5;
+
+        loop {
+            match self.execute_many(statement, params.clone()).await {
+                Ok(nrows) => return Ok(nrows),
+                Err(err) => {
+                    tracing::error!(
+                        "error in statement execution ({retries} tries remaining): {err}"
+                    );
+                    if retries == 0 {
+                        return Err(err);
+                    }
+                    retries -= 1;
+                    sleep(interval).await;
+                }
+            }
+        }
+    }
 }
 
 /// Query the underlying SQL database.
@@ -2348,6 +2558,10 @@
     Ok((client, kill))
 }
 
+fn sql_param<T: ToSql + Sync>(param: &T) -> &(dyn ToSql + Sync) {
+    param
+}
+
 // tokio-postgres is written in terms of the tokio AsyncRead/AsyncWrite traits. However, these
 // traits do not require any specifics of the tokio runtime. Thus we can implement them using the
 // async_std TcpStream type, and have a stream which is compatible with tokio-postgres but will run